始める無料で始める

ダイエット問題を再訪する

コスト削減の可能性がないか、養豚農家の収支を見直しています。現在のコスト最小化の飼料配合は、獣医の推奨に基づき、たんぱく質17%以上、脂肪2%以上、飼料は仕様に従って7ポンドという条件です。

Food Cost ($/lb) Protein (%) Fat (%)
corn 0.11 10 2.5
soybean 0.28 40 1

7ポンドは四捨五入された値で、6.6ポンドまで減らせる可能性があるという情報があります。重量制約または脂肪制約のどちらか一方を変更した場合に、最小コストがどう変わるかを確認してください。まずは元の問題をそのまま解き、スラックとシャドープライスを確認します。

pulp はインポート済みで、model と、トウモロコシと大豆を表す変数 CS も定義済みです。

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

Pythonで学ぶOptimization入門

コースを見る

演習の手順

  • Weight 制約のスラックを出力します。
  • Weight 制約のシャドープライスが 0 より大きいか確認します。

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

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

model.constraints['Weight'] = C + S >= 7  

model.solve() 
print(f"Status: {LpStatus[model.status]}\n") 

# Print the slack of the weight constraint
print("The slack of the Weight constraint is {}", 
      ____.constraints['Weight'].____)

# Check if the shadow price is greater than 0
if ____.constraints['Weight'].____ > 0:
	print('Tightening the constraint will increase minimum cost')
コードを編集して実行