EIQ_AI模型建立與AI預測模型

活用機器學習與SDCA迴歸的AI模型學習、預測與資料庫構建系統

VB.NET .NET Framework 4.8 Microsoft.ML Access (.accdb)

1. 系統概要與AI預測模型的角色

本系統是一套 Windows Forms 應用程式,結合 EIQ分析(Entry-Item-Quantity分析) 方法與進階機器學習, 從出貨數據中構建精細的AI預測模型(AI模型)。

以出貨地點數(E)與品項數(I)為輸入, 針對散裝數量、行數、EIQ指標、箱數、棧板數、容積、重量等約160個項目, 採用機器學習演算法 SDCA迴歸(Microsoft.ML) 進行預測。

主要功能

【技術解析:從靜態分析邁向動態AI預測模型】

傳統 EIQ 分析僅停留在過去實績的「統計(靜態點)」階段。 本系統讓機器學習的AI模型學習出貨地點數(E)與品項數(I)的波動,使 EIQ 分析進化為能動態模擬據點容量與負荷的「AI預測模型」。
本系統是將 30 年物流顧問經驗演算法化的次世代模擬平台。 相較於傳統 EIQ 分析僅靜態統計過去出貨實績,本系統讓AI模型學習出貨地點數(E)與品項數(I)的變化,擔負起新建或整合據點時動態預測容量的「物流數位分身」角色。

2. 檔案結構

檔案類別 / 模組角色
E0_選單畫面.vb E0_選單畫面F 主選單。切換至各處理畫面與確認資料庫狀態
E1_數據前處理.vb EIQ_AI模型前處理F 出貨數據匯入、區分換算、建立 EIQ 等級設定、建立 T200 資料表
E2_模型數據設定.vb 模型數據設定F E/I比例與間距設定、管理 T300_進度資料表、切換至 E3 畫面
E3_模型數據建立.vb E3_模型數據建立F 依據 T300_進度 建立 T600_數據模型(批次處理)
E4_機器學習.vb E4_機器學習F 透過 Microsoft.ML(SDCA迴歸)訓練AI模型、執行預測與匯出
EIQ_AI實證與驗證Pro.vb EIQ_AI實證與驗證Pro AI預測模型實證與驗證(供未來擴充)
K1.vb Module K1 全域變數、常數與檔案路徑管理
AccessDbManager.vb AccessDbManager 新建 Access 資料庫與 Excel 匯入
Access操作.vb — SQL 執行輔助程式、資料庫資料表操作通用處理
資料表結構確認.vb — 資料庫結構確認與診斷公用程式
【實務意義:數據清洗與特徵工程】

由於物流現場的原始數據常混雜單位或存在缺陷,透過「區分換算的自動化」統一散裝、箱裝等出貨單位,以確保計算精度。 此外,自動執行「5階段柏拉圖分析(EIQ等級設定)」,可讓AI模型將「哪些商品群是中心負荷的主因」識別為特徵量。
本系統以 VB.NET 與 Microsoft Access(資料庫)為基礎,依處理階段進行清晰的模組化。 採用無需透過外部雲端服務、完全在本地環境(.accdb)中完成的設計,在確保高機密性出貨數據隱私的同時,實現桌面環境下的高速批次處理。

3. 構建AI預測模型的整體處理流程

E0 選單畫面 確認資料庫狀態(有無 T200 資料表)→ 選擇處理項目
▼
路徑A
從出貨數據建立
匯入 Excel 檔案
可使用使用者指定出貨數據
路徑B
附加至 Tera計算.accdb
連結既有資料庫的 T200
▼
E1 數據前處理 新建 Access DB → 匯入 Excel → T110_區分換算 → 建立 T200 → 建立 GPL等級設定
▼
E2 AI模型數據設定 設定 E/I比例(50〜150%)、間距(1〜20,預設5.9)→ 建立 T300_進度資料表
▼
E3 AI模型數據建立 針對 T300_進度 的每筆資料生成 T600_數據模型(支援中斷/繼續)
▼
E4 執行機器學習 讀取 數據模型.csv → 透過 SDCA迴歸 訓練模型(約160個模型)→ 執行預測 → 匯出 CSV
▼
EIQ_AI 實證與驗證 已訓練AI預測模型的精度驗證與實際數據比較(供未來擴充)

