线性规划-pulp-复杂矩阵
1. 简介-线性规划
在数学中,线性规划(Linear Programming,简称LP)特指目标函数和约束条件皆为线性的最优化问题。线性规划是最优化问题中的一个重要领域。在作业研究中所面临的许多实际问题都可以用线性规划来处理,特别是某些特殊情况。最简单情况就,解线性方程组。
举个最简单的例子:
工厂生产A和B两种物品,需要原料配比分别是1:2:1和2:1:3.
现有原料是100,40,8。A和B的价格分别是5和10。
请问如何分配原材料才能获益最大?
求解一个线性方程组即可
2. pulp 包
- Python中有很多的工具可以解决线性规划问题。由于pulp因其常用和方便性,故这里介绍pulp包的使用。pulp能够解决大部分的线性规划问题,如""整数规划(Integer Program)、01规划(Binary Program)还是混合整数线性规划(MILP),都能很好的解决。
- pulp的github网址和官方文档,说实话官方文档做的并不好,但是里面介绍的例子还是很好的,如果只做最简单的线性规划可以看看学习一下。
- 安装:按照一般套路
pip install pulp
即可。
3. pulp使用流程
- 获得问题的描述:求解最大值还是最小值,这个要明确了。输入是的数据是什么。
- 确定需要的决策变量:需要求解的变量,定义好,大小,数据类型。
- 制定约束条件:决策变量和输入数据之间存在什么样的约束条件。
- 输入数据,求解得到结果。
那个实际例子来说明:
- 获得问题的描述:我们有矩阵X和矩阵Y,大