【说站】python有哪些求解线性规划的包
Python 哪些 求解 线性规划
2023-06-13 09:13:22 时间
python有哪些求解线性规划的包
说明
1、Scipy库提供简单的线性或非线性规划问题。
但不能解决背包问题的0-1规划问题,或者整数规划问题,混合整数规划问题。
2、PuLP可以解决线性规划、整数规划、0-1规划和混合整数规划问题。
为不同类型的问题提供各种解决方案。
3、Cvxpy是一个凸优化工具包。
可以解决线性规划、整数规划、0-1规划、混合整数规划、二次规划和几何规划等问题。
实例
以整数线性规划为例
# -*- coding: utf-8 -*-
import pulp as pulp
def solve_ilp(objective , constraints) :
print objective
print constraints
prob = pulp.LpProblem('LP1' , pulp.LpMaximize)
prob += objective
for cons in constraints :
prob += cons
print prob
status = prob.solve()
if status != 1 :
#print 'status'
#print status
return None
else :
#return [v.varValue.real for v in prob.variables()]
return [v.varValue.real for v in prob.variables()]
#解如下整数线性规划
#maximize z = c*x = 3*x1 + 4*x2 + 5*x3
#subject to :
#x1 2 3 >= 0
#x1 + 2*x2 < 20
#x2 + 3*x3 <= 40
V_NUM = 3
#变量,直接设置下限
variables = [pulp.LpVariable('X%d'%i , lowBound = 0 , cat = pulp.LpInteger) for i in range(0 , V_NUM)]
#目标函数
c = [3 , 4 , 5]
objective = sum([c[i]*variables[i] for i in range(0 , V_NUM)])
#约束条件
constraints = []
a1 = [1 , 2 , 0]
constraints.append(sum([a1[i]*variables[i] for i in range(0 , V_NUM)]) <= 100)
a2 = [0 , 1 , 3]
constraints.append(sum([a2[i]*variables[i] for i in range(0 , V_NUM)]) <= 40)
print constraints
res = solve_ilp(objective , constraints)
print res
以上就是python求解线性规划的包,希望对大家有所帮助。
相关文章
- Python-drf前戏38.1-前端Vue01
- pycharm打包python项目_Python怎么打包
- python语言变量命名规则有什么_Python变量命名规则(超级详细)
- python删除首行_Python删除文件第一行
- python中bool函数_bool()函数以及Python中的示例
- 手机python 3.8解释器_Python 3.8 解释器安装教程
- python socket recvfrom_Python:socket.recvfrom()不返回任何地址
- python生成器详解_Python 生成器
- Python编程 环境搭建
- 【说站】python字符串中有哪些方法
- 【说站】python tqdm有哪些用法
- 【说站】python Pool常用函数有哪些
- python抛出异常写法_零基础学 Python(32):如何抛出和捕获异常?「建议收藏」
- python优势有哪些?
- 1行Python代码,把PPT转成图片,python-office功能更新~
- Python 开发代码片段笔记
- python 入学基本语法
- Python获取北向资金持股数据
- Python字符串对齐方法(ljust()、rjust()和center())详解
- Python字典及基本操作(超级详细)
- 掌握Linux环境下的Python编程(linux执行python)
- Linux查看Python版本的有效方法(linux查看python版本)
- Python玩转Redis:提升缓存效率(python使用redis)
- python驱动使用pip安装MySQL Python驱动的简单步骤(pip安装mysql)
- 打开电脑上的QQ的python代码