SlideShare a Scribd company logo
1 of 69
第二章 单纯形法
 单纯形法的一般原理
   表格单纯形法
   借助人工变量求初始的基本可行解
   单纯形表与线性规划问题的讨论
   改进单纯形法


                      1
单纯形法的一般原理
  考虑到如下线性规划问题     maxZ=CX
                   AX=b
                   X 0
 其中A一个m×n矩阵,且秩为m,b总可以被调整为一个m维非负列
向量,C为n维行向量,X为n维列向量。
 根据线性规划基本定理:
 如果可行域D={ X∈Rn / AX=b,X≥0}非空有界,
 则D上的最优目标函数值Z=CX一定可以在D的一个顶点上达到。
 这个重要的定理启发了Dantzig的单纯形法,
 即将寻优的目标集中在D的各个顶点上。


                                  2
Dantzig的单纯形法把寻优的目标集中在所有基本可行解
(即可行域顶点)中。
   其基本思路是从一个初始的基本可行解出发,寻找一条达到
最优基本可行解的最佳途径。 单纯形法的一般步骤如下:
(1)寻找一个初始的基本可行解。
(2)检查现行的基本可行解是否最优,如果为最优,
 则停止迭代,已找到最优解,否则转一步。
(3)移至目标函数值有所改善的另一个基本可行解,
 然后转会到步骤(2)。




                                  3
 确定初始的基本可行解
  确定初始的基本可行解等价于确定初始的可行基,一旦初始
的可行基确定了,那么对应的初始基本可行解也就唯一确定
  为了讨论方便,不妨假设在标准型线性规划中,系数矩阵A
中前m个系数列向量恰好构成一个可行基,即
 A=(BN),其中
 B=(P1,P2,…Pm)为基变量x1,x2,…xm的系数列向量
 构成的可行基,
 N=(Pm+1,Pm+2, …Pn)为非基变量xm+1,xm+2, …xn的
 系数列向量构成的矩阵。



                                          4
所以约束方程     就可以表示为
          AX=b
               XB
   AX=(BN)          =BX B +NX N =b
               XN

用可行基B的逆阵B-1左乘等式两端,再通过移项可推得:

          -1   -1
    X B =B b-B NX N
                             -1
若令所有非基变量 X N =0 , 则基变量 X B =B b

                       B 1b
由此可得初始的基本可行解        X=
                        0

                                     5
AX=b   BX B +NX N =b   X B =B-1b-B-1 NX N   X N =0,X B =B-1b
 问题:
 要判断m个系数列向量是否恰好构成一个基并不是一件容易的事。
  基由系数矩阵A中m个线性无关的系数列向量构成。
  但是要判断m个系数列向量是否线性无关并非易事。

 即使系数矩阵A中找到了一个基B,也不能保证该基恰好是可行基。
  因为不能保证基变量XB=B-1b≥0。

               B 1b
 为了求得基本可行解 X= ,必须求基B的逆阵B-1。
                0
 但是求逆阵B-1也是一件麻烦的事。

 结论:在线性规划标准化过程中设法得到一个m阶单位矩阵I作为初始
可行基B,
                                                        6
为了设法得到一个m阶单位矩阵I作为初始可行基B,可在性规
划标准化过程中作如下处理:

 若在化标准形式前,m个约束方程都是“≤”的形式,
 那么在化标准形时只需在一个约束不等式左端都加上一个松弛变
 量xn+i (i=12…m)。

 若在化标准形式前,约束方程中有“≥”不等式,
  那么在化标准形时除了在方程式左端减去剩余变量使不等式变
  成等式以外,还必须在左端再加上一个非负新变量,称为
  人工变量.

 若在化标准形式前,约束方程中有等式方程,那么可以直接在
  等式左端添加人工变量。


                                 7
判断现行的基本可行解是否最优
                 B 1b
 假如已求得一个基本可行解 X=
                  0

将这一基本可行解代入目标函数,可求得相应的目标函数值

                   B 1b
     Z=CX=(CBC N )      =CBB-1b
                    0
其中 C =(c ,c , c ), C =(c ,c ,  c ) 分别表示基变量和
    B   1 2     m    N   m+1 m+2  n


非基变量所对应的价值系数子向量。



                                                8
要判定 Z=C B B -1b 是否已经达到最大值,只需将
 X B =B-1b-B-1 NX N 代入目标函数,使目标函数用非基变量
表示,即:
                       XB
 Z=CX=(CBC N )
                       XN
 =CB X B +C N X N =CB (B-1b-B-1 NX N )+C N X N
                                                       x m+1
 =CB B-1b+(C N -CB B-1 N)X N
                                                       x m+2
  CB B b+σ N X N
        -1
                         CB B b+(σ m+1, σ m+1,  σ n )
                                  -1

                                                         
                                                        xn
  其中         N =C N -CB B-1 N=(    m+1   ,     称为非基变量XN的检验向量,
                                               , n )
                                             m+1

它的各个分量称为检验数。若σN的每一个检验数均小于等于0,即
σN≤0,那么现在的基本可行解就是最优解。

                                                               9
定理1:最优解判别定理
 对于线性规划问题             maxZ=CX, D= X Rn /AX=b,X 0
若某个基本可行解所对应的检验向量               N =C N -C B B-1 N       0,
 则这个基本可行解就是最优解。                                                     x m+1
                                                                    x m+2
                               Z   CB B-1b+(σ m+1, σ m+1,  σ n )
                                                                      
定理2:无穷多最优解判别定理                                                       xn
         1
  若 X= B b 是一个基本可行解,所对应的检验向量
        0

  N =C N -C B B-1 N   0 ,其中存在一个检验数σm+k=0,

  则线性规划问题有无穷多最优解。


                                                                      10
 基本可行解的改进
     如果现行的基本可行解X不是最优解,即在检验向量

 N
             中存在正的检验数,则需在原基本可行解X的基础上
  =C N -CB B-1 N
寻找一个新的基本可行解,并使目标函数值有所改善。具体做法
是:
 先从检验数为正的非基变量中确定一个换入变量,使它从非基
变量变成基变量(将它的值从零增至正值),
 再从原来的基变量中确定一个换出变量,使它从基变量变成非
基变量(将它的值从正值减至零)。                                     x m+1

  由此可得一个新的基本可行解,由 Z CB B-1b+(σ m+1, σ m+1,  σ n ) x m+2
                                                     
 可知,这样的变换一定能使目标函数值有所增加。                             x    n




                                                    11
换入变量和换出变量的确定:
换入变量的确定— 最大增加原则

 假设检验向量 N =C N -C B B N=( m+1 , m+2 , n ) ,
                            -1


 若其中有两个以上的检验数为正,那么为了使目标函数值增加得快
些,通常要用“最大增加原则”,即选取最大正检验数所对应的非基变量
为换入变量,即若
     max σ j /σ j >0,m+1 j n =σm+k
 则选取对应的 x m+k
            为换入变量,
 由于    m+k   0且为最大,
 因此当    x m+k 由零增至正值,                     x m+1
                                         x m+2
 可使目标函数值 Z CB B b+(σ m+1, σ m+1,  σ n )
                       -1

                                           
 最大限度的增加。
                                           xn     12
 换出变量的确定— 最小比值原则
 如果确定 x m+k
          为换入变量,方程
     X B =B-1b-B-1 NX N        X B =B-1b-B-1Pm+k x m+k
  其中 Pm+k为A中与         x m+k   对应的系数列向量。
  现在需在 X B =(x1 , x 2 , x m )T中确定一个基变量为换出变量。


 当 x m+k
       由零慢慢增加到某个值时, X B
                     的非负性可能被打破。
 为保持解的可行性,可以按最小比值原则确定换出变量:
 若
          (B-1b)i                              (B-1b)l
     min             /(B-1Pm+k )i >0,1 i   m = -1
         (B-1Pm+k )i                          (B Pm+k )l

 则选取对应的基变量 x l 为换出变量。

                                                           13
定理3:无最优解判别定理
        B 1b
若 X= 是一个基本可行解,有一个检验数                                   ,
                                                      m+k   0
          0
但是 B-1Pm+k 0 ,则该线性规划问题无最优解。

证:令 x m+k     ,(         ,则得新的可行解
                        0)

将上式代入 X B =B b-B Pm+k x m+k
                   -1    -1
                                       B-1b-B-1Pm+k
                                     x m+1
                                       
Z=CB B-1b+(σ m+1 , σ m+k , σ n )           C B B-1b+σ m+k
                                       
                                      xn
因为    m+k   ,0
             故当λ→+∞时,Z→+∞。
                                                                14
 用初等变换求改进了的基本可行解

  假设B是线性规划     maxZ=CX,AX=b,X 的可行基,则
                              0
                 XB              -1
                                       XB
AX=b      (BN)          b    (I,B N)        =B-1b
                 XN                    XN

令非基变量 X N =0 ,则基变量 X B =B 1b 。

          B 1b
可得基本可行解 X= 。
           0

 用逆阵 B 1 左乘约束方程组的两端,等价于对方程组施以一系列
的初等“行变换”。变换的结果是将系数矩阵A中的可行基B变换成单
位矩阵I,把非基变量系数列向量构成的矩阵N变换成 B 1 N,把资
源向量b变换成 B 1b 。
                                              15
XB
   由于行初等变换后的方程组 (I,B-1 N)        =B-1b
                            XN
                       XB
与原约束方程组 AX=b或 (B,N)         =b 同解
                      XN
  且改进了的基本可行解 X 只是在X的基变量的基础上用一个换
               '

入变量替代其中一个换出变量,其它的基变量仍然保持不变。这些
基变量的系数列向量是单位矩阵I中的单位向量。为了求得改进的基
本可行解 X ,只需对增广矩阵
       '

              -1      -1
          (I,B N,B b)
 施行初等行变换,将换入变量的系数列向量变换成换出变量所对
应的单位向量即可。


                                         16
例1 maxZ=5x1                2x2 3x3        x4       x5
        x1 2x 2         2x 3     x4             8
        3x1 4x 2            x3        x5        7
                                                         C=(5,2,3,             1,1)
         x1 ,x 2 ,x 3 ,x 4 ,x5   0
  解:                                                      1   2   2 1 0               8
                                                    A=                           b
(1)确定初始的基本可行解。                                            3   4 1 0 1                 7
                   1        0
  B=(P4 P5 )=                ,基变量                ,非基变量
                                                x 4 ,x 5              。 ,x 2 , x 3
                                                                      x1
                   0 1
                       x1
        x4                       1 0     1 2 2 CB =(-1,1)       8
 XB =        ,X N = x 2      ,B=     ,N=       ,            ,b=
        x5                       0 1     3 4 1 C N =(5,2,3)     7
                       x3
                                  8
  X N =0       X B =B b=    1
                                           X=(0,0,0, 8, 7)T
                                  7
                                                                  8
                                           Z=CB B 1b=(-1,1)                1
                                                                  7                   17
x1
        x4                    1 0     1 2 2 CB =(-1,1)       8
 XB =        ,X N = x 2   ,B=     ,N=       ,            ,b=
        x5                    0 1     3 4 1 C N =(5,2,3)     7
                    x3

(2) 检验 X=(0,0,0, 8, 7)T 是否最优。
                                                1   2   2
检验向量 σ =C -C B-1 N=(5,2,3)-(-1,1)
      N  N  B
                                                3   4   1
             =(5,2,3)-(2,2,-1)=(3, 0, 4)


                                   σ1 σ 2 σ3
因为σ1=3,σ3=4 均大于零,

 所以 X=(0,0,0, 8, 7)T不是最优解。


                                                                 18
x1
           x4                                1 0     1 2 2 CB =(-1,1)       8
 XB =                  ,X N = x 2        ,B=     ,N=       ,            ,b=
           x5                                0 1     3 4 1 C N =(5,2,3)     7
                                 x3

  N   =(       1   ,     2   ,   3   )   (3, 0, 4)


(3)基本可行解 X=(0,0,0, 8, 7)T的改进
  ①     选取换入变量
  因为max{3,4}=4,取x3为换入变量。
  ②     选取换出变量
           1              8              且
                                         1     2      ,            8 7         8
      B b=                       , B P3               0      min    ,
                          7                    1                   2 1         2
  选取x4为换出变量.                                 x4                        8       2
                                                        -1   -1
                                                     =B b-B P3 x 3 =       -       x3
                                             x5                        7       1
                                                                                        19
x1
        x4                     1 0     1 2 2 CB =(-1,1)       8
 XB =        ,X N = x 2    ,B=     ,N=       ,            ,b=
        x5                     0 1     3 4 1 C N =(5,2,3)     7
                      x3


(4)求改进了的基本可行解 X '

 对约束方程组的增广矩阵施以初等行变换,使换入变量x3所对应的系
                  2                                        1
数列向量            变换成换出变量x4所对应的单位向量
             P3 =                                    ,P
                                                       4
                  1                   0                    0
注意保持基变量x5的系数列向量 P5 =为单位向量不变。
                                      1
   1 2 2 1 0 8               第一行除以2         1 1 1 1 0 4
                                            2     2
   3 4 1 0 1 7                              3 4 1 0 1 7

                           第二行减去第一行
                                            1 1 1 1 0 4
                                            2     2
                                            5 3 0 -1 1 3
                                            2      2              20
