始める無料で始める

複数要素の扱い

農家は、他の家畜向けのより複雑な食事に対応するため、前の最適化関数を再利用したいと考えています。

前回のコードは用意されています。複数の変数をよりうまく扱えるように、前回のコードを調整できますか?

pulp はすでにインポート済みです。

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

Pythonで学ぶOptimization入門

コースを見る

演習の手順

  • 変数定義を LpVariable.dicts() に変更し、名前を "Food"、保存先を variables にしてください。
  • 目的関数は lpSum() を使うように調整してください。

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

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

model = LpProblem("MinCost", LpMinimize) 

# Adjust the variable definition
C = LpVariable("C", lowBound=0)
S = LpVariable("S", lowBound=0) 

# Adjust the objective function
cost = {'C': 0.11, 'S': 0.28}
model += 0.28*S + 0.11*C

model += 40*variables['S'] + 10*variables['C'] >= 17*(variables['C']+variables['S']), "M_protein"
model += variables['S'] + 2.5*variables['C'] >= 2*(variables['C']+variables['S']), "M_fat"
model += variables['C'] + variables['S'] >= 7, "M_weight"

model.solve()
print(f"Cost = {value(model.objective):.2f}")
print(f"Pounds of soybean = {variables['S'].varValue:.2f}, pounds of corn = {variables['C'].varValue:.2f}") 
コードを編集して実行