单纯形法之单纯形表
- 格式:ppt
- 大小:133.00 KB
- 文档页数:3
单纯形法表的解题步骤单纯形法表结构如下:j c →对应变量的价值系数i θB Cb Xb1x 2x 3x " j x基变量的价值系数基变量 资源列θ规则求的值j σ检验数①一般形式若线性规划问题标准形式如下:123451231425max 23000284164120,1,2,5j z x x x x x x x x x x x x x j =++++++=⎧⎪+=⎪⎨+=⎪⎪≥=⎩"取松弛变量345,,x x x 为基变量,它对应的单位矩阵为基。
这样就得到初始可行基解:()()00,0,8,16,12TX =。
将有关数字填入表中,得到初始单纯形表,如表1-1所示:表 1-1 ()()00,0,8,16,12TX =j c →2 3 0 0 0i θB C b X b1x 2x 3x 4x 5x0 3x 8 1 2 1 0 0 4 04x16 4 0 0 1 0 -5x12 0 [4] 0 0 1 3j σ2 3 0 0 0若检验数均未达到小于等于0,则对上表进行调整。
选择上表中检验数最大的列,该列对应的非变量为入基变量;再应用θ规则该列对应的各基变量对应的θ值,选出其中最小的一行,该行对应的基变量为出基变量。
修改单纯形表,对各行进行初等变换,确保基变量组成的矩阵为单为矩阵。
修改后的单纯形表如表1-2所示:表 1-2 ()()10,3,2,16,0TX =检验数12,0σσ>,则进行继续调整,调整后的单纯形法表如表1-3所示:表 1-3 ()()22,3,0,8,0TX =表1-3中, 50σ>,则继续进行调整,调整结果如表1-4所示:表 1-4 ()()34,2,0,0,4TX =检验数0j σ≤,这表示目标函数值已不可能再增大,于是得到最优解:()()3*4,2,0,0,4TX X ==*14z =②带人工变量现有线性规划问题:12312312313123min 321142321,,0z x x x x x x x x x x x x x x =−++−+≤⎧⎪−++≥⎪⎨−+=⎪⎪≥⎩ 将上述线性规划问题用大M 法求解,在约束条件中加入松弛变量4x ,剩余变量5x ,人工变量6x ,7x 得到:1234567123412356137min 300211423210,1,2,,7j z x x x x x Mx Mx x x x x x x x x x x x x x j =−++++++−++=⎧⎪−++−+=⎪⎨−++=⎪⎪≥=⎩"其中,M 是一个任意大的正数。
•单纯形计算过程特别说明
1. 如何从单纯形表判断最优解
1)唯一最优解判别:最优表中所有非基变量的检验数大于零,则线性规划具有唯一最优解.
2)多重最优解判别:最优表中存在非基变量的检验数为零,则线性规划具有多重最优解(或无穷多最优解).
<0且a ik≤0(i=1,…,m)则线性规划具有无界解.
3)无界解判别:某个σ
k
4)无可行解的判别:当用大M单纯形法计算得到最优解并且存在Ri>0时,则表明原线性规划无可行解.
5)退化解的判别:
a)存在某个基变量为零的基本可行解;
[此时可能出现循环迭代而永远找不到最优解.该情况是由比值相同造成的.可以证明:当出现比值相同时,按下标最小的基变量作为换出变量可避免出现循环,具体可参阅有关文献];
b)人工变量在最优表的基中,但人工变量的取值为零.
[此种情况是由于存在多余约束(A不行满秩)造成的,可通过消去多余约束加以解决]
3. 计算过程需要特别注意的问题:
在确定了进基变量和出基变量,即确定主元后,单纯形变换的计算方法:
1)主元所在的行所有元素除以主元值,将主元变换成1;
2)用主元行的合适倍数加至其它各行(此时,改变的是其它各行,而主元行不发生变化!),以将主元列除主元外的其它元素变换成零。
注:采用以上变换方法(而不是任意初等变换)是为了保证:原来在基中并为发生改变的基变量,在变换计算后其对应的基向量不能发生改变。
也就是说:在任何时候,单纯形表中的所有基向量构成的矩阵均为单位矩阵!。
第3章05单纯形表法同学们大家好,前面我们讲了单纯形法的原理,它的整个过程看似很复杂,但实际上,单纯形法的全部计算过程,可以简单地在一张类似增广矩阵的表格上进行,这种表格我们称为单纯形表,所以,今天我们就来学习线性规划模型的单纯形表法。
给定一个可行基,可以画出一张单纯形表。
单纯形表的行标是n个变量以及右端项b,列标是m个基变量以及检验数行σ。
所以,用矩阵的形式把它表示出来,就如下表所示我们注意到,像B,所以,是与原方程组等价的。
最后一行是检验数C-C B B-1A,右下角是-C B B-1b,它恰好是这个基B所对应的可行解的目标函数值的相反数。
用单纯形表法求解线性规划模型时,有下面的步骤:单纯形表法求解线性规划问题的步骤:Step1.转换一般的线形规划模型为标准型,并写出A,b,C。
Step2找初始基本可行解,写出B,B-1,X B,C B。
Step3计算单纯形表中的各矩阵B-1A,B-1b,C-C B B-1A,-C B B-1b,并构造初始单纯形表。
Step4判断基本最优解。
Step5换基迭代,返回Step4。
第一步是将一般的线性规划模型转化为标准形,并写出约束矩阵A,右端项b,以及价值向量C。
第二步,找初始的基本可行解。
根据上一讲单纯形法的原理,你要注意的是,我们总是从约束矩阵A里面选一个单位阵出来作为初始基,在右端项非负的条件下,这样选出来的单位阵一定是可行基,也就是找到了初始的基本可行解。
而如果约束矩阵A中没有单位阵,我们将会通过引入人工变量构造出一个单位阵,这种构造方法我们将在后面进行详细介绍。
初始基选出来之后,我们就能写出B,B-1,以及基变量X B和基变量所对应的价值向量C B。
第三步,计算B-1A,B-1b,C-C B B-1A,-C B B-1b,这样就可以把初始单纯形表写出来。
第四步,判断当前的基本可行解是不是最优解?按照我们上一讲介绍的单纯形法的原理,如果检验数行中所有的检验数都小于等于0,当前的基本解就是最优解;如果有一个非基变量的检验数是正的,而且它所对应A中的列的项都小于等于0,那么这个时候是无界解。
三、单纯形法的解题步骤第一步:作单纯形表.)(1)把原线性规划问题化为标准形式;)(2)找出初始可行基,通常取约束方程组系数矩阵中的单位矩阵;)(3)目标函数非基化;)(4)作初始单纯形表.第二步:最优解的判定.(1) 若所有检验数都是非正数,即,则此时线性规划问题已取得最优解.(2) 若存在某个检验数是正数,即,而所对应的列向量无正分量,则线性规划问题无最优解.如果以上两条都不满足,则进行下一步.第三步:换基迭代.,并确定所在列的非基变量为进基变量.(1)找到最大正检验数,设为(2)对最大正检验数所在列实施最小比值法,确定出主元,并把主元加上小括号.主元是最大正检验数所在列,用常数项与进基变量所对应的列向量中正分量的比值最小者;替换出基变量,从而得到新的基变量.也就是主元所在(3)换基:用进基变量(4)利用矩阵的行初等变换,将主元变为1,其所在列其他元素都变为零,从此得到新的单纯形表;(5)回到第二步,继续判定最优解是否存在,然后进行新一轮换基迭代,直到问题得到解决为止.例3 求.解(1)化标准型:令,引进松弛变量,其标准型为求(2)作单纯形表:在约束方程组系数矩阵中的系数构成单位矩阵,故取为基变量,目标函数已非基化了,作初始单纯形表并“换基迭代”(见表6.8).表 6.8(3)最终结果:此时检验数均为非正数,线性规划问题取得最优解,最优解为标函数取得最优值.目性规划问题的最优解为:.原线目标函数的最优值为14,即.例4 用单纯形方法解线性规划问题.求.解此数学模型已是标准型了,其中约束方程含有一个二阶单位矩阵(1、2行,3、4列构成),取为基变量,而目标函数没有非基化.从约束方程找出,,代入目标函数, 经整理后,目标函数非基化了.作单纯形表,并进行换基迭代(见表6.9).最大检验数,由最小比值法知:为主元,对主元所在列施以行初等变换,基变量出基,非基变量进基.表 6.9目前最大检验数,其所在列没有正分量,所以该线性规划问题没有最优解.例5用单纯形方法解线性规划问题.求解此数学模型已是标准型了,其中约束方程含有一个二阶单位矩阵,取为基变量,而目标函数没有非基化.从约束方程找出,,代入目标函数,经整理得,目标函数已非基化.作单纯形表,并进行换基迭代(见表6.10).最大检验数,由最小比值法知:为主元,对主元所在列施以行初等变换,基变量出基,非基变量x2进基,先将主元化为1,然后再将主元所在列的其他元素化为零.表 6.10至此,检验数均为非正数,故得基础可行解.原问题的最优解为:.最优值为6,即.如果我们再迭代一次,将基变量出基,非基变量进基(见表6.11).表 6.11可得到另一个基础可行解,原问题的最优解为:,最优值仍为6,说明该线性规划问题有无穷多最优解,其最优解均为6.如何知道线性规划问题有无穷多最优解呢?这主要反映在单纯形表中.如果非基变量所对应的检验数为0,我们可对此列继续进行换基迭代,就可以得到另一个基础可行解.以此作下去,可得到许多基础可行解,即相对应的最优解有无穷多个.(4) 011 0。
单纯形法一、单纯形法的原理线性方程组的解:⎩⎨⎧=----=+-+-4322425432154321x x x x x x x x x x (1) 5个未知数,两个方程组。
方程的解多于1个。
两种初等变换:51)方程组的任一方程乘上一个不为零的数。
2)方程组的任一方程两边同乘上一个常数,分别加到另一个方程的两边。
式(1)做变换得到:(①×-1)⎩⎨⎧=-+-=+-+-2322242543254321x x x x x x x x x (2) 式(2)做变换得到:(②×2)⎩⎨⎧=-+-=---232642354325431x x x x x x x x (3)方程组(1)、(2)、(3)同解,可令0543===x x x 。
得到:61=x ,22=x 。
选择3x ,4x ,5x 不同的值,相应地有不同的1x 和2x 的值,因此方程组有多组解。
基本变量:如果变量i x 的系数在某一个方程为1,而在其它所有方程为0,则称i x 为该方程组中的基本变量。
非基本变量:凡不是基本变量的变量都叫做非基本变量。
1x ,2x 为基本变量;3x ,4x ,5x 为非基本变量。
旋转运算:运用初等变换,可使一给定变量化为基本变量,这一运算,成为旋转运算。
基本变量的个数,与方程的个数相同。
基本解:设非基本变量为0,求得相应的基本变量的值,得到一组解,这组解称为基本解。
基本可行解:基变量的值为非负时的基本解称为基本可行解。
单纯形法的思路;1)先不考虑目标函数,从满足约束条件开始,寻求一个初始基本可行解; 2)求具有较佳目标函数值的另一个基本可行解,以改进初始解;3)对目标函数做有限次的改善。
当某一个基本可行解不能再得到改善时,即求得最优解,单纯形法结束。
二、单纯形算法例:54321325max x x x x x Z +-++= 约束条件为:⎪⎩⎪⎨⎧≥≥≥≥≥=+++=+++0,0,0,0,0743********53214321x x x x x x x x x x x x x (5) 以上线性规划问题中,具有: 1)全部变量非负;2)全部约束条件都是等式;5 3)右端常数都是正的。