C=(5,2,3,            1,1)        C=(5,2,3,       1,1)
                                                1 1 1 1 0 4
               1 2 2 1 0 8                      2     2
               3 4 1 0 1 7                      5 3 0 -1 1 3
                                                2      2
 ——————————————————————————
 可得改进的基本可行解。
                  1      0
  B=(P3P5 )=                 ,基变量        x 3,x 5   非基变量x1 ,x 2 , x 4 。
                  0 1
                   x1                1   1
                                       1
       x3                    1 0     2   2    C B =(3,1)      4
XB =        ,X N = x 2   ,B=     ,N=        ,             ,b=
       x5                    0 1     5   -1 C N =(5,2,-1)     3
                   x4                  3
                                     2   2
                                     4
                                           基本可行解
                             1
   X N =0        XB =B b=                                X=(0,0,4, 0, 3)T
                                     3
 目标函数值                           1          4
                   Z=CB B b=(3,1)                  15
                                            3
 易见目标函数值比原来的Z=-1增加了, 再转向步骤(2)                                            21
x1              1   1
                                   1
     x3                  1 0     2   2 , C B =(3,1) ,b= 4
XB =      ,X N = x 2 ,B=     ,N=
     x5                  0 1     5   -1 C N =(5,2,-1)   3
                 x4                3
                                 2   2

(2)检验 X=(0,0,4, 0, 3)T是否最优。
                                        1         1
检验向量
                                              1
     σ N =C N -C B B-1 N=(5,2,-1)-(3,1) 2
                                                  2
                                        5         -1
                                              3
                                        2         2
     =(5,2,-1)-(4,6,1)=(1, -4, -2)


 因为       1   1 0   ,       σ1 σ 2 σ 4

 所以 X=(0,0,4, 0, 3) 仍不是最优解。
                        T



                                                            22
x1              1   1
                                   1
     x3                  1 0     2   2 , C B =(3,1) ,b= 4
XB =      ,X N = x 2 ,B=     ,N=
     x5                  0 1     5   -1 C N =(5,2,-1)   3
                 x4                3
                                 2   2

(3)基本可行解 X=(0,0,4, 0, 3)T 的改进

  ①   选取换入变量
   因为          1 0 ,取 x 1 为换入变量。
           1
  ②   选取换出变量
                          1
         4                2                 4    3       3
      1
    B b=   , B 1P1                 0 且 min     ,      ,
         3                5                1/ 2 5 / 2   5/ 2
                          2
 选取x 5 为换出变量.        x3                       4       1/2
                              -1      -1
                          =B b-B P1x1 =           -         x1
                     x5                       3       5/2        23
x1              1   1
                                   1
     x3                  1 0     2   2 , C B =(3,1) ,b= 4
XB =      ,X N = x 2 ,B=     ,N=
     x5                  0 1     5   -1 C N =(5,2,-1)   3
                 x4                3
                                 2   2
(4)求改进了的基本可行解 X ''
 对约束方程组的增广矩阵施以初等行变换,使换入变量                           x所对应
                                                     1
            1
                                                             0
的系数列向量 P1 = 2 变换成换出变量             x 5 所对应的单位向量 P5
  ,         5                                                1
            2
 1   1 1 1 0 4                        1    1 1 1
                      第二行乘以2/5                      0 4
 2       2                            2        2
 5   3 0 -1 1 3                       1   6 0 -1     2 6
 2        2                               5     5    5 5
                 第一行减以第二行的1/2倍 0          2 1 3     -1 17
                                          5    5    5 5
                                      1   6 0 -1     2 6
                                          5     5    5 5
                                                            24
C=(5,2,3, 1,1)              C=(5,2,3, 1,1)
          1    1 1 1 0 4              0   2 1 3 -1 17
          2        2                      5   5 5 5
          5    3 0 -1 1 3             1   6 0 -1 2 6
          2         2                     5    5 5 5
 ——————————————————————————
 可得改进的基本可行解。
               1    0
  B=(P3P1 )=            ,基变量 x 3 ,x1 ,非基变量 x 2 ,x 4 , x 5
               0 1
               x2                2 3 -1                   17
     x3                 1 0      5 5 5    CB =(3,5)        5
XB =    ,X N = x 4 ,B=      ,N=         ,             ,b=
     x1                 0 1      6 -1 2 C N =(2,-1,1)      6
               x5
                       17        5 5 5                     5
                        5                    6 17          T
 X N =0           1
          X B =B b=           基本可行解 X=( ,0, , 0, 0)
                        6                    5     5
                                17
                        5
                                 5   81
 目标函数值 Z=C B B b=(3,5)       比Z=15增加了,再转向步骤(2)
                        1

                                 6   5
                                                               25
                                 5
x2              2   3 -1                     17
      x                1 0     5   5 5   C =(3,5)            5
X B = 3 ,X N = x 4 ,B=     ,N=          , B           ,b=
      x1               0 1     6   -1 2 C N =(2,-1,1)        6
               x5
                               5   5 5                       5

(2)检验 X'' =( 6 ,0, 17 , 0, 0)T 是否最优。
                 5   5                       2    3    -1
检验向量                                         5    5    5
          σ N =C N -CB B-1 N=(2,-1,1)-(3,5)
                                             6    -1   2
                                             5    5    5
                      36 4 7       -26 -9 -2
          =(2,-1,1)-(     , , )=(      ,    , )
                       5 5 5        5    5 5

     因为所有检验数均小于零,                   σ 2 σ 4 σ5
                 6 17                      81
 所以 X* =X'' =(     ,0, , 0, 0)T
                                是最优解, Z* =
                 5    5                    5
                                                                 26
表格单纯形法
  通过例1我们发现,在单纯形法的求解过程中,有下列重要指标:
 每一个基本可行解的检验向量
 根据检验向量可以确定所求得的基本可行解是否为最优解。如果不是
               σ N =C N -C B B-1 N
最优又可以通过检验向量确定合适的换入变量。
 每一个基本可行解所对应的目标函数值
 通过目标函数值可以观察单纯形法的每次迭代是否能使目标函数值有
                   Z=C B B 1b
效地增加,直至求得最优目标函数为止。


 在单纯形法求解过程中,每一个基本可行解X都以某个经过初等行变
换的约束方程组中的单位矩阵Ι为可行基。
 当B=I时,B-1=I,易知:
                   σ N =C N -CB N   Z=C B b

                                              27
可将这些重要结论的计算设计成如下一个简单的表格,
即单纯形表来完成:


         C              CB                CN
CB       XB   b     X1 X2 ··· Xm   X m+1 Xm+2 ··· Xn   θ
C1       X1    b1                                      θ1
C2       X2    b2                                      θ2
 .              .
                         I                N             .
 .        .     .                                       .
Cm       Xm   bm                                       θm
     Z        CBb        0             CN- CBN


                                                           28
例2、试利用单纯形表求例1中的最优解解:
   maxZ=5x1 2x2 3x3 x4 x5 C=(5,2,3,                           1,1)
     x1 2x 2       2x 3   x4          8                1 2 2 1 0 8
     3x1 4x 2       x3          x5    7        (Ab)=
                                                       3 4 1 0 1 7
   x1 ,x 2 ,x 3 ,x 4 ,x5 0
 得初始的单纯形表:

          C                      5        2       3      -1   1
                                                                     Θ
CB        XB        b            x1       x2      x3     x4   x5
-1        x4        8            1        2       2      1    0
 1        x5        7            3        4       1       0   1
     Z             -1            3        0       4       0   0
         Z=C B b               σ N =C N -CB N
初始基本可行解 X=(0,0,0, 8, 7)T,Z= -1,
                                                                         29
C         5     2    3       -1       1
                                                           Θ
CB       XB   b    x1    x2   x3      x4       x5
-1       x4   8    1     2    2       1        0           8/2
 1       x5   7    3     4    1        0       1           7/1
     Z        -1   3     0    4        0       0
x 3 换入变量,x 4 换出变量,2为主元进行旋转变换

         C         5     2    3       -1           1
                                                           Θ
CB       XB   b    x1    x2   x3      x4           x5
 3       x3   4    1/2    1       1    1/2             0
 1       x5   3    5/2   3     0      -1/2         1
     Z        15   1     -4       0       -2           0
                          T
基本可行解 X=(0,0,4, 0, 3)
                    ,Z= 15,                                      30
C            5       2    3         -1      1
                                                                 Θ
    CB       XB    b      x1     x2    x3        x4      x5
    3        x3    4     1/2     1     1     1/2            0   4/1/2
    1        x5    3     5/2     3     0     -1/2        1      3/5/2
         Z        15      1     -4     0      -2            0
    x 1 换入变量,x 5 换出变量,5/2为主元进行旋转变换

             C            5      2     3     -1         1
                                                                 Θ
    CB       XB    b      x1     x2    x3        x4     x5
    3        x3   17/5    0     2/5    1    3/5       -1/5
    5        x1   6/5     1     6/5    0    -1/5      2/5
         Z        81/5    0    -26/5   0    -9/5      -2/5
                                             T
σ N =C N -CB N    0 最优解 X       6      17                       81
                                  , 0,    , 0, 0最优值 Z                31
                                5       5                       5
例3、用单纯形方法求解线性规划问题
       minZ=-x1 -2x 2
        x1          x3               4
              x2          x4             3
        x1   2x 2               x5   8
        xj    0 ,j 1,2,3,4,5

解:本题的目标函数是求极小化的线性函数,
可以令      Z' = -Z = x1 +2x 2

则   minZ=-x1 -2x 2            max Z '        x1 +2x2

这两个线性规划问题具有相同的可行域和最优解,
只是目标函数相差一个符号而已。
                                                       32
C                     1       2    0     0    0
                                                                Θ
CB        XB      b             x1      x2   x3    x4   x5
 0        x3      4             1       0    1     0    0       _
 0        x4      3             0       1    0    1     0       3/1
 0        x5      8             1       2    0     0    1       8/2
     Z’           0             1       2    0     0    0
 0        x3      4             1       0    1     0    0       4/1
 2        x2      3             0       1    0     1    0        -
 0        x5      2             1       0    0    -2    1       2/1
     Z’           6             1       0    0     -2   0
 0        x3      2                 0   0    1     2    -1      2/2
 2        x2      3                 0   1    0     1     0      3/1
 1        x1      2                 1   0    0     -2       1    -
     Z’           8             0       0    0     0    -1
                            T
最优解 X          2,3, 2,0,0       最优值          maxZ' =8 or minZ=-8
                                                                      33
因为非基变量x4的检验数σ4=0,由无穷多最优解判别定理,本例
的线性规划问题存在无穷多最优解。事实上若以x4为换入变量,以x3为
换出变量,再进行一次迭代,可得一下单纯形表:

           C                         1         2       0        0         0
                                                                                Θ
 CB        XB       b                x1        x2      x3       x4        x5
  0        x4       1                0         0      1/2       1        -1/2
  2        x2       2                0         1     -1/2       0        1/2
  1        x1       4                1         0       1        0         0
      Z’            8                0         0       0        0        -1

                                                            '
最优解 X           4, 2,0,1,0
                             T
                                 最优值               maxZ =8 or minZ=-8
最优解的一般表示式
                                 T                                   T
      X         (2,3, 2,0,0)              (1        ) 4, 2,0,1,0 ,0             1.
                                                                                 34
对于极小化的线性规划问题的处理:
 先化为标准型,即将极小化问题变换为极大化问题,然后利用单
 纯形方法求解.


 直接利用单纯形方法求解,但是检验是否最优的准则有所不同,
 即: 若某个基本可行解的所有非基变量对应的检验数
  σ N =C N -C B N (而不是≤0),
                   0
 则基本可行解为最优解.
 否则采用最大减少原则(而非最大增加原则)来确定换入变量,
 即: 若
     min σ j /σ j <0,m+1 j n =σm+k
 则选取对应的非基变量xm+k为换入变量.


 确定了换入变量以后,换出变量仍采用最小比值原则来确定。
                                     35
借助人工变量求初始的基本可行解
  若约束方程组含有“≥”不等式,那么在化标准形时除了在方程式
左端减去剩余变量,还必须在左端加上一个非负的人工变量。
  因为人工变量是在约束方程已为等式的基础上,人为的加上去的
一个新变量,因此加入人工变量后的约束方程组与原约束方程组是不
等价的。

  加上人工变量以后,线性规划的基本可行解不一定是原线性规划
的问题的基本可行解。只有当基本可行解中所有人工变量都为取零值
的非基变量时,该基本可行解对原线性规划才有意义。因为此时只需
去掉基本可行解中的人工变量部分,剩余部分即为原线性规划的一个
基本可行解.而这正是我们引入人工变量的主要目的。


                             36
n
考虑线性规划问题:        maxZ=                    c jx j
                                    j=1
                         n
                               a i j x j =bi ,i=1,2,...,m
                         j=1

                         xj         0,j=1,2,....,n

为了在约束方程组的系数矩阵中得到一个m阶单位矩阵作为
初始可行基,在每个约束方程组的左端加上一个人工变量

 x n+i (i=1,2, m)
                                n
               maxZ=                  c jx j
可得到:                            j=1
                     n
                          a i j x j +x n+i =bi ,i=1,2,...,m
                 j=1

                 xj            0,j=1,2,....,n+m
                                                              37
n                                  n
         a i j x j =bi ,i=1,2,...,m         a i j x j +x n+i =bi ,i=1,2,...,m
   j=1                                j=1

   x j 0,j=1,2,....,n x j 0,j=1,2,....,n+m
   ————————————————————————
   添加了m个人工变量以后,在系数矩阵中得到一个m阶单位矩阵,
