python使用zy包 单纯性算法求解最优值,画单纯性表

安装zy

pip install zy

使用

例如求解最优化问题
min -x1 - 3x2
s.t.
2x1+3x2 +x3 = 6
-x1 +x2 +x4 =1
x1,x2,x3,x4 >= 0

from zy.optimization.dqxsf import *
c = Dq([-1, -3, 0, 0], [[2, 3, 1, 0],[-1, 1, 0, 1]], [6, 1])
# 一个参数为价格系数 第二个为约束矩阵 第三个为右端向量b
c.calculation() # 调用执行函数 直接计算结果
print(c.has_best_answer()) # 查看是否有最优解
print(c.best_answer()) # 打印最优解 ((0.6, 1.6, 0, 0), -5.4) 第一个参数为最优的解向量,第二次参数是最优解的值
c.write_to_excel('m1.xls') # 将计算单纯性表写入excel表格

说明:

  • 该方法求解min最小值的最优化问题 若为max问题,请化成min
  • 所输入的矩阵应严格符合线性规划的标准型(解可新的最优化37页)
  • 若所解问题存在退化循环,此方法最多迭代计算100次,故调用best_answer()函数之前,应使用has_best_answer()函数验证该方法是否能获得最优解。
  • 写入excel文件时,请确保excel文件处于关闭状态,否则会写入失败。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值