本文主要是介绍建模 pulp 01规划,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
原文链接: 建模 pulp 01规划
上一篇: 建模 整数线性规划 pulp
下一篇: Tomcat 安装配置
根据题目形式,构造求解函数
构造目标函数参数,和约束参数,注意是求最大还是求最小,以及约束的类型是小于还是大于
题目
求解代码
import pulp as pulpdef solve_ilp(c, aub, bub):# 变量数目xlen = len(c)x = [pulp.LpVariable(f'x{i}', lowBound=0, upBound=1, cat='Integer') for i in range(xlen)]model = pulp.LpProblem("Profit min problem", pulp.LpMinimize)# 构造目标函数表达式model += sum([c[i] * x[i] for i in range(xlen)])# 构造不等式约束for i in range(len(bub)):model += sum([aub[i][j] * x[j] for j in range(xlen)]) >= bub[i]model.solve()return [i.varValue for i in x], pulp.value(model.objective)c = [1 for i in range(6)]
aub = [[1, 1, 1, 0, 0, 0],[0, 1, 0, 1, 0, 0],[0, 0, 1, 0, 1, 0],[0, 0, 0, 1, 0, 1],[0, 0, 0, 0, 1, 1],[1, 0, 0, 0, 0, 0],[0, 1, 0, 1, 0, 1],
]bub = [1 for i in range(6)]
print(solve_ilp(c, aub, bub)
)# ([1.0, 0.0, 0.0, 1.0, 1.0, 0.0], 3.0)
这篇关于建模 pulp 01规划的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!