以该单位矩阵对应的人工变量 x n+i (i=1,2,  m)
                         为基变量,
  即可得到一个初始的基本可行解
      X (0) =(0,0,  ,0,b1 ,b 2 ,  b m ) T
  这样的基本可行解对原线性规划没有意义的。
  但是我们可以从X(0)出发进行迭代,一旦所有的人工变量都从基变
量迭代出来,变成只能取零值的非基变量,那么我们实际上已经求得了
原线性规划问题的一个初始的基本可行解。
  此时可以把所有人工变量剔除,开始正式进入求原线性规划最优解
的过程。
                                                                          38
 大M法
  大M法首先将线性规划问题化为标准型。如果约束方程组中包含
有一个单位矩阵I,那么已经得到了一个初始可行基。否则在约束方
程组的左边加上若干个非负的人工变量,使人工变量对应的系数列向
量与其它变量的系数列向量共同构成一个单位矩阵。以单位矩阵为初
始基,即可求得一个初始的基本可行解。
  为了求得原问题的初始基本可行解,必须尽快通过迭代过程把人
工变量从基变量中替换出来成为非基变量。为此可以在目标函数中赋
予人工变量一个绝对值很大的负系数-M。这样只要基变量中还存在
人工变量,目标函数就不可能实现极大化。
 以后的计算与单纯形表解法相同,M只需认定是一个很大的正数即
可。假如在单纯形最优表的基变量中还包含人工变量,则说明原问题
无可行解。否则最优解中剔除人工变量的剩余部分即为原问题的初始
基本可行解。
                            39
例4、用大M法求解下面的线性规划问题:                              maxZ=-x1 +2x 2
解:
首先将原问题化为标准型
                                                  x1 x 2             2
                                                      -x1 x 2 1
      x1 x 2 -x 3               2
                                                                x2   3
      -x1 x 2       -x 4        1
                                                      x1 ,x 2        0
           x2              x5   3
      xj    0,j 1,2,3,4,5

添加人工变量 x 6 ,x 7 ,并在目标函数中分别赋予-M
                maxZ= -x1 +2x 2 -Mx 6 -Mx 7
                  x1 x 2 -x 3               x6            2
                  -x1 x 2       -x 4             x7      1
                           x2          x5                3
                  xj       0,j 1,2,3,4,5,6,7
                                                                         40
C           -1     2      0       0      0       -M     -M
                                                                        θ
CB       XB   b      X1     x2    x3       x4     x5      x6      x7
-M       X6    2     1      1     -1       0      0         1     0     2/1
-M       X7    1     -1     1      0       -1     0         0     1     1/1
0        X5    3      0      1     0        0     1        0      0     3/1
     Z        -3M    -1    2+2M    -M      -M     0        0      0
-M       X6    1      2     0      -1       1         0     1     -1    1/2
2        X2    1     -1     1          0   -1         0     0      1     -
0        X5    2     1      0          0    1         1    0      -1    2/1
     Z        2-M   1+2M    0      -M      2+M        0    0 -2-2M
-1       X1   1/2    1      0     -1/2     1/2        0   1/2    -1/2
2        X2   3/2    0      1     -1/2     -1/2   0       1/2    1/2     -
0        X5   3/2    0      0     1/2      1/2        1   -1/2   -1/2
     Z        5/2    0      0     1/2      3/2    0 -1/2-M -3/2-M


                                                                        41
C           -1      2     0     0      0        -M    -M
                                                                          θ
CB        XB   b     X1       x2   x3     x4    x5        x6    x7
-1        X1   1/2        1   0    -1/2   1/2       0     1/2 -1/2     1/2/1/2
2         X2   3/2        0   1    -1/2 -1/2         0    1/2   1/2       -
0         X5   3/2        0   0    1/2    1/2    1       -1/2   -1/2   3/2 /1/2
      Z        5/2    0       0    1/2    3/2    0 -1/2-M -3/2-M
0         X4   1      2       0    -1     1      0         1     -1
2         X2   2      1       1    -1     0      0         1     0
0         X5   1      -1      0    1      0      1        -1      0
      Z        4     -3       0    2      0     0        -2-M   -M
0         X4   2      1       0    0      1      1         0     -1
2         X2   3      0       1    0      0      1         0     0
0         X3   1      -1      0    1      0      1        -1      0
      Z        6     -1       0    0      0     -2        -M    -M
                      T
     最优解 X            最优值
               0,3,1, 2,0                 Z     6
                                                                          42
 两阶段法
  两阶段法引入人工变量的目的和原则与大M法相同,所不同的是
处理人工变量的方法。
  两阶段法的步骤:
 求解一个辅助线性规划。目标函数取所有人工变量之和,并取极小
化;约束条件为原问题中引入人工变量后包含一个单位矩阵的标准型
的约束条件。
  如果辅助线性规划存在一个基本可行解,使目标函数的最小值等于
零,则所有人工变量都已经“离基”。表明原问题已经得了一个初始的基
本可行解,可转入第二阶段继续计算;否则说明原问题没有可行解,
可停止计算。

 求原问题的最优解。在第一阶段已求得原问题的一个初始基本可行
解的基础上,继续用单纯形法求原问题的最优解
                              43
例5、用两阶段法求解例4中的线性规划问题。
                      maxZ=-x1 +2x 2
 解:首先将问题化为标准型
                                                        x1 x 2         2
        x1 x 2 -x 3                      2
                                                        -x1 x 2 1
        -x1 x 2         -x 4             1
                                                                  x2   3
             x2                x5        3
                                                        x1 ,x 2        0
        xj      0, j 1,2,3,4,5
 添加人工变量x6,x7,并建立辅助线性规划如下:

minZ=x 6 +x 7
                                                 由于辅助线性规划的目标函数是
  x1 x 2 -x 3               x6               2   极小化,因此最优解的判别准则
  -x1 x 2       -x 4                x7       1   应为:
       x2              x5                    3
                                                  σ N =C N -CB N           0
  xj   0, j 1,2,3,4,5,6,7
                                                                               44
C            0   0     0      0    0     1     1
                                                                 θ
    CB       XB   b      x1   x2    x3    x4    x5    x6    x7
    1        X6   2       1   1     -1     0    0     1     0    2/1
    1        X7   1      -1   1     0     -1    0     0     1    1/1
    0        X5   3       0   1     0      0     1    0     0    3/1
         W        3       0   -2    1      1     0    0     0
    1        X6   1       2   0    -1     1     0     1    -1    1/2
    0        X2   1      -1   1     0     -1    0     0    1      -
    0        X5   2       1   0     0      1    1     0    -1    2/1
         W        1      -2   0     1     -1    0     0     2
    0        X1   1/2     1   0    -1/2   1/2   0    1/2 -1/2
    0        X2   3/2     0   1    -1/2 -1/2    0    1/2 1/2
    0        X5   3/2     0   0    1/2    1/2   1    -1/2 -1/2
         W        0       0   0     0      0    0     1     1

辅助规划所有检验数:                     原问题已得一个初始基本可行解,
                                    1 3     3
σ N =C N -C B N         0 minW=0 X=( , ,0,0, ) 45
                                    2 2     2
由上表可知,通过若干次旋转变换,原问题的约束方程组已变
 换成包含一个单位矩阵的约束方程组

                                    1    1            1
x1 x 2 -x 3           2   x1       - x3     x4
                                    2    2            2
-x1 x 2   -x 4        1             1     1           3
                               x 2 - x3 - x 4
     x2          x5   3             2     2           2
xj   0, j 1,2,3,4,5                 1    1            3
                                      x3    x4   x5
                                    2    2            2
                          xj    0, j 1,2,3,4,5

     该约束方程组可作为第二阶段初始约束方程组,将目标函数则
 还原成原问题的目标函数,可继续利用单纯形表求解。



                                                      46
C          -1       2     0     0    0
                                                         θ
   CB        XB    b    x1       x2     x3   x4   x5
    -1       X1   1/2   1        0    -1/2 1/2    0    1/2/
                                                           1/2
     2       X2   3/2   0        1    -1/2 -1/2   0       -
     0       X5   3/2   0        0     1/2 1/2    1    3/2/
                                                           1/2
         Z        5/2   0        0    1/2 3/2     0
    0        X4    1     2       0     -1    1    0
    2        X2    2     1       1     -1    0    0
    0        X5    1    -1       0      1    0    1

         Z         4    -3       0      2    0    0
    0        X4    2     1       0     0     1    1
    2        X2    3     0       1     0     0    1
    0        X3    1    -1       0     1     0    1
         Z         6    -1       0      0    0    -2
                             T
可得最优解 X               ,目标函数值maxZ=6,
                  0,3,1, 2, 0
与用大M法的结果完全相同。
                                                                 47
单纯形表与线性规划问题的讨论
无可行解
  通过大M法或两阶段法求初始的基本可行解。但是如果在大
M法的最优单纯形表的基变量中仍含有人工变量,或者两阶段法的
辅助线性规划的目标函数的极小值大于零,那么该线性规划就不存
在可行解。
人工变量的值不能取零,说明了原线性规划的数学模型的约束条
件出现了相互矛盾的约束方程。此时线性规划问题的可行域为空集。




                            48
例6、求解下列线性规划问题
                                       minZ=3x1 +2x 2 +x 3
解:                                        x1 x 2          x3         6
 首先将问题化为标准型                               x1             -x 3        4
 令    Z' = -Z ,则                                x 2 -x 3        3
maxZ' = -3x1 -2x2 -x3                     x1 ,x 2 ,x 3          0
 x1 +x 2 +x 3 +x 4            =6
 x1       -x3        -x5      =4
                                    maxZ' = -3x1 -2x 2 -x 3 -Mx 7 -Mx 8
      x 2 -x3              -x6 =3
                                     x1 +x 2 +x 3 +x 4                            =6
 xj 0, j=1,2, 6.
                                     x1        -x 3        -x 5            +x 7   =4
故引入人工变量              x 7 ,x 8,            x 2 -x 3                  -x 6      +x 8 =3
并利用大M法求解                             xj 0, j=1,2, 8.
                                                                                    49
C           -3     -2     -1    0   0     0 -M -M
                                                                      θ
  CB        XB     b     x1     x2     x3   x4   x5    x6 x7 x8
   0        x4     6      1     1      1    1     0     0    0   0    6/1
  -M        x7     4      1     0     -1    0    -1     0    1   0     -
  -M        x8     3      0     1     -1    0     0    -1    0   1    3/1
       Z’         -7M    -3+M -2+M -1-2M     0   -M    -M    0   0

   0        x4     3      1     0      2    1     0     1    0 -1     3/1
  -M        x7     4      1     0     -1    0    -1     0    1 0      4/1
  -2        x2     3      0     1     -1    0     0    -1    0 1       -

       Z’        -6-4M   -3+M   0    -3-M   0    -M    -2    0 2-M
  -3        x1      3     1     0      2     1     0     1   0   -1
  -M        x7      1     0     0     -3    -1    -1   -1    1    1
  -2        x2      3     0     1     -1     0     0    -1   0    1
       Z’        -15-M    0     0    3-3M 3-M    -M    1-M 0     -1

  在以上最优单纯形表中,所有非基变量检验数都小于零,但在该表中人
工变量x7=1为基变量,所以原线性规划不存在可行解。
                                                                       50
无最优解
   无最优解与无可行解时两个不同的概念。
 无可行解是指原规划不存在可行解,从几何的角度解释是指
 线性规划问题的可行域为空集;
 无最优解则是指线性规划问题存在可行解,但是可行解的目
 标函数达不到最优值,即目标函数在可行域内可以趋于无穷大
(或者无穷小)。无最优解也称为有限最优解,或无界解。

判别方法:无最优解判别定理
   在求解极大化的线性规划问题过程中,若某单纯形表的检验
 行存在某个大于零的检验数,但是该检验数所对应的非基变量
 的系数列向量的全部系数都为负数或零,则该线性规划问题
 无最优解,

  m+k     0   X B =B-1b-B-1Pm+k x m+k   Z=C B B-1b+σ m+k x m+k
B-1Pm+k   0   x m+k 可以                  Z 可以
                                                          51
例7、试用单纯形法求解下列线性规划问题:
                                             maxZ=2x1 +2x 2
解:引入松弛变量x3,x4化为标准型                                 x1 - x 2        -1
        maxZ=2x1 +2x 2                            1
                                                 - x1 x 2 2
             -x1 x 2   x3     1                   2
          1                                      x1 0,x 2 0
         - x1 x 2     +x 4    2
          2
         x j 0,j 1,2,3,4
                                                     因        1   = 2>0
         C              2     2    0    0    θ               -1
C       XB      B      x1     x2   x3   x4           但 P1 = 1              0
                                                            -
0       X3      1      -1     1    1    0                     2
0       X4      2      -1/2   1    0    1
                                                     所以原问题
    Z           0       2     2    0    0            无最优解

                                                                          52
 退化解
  当线性规划问题的基本可行解中有一个或多个基变量取零值时,
称此基本可行解为退化解。
 产生的原因:在单纯形法计算中用最小比值原则确定换出变量时,
