Tera計算 EIQAI ソフトウェア仕様・AI予測フロー説明

概要

Tera計算シリーズの拡張モジュールである EIQAI は、物流センターにおける伝統的な分析手法である EIQ分析(E=出荷先、I=アイテム、Q=数量)を根本から革新するシステムです。
本ソフトウェアは、Microsoft.ML(ML.NET)の高度な学習済みモデルをシステム内部に組み込んでおり、過去のデータを静的に集計するにとどまらず、将来の物量変動に対する高精度な AI予測 を実行するWindows フォームアプリケーションとして開発されました。

目的

このシステムの最大の目的は、極めて少ない入力情報から広範な物流シミュレーションを実現し、詳細な EIQマトリクス を生成することです。
ユーザーは「出荷先数」と「アイテム数」という、たった 2 つの入力パラメータを指定するだけで、システムが内部で EIQ分析に必要な 162 項目もの変数を一括で AI予測 します。
具体的には、バラ数量や行数といった基本指標から、出荷先ランク(E1-E5)やアイテムランク(I1-I5)、さらには行数・バラ数・ケース・PL・容積・重量の各 25 ランク別数値までを瞬時に算出します。
そして、これらの膨大な予測結果を直感的に理解できるよう、EIQマトリクス表や従来計算表として画面上に可視化し、物流拠点の設計やキャパシティ計画を強力に支援します。

動作環境・技術構成

本システムは、高いパフォーマンスとセキュアなローカル環境での動作を実現するため、以下の技術構成を採用しています。

フレームワーク.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 個の AI予測 モデルを一括読込
データ保存先Tera計算Data\EIQ分析AI化 フォルダ(ドライブ A〜F を自動検出)
Excel 出力EPPlusFree ライブラリ対応

主な機能

開発情報

開発会社物流技術研究所
著作権寺本敏幸

全体フロー

Tera計算 EIQAI において、ユーザーがアプリケーションを起動してから EIQマトリクス が描画され、誤差検証が行われるまでの全体的な処理の繋がり(フロー)は以下の通りです。

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

各処理の詳細

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

アプリケーションが起動する際の初期化プロセスです。

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

ユーザーの入力情報をトリガーとして、実際に AI予測 を走らせるコアプロセスです。

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

算出された予測データを、視覚的な EIQマトリクス へと再構築するプロセスです。

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

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

AI予測 されたデータを、従来の出荷先ランク別(E)の視点で横断的に集計し直すプロセスです。

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

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

AI予測 されたデータを、従来のアイテムランク別(I)の視点で横断的に集計し直すプロセスです。

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

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

EIQマトリクス の表示内容を動的に切り替える UI 処理です。

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

予測されたデータを外部へ連携するための出力処理です。

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

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

データ構造

本システム(Tera計算 EIQAI)内で取り扱われるデータの構造一覧です。

クラス名用途主なフィールド
ModelData学習データ構造モデル連番, 出荷先数, アイテム数, バラ数量, 行数, E1-E5, I1-I5, 行数01-25 等
InputData予測入力出荷先数, アイテム数
SinglePrediction予測出力Score

主要コントロール一覧

画面上に配置されている主要な UI コントロール群とその役割の一覧です。

入力

コントロール説明
出荷先数Tb出荷先数入力テキストボックス
アイテム数Tbアイテム数入力テキストボックス

ボタン

コントロール説明
学習済モデル読込Btモデル再読込
予測実行BtAI予測 実行
EIQマトリクス表実行Btマトリクス表・従来計算表の生成
結果エクスポートBtCSV出力
比較開始Bt予測と実計算比較
閉じるBtフォームを閉じる

表示単位ラジオボタン

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

DataGridView

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

抽出テキストボックス

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

ヘルパー関数

内部処理を補助するための関数群です。

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