单纯形法Python
时间: 2023-07-02 09:11:45 浏览: 107
单纯形法是一种线性规划的求解方法,Python中可以使用SciPy库中的linprog函数实现单纯形法。假设我们要求解以下线性规划问题:
max z = 3x1 + 4x2
s.t.
2x1 + x2 <= 20
-4x1 + 5x2 <= 10
x1, x2 >= 0
可以使用如下代码进行求解:
```python
from scipy.optimize import linprog
# 定义目标函数系数
obj = [-3, -4]
# 定义不等式约束系数
lhs_eq = [[2, 1], [-4, 5]]
rhs_eq = [20, 10]
# 定义变量的取值范围
bnd = [(0, float("inf")), (0, float("inf"))]
# 求解线性规划问题
opt = linprog(c=obj, A_ub=lhs_eq, b_ub=rhs_eq, bounds=bnd, method="simplex")
print(opt)
```
输出结果为:
```
con: array([], dtype=float64)
fun: -28.000000000000004
message: 'Optimization terminated successfully.'
nit: 3
slack: array([ 0., 18.])
status: 0
success: True
x: array([8., 4.])
```
其中,fun表示目标函数的最大值,x表示使目标函数取得最大值时各变量的取值。
阅读全文