有时存在两个或两个以上相同的最小比值θ,那么在下次迭代中就会
出现一个甚至多个基变量等于零。
遇到的问题:当某个基变量为零,且下次迭代以该基变量作为换出
变量时,目标函数并不能因此得到任何改变(由旋转变换性质可知,
任何一个换入变量只能仍取零值,其它基变量的取值保持不变)。
通过基变换以后的前后两个退化的基本可行解的坐标形式完全相同。
从几何角度来解释,这两个退化的基本可行解对应线性规划可行域
的同一个顶点,
解决的办法:最小比值原则计算时存在两个及其以上相同的最小比
值时,选取下标最大的基变量为换出变量,按此方法进行迭代一定
能避免循环现象的产生(摄动法原理)。
                            53
例8、求解下述线性规划问题:
       maxZ=3x1 -80x2 +2x3 -24x4
         x1 -32x 2 -4x 3 36x 4     0
         x1 -24x 2 - x3    6x4       0
                     x3            1
           xj   0,j 1,2,3,4

解:引入松弛变量                  maxZ=3x1 -80x 2 +2x 3 -24x 4

x 5 ,x 6 ,x 7 化标准型         x1 -32x 2 -4x 3 36x 4     x5                 0
                           x1 -24x 2 - x 3    6x 4        x6        0
                                         x3                    x7   1
                              xj   0,j 1,2,3,4,5,6,7

                                                                        54
C        3    -80      2    -24   0    0    0
                                                                      θ
             CB XB        b   x1       x2   x3   x4    x5   x6   x7
             0       x5   0   1    -32      -4   36    1    0    0    0
 第一次迭代
中使用了摄动       0       x6   0   1    -24      -1   6     0    1    0    0
法原理,选择       0       x7   1   0        0    1    0     0    1    1    -
下 标 为 6的 基
                 Z        0   3    -80      2    -24   0    0    0
变量x6离基。
             0       x5   0   0        -8   -3   30    1    -1   0
             3       x1   0   1    -24      -1   6     0    1    0
             0       x7   1   0        0    1    0     0    1    1
                 Z        0   0        -8   5    -42   0    -3   0
             0       x5   3   0        -8   0    30    1    2    3
             3       x1   1   1    -24      0    6     0    2    1
             2       x3   1   0        0    1    0     0    0    1
                 Z        5   0        -8   0    -42   0    -6   -5
                                   T
     可得最优解 X              1,0,1,0,3 ,目标函数值maxZ=5,
                                                                      55
 无穷多最优解
  无穷多最优解判别原理:
若线性规划问题某个基本可行解所有的非基变量检验数都小于等于零,
但其中存在一个检验数等于零,那么该线性规划问题有无穷多最优解。

例3:最优表:         C               1     2   0    0      0
非基变量检验                                                      θ
           CB   XB    b        x1    x2   x3   x4     x5
数      ,
           0    x3    2         0     0    1   2    -1     2/2
所以有无穷多
  4= 0     2    x2    3         0     1    0   1     0     3/1
最优解。       1    x1    2         1     0    0   -2    1      -
         Z’  8   0                    0    0   0    -1
最优解集为可行域两个顶点的凸组合:

                      T                        T
     X     (2,3, 2,0,0)   (1        ) 4, 2,0,1,0 ,0        1.
                                                                56
改进单纯形法
改进单纯形法的特点
  利用单纯形表求解线性规划时,每一次迭代都把整个单纯形表计
算一遍,事实上我们关心的只是以下一些数据:
基本可行解 X B =B-1b,其相应的目标函数值                       ,
                                        Z=C B B-1b
非基变量检验数         N =C N -CB B-1 N ,及其换入变量 ,k x
  设  max σ j / σ j >0, j 为非基变量下标             =σk
 主元列元素 B-1Pk ,及其换出变量 x,      l

  设        (B-1b)i                              (B 1b)l
      min           /(B-1Pk )i >0, i为基变量下标
          (B-1Pk )i                            (B 1Pk )l
利用它们可得到一组新的基变量以及新的可行基B1。

                                                           57
X B =B-1b        Z=C B B-1b   N =C N -CB B-1 N   B-1Pk



   对任一基本可行解X,只要知道
                                    B-1 ,上述关键数据都可以从
线性规划问题的初始数据直接计算出来。因此如何计算基本可行解
X对应的可行基B的逆阵                B-1成为改进单纯形法的关键.
  改进单纯形法推导出从可行基B变换到B1时, -1到 B1
                       B     -1


的变换公式。当初始可行基为单位矩阵Ι时,变换公式将更具有优越
性,因为这样可以避免矩阵求逆的麻烦


           -1
以下推导从 B 到 B1 的变换公式:
              -1




                                                           58
假设当前基 B             (P1 , P2 , , Pl 1 , Pl , Pl 1 , Pm ),
基变换中用非基变量 x k 取代基变量 x l
  可得新基             B1     (P1 , P2 , , Pl 1 , Pk , Pl 1 , Pm )
前后二个基相比仅相差一列,且
                                                                     1   .   0
B-1B    (B-1P1 , B-1P2 , , B-1Pl 1 , B-1Pl , B-1 Pl 1 , B-1 Pm )   .      .
                                                                     0   .   1    m m
比较以上二式,可得
B-1B1   (B-1P1 , B-1P2 , , B-1Pl 1 , B-1Pk , B-1Pl 1 , B-1 Pm )
         (e1 ,   e2 ,  , el     1   , B-1Pk , el 1 ,  em )
其中 ei 表示第 i 个元素为1,其它元素均为零的单位列向量,
B-1Pk 为主元列元素。

                                                                                 59
B-1B1         (e1 ,   e2 ,  , el   1   , B-1 Pk , el 1 , em )

           a'1k
                                       第 l 列(换出变量 x l 对应列 )
           a'2k
             
假设 B-1PK = ,
           a'lk                                      a'1k
                               1                 -                        0
                                                     a'lk
主元素          
                                                     a'2k
           a'mk                                 -
                                                     a'lk
                                                     
则E          (B-1B1)-1                                 1
     lk
                                                     a'lk                     第l 行
                                                             
                                                                     
                                                     a'mk
                               0                 -                        1
                                                     a'lk

所以由       E lk    (B-1B1 )-1   B1-1B           B1-1         Elk B-1
                                                                               60
 改进单纯形法的步骤

(1) 根据给出的线性规划问题的标准型,确定初始基变量和初始
可行基B。求初始可行基B的逆阵B-1,得初始基本可行解
    X B =B-1b,X N   0   。
(2)计算单纯形乘子 π=C B B,得目标函数当前值 Z=C B B b=πb
                   -1              -1


(3) 计算非基变量检验数               N =C N -C B B-1 N=C N -πN   ,
 若σN≤0,则当前解已是最优解,停止计算;否则转下一步。

(4) 根据 max σ j /σ j >0 =σk ,确定非基变量 x k 为换入变量,
计算 B Pk ,若 B-1Pk ≤0,则问题没有有限最优解,停止计算,
    -1




否则转下一步。
                                                            61
(B-1b)i                (B-1b)l               xl
(5) 根据 min    -1
                       -1
                               ,确定基变量
                    /(B Pk )i >0 = -1
           (B Pk )i               (B Pk )l

 为换出变量。
(6) 用 Pk替代 Pl
           得新基B1,由变换公式                 B1-1   E lk B-1
     计算新基的逆阵B1-1,求出新的基本可行解
  其中        为变换矩阵,构造方法是:
           E lk
  从一个单位矩阵出发,把换出变量                 在基B中的对应列的单位
                                  xl
 向量,替换成换入变量 对应的系数列向量
            xk                          ,并做如下变形,
                                        B-1Pk
   主元素      (应在主对角线上)取倒数,其它元素除以主元素
             a l' k
     并取相反数。
       '
     a lk
   重复(2)~(6)直至求得最优解。

                                                              62
maxZ=CX
                        ①     初始基 B=I
                                                              AX=b
                             X B =B-1b,X N      0             X   0

          ② π=C B B
                    -1



                                                          ③ ≤0
                      Z=πb                                     最优解
                                                N =C N -πN


                          max σ j /σ j >0 =σk           ④
B1-1   E lk B-1                                 换入 x k

                  ⑥                                          ≤0
                                       ⑤
   新基      B1                换出 x l                 B-1Pk         无界解

                            (B-1b)i    -1          (B-1b)l
                       min    -1
                                    /(B Pk )i >0 = -1
                           (B Pk )i               (B Pk )l            63
例9、试用改进单纯形法求解                               maxZ=3x1 +2x 2
解:                                             x1 +x 2 +x 3       =40
 C=(3,2,0,0)                                  2x1 +x 2        +x 4 =60
          1   1 1 0            40             x1 ,x 2 ,x 3 ,x 4   0
     A=                     b=
          2 1 0 1              60
(1)观察法确定
                      1 0
      B0 =(P3 P4 )=          , x 3 ,x 4 为基变量 x 1 ,x 2 为非基变量
                      0 1

 -1       1 0           -1    1 0   40       40
 B
 0              , XB =B b=
                        0                =         , X0       (0, 0, 40, 60)T
          0 1                 0 1   60       60


                                                                           64
1    1 1 0                  40
   C=(3,2,0,0)           A=                            b=
                              2 1 0 1                     60

                                                            1 0
(2)计算单纯行乘子 π0 =CBB                 (c3 ,c 4 )B     (0, 0)           (0, 0)
                              -1              -1
                              0               0
                                                            0 1
 目标函数当前值                                 40
                    Z0 = π0 b = (0,0)              0
                                         60
(3)非基变量检验数
                                                            1 1
 σ N =C N -π 0 N=(c1 ,c 2 )-π 0 (P1P2 )=(3,2)-(0,0)               = (3, 2)
                                                            2 1
(4) 选择换入变量                                                           1       2
               max σ j /σ j >0 = 3,2 =3
                                    1 0       1        1
 故 x为换入变量。计算
    1
                            -1
                          B P
                            0 1                             0
                                    0 1       2        2

                                                                         65
C=(3,2,0,0)
            1        1 1 0        40                       -1        40             1
       A=                      b=                  XB =B b=0
                                                                              -1
                                                                             B P
                                                                              0 1
             2 1 0 1              60                                 60             2

(5)确定换出变量
                             B0 1b            B0 1b             40 60        60
                                      3                4
                       min                ,                       ,
                             B0 1P1           B0 1P1            1 2           2
                                      3                4


确定 x 4 为换出变量,主元素=2
                                                           1     1
(6) 用 P1
      代替 得新可行基
          P4                                   为基变量, x 3 ,x1
                                  B1 =(P3 ,P1 )=
                                                 0 2
                      -1            -1
                 1               1 为非基变量,                         x 2 ,x 4
                      2    1 0      2
B1 = E 41B-1 =
 -1
          0                    =                                                         -1
                      1    0 1      1   1 0                            1     1      1
                 0               0                                                       2
                      2             2
                                                       0   1           0     2           1
                                                                                    0
                                                                                         2
  重复以上步骤,进入第二循环
                                                                                    66
C=(3,2,0,0)                                                                -1
                                                                            1
        1   1 1 0          40                              1     1     -1    2
                                          B1 =(P3 ,P1 )=              B1 =
  A=                    b=                                                   1
        2 1 0 1            60                              0     2         0
                                                                             2
                           1
                    1
(1)          -1           2         40       10
       X B =B b=
             1                                    , X1         (30, 0,10, 0)T
                          1         60       30
                    0
                          2
                                                   1
                                             1
(2)                                               2           3
      π1 =CB B-1
              1    (c3 ,c1 )B  -1
                               1    (0, 3)                 (0, )
                                                  1           2
                                             0
                                                  2
                    3 40
      Z1 = π1b = (0, )               90
                    2 60
(3)                                                 3 1 0   1 3
      σ N =C N -π1N=(c 2 ,c 4 )-π1 (P2P4 )=(2,0)-(0, )    =( , - )
                                                    2 1 1   2 2
                                                                            2   4   67
C=(3,2,0,0)
         1    1 1 0            40                                1    1                   -1   10
  A=                        b=                  B1 =(P3 ,P1 )=              X B =B b=     1
         2 1 0 1               60                                0    2                        30
                                                    1            1
                                                1
(4) 选择 换入变量
       x2                                          2 1           2
                                   -1
                                  B1 P2                                     0                  1    0
                                                   1 1           1                             0    1
                                                0
                                                   2             2
               B1 1b            B1 1b             10 30              10
(5)
                        3                1
        min                 ,                         ,                                        1
               B1 1P2           B1 1P2            1/ 2 1/ 2          1/ 2                               0
                        3                 1                                                    2
                                                -1        1                                    1
  选择 换出变量,主元素=
     x3                                       (B1 P2 )3                                                 1
                                                          2                                    2
                                                              1 1
(6) 用 P代替
       2          得新可行基
                  P3            B2 =(P2 ,P1 )=                                  x 2 ,x1
                                               1 2
                             为基变量,
                             -1                                                                2 0
                           1 为非基变量,            x 3 ,x 4
       -1        -1  2 0      2 = 2 -1                                                         -1 1
      B2 = E 32 B1 =
                      1 1     1     -1 1
                          进入第三循环.
                           0                                                                       68
                              2
C=(3,2,0,0)
       1    1 1 0          40                            1 1            -1       2   -1
  A=                    b=              B2 =(P2 ,P1 )=
                                                         1 2
                                                                    B = 2
        2 1 0 1            60                                                    -1 1

                       2      1    40         20
(1)    XB =B b=-1
                                                   , X2        (20, 20, 0, 0)T
               2
                        1    1     60
                                    20
(2)                                  2                   1
       π 2 =CBB2 (c 2 ,c1 )B2 (2,3)
                  -1         -1
                                                               (1, 1)
                                      1              1
                          40
       Z2 = π 2 b = (1,1)       100
                          60
                                                             1 0
