始める無料で始める

物流計画問題 2

あなたは再び、キッチン用オーブンのメーカーの物流計画を支援しています。今回は、今後6か月(1月〜6月)の計画を作成します。倉庫は引き続き2拠点(New York と Atlanta)、顧客は4つの地域(East、South、Midwest、West)です。各倉庫から各地域顧客への配送コストは下表のとおりです。目標は、総コストが最小になるように、各倉庫から各顧客への月ごとの出荷数量を決定することです。

Customer New York Atlanta
East $211 $232
South $232 $212
Midwest $240 $230
West $300 $280

モデルのコストを保持する Python の辞書 costs と、monthswarehousecustomers の3つのリストが用意されています。costs は出力してありますので、コンソールで各リストも確認できます。さらに、モデルの初期化も済んでいます。

この演習はコースの一部です

Pythonで学ぶサプライチェーン分析

コースを見る

演習の手順

  • まず内包表記で monthswarehousecustomers の各リストを走査してキーのリストを作成し、そのキーのリストを LpVariable.dicts() に渡して、モデルの意思決定変数を定義します。
  • 目的関数は、6か月間にわたる各倉庫と各顧客の組み合わせに対する配送コストをすべて合計して定義します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Define decision variables
key = [(m, w, ____) for m in months for w in warehouse for c in customers]
var_dict = LpVariable.dicts('num_of_shipments', 
                            key, 
                            lowBound=____, cat=____)

# Use the LpVariable dictionary variable to define objective
model += lpSum([costs[(w, c)] * ____[(____, ____, ____)] 
                for m in months for w in warehouse for c in customers])
コードを編集して実行