ユニット 7 / 9

サプライチェーンと物流の最適化

利益:

  • サプライチェーンのネットワーク設計、ルート、倉庫のレイアウトの問題を特定する能力
  • シナリオ生成、制約リスト、最適化モデルの構築に AI を使用する能力
  • AI が提案したソリューションを、コスト、容量、納期の制約とともに検証する機能

サプライチェーンとは、原材料から最終顧客までの材料、情報、資金の流れ全体です。このネットワークにおけるすべての決定 (どこから調達するか、どの倉庫に在庫するか、どのルートで出荷するか) は、コスト、スピード、耐久性のバランスを考慮して行われます。ここでの最適化は魔法ではなく、明確に定義された目的関数と制約を意味します。この分野では、問題の構造化、シナリオの生成、制約のリスト化、最適化モデルの草案作成において、人工知能は非常に強力です。ただし、「最適なソリューション」の主張は、常に制約と実際のコストに照らして検証する必要があります。この単元では、AI サポートを利用したネットワーク設計、ルートの最適化、倉庫の決定について説明します。

サプライチェーン最適化問題マップ

最適化の問題を認識することは、適切なモデルを構築するための最初のステップです。

問題

決定変数

代表的な目的

ネットワーク設計

どの施設/倉庫を開設する必要がありますか?

固定費と変動費の合計の最小値

割り当て/割り当て

どの顧客がどの倉庫から来たのか?

最低交通費

配車ルート(VRP)

どの車両がどの順番でどの停留所に停車しますか?

総距離/時間分

倉庫のレイアウト

製品はどこに配置すればよいですか?

ピッキング距離の最小値

トランスポートモードの選択

陸・海・空

コストとスピードのバランス

すべての問題の共通フレームワークは同じです: 決定変数、目的関数、制約。 AI の最も価値のある貢献は、ビジネス上の問題をこれら 3 つのコンポーネントに変換できるようになることです。

役割: あなたは、サプライ チェーンの最適化を専門とする産業エンジニアです。タスク: 次のビジネス上の問題を最適化モデルに変換します。 (1) 決定変数、(2) 目的関数、(3) 制約 (能力、需要満足度、非負性)、(4) この問題のタイプを指定します。問題: 「工場が 3 つ、配送センターが 5 つあります。各工場の能力と各センターの需要は確実です。工場からセンターまでの輸送単価は異なります。総輸送コストを最小限に抑えるためにダウンロードしたいです。」 ルール: モデルの種類 (輸送問題など) に名前を付け、前提条件を明確に記述します。

これは典型的な交通問題です。 AI はこれを認識し、正しい数学的骨格を構築できます。実際の容量と需要データも配置します。

ルート最適化 (VRP) と制約の重要性

車両ルートは、実際に最も頻繁に遭遇し、誤って確立されている問題です。単純な「最短経路」(TSP)と真の VRP の間には、車両の収容能力、時間帯(顧客が迎えに行ける時間)、運転時間制限、複数の車両など、大きな違いがあります。

注意: AI がルートを推奨する場合、多くの場合、容量と時間枠の制約を「忘れる」か、近似します。車両が運べる量を超える荷物を積んだルートは「短い」ように見えるかもしれませんが、実際的ではありません。各ルートを個別に総積載量 ≤ 容量および到着時間 ∈ 時間枠を確認してください。

弱いプロンプト / 強いプロンプト

弱いプロンプト:

これら 8 つの停留所への最短ルートを答えてください。

収容力、時間帯、車両数がない場合は、AI が単純なランキングを提供します。実際の運用では耐えられません。

強力なプロンプト:

以下の8名のお客様にルートプランをご提案します。車両は2台あり、収容台数はそれぞれ100台です。それぞれの顧客の需要と時間枠が付いています。倉庫からのチェックアウト08:00。平均速度が 40 km/h であると仮定します。出力: 各車両の停止順序、累積荷重 (容量を超えないように)、推定到着時間 (時間枠に合わせて)、総距離。制約違反がある場合は、それを明確に述べ、代替案を提案します。データ: {{ ... }}

2 番目のプロンプトは、明示的に制約を課し、AI による違反チェックを要求します。ただし、ソルバーまたは手動で結果を検証することが重要です。 AI は絶対的な最適性を保証しません。

