Python中有许多第三方的工具可以解决这类问题,本教程介绍pulp工具包的使用。
一 · 教程讲解视频
二 · 常用的线性规划求解软件
1、Excel
2、Lingo
3、Matlab
三 · Python interface for optimization
使用python进行优化的函数库有很多,这里介绍两种函数库
1、PuLp ,该函数库只能用于线性模型。
2、OpenOpt , 该函数库可用于线性模型也可用于非线性模型的求解
四 · 使用PuLp求解
1、安装PuLp (pip install pulp)
2、导入PuLp (from pulp import *)
3、定义线性规划问题
PB = LpProblem ( problem name , sense )
构造函数,用来构造一个LP问题实例,其中name指定问题名(输出信息用),sense值是LpMinimize或LpMaximize中的一个,用来指定目标函数是求最大值还是最小值。
4、定义决策变量
DV = LPVariable ( decision variable name , lowbound , upbound ,category )
decision variable name指定变量名,lowBound和upBound是下界和上界, 默认分别是负无穷到正无穷,cat用来指定变量是离散(LpInteger,LpBinary)还是连续(LpContinuous)
5、添加目标函数
PB += linear objective in equantion from objective name</