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