定义问题
sense:LpMaximize(最大优化)/LpMinimize(最小优化)
prob = pulp.LpProblem('problem name', sense=pulp.LpMinimize)
定义变量
cat:默认为连续变量,LpInteger为离散变量,LpBinary为二值变量
x0 = pulp.LpVariable('x0', lowBound=0, upBound=None, cat=pulp.LpInteger)
x1 = pulp.LpVariable('x1', lowBound=0, upBound=None, cat=pulp.LpInteger)
x2 = pulp.LpVariable('x2', lowBound=0, upBound=None, cat=pulp.LpInteger)
添加目标函数
prob += 2*x0-5*x1+4*x2
添加约束
prob += (x0+x1-6*x2 <= 120)
解出答案
prob.solve()
打印结果
print(pulp.value(prob.objective))
print(pulp.value(x0))
print(pulp.value(x1))
print(pulp.value(x2))
更多:https://www.jianshu.com/p/9be417cbfebb