一、单纯形法简介
1. 是什么
单纯形法是求解线性规划问题最常用、最有效的算法之一。单纯形法最早由 George Dantzig于1947年提出,近70年来,虽有许多变形体已经开发,但却保持着同样的基本观念。
2. 求解思想
单纯形法的基本想法是从线性规划可行集的某一个顶点出发,沿着使目标函数值下降的方向寻求下一个顶点,面顶点个数是有限的,所以,只要这个线性规划有最优解,那么通过有限步选代后,必可求出最优解。
为了用选代法求出线性规划的最优解,需要解决以下三个问题 :
- 最优解判别准则,即迭代终止的判别标准 [1] ;
- 换基运算,即从一个基可行解迭代出另一个基可行解的方法 [1] ;
- 进基列的选择,即选择合适的列以进行换基运算,可以使目标函数值有较大下降 [1] 。
3. 求解步骤
单纯形法的一般解题步骤可归纳如下:
- (1) 把线性规划问题的约束方程组表达成典范型方程组,找出基本可行解作为初始基本可行解 [2] 。
- (2) 若基本可行解不存在,即约束条件有矛盾,则问题无解 [2] 。
- (3)若基本可行解存在,以初始基本可行解作为起点,根据最优性条件和可行性条件,引入非基变量取代某一基变量,找出目标函数值更优的另一基本可行解 [2] 。
- (4)按步骤3进行迭代,直到对应检验数满足最优性条件(这时目标函数值不能再改善),即得到问题的最优解 [2] 。
- (5)若迭代过程中发现问题的目标函数值无界,则终止迭代 [2] 。
用单纯形法求解线性规划问题所需的迭代次数主要取决于约束条件的个数。现在一般的线性规划问题都是应用单纯形法标准软件在计算机上求解 [2] 。
二、 手算求解
求解步骤:
- 化标准形
2.根据标准式,构造初始单纯形表
3.找出可行解:令 X B X_B XB所在的列等于b所在的列,其他变量等于0,可得初始解为: X 0 = { x 1 = 0 , x 2 = 0 , x 3 = 8 , x 4 = 16 , x 5 = 12 } X^0= \left\{ x_1=0,x_2=0,x_3=8,x_4=16,x_5=12 \right\} X0={ x1=0,x2=0,x3=8,x4=16,x5=12}
4.求出检验数,检验数求解公式如下: