【发布时间】:2020-05-25 10:31:03
【问题描述】:
如果这是一个糟糕的问题,请原谅我。但是如何优化字典中的一组变量?
我发布了我的问题的 excel img。最大成本是 169,我必须选择 4/6 五成本才能获得最大利润?所以我的目标是结合 4/6(最大利润)和 169 美元的成本限制。
我能够学会从基本方程中获得最大值,但无法扩展以帮助解决我的示例。
x1 = pulp.LpVariable("x1", 0, 40) # 0<= x1 <= 40
x2 = pulp.LpVariable("x2", 0, 1000) # 0<= x2 <= 1000
prob = pulp.LpProblem("problem", pulp.LpMaximize)
prob += 2*x1+x2 <= 100
prob += x1+x2 <= 80
prob += 3*x1+2*x2
status = prob.solve()
pulp.LpStatus[status]
# print the results x1 = 20, x2 = 60
pulp.value(x1)
pulp.value(x2)
来源:https://thomas-cokelaer.info/blog/2012/11/solving-a-linear-programming-problem-with-python-pulp/
【问题讨论】:
-
我不明白这是什么意思:“选择 4/5 五成本”
-
我只能从 5 个位置中选择 4 个。抱歉,应该更清楚。
-
哪 5 个?我看到了 6 种可能性。
-
非常抱歉。你是对的,它是 6。
-
这是一个简单的优化模型。只需使用二进制变量
x[i]指示是否选择了项目i。
标签: python optimization scipy linear-programming pulp