Tera計算EIQAI 仕様説明

概要

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]

主な機能

開発情報

開発会社物流技術研究所[cite: 30]
著作権寺本敏幸[cite: 30]

全体フロー

アプリ起動(フォームロード)
初期化処理
MLContext / モデル読込 / Dgv初期化[cite: 30]
ユーザー入力
出荷先数・アイテム数[cite: 30]
予測実行Bt クリック[cite: 30]
予測実行()
全モデルで Predict → 予測結果Dgv 表示[cite: 30]
EIQマトリクス表実行Bt クリック[cite: 30]
マトリクス表作成[cite: 30]
従来計算E作成[cite: 30]
従来計算I作成[cite: 30]
表示単位ラジオボタン切替
出庫回数/バラ/ケース/PL/容積/重量 → マトリクス再描画[cite: 30]
DB 集計して実計算を作成し比較表示
実計算表示→ 予測との誤差 表示[cite: 30]

各処理の詳細

【1】フォームロード(Tera計算EIQAI_Load)

【2】予測実行(予測実行Bt_Click → 予測実行())

【3】EIQマトリクス表作成(AI予測EIQマトリクス表())

GPLEランクGPLI_A1GPLI_A2GPLI_BGPLI_CGPLI_D横計
GPLE_A1XX01XX02XX03XX04XX05Σ行[cite: 30]
GPLE_A2XX06XX07XX08XX09XX10Σ行[cite: 30]
GPLE_BXX11XX12XX13XX14XX15Σ行[cite: 30]
GPLE_CXX16XX17XX18XX19XX20Σ行[cite: 30]
GPLE_DXX21XX22XX23XX24XX25Σ行[cite: 30]
縦計Σ列Σ列Σ列Σ列Σ列総計[cite: 30]
※ XX = 選択中の表示単位プレフィックス(行数 / バラ数 / ケース / PL / 容積 / 重量)[cite: 30]

【4】従来計算E(AI予測従来計算E())

出荷日ランク出荷先数出荷回数バラ数ケース換算PL換算容積換算重量換算
全データ平均GPLE_A1E1Σ行数01-05Σバラ数01-05Σケース01-05ΣPL01-05Σ容積01-05Σ重量01-05[cite: 30]
全データ平均GPLE_A2E2Σ行数06-10Σバラ数06-10Σケース06-10ΣPL06-10Σ容積06-10Σ重量06-10[cite: 30]
全データ平均GPLE_BE3Σ行数11-15Σバラ数11-15Σケース11-15ΣPL11-15Σ容積11-15Σ重量11-15[cite: 30]
全データ平均GPLE_CE4Σ行数16-20Σバラ数16-20Σケース16-20ΣPL16-20Σ容積16-20Σ重量16-20[cite: 30]
全データ平均GPLE_DE5Σ行数21-25Σバラ数21-25Σケース21-25ΣPL21-25Σ容積21-25Σ重量21-25[cite: 30]
ΣEΣ全Σ全Σ全Σ全Σ全Σ全[cite: 30]

【5】従来計算I(AI予測従来計算I())

出荷日ランクアイテム数出荷回数バラ数ケース換算PL換算容積換算重量換算
全データ平均GPLI_A1I1Σ行数 col1Σバラ数 col1Σケース col1ΣPL col1Σ容積 col1Σ重量 col1[cite: 30]
全データ平均GPLI_A2I2Σ行数 col2Σバラ数 col2Σケース col2ΣPL col2Σ容積 col2Σ重量 col2[cite: 30]
全データ平均GPLI_BI3Σ行数 col3Σバラ数 col3Σケース col3ΣPL col3Σ容積 col3Σ重量 col3[cite: 30]
全データ平均GPLI_CI4Σ行数 col4Σバラ数 col4Σケース col4ΣPL col4Σ容積 col4Σ重量 col4[cite: 30]
全データ平均GPLI_DI5Σ行数 col5Σバラ数 col5Σケース col5ΣPL col5Σ容積 col5Σ重量 col5[cite: 30]
縦計ΣIΣ全Σ全Σ全Σ全Σ全Σ全[cite: 30]
列方向の合計: GPLI_A1 = XX01+XX06+XX11+XX16+XX21, GPLI_A2 = XX02+XX07+XX12+XX17+XX22, …[cite: 30]

【6】表示単位切替(抽出_表示単位_CheckedChanged)

【7】結果エクスポート(結果エクスポートBt_Click)

【8】学習済モデル再読込(学習済モデル読込Bt_Click)

【9】予測と実計算比較(比較開始Bt_Click)

データ構造

クラス名用途主なフィールド
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]
予測実行BtAI予測実行[cite: 30]
EIQマトリクス表実行Btマトリクス表・従来計算表の生成[cite: 30]
結果エクスポートBtCSV出力[cite: 30]
比較開始Bt予測と実計算比較[cite: 30]
閉じるBtフォームを閉じる[cite: 30]

表示単位ラジオボタン

コントロールプレフィックス
抽出_出庫回数Rb行数[cite: 30]
抽出_バラRbバラ数[cite: 30]
抽出_ケースRbケース[cite: 30]
抽出_PLRbPL[cite: 30]
抽出_容積Rb容積[cite: 30]
抽出_重量Rb重量[cite: 30]

DataGridView

コントロール説明
予測結果Dgv全予測結果一覧(項目名 / 予測値)[cite: 30]
AI予測EIQマトリクス表Dgv5×5 EIQマトリクス表 + 横計/縦計[cite: 30]
AI予測従来計算出荷先Dgv従来計算E(出荷先ランク別集計)[cite: 30]
AI予測従来計算アイテムDgv従来計算I(アイテムランク別集計)[cite: 30]
AI予測EIQマトリクス表_複写Dgv実計算との比較のための複写[cite: 30]
実計算Dgv実計算の表示[cite: 30]
誤差DgvAI予測と実計算との差異を%表示[cite: 30]

抽出テキストボックス

コントロール対応値
抽出E_A1Tb 〜 抽出E_DTbE1 〜 E5[cite: 30]
抽出E_計TbE1〜E5 の合計[cite: 30]
抽出I_A1Tb 〜 抽出I_DTbI1 〜 I5[cite: 30]
抽出I_計TbI1〜I5 の合計[cite: 30]

ヘルパー関数

関数説明
ToRoundedString(s)文字列を数値変換し四捨五入して整数文字列を返す[cite: 30]
ToLongOrZero(s)文字列を Long に変換(失敗時は 0)[cite: 30]