● 有 x、y、z 三個活動想在同一天舉辦
● 場地總時間只有四個小時可使用
● 活動 z 的價值為活動 x 及 y 的兩倍
● 活動 x 與活動 y 至少要選一個舉辦
● 活動 x 需花費1小時
● 活動 y 需花費2小時
● 活動 z 需花費3小時
● 舉辦哪幾個活動可以使價值最大化?
from pulp import* #導入pulp函式庫
model = pulp.LpProblem("value max", pulp.LpMaximize) # 建立一個新的model,命名為model
x = pulp.LpVariable('x',lowBound = 0, cat='Binary') # pulp.LpVariable()加入變數
y = pulp.LpVariable('y',lowBound = 0, cat='Binary')
z = pulp.LpVariable('z',lowBound = 0, cat='Binary')
# model += 設置目標函數
model += x+y+2*z
# model += 加入限制式
model += x+2*y+3*z <= 4
model += x+y >= 1
model.solve() # mmodel.solve()求解
# 透過屬性varValue,name顯示決策變數名字及值
for v in model.variables():
print(v.name, "=", v.varValue)
# 透過屬性value(model.objective)顯示最佳解
print('obj=',value(model.objective))
x = 1.0
y = 0.0
z = 1.0
obj= 3.0