线性规划解的介绍以及单纯形法的几何意义
可行解是满足约束条件的解,即可行域内的点
最优解是是目标函数实现最值得得可行解
基本解对应基向量的非基变量为零,基解不一定为可行解,可行解也不一定为基解
既是可行解又是基本解的解是基本可行解,即可行域的顶点
下面转载了来自知乎的关于单纯形法的几何解释:
链接:https://www.zhihu.com/question/24034254/answer/53391676
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
###
欢迎转载和分享给更多人,无需标明作者和链接,但如果标了会更显得尊重别人的成果,谢谢
###
简要地讲就是,每次从单纯形上的一个顶点走到一个更好的顶点直到找到最小(大)值。
线性规划是由两部分组成的:线性的目标函数和线性的限制条件。
限制条件由等式和不等式组成。每一个线性的等式在几何上就限制了可行解必须在一个超平面上。每一个线性的不等式在几何上就限制了可行解必须在一个超平面的一边。于是这些限制条件就限制了可行解必须在某个单纯形上,所谓单纯形就是很多超平面围成的区域。
由于目标函数也是线性的,所以如果最优解存在,一定有一个最优解是单纯形上的一个顶点。所以目标变成了找单纯形上最好的顶点。
最好的顶点怎么找?最直接的办法就是逐个找。聪明一点点的办法是,每次找到的新的顶点都比原来的好。单纯形法就是这类方法。
怎么知道每次找到的新的顶点都比原来的好?高中的时候做二维的线性规划就会知道,当目标函数代表的直线往与它自己垂直的方向移动的时候,它和单纯形相交的点的目标函数就会单调变化。在高维的时候也一样。这能直观上告诉我们往某一个固定的方向移的时候,目标函数会变更优。
数学上,单纯性法里面最关键的一步叫转轴。就是从现在的可行解出发,可以沿着多条边往前走,轴就是边。无论转去哪一条轴,都会一路往前走知道走到另一个顶点。
至于往哪条轴上走呢?每次转轴的时候,在单纯形表里面的目标函数的各个变量的系数都会改变的,每个系数代表走各条轴一单位步长所产生的目标函数的变化(所谓shadow price,影子价格。那个值当然有正有负,要看你是最小化还是最大化来挑)。一般意义上的单纯性法并没有规定按什么规则挑轴,只要保证目标函数往好的方向变就可以了。现有的方法有:挑单位变化值最大的那个;挑走到新的顶点的时候函数值变化最大的那个;等等。无论挑哪个规则都不能保证能最快找到最优的顶点。
就这样慢慢往前走,直到没法继续走了(往哪走目标函数都变差了),就停了,停在了最优解上。