题目:
有一个商家下个月要卖两种产品
总原料是 50000
A 产品卖出一只 利润是 5元
B 产品卖出一只 利润是 4元
现在原料(原料是 50000)只能一次生产 500 A产品或者 400 B 产品
生产A产品
需要消耗100 原料
生产B产品
需要消耗125 原料
由于时间问题只能一次生产 400只A产品,或者 300只 B 产品
求解
怎么样A B 产品 搭配收益最大化
由题意我们可以画出这个图形
我们需要拆解问题
5* (x1) + 4*(x2) = max
x1 <= 400
x2 <= 300
100*(x1) + 125*(x2) <= 50000
代码如下
import pulp
MyProbLP = pulp.LpProblem("LPProbDemo1", sense=pulp.LpMaximize) # 求最大值
x1 = pulp.LpVariable('x1', lowBound=0, upBound=None, cat='Continuous')
x2 = pulp.LpVariable('x2', lowBound=0, upBound=None, cat='Continuous')
MyProbLP += 5*x1 + 4*x2 # 设置目标函数
MyProbLP += (1*x1 + 0*x2 <= 400) # 不等式约束
MyProbLP += (0*x1 + 1*x2 <= 300) # 不等式约束
MyProbLP += (100*x1 + 125*x2 <= 50000) # 不等式约束
# MyProbLP += (x1 + x2 + x3 == 7) # 等式约束
MyProbLP.solve() # youcans@xupt
print("Status:", pulp.LpStatus[MyProbLP.status]) # 输出求解状态
for v in MyProbLP.variables(): # youcans
print(v.name, "=", v.varValue) # 输出每个变量的最优值
print("Max F(x) = ", pulp.value(MyProbLP.objective)) #输出最优解的目标函数值
解出
如下