不單僅憑過往的單一模式,而是生成數千種將 E/I 比例在 50%〜150% 範圍內變化的「虛擬出貨情境」來訓練AI模型。

【軟體要點:極限值的學習】

透過模擬「若出貨地點增加至 1.5 倍?」或「若品項縮減至一半?」等極端條件下的數值,AI預測模型能夠精準掌握據點的「成長空間」與「處理極限點」。

4. 各步驟詳細說明

E0 選單畫面 E0_選單畫面F

應用程式啟動時的進入點。

E1 數據前處理 EIQ_AI模型前處理F

處理從匯入出貨數據到建立 EIQ 分析用的 T200 資料表(儲存至資料庫)的所有程序。

處理子流程(從出貨數據建立)

出貨數據.xlsx → 新建 Access DB → T000_出貨數據 → T100_Data
T100_Data → T110_區分換算 → T150_等級集計 → T180_EIQ等級
T180_EIQ等級 → T200 (EIQ加工數據) → T160_GPL等級 → T200 (新增欄位)
處理內容生成資料表
新建 Access DB新建 EIQ_AI模型.accdb—
匯入 Access將 出貨數據.xlsx 匯入至資料庫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集計
📌 ABC等級設定基準: 依據等級 A1 / A2 / B / C / D 的累計比例進行柏拉圖分析,執行5階段的等級設定。 等級設定可在計算規則設定標籤頁中自訂。

E2 AI模型數據設定 模型數據設定F

設定運用機器學習訓練 AI預測模型 所需數據的生成參數。

參數範圍說明
E最小比例 / E最大比例50% 〜 150%出貨地點數的波動範圍(相對於基準值的比例)
I最小比例 / I最大比例50% 〜 150%品項數的波動範圍(相對於基準值的比例)
資料筆數間距1 〜 20(預設 5.9)生成資料筆數的間隔(越細數據密度越高)

T300_進度資料表

E3 AI模型數據建立 E3_模型數據建立F

依序處理 T300_進度 資料表中未處理的資料,並將數據寫入資料庫的 T600_數據模型 資料表中。

T600_數據模型 結構(165個欄位)

類別欄位數量
基本資訊模型流水號, 出貨地點數, 品項數, 散裝數量, 行數5
E指標E1 〜 E55
I指標I1 〜 I55
按行數等級行數01 〜 行數2525
按散裝數等級散裝數01 〜 散裝數2525
按箱數等級箱數01 〜 箱數2525
按棧板數等級棧板01 〜 棧板2525
按容積等級容積01 〜 容積2525
按重量等級重量01 〜 重量2525
📌 中斷與復原: 處理過程由 T300_進度 資料表中的 建立Chk 標記管理, 即使中途中斷,下次仍可從未處理的資料繼續執行。 亦搭載了透過鍵盤插斷(GetAsyncKeyState API)進行中斷的功能。

E4 執行機器學習 E4_機器學習F

運用 Microsoft.ML 程式庫進行基於 SDCA迴歸 的 AI預測模型 訓練與預測。

機器學習管線

數據模型.csv → Features組合
(出貨地點數, 品項數)
→ MinMax常規化 → SDCA迴歸 → 儲存 .zip 模型
功能說明
讀取數據透過 LoadFromTextFile 讀取 數據模型.csv 並顯示筆數
執行機器學習針對每個輸出欄位訓練 SDCA迴歸 模型,並以 .zip 格式儲存於 Models/ 資料夾
讀取已訓練AI模型整批讀取已儲存的 .zip 模型(無需重新訓練即可進行預測)
執行預測輸入出貨地點數與品項數 → 透過所有 AI模型 進行預測 → 於 DataGridView 顯示結果
匯出結果將預測結果以 UTF-8 編碼匯出為 預測結果.csv

輸入與輸出

類別項目
輸入(自變數)出貨地點數, 品項數
輸出(應變數)散裝數量, 行數, E1-E5, I1-I5, 行數01-25, 散裝數01-25, 箱數01-25, 棧板01-25, 容積01-25, 重量01-25
(共約 160 項 × 各 1 個 AI模型)
【各步驟詳細解說】

