Python求解线性规划,python混合整数线性规划

  Python求解线性规划,python混合整数线性规划

  Cvxpy解决了我们解决的这样一个问题:

  我们需要配置基本环境。首先,记得按顺序安装模块:

  pip安装数量

  pip安装mkl

  pip安装cvxopt

  pip安装scs

  pip安装ecos

  pip安装osqp

  再次重申:

  安装cv xpy的完整代码如下:

  #编码=gbk

  作者:川川

  @ Time: 2022/1/30 0:35

  群:428335755

  将cvxpy作为cp导入

  从numpy导入数组

  C=array([40,90]) #定义目标向量

  A=array([[9,7],[-7,-20]]) #定义约束矩阵

  B=array([56,-70]) #定义约束的右向量

  X=cp。Variable(2,integer=True) #定义两个整数决策变量。

  Obj=cp。最小化(c * x) #构造目标函数

  Cons=[a * x=b,x=0] #构造约束

  Prob=cp。建立一个问题模型

  Prob.solve (solve= glpk _ mi ,verbose=true) #解决问题

  打印(最佳值为:,概率值)

  Print(最佳解决方案是:\n ,x.value)运行如下:

  由于笔记很详细,我没什么好说的。有不懂的可以在评论区留言或者加我联系方式问我。

  Scipy解决方案模块安装:

  安装scipy必须首先转换成标准公式:

  求解标准代码如下:

  从scipy导入优化

  将numpy作为np导入

  #求解函数

  res=optimize.linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS)

  #目标函数的最小值

  打印(研究和娱乐)

  #最佳解决方案

  print(res.x)的标准格式是=,如果是=,符号-加在两边。

  例如,如下所示:

  解决方案代码是:

  从scipy导入优化

  将numpy作为np导入

  #确定c、A、b、Aeq、beq

  c=np.array([2,3,-5])

  A=np.array([[-2,5,-1],[1,3,1]])

  B=np.array([-10,12])

  Aeq=np.array([[1,1,1]])

  Beq=np.array([7])

  #求解

  res=optimize.linprog(-c,A,B,Aeq,Beq)

  打印(res)运行如下:

  解释一些结果:

  Fun是目标函数的最小值,X是最优解,即上面x1,x2,x3的最优解。推荐一本好书的优点《机器学习线性代数基础:Python语言描述》:本书围绕机器学习涉及的线性代数核心知识,进行了新的尝试和突破:从坐标与变换、空间与映射、近似与拟合、相似与特征、降维与压缩五个维度,展开了线性代数与机器学习算法紧密结合的核心内容。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

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