单纯形算法(Simplex)有什么用?
谈到单纯形算法,我们不得不提线性规划,所谓线性规划,就是在满足一定约束下优化目标函数。下面引用几个例子来进行简单介绍。
Food Energy Ca Price
燕麦 110 4 3
牛奶 160 8 9
猪肉 260 14 19
现在我们需要55个单位的Ca和2000个单位的Energy,问我们应该怎么购买***合适。这就是一类***经典的线性优化问题,我们可以很轻松的写出目标函数和约束条件:
上述不等式表示的含义很简单,$min$表示***小化后面的目标函数,$s.t.$ 表示subject to的缩写,意思是受限于。
针对这类问题,我们曾经学过的方法是图解法,画出可行域(阴影部分)(a),之后使用目标函数(b)在可行域上移动,之后靠直觉确定***优解。
但是计算机可没有人类的直觉!计算机求解这些问题的时候,需要更加通用的方法来求解。于是在二战时期,为了协助政府协调物资人员,前苏联的坎托诺维奇强行提出了Simplex算法。其实该算法的思想也是来自于图解法,我