instance
代码:
import pulp
z = [2, 3, 1]
a = [[1, 4, 2], [3, 2, 0]]
b = [8, 6]
#确定最大化最小化问题,最大化只需将Min改成Max即可
m = pulp.LpProblem(sense=pulp.LpMinimize)
# 定义三个变量放到列表中
x = [pulp.LpVariable(f'x{i}', lowBound=0) for i in [1, 2, 3]] #lowBound是下界,LpVariable是为了生成对象
#定义目标函数,lopDot可以将两个列表的对应位相乘再相加
#相当于z[0]*x[0]+....
m += pulp.lpDot(z,x)
#设置约束条件
for i in range(len(a)):
m += pulp.lpDot(a[i], x) >= b[i]
#求解
m.solve()
#输出结果
print(f'优化结果:{pulp.value(m.objective)}')
print(f'参数取值:{[pulp.value(var) for var in x]}')