(3) σ N =C N -π 2 N=(c3 ,c 4 )-π 2 (P3P4 )=(0,0)-(1,1)             =(-1, -1)
                                                             0 1
 非基变量对应的检验数全部非正,
                                                                         3   4
故当前解                     即为最优解,
              X 2 =X* =(20, 20, 0, 0)T
相应的目标函数最优值                      。
                             maxZ 100
                                                                                        69

More Related Content

What's hot

7习题课 机械波
7习题课 机械波7习题课 机械波
7习题课 机械波vincent930218
 
人类行为与最大熵原理
人类行为与最大熵原理人类行为与最大熵原理
人类行为与最大熵原理Chengjun Wang
 
2.5一元二次方程及其解法
2.5一元二次方程及其解法2.5一元二次方程及其解法
2.5一元二次方程及其解法zhengweimin83
 
指考乙公式
指考乙公式指考乙公式
指考乙公式zoayzoay
 
!“压缩传感”引论
!“压缩传感”引论!“压缩传感”引论
!“压缩传感”引论Terence Gao
 
學測公式
學測公式學測公式
學測公式zoayzoay
 
S98-02師大附中試題
S98-02師大附中試題S98-02師大附中試題
S98-02師大附中試題yustar1026
 
三次多項式圖形探討
三次多項式圖形探討三次多項式圖形探討
三次多項式圖形探討Ango Chen
 
第3章 离散系统的时域分析
第3章   离散系统的时域分析第3章   离散系统的时域分析
第3章 离散系统的时域分析reader520
 
对偶分解与拉格朗日松弛在自然语言处理推理的应用导论
对偶分解与拉格朗日松弛在自然语言处理推理的应用导论对偶分解与拉格朗日松弛在自然语言处理推理的应用导论
对偶分解与拉格朗日松弛在自然语言处理推理的应用导论zhaoweihb
 

What's hot (20)

2 3平面坐標系
2 3平面坐標系2 3平面坐標系
2 3平面坐標系
 
7习题课 机械波
7习题课 机械波7习题课 机械波
7习题课 机械波
 
1 3函數
1 3函數1 3函數
1 3函數
 
人类行为与最大熵原理
人类行为与最大熵原理人类行为与最大熵原理
人类行为与最大熵原理
 
2.5一元二次方程及其解法
2.5一元二次方程及其解法2.5一元二次方程及其解法
2.5一元二次方程及其解法
 
1 3坐標向量
1 3坐標向量1 3坐標向量
1 3坐標向量
 
指考乙公式
指考乙公式指考乙公式
指考乙公式
 
!“压缩传感”引论
!“压缩传感”引论!“压缩传感”引论
!“压缩传感”引论
 
學測公式
學測公式學測公式
學測公式
 
曲線弧長
曲線弧長曲線弧長
曲線弧長
 
1 1指數
1 1指數1 1指數
1 1指數
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
S98-02師大附中試題
S98-02師大附中試題S98-02師大附中試題
S98-02師大附中試題
 
1 1
1 11 1
1 1
 
2 3組合
2 3組合2 3組合
2 3組合
 
三次多項式圖形探討
三次多項式圖形探討三次多項式圖形探討
三次多項式圖形探討
 
3 2和角公式
3 2和角公式3 2和角公式
3 2和角公式
 
2 4空間中的直線
2 4空間中的直線2 4空間中的直線
2 4空間中的直線
 
第3章 离散系统的时域分析
第3章   离散系统的时域分析第3章   离散系统的时域分析
第3章 离散系统的时域分析
 
对偶分解与拉格朗日松弛在自然语言处理推理的应用导论
对偶分解与拉格朗日松弛在自然语言处理推理的应用导论对偶分解与拉格朗日松弛在自然语言处理推理的应用导论
对偶分解与拉格朗日松弛在自然语言处理推理的应用导论
 

Similar to Simplex 简单形法

二次函数优秀课件
二次函数优秀课件二次函数优秀课件
二次函数优秀课件flytotvxq
 
二次函数优秀课件
二次函数优秀课件二次函数优秀课件
二次函数优秀课件flytotvxq
 
J102-05南區聯盟試題
J102-05南區聯盟試題J102-05南區聯盟試題
J102-05南區聯盟試題yustar1026
 
支持向量机算法
支持向量机算法支持向量机算法
支持向量机算法ruxianzaixin
 

Similar to Simplex 简单形法 (7)

二次函数优秀课件
二次函数优秀课件二次函数优秀课件
二次函数优秀课件
 
二次函数优秀课件
二次函数优秀课件二次函数优秀课件
二次函数优秀课件
 
2 3平面方程式
2 3平面方程式2 3平面方程式
2 3平面方程式
 
直线和圆
直线和圆直线和圆
直线和圆
 
J102-05南區聯盟試題
J102-05南區聯盟試題J102-05南區聯盟試題
J102-05南區聯盟試題
 
支持向量机算法
支持向量机算法支持向量机算法
支持向量机算法
 
2 4二項式定理
2 4二項式定理2 4二項式定理
2 4二項式定理
 

