python线性规划最优解代码,python求解非线性规划
说明
1、脾气暴躁库提供简单的线性或非线性规划问题。
但不能解决背包问题的0-1规划问题,或者整数规划问题,混合整数规划问题。
2、纸浆可以解决线性规划、整数规划、0-1规划和混合整数规划问题。
为不同类型的问题提供各种解决方案。
3、Cvxpy是一个凸优化工具包。
可以解决线性规划、整数规划、0-1规划、混合整数规划、二次规划和几何规划等问题。
实例
以整数线性规划为例
#-*-编码:utf-8-*-
importpulpaspulp
defsolve_ilp(目标,约束):
打印目标
打印约束
prob=纸浆LpProblem(LP1 ),纸浆LP。最大化)
prob=目标
对于约束:
prob=cons
printprob
status=prob.solve()
ifstatus!=1:
#打印"状态"
#打印状态
returnNone
else:
# return[v . var值。realforvinprob。变量()]
返回[v . var值。realforvinprob。变量()]
#解如下整数线性规划
#maximizez=c*x=3*x1 4*x2 5*x3
#subjectto:
#x123=0
#x1 2*x220
#x2 3*x3=40
V_NUM=3
#变量,直接设置下限
变量=[纸浆LpVariable(X%d%i,lowBound=0,cat=pulp .LpInteger)foriinrange(0,V_NUM)]
#目标函数
c=[3,4,5]
目标=总和([c[I]*变量[i]foriinrange(0,V_NUM)])
#约束条件
约束=[]
a1=[1,2,0]
制约因素。append(sum([a1[I]* variables[I]for iinrange(0,V_NUM)])=100)
a2=[0,1,3]
制约因素。append(sum([a2[I]*变量[I]for iinrange(0,V_NUM)])=40)
打印约束
res=solve_ilp(目标,约束)
printres以上就是大蟒求解线性规划的包,希望对大家有所帮助。更多计算机编程语言学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1、戴尔自交第三代电脑。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。