社会主义小青年的博客

噫吁嚱,危呼高哉!Talk___is___Cheap ,show___ me___ your___ code... >
客官,请打赏

线性规划之单纯形算法--NelderMeadSimplex

 1:描述

线性规划指的是在一组线性约束条件下,求解目标函数最优解的问题,而单纯形算法是解决线性规划问题的一个有效的算法。

2:一般形式

在约束条件下,寻找目标函数Z的最大值Max Z

                                                                          

3:可行域

满足线性规划问题的约束条件所有的顶点所组成的区域集合就是线性规划的可行域,如果可行域是有界的,线性规划问题的目标函数最优解一定在可行域的顶点上。

单纯形法就是通过设置不同的基向量,经过矩阵的线性变换,求得基可行解(可行域顶点),并判断该解是否最优,否则继续设置另一组基向量,重复执行以上步骤,直到找到最优解。所以,单纯形法的求解过程是一个循环迭代的过程。

 

4:标准形式和矩阵形式

                             

                        标准形式                                                                                      矩阵形式

标准形式:

目标函数要求Max Z,约束条件均为等式,决策变量为非负约束

 

普通线性规划转换成标准型

1:若目标函数为最小化,可以通过取负,求最大化

2:约束不等式<= 不等式,可以在左端加入非负松弛变量,转变为等式,例如:

                                                        

      约束不等式>= 不等式,可以在左端j减去非负松弛变量,转变为等式

3:若存在取值无约束的变量,可转变为两个非负变量的差,比如

 

例如:

                    转换成标准形式                    

普通的线性规划                                                                                  标准形式的线性规划

 

5:单纯形算法

几何意义

在标准形中,有m个约束条件(不包括非负约束),n个决策变量,且(n>=m)。首先,选取m个基变量 ,基变量对应约束系数矩阵的列向量线性无关。通过矩阵的线性变换,基变量可由非基变量表示:

                                                             

如果令非基变量等于0,可求得基变量的值 :

如果为可行解的话,Ci大于0。那么它的几何意义是什么呢?

X1=0表示可行解在x轴上;X4=0表示可行解在x1+2x2=9的直线上。那么,求得的可行解即表示这两条直线的交点,也是可行域的顶点,

 所以,通过选择不同的基变量,可以获得不同的可行域的顶点。

 

posted @ 2018-08-16 15:19  小青年先生  阅读(1396)  评论(0)    收藏  举报