Tera計算EIQAI は、物流センターにおける EIQ分析(E=出荷先、I=アイテム、Q=数量)を ML.NET の学習済みモデルを用いて AI 予測するWindows フォームアプリケーションです。
出荷先数とアイテム数の 2 つの入力パラメータだけで、EIQ分析に必要な 162 項目(バラ数量、行数、 出荷先ランク E1-E5、アイテムランク I1-I5、および行数・バラ数・ケース・PL・容積・重量の各 25 ランク別数値)を 一括予測し、マトリクス表と従来計算表として可視化します。
| 項目 | 内容 |
|---|---|
| フレームワーク | .NET Framework 4.8 / Windows Forms (VB.NET) |
| AI/ML ライブラリ | Microsoft.ML (ML.NET 6.0 Preview) |
| データベース | Microsoft Access (.accdb) ─ 起動時に自動最適化 (JRO.JetEngine) |
| モデル形式 | 学習済み ITransformer (.zip) ─ 162 モデルを一括読込 |
| データ保存先 | Tera計算Data\EIQ分析AI化 フォルダ(ドライブ A〜F を自動検出) |
| Excel 出力 | EPPlusFree ライブラリ対応 |
予測結果_yyyyMMdd_HHmmss.csv) に出力| 項目 | 内容 |
|---|---|
| 開発会社 | 物流技術研究所 |
| 著作権 | 寺本敏幸 |
ファイル確認() を呼び出しMLContext(seed:=0) を初期化出力フィールド名リスト初期化():
学習済モデル読込(): フォルダ内の全 .zip ファイルを ITransformer として読込AI予測EIQマトリクス表Dgv初期化(): 7列×5行のマトリクス表ヘッダー設定InputData(出荷先数, アイテム数)を作成CreatePredictionEngine → Predict を実行Dictionary(Of String, Single) に格納予測結果表示(): DataTable に変換し予測結果Dgv にバインド| GPLEランク | GPLI_A1 | GPLI_A2 | GPLI_B | GPLI_C | GPLI_D | 横計 |
|---|---|---|---|---|---|---|
| GPLE_A1 | XX01 | XX02 | XX03 | XX04 | XX05 | Σ行 |
| GPLE_A2 | XX06 | XX07 | XX08 | XX09 | XX10 | Σ行 |
| GPLE_B | XX11 | XX12 | XX13 | XX14 | XX15 | Σ行 |
| GPLE_C | XX16 | XX17 | XX18 | XX19 | XX20 | Σ行 |
| GPLE_D | XX21 | XX22 | XX23 | XX24 | XX25 | Σ行 |
| 縦計 | Σ列 | Σ列 | Σ列 | Σ列 | Σ列 | 総計 |
AI予測従来計算出荷先Dgv に 9 列を設定| 出荷日 | ランク | 出荷先数 | 出荷回数 | バラ数 | ケース換算 | PL換算 | 容積換算 | 重量換算 |
|---|---|---|---|---|---|---|---|---|
| 全データ平均 | GPLE_A1 | E1 | Σ行数01-05 | Σバラ数01-05 | Σケース01-05 | ΣPL01-05 | Σ容積01-05 | Σ重量01-05 |
| 全データ平均 | GPLE_A2 | E2 | Σ行数06-10 | Σバラ数06-10 | Σケース06-10 | ΣPL06-10 | Σ容積06-10 | Σ重量06-10 |
| 全データ平均 | GPLE_B | E3 | Σ行数11-15 | Σバラ数11-15 | Σケース11-15 | ΣPL11-15 | Σ容積11-15 | Σ重量11-15 |
| 全データ平均 | GPLE_C | E4 | Σ行数16-20 | Σバラ数16-20 | Σケース16-20 | ΣPL16-20 | Σ容積16-20 | Σ重量16-20 |
| 全データ平均 | GPLE_D | E5 | Σ行数21-25 | Σバラ数21-25 | Σケース21-25 | ΣPL21-25 | Σ容積21-25 | Σ重量21-25 |
| 計 | ΣE | Σ全 | Σ全 | Σ全 | Σ全 | Σ全 | Σ全 |
AI予測従来計算アイテムDgv に 9 列を設定| 出荷日 | ランク | アイテム数 | 出荷回数 | バラ数 | ケース換算 | PL換算 | 容積換算 | 重量換算 |
|---|---|---|---|---|---|---|---|---|
| 全データ平均 | GPLI_A1 | I1 | Σ行数 col1 | Σバラ数 col1 | Σケース col1 | ΣPL col1 | Σ容積 col1 | Σ重量 col1 |
| 全データ平均 | GPLI_A2 | I2 | Σ行数 col2 | Σバラ数 col2 | Σケース col2 | ΣPL col2 | Σ容積 col2 | Σ重量 col2 |
| 全データ平均 | GPLI_B | I3 | Σ行数 col3 | Σバラ数 col3 | Σケース col3 | ΣPL col3 | Σ容積 col3 | Σ重量 col3 |
| 全データ平均 | GPLI_C | I4 | Σ行数 col4 | Σバラ数 col4 | Σケース col4 | ΣPL col4 | Σ容積 col4 | Σ重量 col4 |
| 全データ平均 | GPLI_D | I5 | Σ行数 col5 | Σバラ数 col5 | Σケース col5 | ΣPL col5 | Σ容積 col5 | Σ重量 col5 |
| 縦計 | ΣI | Σ全 | Σ全 | Σ全 | Σ全 | Σ全 | Σ全 |
matrixActive = True の場合のみ動作AI予測EIQマトリクス表() を再実行してマトリクス表を更新予測結果_yyyyMMdd_HHmmss.csv| クラス名 | 用途 | 主なフィールド |
|---|---|---|
| ModelData | 学習データ構造 | モデル連番, 出荷先数, アイテム数, バラ数量, 行数, E1-E5, I1-I5, 行数01-25 等 |
| InputData | 予測入力 | 出荷先数, アイテム数 |
| SinglePrediction | 予測出力 | Score |
| コントロール | 説明 |
|---|---|
| 出荷先数Tb | 出荷先数入力テキストボックス |
| アイテム数Tb | アイテム数入力テキストボックス |
| コントロール | 説明 |
|---|---|
| 学習済モデル読込Bt | モデル再読込 |
| 予測実行Bt | AI予測実行 |
| EIQマトリクス表実行Bt | マトリクス表・従来計算表の生成 |
| 結果エクスポートBt | CSV出力 |
| 比較開始Bt | 予測と実計算比較 |
| 閉じるBt | フォームを閉じる |
| コントロール | プレフィックス |
|---|---|
| 抽出_出庫回数Rb | 行数 |
| 抽出_バラRb | バラ数 |
| 抽出_ケースRb | ケース |
| 抽出_PLRb | PL |
| 抽出_容積Rb | 容積 |
| 抽出_重量Rb | 重量 |
| コントロール | 説明 |
|---|---|
| 予測結果Dgv | 全予測結果一覧(項目名 / 予測値) |
| AI予測EIQマトリクス表Dgv | 5×5 EIQマトリクス表 + 横計/縦計 |
| AI予測従来計算出荷先Dgv | 従来計算E(出荷先ランク別集計) |
| AI予測従来計算アイテムDgv | 従来計算I(アイテムランク別集計) |
| AI予測EIQマトリクス表_複写Dgv | 実計算との比較のための複写 |
| 実計算Dgv | 実計算の表示 |
| 誤差Dgv | AI予測と実計算との差異を%表示 |
| コントロール | 対応値 |
|---|---|
| 抽出E_A1Tb 〜 抽出E_DTb | E1 〜 E5 |
| 抽出E_計Tb | E1〜E5 の合計 |
| 抽出I_A1Tb 〜 抽出I_DTb | I1 〜 I5 |
| 抽出I_計Tb | I1〜I5 の合計 |
| 関数 | 説明 |
|---|---|
ToRoundedString(s) | 文字列を数値変換し四捨五入して整数文字列を返す |
ToLongOrZero(s) | 文字列を Long に変換(失敗時は 0) |