线性规划的单纯形算法.ppt
《线性规划的单纯形算法.ppt》由会员分享,可在线阅读,更多相关《线性规划的单纯形算法.ppt(104页珍藏版)》请在三一办公上搜索。
1、第三章 单纯形法,3.1 单纯形法原理,求解线性规划的单纯形方法(Simplex Method)是美国GDDantzig在1947年提出来的。是一种有效的实用算法。单纯形法是根据线性规划的基本原理,在基可行解上进行迭代的一种算法。此方法的特点是:将线性规划化为标准形,从一个初始基可行解开始迭代,使之改进得到另一个基可行解。每迭代一次,目标函数值绝不会变小,如果非退化,目标函数值就严格增大。若有最优解,经有限次迭代就得到基本最优解。标准形式线性规划问题求解的主要途径是通过枢轴运算把约束方程组变为典范型来进行的。这个过程实质上就是古典的高斯-约当消去法求解线性规划的过程。,下列运算可以将一组线性方
2、程变换为另一组等价的线性方程。将一个方程 乘上一个常数k(k0)将方程 用 替换这样的运算称为线性方程组的初等变换,或称为基本行运算。下面分别说明枢轴运算(Pivot Operation)和典范型(Canonical form),一 枢轴运算 枢轴运算就是通过一系列的基本行运算,使某一选定的变量在方程组的某一方程中系数是1,而这个变量在其他方程中的系数均为0 具体步骤是:,例:在下列方程组 中对变量 进行枢轴运算:解:选 中2 为枢轴项,在方程Er的s列中选取arsxs作为枢轴元素,条件是 枢轴元素所在的行称为枢轴行,枢轴元素所在的列称为枢轴列。将方程Er除以,使枢轴元素系数为1。对方程 以外
3、的方程,用 来代替。,将 除以2化为:对 进行基本运算:即以 代替 得:对 进行基本运算:即以 代替 得:,二 典范型线性方程组:,对n个变量m个方程的线性方程组可以通过对各个基变量逐一进行枢轴运算,将这m 个基变量的系数距阵变换成mxm单位阵。这样的等价线性方程组就是典范型线性方程组。,这样就可以直接求出一个基本解:如果常数项均非负,则得到的就是基本可行解。用矩阵符号表示就是:约束方程为:Ax=b 变量分成基变量 和非基变量 两部分系数距阵中相应分成B和N两块。即A=(B;N)则约束方程组可以写成:左乘以 得:即当非基变量取0时,则基变量的解为,由于基本解最多有 个,因而基可行解也不超过 个
4、。如果全部的基可行解找出来了,就有可能求出最优基本解。但这样做是不能实现的。单纯形法(Simplex Method)就是沿一个初始基可行解出发,找出下一个更优的基可行解,而不找所有的基可行解。,三 单纯形法的一般步骤,如果线性规划问题存在可行解,就可以找出一个基可行解,作为初始可行解。为寻找基可行解,约束方程组以典范型方程组表示。如果线性规划问题不存在可行解(约束条件有矛盾)则由找基可行解的过程可以得知问题无解。,以中找到的基可行解为起点,找出具有较佳目标值的另一基可行解。这一步骤称为迭代。重复。直到目标函数再也不能改善,就得到问题最优解。若问题的最优解是无界的,在迭代过程中就可以知道问题有无
5、穷解,终止迭代。,解:这是一个标准形线性规划问题,可以化为等价的典范型方程组:,令,由上述典范型方程组直接得到一个基本解。显然这个基本解是可行解。相应目标函数值为现在要判断一下这个目标函数的值是否能改进,故换基变量就可能获得另一个基本可行解和相应的目标函数值。这样可用 或 来取代 或 成为基变量,因此目前的基本可行解有许多相邻的基本可行解。,单纯形法就是在得到一个基本可行解后,在它的相邻基可行解中选取能使目标函数值最大程度改进的基本可行解。,例如,现在考虑非基变量,假定 增加一个单位,而其余的非基变量暂不考虑,仍为0。则约束方程可表示为:由第一个方程可见,由01,则 由108。由第二个方程可见
6、,由01,则 由63。因此在满足上述方程组的条件下,增加1得到新可行解为:,选取的原则是看哪一个非基变量改为基变量后能够使目标函数有更多的改进。具体地,可以在满足方程组的情况下,分别将各非基变量增加一个单位。比较目标值由此发生的变化,从而选取能使目标函数值有最大增加的非基变量作为新的基变量。,相应的目标值为:z=25所以 x 3 增加1个单位,目标函数z的变化值为:z的旧值-z的新值=22-(25)=-3 称这个值为非基变量x 3 的检验值(判别数)。因为可以用它来判别把x 3 改为基变量后,能否改进目标值。这个检验数的绝对值有时也称为相对收益系数。由于检验数为负,增加x 3可以增加目标函数值
7、。这证明目前的基可行解不是最优解,如将x 3改为基变量就可以改进目标值。类似的可以算 x 4,x 5 的检验数。比较所得到的几个检验数,决定把哪个非基变量换为基变量对目标函数的改进有利。检验数也可以用消去目标函数z中x 1,x 2的代入法来得,由此可知当取x 1和x 2为基变量时,x 3,x 4,x 5的检验数分别为-3,0和-2。目标值为22。x 3,x 4或x 5每增加一个单位,z的值就相应增加3,0,个单位,所以把x 3作为新基变量对改进目标函数最有利。现在的问题是x 3增加多少仍能满足约束条件,仍然以x 4,x 5 作非基变量。这时约束条件为:,从第一个方程看,最多增到,若再大,成为负
8、值。,从第一个方程看,最多增到,若再大,成为负值。,因此为保证 最大增加值由这两个值中较小的一个来决定。即:,当 由02后,新的目标值为z=28。,这个目标值的改进是通过将非基变量 改为基变量,而基变量 改为非基变量得到的。,新引进的非基变量称为进基变量。换出的基变量则称为出基变量。选择进基变量的原则一般可以按负检验数绝对值大的先进基。选择出基变量的原则是最小比值原则。一般先决定进基变量,再决定出基变量。,当前得到的基可行解是否已最优还要重复上述算法,重新计算在目前的基可行解中所有非基变量的检验数。如果检验数中至少有一个负数,那么就可以得到另一个相邻基本可行解能使目标函数值进一步有所改进。重复
9、这一过程,直到所有检验数都不为负值。则此时的基可行解就是最优解。用 来表示非基变量 的检验数,以 表示检验数组成的向量。注意一般在线性规划中,检验数取下面形式:,定义1:对于基B,称 为基B的判别数。,四 判别数,最优判别定理,设 是(SLP)的一个基变量,对应C中的系数 构成m维向量,判别数也可以用向量及距阵表示。因为,(注意:有些教科书书定义。则下面表中计算时作相应变化。)下面我们来用表格形式说明如何计算判别数。作形如下面的表格。,定理1:设B是(SLP)的一个基,若满足 且CBB-1A-C=0,则对应基B的基可行解就是最优解。(称为基本最优解,基B称为最优基),证明:因。表明基变量取非负
10、值。则基B对应的基本解为基本可行解。记为,其目标值记为又设 是(SLP)的任意可行解,即则目标值 要证 是基本最优解,只须证明。用基B的单纯形乘子 乘 两边得:,_,是最优基本解。,解:第一步,将(LP)问题化为(SLP)问题。第二步,作下面形式的单纯形表(开始只能写出左上部表格),3.2 表格单纯形方法,我们先举个实例说明怎样用表格形式单纯形法解线性规划问题。例:,第三步,第六步,对选定的入基变量 xj,考虑 取,对应的变量 x2 作为出基变量,第七步,这样得到一组新基x1,x 3,对应的单纯形表如下(利用枢轴运算得下表粗线以上部分),(每迭代一次要计算一次),由上例我们可以归纳出单纯形算法
11、的步骤如下:1 用标准形式表示问题2 从含有初始基可行解的典范型方程组开始建立初始单纯形表示(注:对不易找到初始基的问题,将专门讨论)3 应用内积规则求检验数,反复进行上述步骤,直到各检验数均非负值,即可得到基本最优解,上面得到原问题最优解为:,4 在某次迭代中如果所有j均非负值,则原基可行解即为最优解,算法终止。,5 如有j为负值,选取j绝对值最大的一列为枢轴列,使这一列对应的变量为进基变量。6 应用最小比值规则,决定枢轴行,使这一行的基变量出基。最小比值原则就是指,若进基变量为xr。r列的系数为,7 进行枢轴运算,获得新的单纯行表.返回第三步.以上算法是针对极大化问题而言的,如在化标准型时
12、不将极小化问题转化为极大化问题,同样可以利用上述单纯行表形式求解,只要将检验数的判别准则改变一下符号就可以。,解:利用单纯形表迭代得,例2.求解线性规划,解:对后面两个约束方程引进松弛变量x5,x6化为:,例3,列出初始单纯形表并进行迭代得:,解:列单纯形表迭代过程如下:,例4.,作业:,这个结论说明了我们为什么可以只考虑非基变量的检验数,关于判别数的讨论,1.如果所有判别数。则由定理1(最优性判别定理)知当前的初始基本可行解是最优解,计算步骤终止。2.如果 可构造新的可行解.先证明一个结论:基变量对应的检验数:,下面再分两种情形讨论:,定理2.设B是(SLP)的一个可行基,若某非基变量 的判
13、别数 且。则此(SLP)问题的目标函数无上界无最优解.(定理中的判别数 不一定是最小判别数,).这个定理我们已经在上面作过讨论,下面再进行一次证明.,(SLP)的目标函数无上界,因而问题无最优解。,的其他坐标对应于非基变量坐标时:,解:引进松弛变量x4,x5化为,列出初始单纯形表并进行迭代过程如下:,例2.解线性规划,其中:1=-9的这一列元素均为负数,因此原问题不存在有界最优解。,关于单纯行的迭代公式:先回顾单纯形表格形式(SLP),单纯形表实际上就是基B典则形式的一种表格表示方式,由此表立刻可以写出关于基B的典则形式来:,单纯形表就是把非基变量看作参数,表示出基变量和目标函数时的系数矩阵。
14、下面我们说明为什么上面典则形式中目标函数可以表示成:,若对所有非基变量的检验数,则无论将哪个非基变量换为基变量都不可能将目标函数值增加,因而此时的基可行解即为最优。,由上式我们再次看到算法终止准则的正确性.,根据前面有关讨论,在单纯形法每一步迭代中,都要作下面三种判断之一,以确定算法是终止还是继续。,1.如果所有判别数(j=1n)由最优判别定理1知B是最优基,则求出了最优基本解,步骤终止。,2.如果存在 且。由定理2知问题的目标函数无上界,无最优解,步骤终止。,3.如果有 且 有正分量,这时进行枢轴运算,寻找新的基可行解。,如果以 为极轴,出基 入基,我们已经证明了B=()是新基,它与B只有一
15、列不同。下面来给出枢轴运算公式:(说明以下公式对于计算机编程的实用性),这样对于新基B,是非基变量,是基变量。记B的非基变量下标集合为J 它与J只有一个元不同(以 代替J中k就得J)由于 在基B下是基变量,因此在典则约数方程 中 的系数是单位向量 在第i 方程中 的系数为.而在第i方程中为,为使 右端非负,即,这再次说明了极轴元 的选取必然是 中正元且行标l的选取由()最小比值准则决定。否则做枢轴运算后基变量可能为负值,从而不能保证新的基本解就是基本可行解。,下面进一步导出迭代前后可行基B以及B对应各值之间迭代关系式。是基B的单纯形表中各值。用 表示基B的单纯形表中各值,则B的典则形式的m个等
16、式约束应为:()将()与()()对比可得去:,对于目标函数值:,再看判别数变换:因 其中,则上面变换公式(1)(2)(3)可以统一成下面的枢轴运算公式:,现在我们将单纯形表中所有数据统一成 的符号。,记基变量取值记判别数记目标函数值,这个公式可采用下面的直观记忆方法:,注意到基变量所在各列是单位向量,除对应于该基变量的行的元素为1外,其余元素为0,那么计算将更简便,特别在计算机中往往可以不写基变量各列以节省内存。,那么当 的k不止一个时,怎样确定入基变量呢?理论上讲任选一个k就行了,但人们往往希望越大越好而目标函数增大值为:因此我们希望选取 k 使(5)使右端极大,但是:,综上所述,假定基B对
17、应了非退化的基可行解,即 若存在 及,则可产生一个新的基本可行解使目标函数值增大。,这样寻找k需要进行很大量的额外计算是不值得的。通常用求 最小的办法来代替(5)式极大,即取,(前面公式),经验表明,这样选取的 k 效果良好,能用较少的迭代次数求得最优解。我们前面曾经指出单纯形算法是在极点上进行迭代的过程。下面将不加证明地给出一个定理说明对于非退化的基本可行解,迭代是沿着可行域的相邻极点进行迭代。为此先给出相邻极点的概念。定义3:设 是n维欧氏空间中多面凸集R的不同两点,Z是以 为端点的线段上的任一点,当它能表成R中异于Z的两点的出组合 即,则 都在以 为端点的线段上。那么称 是R的相邻极点。
18、,我们再来综述一下前面所讲的内容:如果有一个(LP)问题,且非退化,当能找到它的一个可行基B后,就一定可以解决这个(LP)问题了。因为可行基B必属于下述情况之一:(1)可行基B满足最优性判别条件,即判别数均非负,则终止迭代。(2)可行基的判别中有,且 则目标函数无上界,无最优解。,定理3:在单纯形迭代中,如果从极点 迭代到下极点,且 非退化,则 是相邻极点。,由于假定每次迭代得到的基本可行解都是非退化的,故每迭代一次目标函数值增大了(因为:基可行解非退化)则,(3)可行基B的判别数中有 且 中有正分量,这时由单纯形法可得出新的可行基(B与 对应的基可行解是相邻极点),因此,当我们得到了线性规划
19、问题的一个可行基B之后,首先要检查是否属于情形(1)或(2)。是(1)则找到了一个最优解,是(2)断定此(LP)无最优解。这时问题都已解决了。如果是情形(3),作枢轴运算,再检查 B1是否情形(1),(2)。否则再作枢轴运算可行基B2 B3.,等。,定理4:对于(SLP)如果从一个非退化的基可行解开始迭代,且假定每次迭代中出现的基可行解均是非退化的,则单纯形算法必在有限次迭带后终止于下列两种情形之一:或者判断线性规划目标函数无上界而无最优解;或者得到了一个基本最优解。,则 即目标函数值在相邻迭代点上严格增大)。这样前面出现过的可行基后面将不再出现,而基的个数及基本可行解的个数是有限的,因而经过
20、有限次迭代后必然得到一个可行基 满足(1)或(2),也就是说,经有限次迭代后就解决了这个线性规划问题。这样我们就得出了单纯形法的收敛定理:,则 而,步骤1:(检查最优性条件是否成立)若判别数则已求得最优解,其基变量取值为:否则,转入步骤2。,下面我们再次归纳一下单纯形算法的步骤,并举例说明。,当找到(SLP)的一个可行基B及其对应的单纯形表后,可按下面步骤进行迭代:,步骤3:若 则终止迭代,目标函数无上界,无最优解。否则转入步骤4。,步骤2:求k使:,步骤4:求l使,计算出新的单纯形表,返回步骤1。,步骤5:以 为主元进行枢轴运算。由公式,例:用表格形式单纯形法求解,解:首先引进松弛变量,取初
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性规划 单纯 算法
链接地址:https://www.31ppt.com/p-6014179.html