一、单纯形法的基本思想
从一个基本可行解出发,求一个使目标函数值有所改善(指让目标函数减小)的基本可行解;通过不断改进基本可行解,力图达到最优基本可行解。
二、基本可行解
一般线性规划问题总可以写成下列标准形式:
其中是
矩阵,
是
维行向量,
是
维列向量。对矩阵进行分块:
,其中
是
阶可逆矩阵,一般情况下,
,不然则方程无解;如果
的秩小于
,则多项式有多余行;如果不是可逆矩阵,那么可以通过列变换化为可逆矩阵。
同时记:
其中与
对应,
与
对应。这样可以把
写成:
由于可逆,(2.2)可以写为:
取不同的值,那么方程有不同的解。如果我们令
,得到
并把这个解称为方程组的基本解。如果
则称(2.4)为约束条件
的基本可行解。特别的,如果
或者
,即
为单位矩阵,那么
,所以(2.4)可以化为:
这个讨论单纯形法到单纯形表的时候会用上。
三、单纯形法的原理
我们接下来讨论如何从一个基本可行解(已知),求另外一个基本可行解。
令
我们已知一个基本可行解:
处的目标函数值
设
是任意一个可行解(满足约束条件的解)。此处的目标函数值为:
把公式(2.3)带入:
其中把写成列向量的形式,并且
是
的下标集合,有
个。
由于未知,所以可能存在使(其中
和
是标量)
的情况。我们再假设中有一项
,其他项
(都为0),为使目标函数尽可能快速减小,
越大越好,这样减少的快,当然如果是负数,那么由于
,目标函数就不会减少了,此处就为最优解。我们把
取在
最大处:
那我们取值取多少呢?由公式(2.3)可以得到:
其中和
是
维列向量(而且都是常量),写成分量形式:
由于的每个分量都非负,而且
时,
将不受限制,我们取
时所以:
所以可以看出比所有的
都要小,最大可以取到它们之中最小的,由于
越大,目标函数下降的越快,所以:
此时,把的值带入公式(3.6)可以得到:
表明的前
项中有一项为
:
恰好这个可行解的形式与基本可行解的形式一样,经证明(略),这也是基本可行解。此时,从一个基本可行解,到了另外一个基本可行解,而且,目标函数值减少了
。
重复上述过程即可抵达最优基本可行解。
四、单纯形法到单纯形表
单纯形法可以计算出最优解基本可行解,但是不方便检查,下面介绍单纯形表。 线性规划标准形式(公式(2.1))可以改写成下面的形式:
对公式(4.1)进行整理,可以得到:
我们把公式(4.2)写成矩阵的形式:
如果我们令,公式(4.2)可以简化为:
公式(4.3)可以简化为:
我们把公式(4.3)矩阵部分整理成表1:
| 对应 |
右端 | |||
|---|---|---|---|---|
| 0 | ||||
| 1 | 0 |
根据公式(3.3)可以知道
这个就是公式(3.5)所需的,用来确定的位置的, 从这个表中我们也可以得到
和
,用来确定
的大小的。
其实我们从公式(4.3)、加上第二部分结尾所说,可以得到,如果是单位矩阵
,或者整个系数矩阵
中出现了可以组成单位矩阵的
列,那么我们可以方便的找到一个基本可行解,并且得到他的目标函数值。我们从表格中得到了大小和位置,然后进行矩阵行变换,把
所在列化为基向量的形式(如
),就可以得到另外一个基本可行解。 这样就是如何从单纯形法到单纯形表。
五、补充说明矩阵变换不会改变多项式的结构
比如这样一个多项式:
对多项式进行行变换(比如第一行加第二行)不会改变多项式的解。