最適ですか、それとも単に「良い」ですか?

ここには重要な概念があります。AI (および最も実用的な手法) が見つける解決策は、多くの場合、最適な解決策ではなく、適切な解決策 (ヒューリスティック) です。真の最適値は、正しく構築されたモデルを解く数学的ソルバー (OR-Tools、Gurobi、PuLP など) によって見つかります。 AI の役割はモデルを構築することであり、解決することではありません。

Python PuLPで以下の輸送問題を解くためのモデルスケルトンを書きます。 - 意思決定変数 x[i][j] (i工場、jセンター) - 目的:総コスト最小化 - 制約:各工場の供給、各センターの需要、x >= 0 コードはコメントで説明しますが、数値データを入力します。また、ソリューションが公開されたときに実行する必要があるチェックをリストします。

ヒント: AI に「コードを書いてそれを理解してください」と指示するのではなく、「コードを書いたら私が実行してみます」と指示します。これにより、最適化が真のソルバーになります。 AI が作成した (そして未検証の) 「これが私の解決策です」という数字を信頼することはできません。

倉庫と場所の決定

倉庫内の製品の配置はピッキング距離に直接影響します。基本原則は、頻繁に移動する (回転率の高い) アイテムをピッキング ポイントの近くに配置することです (ABC 配置)。 AIが商品の動きデータを活用したレイアウト提案概要を作成可能。ただし、物理的な制約 (棚のサイズ、重量、危険物の分離、コールド チェーン) は人間が管理する必要があります。

ミニケース: 書類上不足、現場では不可能

ある物流会社は3台の車両で1日40件の配達を行っています。産業エンジニアのセリンは、AI に停車地、リクエスト、車両定員を与え、ルート計画を求めます。 AI は見た目が良く、総飛距離が短いショットを生成します。しかし、セリンが確認すると、車両のルート上の累積荷重が容量を 15% 超えていることがわかりました。また、顧客が午後にピックアップできる停留所が 2 か所ありますが、出発予定は午前中です。 Selin は、プロンプトに制約をより明確に記述して再現し、OR ツールを使用して計画を検証します。結果は実現可能になります。教訓: AI が「最短」と呼んだ計画は実際には最短ではなく、制約違反により無効でさえありました。

よくある間違い

  • 制約を指定しない: 定員、時間枠、車両数を指定せずにルートを要求します。
  • AI をソルバーと誤解する: AI によって与えられる「最適な」ソリューションを実際のソルバーの出力として受け入れます。
  • 制約違反をチェックしない: 累積負荷と到着時間をチェックせずに計画を実装します。
  • 単一の目標に焦点を当てる: コストのみを最適化し、耐久性やリスク (単一のサプライヤーへの依存) を忘れます。
  • 実際のコストを使用しない: デフォルト/作成された単位コストを使用してモデルを構築し、実際のデータで更新しません。

要約すると

  • すべてのサプライ チェーンの最適化は、決定変数、目的関数、制約という 3 つのコンポーネントに要約されます。
  • AI の最も価値のある貢献は、ビジネス上の問題を適切なモデル タイプ (輸送、VRP、割り当て) に変換することです。
  • VRP では、容量と時間枠の制約が非常に重要です。 AI はこれらを頻繁にスキップするため、必ず確認してください。
  • AI は解決するのではなく構築する。実際の最適化はソルバー (PuLP、OR-Tools) で行う必要があります。
  • コストに加えて、耐久性とリスクも目標にする必要があります。単一サプライヤー/単一ルートへの依存は隠れたコストとなります。

アプリケーションタスク

供給/流通の問題を構築します (例: 3 つの倉庫、5 ~ 8 人の顧客、需要と車両の収容能力)。まず、AI に問題を決定変数、目標、制約としてモデル化させ、問題のタイプに名前を付けます。次に VRP シナリオを提示し、ルート計画を尋ねます。出力で各車両の累積荷重と到着時間を自分で確認します。重要な検証: 少なくとも 1 台の車両の総積載量を手動で合計し、それを積載量と比較して、制約違反を探します。最後に、AI にソルバー (PuLP) コード スケルトンを作成させ、「ソリューションを実行してみます」というアプローチで、AI が偽の数値を生成しないようにワークフローを設計します。