機械学習とSDCA回帰を活用したAIモデルの学習・予測・データベース構築システム
本システムは、EIQ分析(Entry-Item-Quantity分析)の手法と高度な機械学習を用いて、 出荷データから精緻なAI予測モデル(AIモデル)を構築するWindows Formsアプリケーションです。[cite: 8]
出荷先数(E)とアイテム数(I)を入力として、 バラ数量・行数・EIQ指標・ケース数・PL数・容積・重量など約160項目を、 機械学習アルゴリズムであるSDCA回帰(Microsoft.ML)で予測します。[cite: 8]
| ファイル | クラス / モジュール | 役割 |
|---|---|---|
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 |
— | データベースの構造確認・診断ユーティリティ |
物流現場の生データには単位の混在や不備が多いため、「区分換算の自動化」によってバラ・ケース等の出荷単位を揃え、計算精度を担保します。[cite: 8]また、「5段階パレート分析(EIQランク付)」を自動実行することで、どの商品群がセンター負荷の主因かをAIモデルに「特徴量」として認識させます。[cite: 8]
本システムはVB.NETとMicrosoft Access(データベース)を基盤に、処理フェーズごとに明確にモジュール化されています。[cite: 8]外部のクラウドサービスを介さず、自社環境(.accdb)のみで完結する設計を採用することで、機密性の高い出荷データの秘匿性を担保しつつ、デスクトップ環境での高速なバッチ処理を実現しています。[cite: 8]
過去の1パターンだけでなく、E/I比率を50%〜150%の範囲で変化させた数千通りの「仮想出荷シナリオ」を生成し、AIモデルに教育します。[cite: 8]
「出荷先が1.5倍に増えたら?」「アイテムを半分に絞ったら?」という極端な条件下での数値をシミュレーション算出することで、AI予測モデルは拠点の「伸び代」や「処理の限界点」を正確に把握できるようになります。[cite: 8]
E0_メニュー画面Fアプリケーション起動時のエントリポイントです。
EIQ_AIモデル.accdb の存在確認、T200テーブルの有無・種類(リンク or ローカル)・レコード数を表示EIQ_AIモデル前処理F出荷データの取込からEIQ分析用のT200テーブル作成(データベースへの格納)までを行います。
| 処理 | 内容 | 生成テーブル |
|---|---|---|
| Access新規作成 | 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集計 |
モデルデータ設定F機械学習を用いたAI予測モデル学習用データの生成パラメータを設定します。
| パラメータ | 範囲 | 説明 |
|---|---|---|
| E最小比率 / E最大比率 | 50% 〜 150% | 出荷先数の変動範囲(正規値に対する比率) |
| I最小比率 / I最大比率 | 50% 〜 150% | アイテム数の変動範囲(正規値に対する比率) |
| レコードピッチ | 1 〜 20(既定 5.9) | 生成レコードの間隔(細かいほどデータ密度が高い) |
E3_モデルデータ作成FT300_進行テーブルの未処理レコードを順次処理し、データベースのT600_データモデルテーブルにデータを格納します。
| カテゴリ | フィールド | 数 |
|---|---|---|
| 基本情報 | モデル連番, 出荷先数, アイテム数, バラ数量, 行数 | 5 |
| E指標 | E1 〜 E5 | 5 |
| I指標 | I1 〜 I5 | 5 |
| 行数ランク付別 | 行数01 〜 行数25 | 25 |
| バラ数ランク付別 | バラ数01 〜 バラ数25 | 25 |
| ケース数ランク付別 | ケース01 〜 ケース25 | 25 |
| PL数ランク付別 | PL01 〜 PL25 | 25 |
| 容積ランク付別 | 容積01 〜 容積25 | 25 |
| 重量ランク付別 | 重量01 〜 重量25 | 25 |
作成Chkフラグで管理されるため、
途中で中断しても次回は未処理レコードから継続できます。
キーボード割り込み(GetAsyncKeyState API)による中断機能も搭載しています。
E4_機械学習FMicrosoft.MLライブラリを用いたSDCA回帰によるAI予測モデルの訓練と予測を行います。
| 機能 | 説明 |
|---|---|
| データ読込 | データモデル.csvをLoadFromTextFileで読込、件数を表示 |
| 機械学習実行 | 各出力フィールドごとにSDCA回帰モデルを訓練し、Models/フォルダに.zip形式で保存 |
| 学習済AIモデル読込 | 保存済み.zipモデルを一括読込(再学習不要で予測可能) |
| 予測実行 | 出荷先数・アイテム数を入力 → 全てのAIモデルで予測 → DataGridViewに結果表示 |
| 結果エクスポート | 予測結果を予測結果.csvとしてUTF-8で出力 |
| 種別 | 項目 |
|---|---|
| 入力(説明変数) | 出荷先数, アイテム数 |
| 出力(目的変数) | バラ数量, 行数, E1-E5, I1-I5, 行数01-25, バラ数01-25, ケース01-25, PL01-25, 容積01-25, 重量01-25 (計 約160項目 × 各1AIモデル) |
「出荷先が1.5倍に増えたら?」「アイテムを半分に絞ったら?」という極端な条件下での数値をシミュレーション算出することで、AI予測モデルは拠点の「伸び代」や「処理の限界点」を正確に把握できるようになります。[cite: 8]
データベース: Tera計算Data\EIQ分析AI化\EIQ_AIモデル.accdb(Microsoft Access)
| テーブル | 作成元 | 用途 |
|---|---|---|
T000_出荷データ | E1(Excelインポート) | 出荷データ原本 |
T100_Data | E1 | 基本出荷データ(行連番付き) |
T110_区分換算 | E1 | 出荷区分に基づく換算データ |
T150_C/B単位出荷E/I集計 | E1 | ケース/バラ出荷別のEI集計とABCランク付 |
T160_全出荷E/I集計 | E1 | 全出荷GPLランク付(E/I別) |
T180_EIQランク | E1 | EIQランク付統合テーブル(CE/CI/BE/BI) |
T200 | E1 | EIQ分析加工済みデータ(全ランク・指標統合) |
T300_進行 | E2 | AIモデルデータ作成の進行管理(連番・設定値・作成Chk) |
T600_データモデル | E3 | 機械学習用データモデル(165フィールド) |
独自のデータベーステーブル遷移(T200からT600への展開)が、物流ノウハウです。[cite: 8]単なる履歴データであるT000を、EIQ加工・指標統合した「レコード(T200)」へ変換し、最終的に165フィールドに及ぶ機械学習用AIモデル(T600)へ昇華させます。[cite: 8]
| 項目 | 要件 |
|---|---|
| フレームワーク | .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 フォルダを自動検出します。
複数ドライブに存在する場合はエラーとなります。
フロントエンドからバックエンドのデータベース、機械学習によるAI予測モデル統合まで、すべての技術スタックが.NET Framework 4.8で統一。[cite: 8]この一貫性により、外部ライブラリとの競合を最小限に抑え、OSのアップデートにも柔軟に対応できる高いメンテナンス性と、デスクトップアプリならではの圧倒的な即時応答性を両立しています。[cite: 8]
Excel形式の生データが、T200での「物流データの構造化」を経て、T600での「シミュレーション空間の構築」、そして最終的に機械学習による「AI予測モデル」へと情報の進化プロセスを示しています。[cite: 8]この一連のデータベース構築フローにより、一見無秩序な出荷データが、将来の拠点設計を支える経営資源へと変換されます。[cite: 8]
従来のEIQ分析は、過去実績の「集計(静的な点)」に留まっていました。[cite: 8]本システムでは、出荷先数(E)やアイテム数(I)の変動を機械学習のAIモデルが学習することで、拠点のキャパシティや負荷を動的にシミュレーションする「AI予測モデル」へとEIQ分析を進化させています。[cite: 8]
本システムは、30年に及ぶ物流コンサルティングの知見をアルゴリズム化した次世代シミュレーション基盤です。[cite: 8]従来のEIQ分析が過去の出荷実績を静的に集計するだけだったのに対し、本システムは出荷先数(E)や品目数(I)の変動をAIモデルが学習することで、拠点新設や統合時のキャパシティを動的に予測する「物流デジタルツイン」としての役割を果たします。[cite: 8]