python线性规划最优解代码,python求解非线性规划

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: