python求解线性规划问题,百度后发现了scipy模块,optimize,新手希望大神能写个实例,例子如下:
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python求解线性规划问题,百度后发现了scipy模块,optimize,新手希望大神能写个实例,例子如下:相关的知识,希望对你有一定的参考价值。
参考技术A scipy做线性规划不是很方便,推荐用pulp来做,这个模块不属于python的内置模块,需要先安装,pip install pulpfrom pulp import *
# 设置对象
prob = LpProblem('myProblem', LpMinimize)
# 设置三个变量,并设置变量最小取值
x1 = LpVariable('x1', 0)
x2 = LpVariable('x2', 0)
x3 = LpVariable('x3', 0)
x4 = LpVariable('x4')
# 载入目标函数,默认是求最小值,因此这次对原目标函数乘以-1
prob += 3*x1 - 4*x2 + 2*x3 -5*x4
# 载入约束变量
prob += 4*x1 - x2 + 2*x3 -x4 == -2
prob += x1 + x2 -x3 + 2*x4 <= 14
prob += -2*x1 + 3*x2 + x3 -x4 >= 2
# 求解
status = prob.solve()
# 显示结果
for i in prob.variables():
print(i.name + "=" + str(i.varValue))
计算结果为:
x1=0.0
x2=2.0
x3=4.0
x4=8.0本回答被提问者和网友采纳
python 求解线性方程组
Python线性方程组求解
求解线性方程组比较简单,只需要用到一个函数(scipy.linalg.solve)就可以了。比如我们要求以下方程的解,这是一个非齐次线性方程组:
3x_1 + x_2 - 2x_3 = 5
x_1 - x_2 + 4x_3 = -2
2x_1 + 3x_3 = 2.5
import numpy as np from scipy.linalg import solve a = np.array([[3, 1, -2], [1, -1, 4], [2, 0, 3]]) b = np.array([5, -2, 2.5]) x = solve(a, b) print(x)
输出结果:
[0.5 4.5 0.5]
摘自:http://blog.csdn.net/zuyuanzhu/article/details/21185995
以上是关于python求解线性规划问题,百度后发现了scipy模块,optimize,新手希望大神能写个实例,例子如下:的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 SCIP 求解器获得 Google OR-Tools 和 Python 中的相对 MIP 差距?
OR-Tools / SCIP - 如何使用指标约束来解决 MIP 问题?
在Windows上安装SCIP for Python不再适用
PYQT5项目实践|实现Python+cplex 求解模型后,写入GUI小程序中,具体实践包括: CPLEX 的 求解整数规划模型和求解结果以表的形式输出在GUI界面中