目录
基本概念:
在研究单纯形法之前,我们先将单纯形定义:
定义:n 维空间 中有 n+1 个顶点的凸多边形。
(如:一维空间中线段,二维空间中的三角形,三维空间中的四面体等,都是相应空间中的单纯形。)
基本思想:
在 n 维空间中构造一个单纯形,求出它各个顶点的函数值,比较得到最好顶点和最坏顶点,然后通过反射、扩展、压缩等方法求出一个较好点,用这个点取代最坏点,构成新的单纯形,直到满足停止条件为止。
定义:(正规单纯形)对于 n 维空间中单纯形,它的任意两个顶点之间的距离都相等。
(如:二维空间中等边三角形,三维空间中等边四边形。)
下面来仔细研究反射、紧缩、扩展、收缩方法:
反射运算:
步骤1:将单纯形的顶点重新排列,使得 这样,最好的顶点
,最坏的顶点
;
步骤2:去掉最坏顶点 ,求出单纯形的重心:
;
步骤3:求出最坏顶点 关于重心的反射点:
;
步骤4:如果反射点比最坏顶点好,则用反射顶点替换最坏顶点,构成新的单纯形。
紧缩运算:
如果 ,可能最好顶点
接近最优解则可将所有顶点向
方向收缩。
,其中
紧缩系数
扩展运算:
当 ,即反射点比最好顶点还好,可以在
和
连线的延长线上求一个拓展点。
,其中
扩展系数
收缩运算:
当 ,将
和
之间目标函数较小的记为
,另一个记为
,并在
与
的连线上靠近
处求一个收缩点。
,其中
收缩系数
单纯形法算法步骤:
例题解析:
总结:
需要说明的是,当变量多的时候,例如 ,单纯形法效果不好。
(行文中若有纰漏,希望大家指正)