基於 EIQ 分析之 AI 預測模型建立、訓練與預測系統
本系統為 Windows Forms 應用程式,採用 EIQ 分析(Entry-Item-Quantity分析)手法,從出貨數據中建構 AI 預測模型。
透過輸入出貨對象數 (E) 與品項數 (I),預測包括拆零數量、行數、EIQ 指標、整箱數、棧板數、容積與重量等 約 160 個項目,並採用 SDCA 回歸(Microsoft.ML) 進行運算。
| 檔案 | 類別 / 模組 | 角色 |
|---|---|---|
E0_Menu.vb | E0_主選單F | 主選單。負責切換處理程序與檢查資料庫狀態。 |
E1_PreProcessing.vb | EIQ_AI模型前處理F | 出貨數據匯入、單位換算、EIQ 分級與 T200 資料表建立。 |
E2_ModelConfig.vb | 模型數據設定F | E/I 比率與間距設定,管理 T300 進度資料表。 |
E3_ModelCreation.vb | E3_模型數據建立F | 根據 T300 進度建立 T600 數據模型(批次處理)。 |
E4_MachineLearning.vb | E4_機器學習F | 利用 Microsoft.ML 進行訓練、預測執行與結果匯出。 |
EIQ_AI_ProValidation.vb | EIQ_AI 實證驗證 Pro | AI 實證與驗證(供未來擴充)。 |
K1.vb | Module K1 | 全域變數、常數與檔案路徑管理。 |
AccessDbManager.vb | AccessDbManager | Access 資料庫建立與 Excel 匯入。 |
AccessOps.vb | — | SQL 執行輔助與資料表操作共通處理。 |
TableStructureCheck.vb | — | 資料表結構檢查與診斷工具。 |
不只是單一模式的學習,系統會生成數千種 E/I 比率介於 50% 至 150% 的「虛擬出貨情境」來訓練 AI。
E0_主選單F應用程式啟動時的進入點。
EIQ_AI模型.accdb 是否存在,並顯示 T200 資料表的狀態(連結或在地端)與紀錄數。
EIQ_AI模型前處理F處理從數據匯入到完成 EIQ 分析用 T200 資料表的完整流程。
| 處理項目 | 內容 | 生成資料表 |
|---|---|---|
| Access 新建立 | 新建立 EIQ_AI模型.accdb | — |
| Access 匯入 | 將出貨數據.xlsx 匯入 Access | T000_出貨數據 |
| T110 單位換算 | 建立 T100_Data、單位換算表、各項換算計算及出貨單位區分。 | T100_Data, T110_單位換算 |
| T200 EIQ加工 | 箱裝/拆零出貨的 EI 分級統計、T180_EIQ分級與 T200 資料表整合。 | T150_*, T180_EIQ分級, T200 |
| 全出貨 GPL 分級 | 建立全出貨 GPL 的 E/I 分級,並追加至 T200 資料行。 | T160_E統計, T160_I統計 |
模型數據設定F設定生成 AI 模型訓練數據的參數。
| 參數 | 範圍 | 說明 |
|---|---|---|
| E 最小/最大比率 | 50% 〜 150% | 出貨對象數的變動範圍(相對於正常值的比率)。 |
| I 最小/最大比率 | 50% 〜 150% | 品項數的變動範圍(相對於正常值的比率)。 |
| 紀錄間距 (Pitch) | 1 〜 20(預設 5.9) | 生成紀錄的間距(越細則數據密度越高)。 |
E3_模型數據建立F依序處理 T300 進度表中的未處理紀錄,並將數據存入 T600 數據模型表。
| 類別 | 欄位 | 數量 |
|---|---|---|
| 基本資訊 | 模型序號, 對象數, 品項數, 拆零數量, 行數 | 5 |
| E 指標 | E1 〜 E5 | 5 |
| I 指標 | I1 〜 I5 | 5 |
| 行數 (分級別) | 行數01 〜 行数25 | 25 |
| 拆零數 (分級別) | 拆零01 〜 拆零25 | 25 |
| 箱數 (分級別) | 箱數01 〜 箱數25 | 25 |
| 棧板數 (分級別) | 棧板01 〜 棧板25 | 25 |
| 容積 (分級別) | 容積01 〜 容積25 | 25 |
| 重量 (分級別) | 重量01 〜 重量25 | 25 |
CreationChk 旗標管理,中斷後下次可從未處理紀錄繼續。亦支援鍵盤中斷功能 (GetAsyncKeyState API)。
E4_機器學習F利用 Microsoft.ML 函式庫執行回歸模型訓練與預測。
| 功能 | 說明 |
|---|---|
| 數據讀取 | 經由 LoadFromTextFile 讀取 數據模型.csv 並顯示件數。 |
| 機器學習執行 | 針對各輸出欄位訓練 SDCA 回歸模型,並以 .zip 格式存於 Models/。 |
| 載入已訓練模型 | 整批載入已儲存的 .zip 模型(無需重新訓練即可預測)。 |
| 執行預測 | 輸入 E/I → 全模型預測 → DataGridView 結果顯示。 |
| 結果匯出 | 將預測結果匯出為 預測結果.csv (UTF-8)。 |
資料庫:Tera計算Data\EIQ分析AI化\EIQ_AI模型.accdb (Microsoft Access)
| 資料表 | 來源 | 用途 |
|---|---|---|
T200 |
E1 | EIQ 加工後數據(分析基礎)。 |
T300_進度 |
E2 | 模擬進度管理(流水號、設定值、CreationChk)。 |
T600_數據模型 |
E3 | AI 訓練用數據模型(165 個欄位)。 |
| 項目 | 需求 |
|---|---|
| 框架 | .NET Framework 4.8 |
| 語言 | VB.NET (Windows Forms) |
| 資料庫 | Microsoft Access (ACE OLEDB 12.0) |
| 存儲路徑 | 自動掃描 A: 至 F: 磁碟機中的 Tera計算Data 資料夾。 |
物流現場原始數據常有單位混雜,透過 「單位換算自動化」 統一拆零、整箱等單位,確保精度。此外,自動執行 「5 階段柏拉圖分析(EIQ 分級)」,讓 AI 識別中心負荷的主要商品特徵。系統基於 VB.NET/Access,確保機密數據在地端處理,具備高度隱密性。