线性规划问题——基于Python

1.1 线性规划问题的标准形式

  • 目标函数:min
  • 不等式约束:小于等于
  • 等式约束
  • 决策变量:非负。

1.2 线性规划原理

1.2.1 单纯形法(会得到比较准确的结果)

1.2.2 蒙特卡洛法(稍微模糊)

  • 蒙特卡洛法:在可行域内生成大批量的随机点,观测这些数据点在什么时候会取到最优。所有蒙特卡洛法可以得到相对最优解,并不会得到绝对的最优解。一般应用于非线性规划问题

1.3举例说明

如下是线性规划的一道例题:
在这里插入图片描述

## 导入需要用到的工具包
import numpy as np
from scipy.optimize import linprog

##step1:定义目标函数系数(转化为min)
z=np.array([-2,-3,5])

##step2:等式约束
Aeq=np.array([[1,1,1]]);
beq=np.array([7])

##step2:不等式约束(转化为小于等于)
A=np.array([[-2,5,-1],[1,3,1]]);
b=np.array([-10,12])

##step2:决策变量取值范围
x1,x2,x3=(0,None),(0,None),(0,None)

##step3:输出结果
result=linprog(z,A,b,Aeq,beq,bounds=(x1,x2,x3)); 
np.set_printoptions(precision = 2)  #设置精度
print(result)

猜你喜欢

转载自blog.csdn.net/qq_40264559/article/details/130959465