(一)scipy 线性规划

目标函数

(1) m a x z = [ A 1 , A 2 , . . . , A n ] · [ x 1 , x 2 , . . . , x n ] T

约束不等条件
(2) [ B 1 1 B 1 2 . . . B 1 n B 2 1 B 2 2 . . . B 2 n . . . . . . . . . . . . B m 1 B m 2 . . . B m n ] · [ x 1 , x 2 , . . . , x n ] T [ V B 1 , V B 2 , . . . , V B n ]

约束相等条件
(3) [ C 1 1 C 1 2 . . . C 1 n C 2 1 C 2 2 . . . C 2 n . . . . . . . . . . . . C p 1 C p 2 . . . C p n ] · [ x 1 , x 2 , . . . , x n ] T = [ V C 1 , V C 2 , . . . , V C n ]

取值范围
(4) x 1 ( a 1 , b 1 ) , x 2 ( a 2 , b 2 ) , . . . , x n ( a n , b n )

求解代码

from scipy import optimize as op
import numpy as np
# 线性规划为 z = np.array([A1, A2, ..., An])
# 不等参数矩阵(左边)为 B
# 不等系数矩阵(右边)为 VB
# 相等参数矩阵(左边)为 C
# 相等参数矩阵(右边为VC)
# 取值范围为二维元组 b =((a1,b1), ..., (an, bn))
res = op.linprog(-z, B, C, VB, VC, bounds = b)
max = -res['fun']

猜你喜欢

转载自blog.csdn.net/lolimostlovely/article/details/81463103