透過模擬「若出貨地點增加至 1.5 倍?」或「若品項縮減至一半?」等極端條件下的數值,AI預測模型能夠精準掌握據點的「成長空間」與「處理極限點」。

  • 數據前處理(E1): 透過「區分換算」修正出貨單位的偏差,並自動執行柏拉圖分析的 ABC 等級設定,打造便於機器學習捕捉物流量特徵的「高品質訓練數據」土排。
  • 模擬(E2・E3): 除了正常的出貨狀況外,更生成數千種將 E/I 比例在 50%〜150% 範圍內變化的「虛擬情境」。 藉此讓 AI模型 精確學習據點的「成長空間」與「處理極限點」。
  • 機器學習(E4): 採用兼具學習效率與預測精度平衡的「SDCA迴歸(隨機對偶座標上升法)」。 針對多達 160 個應變數分別進行訓練,並寫出為 .zip 格式的輕量化預測引擎。

5. 資料庫結構

資料庫: Tera計算Data\EIQ分析AI化\EIQ_AI模型.accdb(Microsoft Access)

資料表建立來源用途
T000_出貨數據E1(Excel匯入)原始出貨數據
T100_DataE1基本出貨數據(含列流水號)
T110_區分換算E1依據出貨區分的換算數據
T150_C/B單位出貨E/I集計E1按整箱/散裝出貨分類的 EI 集計與 ABC 等級設定
T160_全出貨E/I集計E1全出貨 GPL 等級設定(按 E/I 分)
T180_EIQ等級E1EIQ 等級設定整合資料表(CE/CI/BE/BI)
T200E1EIQ 分析加工完成數據(整合所有等級與指標)
T300_進度E2AI模型數據建立的進度管理(流水號、設定值、建立Chk)
T600_數據模型E3機器學習用的數據模型(165個欄位)
【資料庫結構解說】

獨創的資料庫資料表演變(從 T200 展開至 T600)正是物流專業知識的結晶。 將單純作為履歷數據的 T000,轉換為經過 EIQ 加工與指標整合的「紀錄(T200)」,最終昇華為多達 165 個欄位的機器學習用 AI模型(T600)。

  • 數據前處理(E1): 透過區分換算修正出貨單位偏差,並自動執行 EIQ 等級設定,打造高品質數據。
  • 模擬(E2・E3): 生成 E/I 比例在 50%〜150% 範圍內變化的數千種虛擬情境。 讓 AI模型 精確學習據點極限。
  • 機器學習(E4): 採用 SDCA迴歸,針對 160 個項目進行快速且高精度的模型訓練並匯出為 zip 模型。

6. 執行環境與前提條件

項目需求
框架.NET Framework 4.8
語言VB.NET(Windows Forms)
主要程式庫Microsoft.ML(採用 SDCA迴歸 的機器學習), ClosedXML, ADOX, Microsoft.Office.Interop.Access
資料庫Microsoft Access(ACE OLEDB 12.0)
數據儲存位置任意磁碟機的 Tera計算Data 資料夾(自動搜尋 A:〜F:)
必備檔案Tera計算Data\EIQ分析AI化\出貨數據.xlsx(從出貨數據建立時)
📌 檔案路徑自動偵測: K1.vb 中的 檔案確認() 方法會掃描 A: 〜 F: 磁碟機, 自動偵測 Tera計算Data 資料夾。 若存在於多個磁碟機中則會回傳錯誤。
【執行環境與前提條件解說】

從前端 UI 到後端資料庫,再到結合機器學習的 AI預測模型,整體技術堆疊皆統一於 .NET Framework 4.8。 這種一貫性將與外部程式庫的相衝減至最低,不僅具備可彈性因應 OS 更新的高維護性,亦兼具桌面應用程式獨有的極佳即時回應性。

7. 數據模型轉換流程圖

📄 出貨數據.xlsx
▼
T000_出貨數據 → T100_Data → T110_區分換算
▼
T150_等級集計 → T180_EIQ等級 → T200 (整合)
▼
T160_GPL 等級設定 → T200 (新增欄位)
▼
T300_進度 (設定) → T600_數據模型
▼
📄 數據模型.csv → 🤖 透過 SDCA迴歸 的 AI預測模型 (.zip)
▼
📊 預測結果.csv
【數據轉換流程圖解說】

展示了 Excel 格式的原始數據,經過 T200 的「物流數據結構化」,到 T600 的「模擬空間構建」,最終演變為基於機器學習的「AI預測模型」的資訊進化過程。 透過這一連串的資料庫構建流程,將看似無序的出貨數據轉化為支援未來據點設計的經營資源。