Simplex 简单形法

  • 1. 第二章 单纯形法  单纯形法的一般原理  表格单纯形法  借助人工变量求初始的基本可行解  单纯形表与线性规划问题的讨论  改进单纯形法 1
  • 2. 单纯形法的一般原理 考虑到如下线性规划问题 maxZ=CX AX=b X 0 其中A一个m×n矩阵,且秩为m,b总可以被调整为一个m维非负列 向量,C为n维行向量,X为n维列向量。 根据线性规划基本定理: 如果可行域D={ X∈Rn / AX=b,X≥0}非空有界, 则D上的最优目标函数值Z=CX一定可以在D的一个顶点上达到。 这个重要的定理启发了Dantzig的单纯形法, 即将寻优的目标集中在D的各个顶点上。 2
  • 3. Dantzig的单纯形法把寻优的目标集中在所有基本可行解 (即可行域顶点)中。 其基本思路是从一个初始的基本可行解出发,寻找一条达到 最优基本可行解的最佳途径。 单纯形法的一般步骤如下: (1)寻找一个初始的基本可行解。 (2)检查现行的基本可行解是否最优,如果为最优, 则停止迭代,已找到最优解,否则转一步。 (3)移至目标函数值有所改善的另一个基本可行解, 然后转会到步骤(2)。 3
  • 4.  确定初始的基本可行解 确定初始的基本可行解等价于确定初始的可行基,一旦初始 的可行基确定了,那么对应的初始基本可行解也就唯一确定 为了讨论方便,不妨假设在标准型线性规划中,系数矩阵A 中前m个系数列向量恰好构成一个可行基,即 A=(BN),其中 B=(P1,P2,…Pm)为基变量x1,x2,…xm的系数列向量 构成的可行基, N=(Pm+1,Pm+2, …Pn)为非基变量xm+1,xm+2, …xn的 系数列向量构成的矩阵。 4
  • 5. 所以约束方程 就可以表示为 AX=b XB AX=(BN) =BX B +NX N =b XN 用可行基B的逆阵B-1左乘等式两端,再通过移项可推得: -1 -1 X B =B b-B NX N -1 若令所有非基变量 X N =0 , 则基变量 X B =B b B 1b 由此可得初始的基本可行解 X= 0 5
  • 6. AX=b BX B +NX N =b X B =B-1b-B-1 NX N X N =0,X B =B-1b  问题:  要判断m个系数列向量是否恰好构成一个基并不是一件容易的事。 基由系数矩阵A中m个线性无关的系数列向量构成。 但是要判断m个系数列向量是否线性无关并非易事。  即使系数矩阵A中找到了一个基B,也不能保证该基恰好是可行基。 因为不能保证基变量XB=B-1b≥0。 B 1b  为了求得基本可行解 X= ,必须求基B的逆阵B-1。 0 但是求逆阵B-1也是一件麻烦的事。  结论:在线性规划标准化过程中设法得到一个m阶单位矩阵I作为初始 可行基B, 6
  • 7. 为了设法得到一个m阶单位矩阵I作为初始可行基B,可在性规 划标准化过程中作如下处理:  若在化标准形式前,m个约束方程都是“≤”的形式, 那么在化标准形时只需在一个约束不等式左端都加上一个松弛变 量xn+i (i=12…m)。  若在化标准形式前,约束方程中有“≥”不等式, 那么在化标准形时除了在方程式左端减去剩余变量使不等式变 成等式以外,还必须在左端再加上一个非负新变量,称为 人工变量.  若在化标准形式前,约束方程中有等式方程,那么可以直接在 等式左端添加人工变量。 7
  • 8. 判断现行的基本可行解是否最优 B 1b 假如已求得一个基本可行解 X= 0 将这一基本可行解代入目标函数,可求得相应的目标函数值 B 1b Z=CX=(CBC N ) =CBB-1b 0 其中 C =(c ,c , c ), C =(c ,c ,  c ) 分别表示基变量和 B 1 2 m N m+1 m+2 n 非基变量所对应的价值系数子向量。 8
  • 9. 要判定 Z=C B B -1b 是否已经达到最大值,只需将 X B =B-1b-B-1 NX N 代入目标函数,使目标函数用非基变量 表示,即: XB Z=CX=(CBC N ) XN =CB X B +C N X N =CB (B-1b-B-1 NX N )+C N X N x m+1 =CB B-1b+(C N -CB B-1 N)X N x m+2  CB B b+σ N X N -1 CB B b+(σ m+1, σ m+1,  σ n ) -1  xn 其中 N =C N -CB B-1 N=( m+1 , 称为非基变量XN的检验向量, , n ) m+1 它的各个分量称为检验数。若σN的每一个检验数均小于等于0,即 σN≤0,那么现在的基本可行解就是最优解。 9
  • 10. 定理1:最优解判别定理 对于线性规划问题 maxZ=CX, D= X Rn /AX=b,X 0 若某个基本可行解所对应的检验向量 N =C N -C B B-1 N 0, 则这个基本可行解就是最优解。 x m+1 x m+2 Z CB B-1b+(σ m+1, σ m+1,  σ n )  定理2:无穷多最优解判别定理 xn 1 若 X= B b 是一个基本可行解,所对应的检验向量 0 N =C N -C B B-1 N 0 ,其中存在一个检验数σm+k=0, 则线性规划问题有无穷多最优解。 10
  • 11.  基本可行解的改进 如果现行的基本可行解X不是最优解,即在检验向量 N 中存在正的检验数,则需在原基本可行解X的基础上 =C N -CB B-1 N 寻找一个新的基本可行解,并使目标函数值有所改善。具体做法 是:  先从检验数为正的非基变量中确定一个换入变量,使它从非基 变量变成基变量(将它的值从零增至正值),  再从原来的基变量中确定一个换出变量,使它从基变量变成非 基变量(将它的值从正值减至零)。 x m+1 由此可得一个新的基本可行解,由 Z CB B-1b+(σ m+1, σ m+1,  σ n ) x m+2  可知,这样的变换一定能使目标函数值有所增加。 x n 11
  • 12. 换入变量和换出变量的确定: 换入变量的确定— 最大增加原则 假设检验向量 N =C N -C B B N=( m+1 , m+2 , n ) , -1 若其中有两个以上的检验数为正,那么为了使目标函数值增加得快 些,通常要用“最大增加原则”,即选取最大正检验数所对应的非基变量 为换入变量,即若 max σ j /σ j >0,m+1 j n =σm+k 则选取对应的 x m+k 为换入变量, 由于 m+k 0且为最大, 因此当 x m+k 由零增至正值, x m+1 x m+2 可使目标函数值 Z CB B b+(σ m+1, σ m+1,  σ n ) -1  最大限度的增加。 xn 12
  • 13.  换出变量的确定— 最小比值原则 如果确定 x m+k 为换入变量,方程 X B =B-1b-B-1 NX N X B =B-1b-B-1Pm+k x m+k 其中 Pm+k为A中与 x m+k 对应的系数列向量。 现在需在 X B =(x1 , x 2 , x m )T中确定一个基变量为换出变量。 当 x m+k 由零慢慢增加到某个值时, X B 的非负性可能被打破。 为保持解的可行性,可以按最小比值原则确定换出变量: 若 (B-1b)i (B-1b)l min /(B-1Pm+k )i >0,1 i m = -1 (B-1Pm+k )i (B Pm+k )l 则选取对应的基变量 x l 为换出变量。 13
  • 14. 定理3:无最优解判别定理 B 1b 若 X= 是一个基本可行解,有一个检验数 , m+k 0 0 但是 B-1Pm+k 0 ,则该线性规划问题无最优解。 证:令 x m+k ,( ,则得新的可行解 0) 将上式代入 X B =B b-B Pm+k x m+k -1 -1 B-1b-B-1Pm+k x m+1  Z=CB B-1b+(σ m+1 , σ m+k , σ n ) C B B-1b+σ m+k  xn 因为 m+k ,0 故当λ→+∞时,Z→+∞。 14
  • 15.  用初等变换求改进了的基本可行解 假设B是线性规划 maxZ=CX,AX=b,X 的可行基,则 0 XB -1 XB AX=b (BN) b (I,B N) =B-1b XN XN 令非基变量 X N =0 ,则基变量 X B =B 1b 。 B 1b 可得基本可行解 X= 。 0  用逆阵 B 1 左乘约束方程组的两端,等价于对方程组施以一系列 的初等“行变换”。变换的结果是将系数矩阵A中的可行基B变换成单 位矩阵I,把非基变量系数列向量构成的矩阵N变换成 B 1 N,把资 源向量b变换成 B 1b 。 15
  • 16. XB 由于行初等变换后的方程组 (I,B-1 N) =B-1b XN XB 与原约束方程组 AX=b或 (B,N) =b 同解 XN 且改进了的基本可行解 X 只是在X的基变量的基础上用一个换 ' 入变量替代其中一个换出变量,其它的基变量仍然保持不变。这些 基变量的系数列向量是单位矩阵I中的单位向量。为了求得改进的基 本可行解 X ,只需对增广矩阵 ' -1 -1 (I,B N,B b) 施行初等行变换,将换入变量的系数列向量变换成换出变量所对 应的单位向量即可。 16
  • 17. 例1 maxZ=5x1 2x2 3x3 x4 x5 x1 2x 2 2x 3 x4 8 3x1 4x 2 x3 x5 7 C=(5,2,3, 1,1) x1 ,x 2 ,x 3 ,x 4 ,x5 0 解: 1 2 2 1 0 8 A= b (1)确定初始的基本可行解。 3 4 1 0 1 7 1 0 B=(P4 P5 )= ,基变量 ,非基变量 x 4 ,x 5 。 ,x 2 , x 3 x1 0 1 x1 x4 1 0 1 2 2 CB =(-1,1) 8 XB = ,X N = x 2 ,B= ,N= , ,b= x5 0 1 3 4 1 C N =(5,2,3) 7 x3 8 X N =0 X B =B b= 1 X=(0,0,0, 8, 7)T 7 8 Z=CB B 1b=(-1,1) 1 7 17
  • 18. x1 x4 1 0 1 2 2 CB =(-1,1) 8 XB = ,X N = x 2 ,B= ,N= , ,b= x5 0 1 3 4 1 C N =(5,2,3) 7 x3 (2) 检验 X=(0,0,0, 8, 7)T 是否最优。 1 2 2 检验向量 σ =C -C B-1 N=(5,2,3)-(-1,1) N N B 3 4 1 =(5,2,3)-(2,2,-1)=(3, 0, 4) σ1 σ 2 σ3 因为σ1=3,σ3=4 均大于零, 所以 X=(0,0,0, 8, 7)T不是最优解。 18
  • 19. x1 x4 1 0 1 2 2 CB =(-1,1) 8 XB = ,X N = x 2 ,B= ,N= , ,b= x5 0 1 3 4 1 C N =(5,2,3) 7 x3 N =( 1 , 2 , 3 ) (3, 0, 4) (3)基本可行解 X=(0,0,0, 8, 7)T的改进 ① 选取换入变量 因为max{3,4}=4,取x3为换入变量。 ② 选取换出变量 1 8 且 1 2 , 8 7 8 B b= , B P3 0 min , 7 1 2 1 2 选取x4为换出变量. x4 8 2 -1 -1 =B b-B P3 x 3 = - x3 x5 7 1 19
  • 20. x1 x4 1 0 1 2 2 CB =(-1,1) 8 XB = ,X N = x 2 ,B= ,N= , ,b= x5 0 1 3 4 1 C N =(5,2,3) 7 x3 (4)求改进了的基本可行解 X ' 对约束方程组的增广矩阵施以初等行变换,使换入变量x3所对应的系 2 1 数列向量 变换成换出变量x4所对应的单位向量 P3 = ,P 4 1 0 0 注意保持基变量x5的系数列向量 P5 =为单位向量不变。 1 1 2 2 1 0 8 第一行除以2 1 1 1 1 0 4 2 2 3 4 1 0 1 7 3 4 1 0 1 7 第二行减去第一行 1 1 1 1 0 4 2 2 5 3 0 -1 1 3 2 2 20
  • 21. C=(5,2,3, 1,1) C=(5,2,3, 1,1) 1 1 1 1 0 4 1 2 2 1 0 8 2 2 3 4 1 0 1 7 5 3 0 -1 1 3 2 2 —————————————————————————— 可得改进的基本可行解。 1 0 B=(P3P5 )= ,基变量 x 3,x 5 非基变量x1 ,x 2 , x 4 。 0 1 x1 1 1 1 x3 1 0 2 2 C B =(3,1) 4 XB = ,X N = x 2 ,B= ,N= , ,b= x5 0 1 5 -1 C N =(5,2,-1) 3 x4 3 2 2 4 基本可行解 1 X N =0 XB =B b= X=(0,0,4, 0, 3)T 3 目标函数值 1 4 Z=CB B b=(3,1) 15 3 易见目标函数值比原来的Z=-1增加了, 再转向步骤(2) 21
  • 22. x1 1 1 1 x3 1 0 2 2 , C B =(3,1) ,b= 4 XB = ,X N = x 2 ,B= ,N= x5 0 1 5 -1 C N =(5,2,-1) 3 x4 3 2 2 (2)检验 X=(0,0,4, 0, 3)T是否最优。 1 1 检验向量 1 σ N =C N -C B B-1 N=(5,2,-1)-(3,1) 2 2 5 -1 3 2 2 =(5,2,-1)-(4,6,1)=(1, -4, -2) 因为 1 1 0 , σ1 σ 2 σ 4 所以 X=(0,0,4, 0, 3) 仍不是最优解。 T 22
  • 23. x1 1 1 1 x3 1 0 2 2 , C B =(3,1) ,b= 4 XB = ,X N = x 2 ,B= ,N= x5 0 1 5 -1 C N =(5,2,-1) 3 x4 3 2 2 (3)基本可行解 X=(0,0,4, 0, 3)T 的改进 ① 选取换入变量 因为 1 0 ,取 x 1 为换入变量。 1 ② 选取换出变量 1 4 2 4 3 3 1 B b= , B 1P1 0 且 min , , 3 5 1/ 2 5 / 2 5/ 2 2 选取x 5 为换出变量. x3 4 1/2 -1 -1 =B b-B P1x1 = - x1 x5 3 5/2 23
  • 24. x1 1 1 1 x3 1 0 2 2 , C B =(3,1) ,b= 4 XB = ,X N = x 2 ,B= ,N= x5 0 1 5 -1 C N =(5,2,-1) 3 x4 3 2 2 (4)求改进了的基本可行解 X '' 对约束方程组的增广矩阵施以初等行变换,使换入变量 x所对应 1 1 0 的系数列向量 P1 = 2 变换成换出变量 x 5 所对应的单位向量 P5 , 5 1 2 1 1 1 1 0 4 1 1 1 1 第二行乘以2/5 0 4 2 2 2 2 5 3 0 -1 1 3 1 6 0 -1 2 6 2 2 5 5 5 5 第一行减以第二行的1/2倍 0 2 1 3 -1 17 5 5 5 5 1 6 0 -1 2 6 5 5 5 5 24
  • 25. C=(5,2,3, 1,1) C=(5,2,3, 1,1) 1 1 1 1 0 4 0 2 1 3 -1 17 2 2 5 5 5 5 5 3 0 -1 1 3 1 6 0 -1 2 6 2 2 5 5 5 5 —————————————————————————— 可得改进的基本可行解。 1 0 B=(P3P1 )= ,基变量 x 3 ,x1 ,非基变量 x 2 ,x 4 , x 5 0 1 x2 2 3 -1 17 x3 1 0 5 5 5 CB =(3,5) 5 XB = ,X N = x 4 ,B= ,N= , ,b= x1 0 1 6 -1 2 C N =(2,-1,1) 6 x5 17 5 5 5 5 5 6 17 T X N =0 1 X B =B b= 基本可行解 X=( ,0, , 0, 0) 6 5 5 17 5 5 81 目标函数值 Z=C B B b=(3,5) 比Z=15增加了,再转向步骤(2) 1 6 5 25 5
  • 26. x2 2 3 -1 17 x 1 0 5 5 5 C =(3,5) 5 X B = 3 ,X N = x 4 ,B= ,N= , B ,b= x1 0 1 6 -1 2 C N =(2,-1,1) 6 x5 5 5 5 5 (2)检验 X'' =( 6 ,0, 17 , 0, 0)T 是否最优。 5 5 2 3 -1 检验向量 5 5 5 σ N =C N -CB B-1 N=(2,-1,1)-(3,5) 6 -1 2 5 5 5 36 4 7 -26 -9 -2 =(2,-1,1)-( , , )=( , , ) 5 5 5 5 5 5 因为所有检验数均小于零, σ 2 σ 4 σ5 6 17 81 所以 X* =X'' =( ,0, , 0, 0)T 是最优解, Z* = 5 5 5 26
  • 27. 表格单纯形法 通过例1我们发现,在单纯形法的求解过程中,有下列重要指标:  每一个基本可行解的检验向量 根据检验向量可以确定所求得的基本可行解是否为最优解。如果不是 σ N =C N -C B B-1 N 最优又可以通过检验向量确定合适的换入变量。  每一个基本可行解所对应的目标函数值 通过目标函数值可以观察单纯形法的每次迭代是否能使目标函数值有 Z=C B B 1b 效地增加,直至求得最优目标函数为止。  在单纯形法求解过程中,每一个基本可行解X都以某个经过初等行变 换的约束方程组中的单位矩阵Ι为可行基。 当B=I时,B-1=I,易知: σ N =C N -CB N Z=C B b 27
  • 28. 可将这些重要结论的计算设计成如下一个简单的表格, 即单纯形表来完成: C CB CN CB XB b X1 X2 ··· Xm X m+1 Xm+2 ··· Xn θ C1 X1 b1 θ1 C2 X2 b2 θ2 . . I N . . . . . Cm Xm bm θm Z CBb 0 CN- CBN 28
  • 29. 例2、试利用单纯形表求例1中的最优解解: maxZ=5x1 2x2 3x3 x4 x5 C=(5,2,3, 1,1) x1 2x 2 2x 3 x4 8 1 2 2 1 0 8 3x1 4x 2 x3 x5 7 (Ab)= 3 4 1 0 1 7 x1 ,x 2 ,x 3 ,x 4 ,x5 0 得初始的单纯形表: C 5 2 3 -1 1 Θ CB XB b x1 x2 x3 x4 x5 -1 x4 8 1 2 2 1 0 1 x5 7 3 4 1 0 1 Z -1 3 0 4 0 0 Z=C B b σ N =C N -CB N 初始基本可行解 X=(0,0,0, 8, 7)T,Z= -1, 29
  • 30. C 5 2 3 -1 1 Θ CB XB b x1 x2 x3 x4 x5 -1 x4 8 1 2 2 1 0 8/2 1 x5 7 3 4 1 0 1 7/1 Z -1 3 0 4 0 0 x 3 换入变量,x 4 换出变量,2为主元进行旋转变换 C 5 2 3 -1 1 Θ CB XB b x1 x2 x3 x4 x5 3 x3 4 1/2 1 1 1/2 0 1 x5 3 5/2 3 0 -1/2 1 Z 15 1 -4 0 -2 0 T 基本可行解 X=(0,0,4, 0, 3) ,Z= 15, 30
  • 31. C 5 2 3 -1 1 Θ CB XB b x1 x2 x3 x4 x5 3 x3 4 1/2 1 1 1/2 0 4/1/2 1 x5 3 5/2 3 0 -1/2 1 3/5/2 Z 15 1 -4 0 -2 0 x 1 换入变量,x 5 换出变量,5/2为主元进行旋转变换 C 5 2 3 -1 1 Θ CB XB b x1 x2 x3 x4 x5 3 x3 17/5 0 2/5 1 3/5 -1/5 5 x1 6/5 1 6/5 0 -1/5 2/5 Z 81/5 0 -26/5 0 -9/5 -2/5 T σ N =C N -CB N 0 最优解 X 6 17 81 , 0, , 0, 0最优值 Z 31 5 5 5
  • 32. 例3、用单纯形方法求解线性规划问题 minZ=-x1 -2x 2 x1 x3 4 x2 x4 3 x1 2x 2 x5 8 xj 0 ,j 1,2,3,4,5 解:本题的目标函数是求极小化的线性函数, 可以令 Z' = -Z = x1 +2x 2 则 minZ=-x1 -2x 2 max Z ' x1 +2x2 这两个线性规划问题具有相同的可行域和最优解, 只是目标函数相差一个符号而已。 32
  • 33. C 1 2 0 0 0 Θ CB XB b x1 x2 x3 x4 x5 0 x3 4 1 0 1 0 0 _ 0 x4 3 0 1 0 1 0 3/1 0 x5 8 1 2 0 0 1 8/2 Z’ 0 1 2 0 0 0 0 x3 4 1 0 1 0 0 4/1 2 x2 3 0 1 0 1 0 - 0 x5 2 1 0 0 -2 1 2/1 Z’ 6 1 0 0 -2 0 0 x3 2 0 0 1 2 -1 2/2 2 x2 3 0 1 0 1 0 3/1 1 x1 2 1 0 0 -2 1 - Z’ 8 0 0 0 0 -1 T 最优解 X 2,3, 2,0,0 最优值 maxZ' =8 or minZ=-8 33
  • 34. 因为非基变量x4的检验数σ4=0,由无穷多最优解判别定理,本例 的线性规划问题存在无穷多最优解。事实上若以x4为换入变量,以x3为 换出变量,再进行一次迭代,可得一下单纯形表: C 1 2 0 0 0 Θ CB XB b x1 x2 x3 x4 x5 0 x4 1 0 0 1/2 1 -1/2 2 x2 2 0 1 -1/2 0 1/2 1 x1 4 1 0 1 0 0 Z’ 8 0 0 0 0 -1 ' 最优解 X 4, 2,0,1,0 T 最优值 maxZ =8 or minZ=-8 最优解的一般表示式 T T X (2,3, 2,0,0) (1 ) 4, 2,0,1,0 ,0 1. 34
  • 35. 对于极小化的线性规划问题的处理:  先化为标准型,即将极小化问题变换为极大化问题,然后利用单 纯形方法求解.  直接利用单纯形方法求解,但是检验是否最优的准则有所不同, 即: 若某个基本可行解的所有非基变量对应的检验数 σ N =C N -C B N (而不是≤0), 0 则基本可行解为最优解. 否则采用最大减少原则(而非最大增加原则)来确定换入变量, 即: 若 min σ j /σ j <0,m+1 j n =σm+k 则选取对应的非基变量xm+k为换入变量.  确定了换入变量以后,换出变量仍采用最小比值原则来确定。 35
  • 36. 借助人工变量求初始的基本可行解 若约束方程组含有“≥”不等式,那么在化标准形时除了在方程式 左端减去剩余变量,还必须在左端加上一个非负的人工变量。 因为人工变量是在约束方程已为等式的基础上,人为的加上去的 一个新变量,因此加入人工变量后的约束方程组与原约束方程组是不 等价的。 加上人工变量以后,线性规划的基本可行解不一定是原线性规划 的问题的基本可行解。只有当基本可行解中所有人工变量都为取零值 的非基变量时,该基本可行解对原线性规划才有意义。因为此时只需 去掉基本可行解中的人工变量部分,剩余部分即为原线性规划的一个 基本可行解.而这正是我们引入人工变量的主要目的。 36
  • 37. n 考虑线性规划问题: maxZ= c jx j j=1 n a i j x j =bi ,i=1,2,...,m j=1 xj 0,j=1,2,....,n 为了在约束方程组的系数矩阵中得到一个m阶单位矩阵作为 初始可行基,在每个约束方程组的左端加上一个人工变量 x n+i (i=1,2, m) n maxZ= c jx j 可得到: j=1 n a i j x j +x n+i =bi ,i=1,2,...,m j=1 xj 0,j=1,2,....,n+m 37
  • 38. n n a i j x j =bi ,i=1,2,...,m a i j x j +x n+i =bi ,i=1,2,...,m j=1 j=1 x j 0,j=1,2,....,n x j 0,j=1,2,....,n+m ———————————————————————— 添加了m个人工变量以后,在系数矩阵中得到一个m阶单位矩阵, 以该单位矩阵对应的人工变量 x n+i (i=1,2,  m) 为基变量, 即可得到一个初始的基本可行解 X (0) =(0,0,  ,0,b1 ,b 2 ,  b m ) T 这样的基本可行解对原线性规划没有意义的。 但是我们可以从X(0)出发进行迭代,一旦所有的人工变量都从基变 量迭代出来,变成只能取零值的非基变量,那么我们实际上已经求得了 原线性规划问题的一个初始的基本可行解。 此时可以把所有人工变量剔除,开始正式进入求原线性规划最优解 的过程。 38
  • 39.  大M法 大M法首先将线性规划问题化为标准型。如果约束方程组中包含 有一个单位矩阵I,那么已经得到了一个初始可行基。否则在约束方 程组的左边加上若干个非负的人工变量,使人工变量对应的系数列向 量与其它变量的系数列向量共同构成一个单位矩阵。以单位矩阵为初 始基,即可求得一个初始的基本可行解。 为了求得原问题的初始基本可行解,必须尽快通过迭代过程把人 工变量从基变量中替换出来成为非基变量。为此可以在目标函数中赋 予人工变量一个绝对值很大的负系数-M。这样只要基变量中还存在 人工变量,目标函数就不可能实现极大化。 以后的计算与单纯形表解法相同,M只需认定是一个很大的正数即 可。假如在单纯形最优表的基变量中还包含人工变量,则说明原问题 无可行解。否则最优解中剔除人工变量的剩余部分即为原问题的初始 基本可行解。 39
  • 40. 例4、用大M法求解下面的线性规划问题: maxZ=-x1 +2x 2 解: 首先将原问题化为标准型 x1 x 2 2 -x1 x 2 1 x1 x 2 -x 3 2 x2 3 -x1 x 2 -x 4 1 x1 ,x 2 0 x2 x5 3 xj 0,j 1,2,3,4,5 添加人工变量 x 6 ,x 7 ,并在目标函数中分别赋予-M maxZ= -x1 +2x 2 -Mx 6 -Mx 7 x1 x 2 -x 3 x6 2 -x1 x 2 -x 4 x7 1 x2 x5 3 xj 0,j 1,2,3,4,5,6,7 40
  • 41. C -1 2 0 0 0 -M -M θ CB XB b X1 x2 x3 x4 x5 x6 x7 -M X6 2 1 1 -1 0 0 1 0 2/1 -M X7 1 -1 1 0 -1 0 0 1 1/1 0 X5 3 0 1 0 0 1 0 0 3/1 Z -3M -1 2+2M -M -M 0 0 0 -M X6 1 2 0 -1 1 0 1 -1 1/2 2 X2 1 -1 1 0 -1 0 0 1 - 0 X5 2 1 0 0 1 1 0 -1 2/1 Z 2-M 1+2M 0 -M 2+M 0 0 -2-2M -1 X1 1/2 1 0 -1/2 1/2 0 1/2 -1/2 2 X2 3/2 0 1 -1/2 -1/2 0 1/2 1/2 - 0 X5 3/2 0 0 1/2 1/2 1 -1/2 -1/2 Z 5/2 0 0 1/2 3/2 0 -1/2-M -3/2-M 41
  • 42. C -1 2 0 0 0 -M -M θ CB XB b X1 x2 x3 x4 x5 x6 x7 -1 X1 1/2 1 0 -1/2 1/2 0 1/2 -1/2 1/2/1/2 2 X2 3/2 0 1 -1/2 -1/2 0 1/2 1/2 - 0 X5 3/2 0 0 1/2 1/2 1 -1/2 -1/2 3/2 /1/2 Z 5/2 0 0 1/2 3/2 0 -1/2-M -3/2-M 0 X4 1 2 0 -1 1 0 1 -1 2 X2 2 1 1 -1 0 0 1 0 0 X5 1 -1 0 1 0 1 -1 0 Z 4 -3 0 2 0 0 -2-M -M 0 X4 2 1 0 0 1 1 0 -1 2 X2 3 0 1 0 0 1 0 0 0 X3 1 -1 0 1 0 1 -1 0 Z 6 -1 0 0 0 -2 -M -M T 最优解 X 最优值 0,3,1, 2,0 Z 6 42
  • 43.  两阶段法 两阶段法引入人工变量的目的和原则与大M法相同,所不同的是 处理人工变量的方法。 两阶段法的步骤:  求解一个辅助线性规划。目标函数取所有人工变量之和,并取极小 化;约束条件为原问题中引入人工变量后包含一个单位矩阵的标准型 的约束条件。 如果辅助线性规划存在一个基本可行解,使目标函数的最小值等于 零,则所有人工变量都已经“离基”。表明原问题已经得了一个初始的基 本可行解,可转入第二阶段继续计算;否则说明原问题没有可行解, 可停止计算。  求原问题的最优解。在第一阶段已求得原问题的一个初始基本可行 解的基础上,继续用单纯形法求原问题的最优解 43
  • 44. 例5、用两阶段法求解例4中的线性规划问题。 maxZ=-x1 +2x 2 解:首先将问题化为标准型 x1 x 2 2 x1 x 2 -x 3 2 -x1 x 2 1 -x1 x 2 -x 4 1 x2 3 x2 x5 3 x1 ,x 2 0 xj 0, j 1,2,3,4,5 添加人工变量x6,x7,并建立辅助线性规划如下: minZ=x 6 +x 7 由于辅助线性规划的目标函数是 x1 x 2 -x 3 x6 2 极小化,因此最优解的判别准则 -x1 x 2 -x 4 x7 1 应为: x2 x5 3 σ N =C N -CB N 0 xj 0, j 1,2,3,4,5,6,7 44
  • 45. C 0 0 0 0 0 1 1 θ CB XB b x1 x2 x3 x4 x5 x6 x7 1 X6 2 1 1 -1 0 0 1 0 2/1 1 X7 1 -1 1 0 -1 0 0 1 1/1 0 X5 3 0 1 0 0 1 0 0 3/1 W 3 0 -2 1 1 0 0 0 1 X6 1 2 0 -1 1 0 1 -1 1/2 0 X2 1 -1 1 0 -1 0 0 1 - 0 X5 2 1 0 0 1 1 0 -1 2/1 W 1 -2 0 1 -1 0 0 2 0 X1 1/2 1 0 -1/2 1/2 0 1/2 -1/2 0 X2 3/2 0 1 -1/2 -1/2 0 1/2 1/2 0 X5 3/2 0 0 1/2 1/2 1 -1/2 -1/2 W 0 0 0 0 0 0 1 1 辅助规划所有检验数: 原问题已得一个初始基本可行解, 1 3 3 σ N =C N -C B N 0 minW=0 X=( , ,0,0, ) 45 2 2 2
  • 46. 由上表可知,通过若干次旋转变换,原问题的约束方程组已变 换成包含一个单位矩阵的约束方程组 1 1 1 x1 x 2 -x 3 2 x1 - x3 x4 2 2 2 -x1 x 2 -x 4 1 1 1 3 x 2 - x3 - x 4 x2 x5 3 2 2 2 xj 0, j 1,2,3,4,5 1 1 3 x3 x4 x5 2 2 2 xj 0, j 1,2,3,4,5 该约束方程组可作为第二阶段初始约束方程组,将目标函数则 还原成原问题的目标函数,可继续利用单纯形表求解。 46
  • 47. C -1 2 0 0 0 θ CB XB b x1 x2 x3 x4 x5 -1 X1 1/2 1 0 -1/2 1/2 0 1/2/ 1/2 2 X2 3/2 0 1 -1/2 -1/2 0 - 0 X5 3/2 0 0 1/2 1/2 1 3/2/ 1/2 Z 5/2 0 0 1/2 3/2 0 0 X4 1 2 0 -1 1 0 2 X2 2 1 1 -1 0 0 0 X5 1 -1 0 1 0 1 Z 4 -3 0 2 0 0 0 X4 2 1 0 0 1 1 2 X2 3 0 1 0 0 1 0 X3 1 -1 0 1 0 1 Z 6 -1 0 0 0 -2 T 可得最优解 X ,目标函数值maxZ=6, 0,3,1, 2, 0 与用大M法的结果完全相同。 47
  • 49. 例6、求解下列线性规划问题 minZ=3x1 +2x 2 +x 3 解: x1 x 2 x3 6 首先将问题化为标准型 x1 -x 3 4 令 Z' = -Z ,则 x 2 -x 3 3 maxZ' = -3x1 -2x2 -x3 x1 ,x 2 ,x 3 0 x1 +x 2 +x 3 +x 4 =6 x1 -x3 -x5 =4 maxZ' = -3x1 -2x 2 -x 3 -Mx 7 -Mx 8 x 2 -x3 -x6 =3 x1 +x 2 +x 3 +x 4 =6 xj 0, j=1,2, 6. x1 -x 3 -x 5 +x 7 =4 故引入人工变量 x 7 ,x 8, x 2 -x 3 -x 6 +x 8 =3 并利用大M法求解 xj 0, j=1,2, 8. 49
  • 50. C -3 -2 -1 0 0 0 -M -M θ CB XB b x1 x2 x3 x4 x5 x6 x7 x8 0 x4 6 1 1 1 1 0 0 0 0 6/1 -M x7 4 1 0 -1 0 -1 0 1 0 - -M x8 3 0 1 -1 0 0 -1 0 1 3/1 Z’ -7M -3+M -2+M -1-2M 0 -M -M 0 0 0 x4 3 1 0 2 1 0 1 0 -1 3/1 -M x7 4 1 0 -1 0 -1 0 1 0 4/1 -2 x2 3 0 1 -1 0 0 -1 0 1 - Z’ -6-4M -3+M 0 -3-M 0 -M -2 0 2-M -3 x1 3 1 0 2 1 0 1 0 -1 -M x7 1 0 0 -3 -1 -1 -1 1 1 -2 x2 3 0 1 -1 0 0 -1 0 1 Z’ -15-M 0 0 3-3M 3-M -M 1-M 0 -1 在以上最优单纯形表中,所有非基变量检验数都小于零,但在该表中人 工变量x7=1为基变量,所以原线性规划不存在可行解。 50
  • 51. 无最优解 无最优解与无可行解时两个不同的概念。  无可行解是指原规划不存在可行解,从几何的角度解释是指 线性规划问题的可行域为空集;  无最优解则是指线性规划问题存在可行解,但是可行解的目 标函数达不到最优值,即目标函数在可行域内可以趋于无穷大 (或者无穷小)。无最优解也称为有限最优解,或无界解。 判别方法:无最优解判别定理 在求解极大化的线性规划问题过程中,若某单纯形表的检验 行存在某个大于零的检验数,但是该检验数所对应的非基变量 的系数列向量的全部系数都为负数或零,则该线性规划问题 无最优解, m+k 0 X B =B-1b-B-1Pm+k x m+k Z=C B B-1b+σ m+k x m+k B-1Pm+k 0 x m+k 可以 Z 可以 51
  • 52. 例7、试用单纯形法求解下列线性规划问题: maxZ=2x1 +2x 2 解:引入松弛变量x3,x4化为标准型 x1 - x 2 -1 maxZ=2x1 +2x 2 1 - x1 x 2 2 -x1 x 2 x3 1 2 1 x1 0,x 2 0 - x1 x 2 +x 4 2 2 x j 0,j 1,2,3,4 因 1 = 2>0 C 2 2 0 0 θ -1 C XB B x1 x2 x3 x4 但 P1 = 1 0 - 0 X3 1 -1 1 1 0 2 0 X4 2 -1/2 1 0 1 所以原问题 Z 0 2 2 0 0 无最优解 52
  • 53.  退化解 当线性规划问题的基本可行解中有一个或多个基变量取零值时, 称此基本可行解为退化解。  产生的原因:在单纯形法计算中用最小比值原则确定换出变量时, 有时存在两个或两个以上相同的最小比值θ,那么在下次迭代中就会 出现一个甚至多个基变量等于零。 遇到的问题:当某个基变量为零,且下次迭代以该基变量作为换出 变量时,目标函数并不能因此得到任何改变(由旋转变换性质可知, 任何一个换入变量只能仍取零值,其它基变量的取值保持不变)。 通过基变换以后的前后两个退化的基本可行解的坐标形式完全相同。 从几何角度来解释,这两个退化的基本可行解对应线性规划可行域 的同一个顶点, 解决的办法:最小比值原则计算时存在两个及其以上相同的最小比 值时,选取下标最大的基变量为换出变量,按此方法进行迭代一定 能避免循环现象的产生(摄动法原理)。 53
  • 54. 例8、求解下述线性规划问题: maxZ=3x1 -80x2 +2x3 -24x4 x1 -32x 2 -4x 3 36x 4 0 x1 -24x 2 - x3 6x4 0 x3 1 xj 0,j 1,2,3,4 解:引入松弛变量 maxZ=3x1 -80x 2 +2x 3 -24x 4 x 5 ,x 6 ,x 7 化标准型 x1 -32x 2 -4x 3 36x 4 x5 0 x1 -24x 2 - x 3 6x 4 x6 0 x3 x7 1 xj 0,j 1,2,3,4,5,6,7 54
  • 55. C 3 -80 2 -24 0 0 0 θ CB XB b x1 x2 x3 x4 x5 x6 x7 0 x5 0 1 -32 -4 36 1 0 0 0 第一次迭代 中使用了摄动 0 x6 0 1 -24 -1 6 0 1 0 0 法原理,选择 0 x7 1 0 0 1 0 0 1 1 - 下 标 为 6的 基 Z 0 3 -80 2 -24 0 0 0 变量x6离基。 0 x5 0 0 -8 -3 30 1 -1 0 3 x1 0 1 -24 -1 6 0 1 0 0 x7 1 0 0 1 0 0 1 1 Z 0 0 -8 5 -42 0 -3 0 0 x5 3 0 -8 0 30 1 2 3 3 x1 1 1 -24 0 6 0 2 1 2 x3 1 0 0 1 0 0 0 1 Z 5 0 -8 0 -42 0 -6 -5 T 可得最优解 X 1,0,1,0,3 ,目标函数值maxZ=5, 55
  • 56.  无穷多最优解 无穷多最优解判别原理: 若线性规划问题某个基本可行解所有的非基变量检验数都小于等于零, 但其中存在一个检验数等于零,那么该线性规划问题有无穷多最优解。 例3:最优表: C 1 2 0 0 0 非基变量检验 θ CB XB b x1 x2 x3 x4 x5 数 , 0 x3 2 0 0 1 2 -1 2/2 所以有无穷多 4= 0 2 x2 3 0 1 0 1 0 3/1 最优解。 1 x1 2 1 0 0 -2 1 - Z’ 8 0 0 0 0 -1 最优解集为可行域两个顶点的凸组合: T T X (2,3, 2,0,0) (1 ) 4, 2,0,1,0 ,0 1. 56
  • 57. 改进单纯形法 改进单纯形法的特点 利用单纯形表求解线性规划时,每一次迭代都把整个单纯形表计 算一遍,事实上我们关心的只是以下一些数据: 基本可行解 X B =B-1b,其相应的目标函数值 , Z=C B B-1b 非基变量检验数 N =C N -CB B-1 N ,及其换入变量 ,k x 设 max σ j / σ j >0, j 为非基变量下标 =σk 主元列元素 B-1Pk ,及其换出变量 x, l 设 (B-1b)i (B 1b)l min /(B-1Pk )i >0, i为基变量下标 (B-1Pk )i (B 1Pk )l 利用它们可得到一组新的基变量以及新的可行基B1。 57
  • 58. X B =B-1b Z=C B B-1b N =C N -CB B-1 N B-1Pk 对任一基本可行解X,只要知道 B-1 ,上述关键数据都可以从 线性规划问题的初始数据直接计算出来。因此如何计算基本可行解 X对应的可行基B的逆阵 B-1成为改进单纯形法的关键. 改进单纯形法推导出从可行基B变换到B1时, -1到 B1 B -1 的变换公式。当初始可行基为单位矩阵Ι时,变换公式将更具有优越 性,因为这样可以避免矩阵求逆的麻烦 -1 以下推导从 B 到 B1 的变换公式: -1 58
  • 59. 假设当前基 B (P1 , P2 , , Pl 1 , Pl , Pl 1 , Pm ), 基变换中用非基变量 x k 取代基变量 x l 可得新基 B1 (P1 , P2 , , Pl 1 , Pk , Pl 1 , Pm ) 前后二个基相比仅相差一列,且 1 . 0 B-1B (B-1P1 , B-1P2 , , B-1Pl 1 , B-1Pl , B-1 Pl 1 , B-1 Pm ) .  . 0 . 1 m m 比较以上二式,可得 B-1B1 (B-1P1 , B-1P2 , , B-1Pl 1 , B-1Pk , B-1Pl 1 , B-1 Pm ) (e1 , e2 ,  , el 1 , B-1Pk , el 1 ,  em ) 其中 ei 表示第 i 个元素为1,其它元素均为零的单位列向量, B-1Pk 为主元列元素。 59
  • 60. B-1B1 (e1 , e2 ,  , el 1 , B-1 Pk , el 1 , em ) a'1k 第 l 列(换出变量 x l 对应列 ) a'2k  假设 B-1PK = , a'lk a'1k 1 - 0 a'lk 主元素  a'2k a'mk  - a'lk   则E (B-1B1)-1 1 lk a'lk 第l 行     a'mk 0 - 1 a'lk 所以由 E lk (B-1B1 )-1 B1-1B B1-1 Elk B-1 60
  • 61.  改进单纯形法的步骤 (1) 根据给出的线性规划问题的标准型,确定初始基变量和初始 可行基B。求初始可行基B的逆阵B-1,得初始基本可行解 X B =B-1b,X N 0 。 (2)计算单纯形乘子 π=C B B,得目标函数当前值 Z=C B B b=πb -1 -1 (3) 计算非基变量检验数 N =C N -C B B-1 N=C N -πN , 若σN≤0,则当前解已是最优解,停止计算;否则转下一步。 (4) 根据 max σ j /σ j >0 =σk ,确定非基变量 x k 为换入变量, 计算 B Pk ,若 B-1Pk ≤0,则问题没有有限最优解,停止计算, -1 否则转下一步。 61
  • 62. (B-1b)i (B-1b)l xl (5) 根据 min -1 -1 ,确定基变量 /(B Pk )i >0 = -1 (B Pk )i (B Pk )l 为换出变量。 (6) 用 Pk替代 Pl 得新基B1,由变换公式 B1-1 E lk B-1 计算新基的逆阵B1-1,求出新的基本可行解 其中 为变换矩阵,构造方法是: E lk 从一个单位矩阵出发,把换出变量 在基B中的对应列的单位 xl 向量,替换成换入变量 对应的系数列向量 xk ,并做如下变形, B-1Pk 主元素 (应在主对角线上)取倒数,其它元素除以主元素 a l' k 并取相反数。 ' a lk 重复(2)~(6)直至求得最优解。 62
  • 63. maxZ=CX ① 初始基 B=I AX=b X B =B-1b,X N 0 X 0 ② π=C B B -1 ③ ≤0 Z=πb 最优解 N =C N -πN max σ j /σ j >0 =σk ④ B1-1 E lk B-1 换入 x k ⑥ ≤0 ⑤ 新基 B1 换出 x l B-1Pk 无界解 (B-1b)i -1 (B-1b)l min -1 /(B Pk )i >0 = -1 (B Pk )i (B Pk )l 63
  • 64. 例9、试用改进单纯形法求解 maxZ=3x1 +2x 2 解: x1 +x 2 +x 3 =40 C=(3,2,0,0) 2x1 +x 2 +x 4 =60 1 1 1 0 40 x1 ,x 2 ,x 3 ,x 4 0 A= b= 2 1 0 1 60 (1)观察法确定 1 0 B0 =(P3 P4 )= , x 3 ,x 4 为基变量 x 1 ,x 2 为非基变量 0 1 -1 1 0 -1 1 0 40 40 B 0 , XB =B b= 0 = , X0 (0, 0, 40, 60)T 0 1 0 1 60 60 64
  • 65. 1 1 1 0 40 C=(3,2,0,0) A= b= 2 1 0 1 60 1 0 (2)计算单纯行乘子 π0 =CBB (c3 ,c 4 )B (0, 0) (0, 0) -1 -1 0 0 0 1 目标函数当前值 40 Z0 = π0 b = (0,0) 0 60 (3)非基变量检验数 1 1 σ N =C N -π 0 N=(c1 ,c 2 )-π 0 (P1P2 )=(3,2)-(0,0) = (3, 2) 2 1 (4) 选择换入变量 1 2 max σ j /σ j >0 = 3,2 =3 1 0 1 1 故 x为换入变量。计算 1 -1 B P 0 1 0 0 1 2 2 65
  • 66. C=(3,2,0,0) 1 1 1 0 40 -1 40 1 A= b= XB =B b=0 -1 B P 0 1 2 1 0 1 60 60 2 (5)确定换出变量 B0 1b B0 1b 40 60 60 3 4 min , , B0 1P1 B0 1P1 1 2 2 3 4 确定 x 4 为换出变量,主元素=2 1 1 (6) 用 P1 代替 得新可行基 P4 为基变量, x 3 ,x1 B1 =(P3 ,P1 )= 0 2 -1 -1 1 1 为非基变量, x 2 ,x 4 2 1 0 2 B1 = E 41B-1 = -1 0 = -1 1 0 1 1 1 0 1 1 1 0 0 2 2 2 0 1 0 2 1 0 2 重复以上步骤,进入第二循环 66
  • 67. C=(3,2,0,0) -1 1 1 1 1 0 40 1 1 -1 2 B1 =(P3 ,P1 )= B1 = A= b= 1 2 1 0 1 60 0 2 0 2 1 1 (1) -1 2 40 10 X B =B b= 1 , X1 (30, 0,10, 0)T 1 60 30 0 2 1 1 (2) 2 3 π1 =CB B-1 1 (c3 ,c1 )B -1 1 (0, 3) (0, ) 1 2 0 2 3 40 Z1 = π1b = (0, ) 90 2 60 (3) 3 1 0 1 3 σ N =C N -π1N=(c 2 ,c 4 )-π1 (P2P4 )=(2,0)-(0, ) =( , - ) 2 1 1 2 2 2 4 67
  • 68. C=(3,2,0,0) 1 1 1 0 40 1 1 -1 10 A= b= B1 =(P3 ,P1 )= X B =B b= 1 2 1 0 1 60 0 2 30 1 1 1 (4) 选择 换入变量 x2 2 1 2 -1 B1 P2 0 1 0 1 1 1 0 1 0 2 2 B1 1b B1 1b 10 30 10 (5) 3 1 min , , 1 B1 1P2 B1 1P2 1/ 2 1/ 2 1/ 2 0 3 1 2 -1 1 1 选择 换出变量,主元素= x3 (B1 P2 )3 1 2 2 1 1 (6) 用 P代替 2 得新可行基 P3 B2 =(P2 ,P1 )= x 2 ,x1 1 2 为基变量, -1 2 0 1 为非基变量, x 3 ,x 4 -1 -1 2 0 2 = 2 -1 -1 1 B2 = E 32 B1 = 1 1 1 -1 1 进入第三循环. 0 68 2
  • 69. C=(3,2,0,0) 1 1 1 0 40 1 1 -1 2 -1 A= b= B2 =(P2 ,P1 )= 1 2 B = 2 2 1 0 1 60 -1 1 2 1 40 20 (1) XB =B b=-1 , X2 (20, 20, 0, 0)T 2 1 1 60 20 (2) 2 1 π 2 =CBB2 (c 2 ,c1 )B2 (2,3) -1 -1 (1, 1) 1 1 40 Z2 = π 2 b = (1,1) 100 60 1 0 (3) σ N =C N -π 2 N=(c3 ,c 4 )-π 2 (P3P4 )=(0,0)-(1,1) =(-1, -1) 0 1 非基变量对应的检验数全部非正, 3 4 故当前解 即为最优解, X 2 =X* =(20, 20, 0, 0)T 相应的目标函数最优值 。 maxZ 100 69