《运筹学第二单纯形法课件.ppt》由会员分享,可在线阅读,更多相关《运筹学第二单纯形法课件.ppt(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关于运筹学第二单纯形法1现在学习的是第1页,共73页2一、基础定理一、基础定理定理定理1 若线性规划问题存在最优解,则问题的可行域是凸集。若线性规划问题存在最优解,则问题的可行域是凸集。定理定理2 线性规划问题的基本可行解对应线性规划问题可行域线性规划问题的基本可行解对应线性规划问题可行域(凸集)的顶点。(凸集)的顶点。定理定理3 若线性规划问题最优解存在,则最优解一定在可行域顶若线性规划问题最优解存在,则最优解一定在可行域顶点处取得。点处取得。由此可看出,最优解要在基本可行解(可行域顶点)中找。由此可看出,最优解要在基本可行解(可行域顶点)中找。现在学习的是第2页,共73页3v 若若LP问题
2、有最优解的话,定在可行域的问题有最优解的话,定在可行域的某顶点处达到,又,一个顶点对应一个基本某顶点处达到,又,一个顶点对应一个基本可行解,一个自然的想法是:找出所有的基可行解,一个自然的想法是:找出所有的基本可行解。本可行解。v因基本可行解的个数有限,通过因基本可行解的个数有限,通过“枚举法枚举法”,从理论上讲总能找出所有的基本可行解。,从理论上讲总能找出所有的基本可行解。而事实上随着而事实上随着m,n的增大,解的个数迅速增的增大,解的个数迅速增大,致使此路行不通。大,致使此路行不通。现在学习的是第3页,共73页4v换一种思路:若从某一基本可行解(今后称换一种思路:若从某一基本可行解(今后称
3、之为初始基本可行解)出发,每次总是寻找之为初始基本可行解)出发,每次总是寻找比上一个更比上一个更“好好”的基本可行解,逐步改善,的基本可行解,逐步改善,直至最优。这需要解决以下三个问题:直至最优。这需要解决以下三个问题:v1.如何找到一个初始的基本可行解。如何找到一个初始的基本可行解。v2.如何判别当前的基本可行解是否已达到了如何判别当前的基本可行解是否已达到了最优解。最优解。v3.若当前解不是最优解,如何去寻找一个改若当前解不是最优解,如何去寻找一个改善了的基本可行解。善了的基本可行解。现在学习的是第4页,共73页5定义:如何从一个可行基找另一个可行基?称定义:如何从一个可行基找另一个可行基
4、?称基变换基变换。定义:两个基本可行解称为相邻的,如果它们之间仅变换定义:两个基本可行解称为相邻的,如果它们之间仅变换一个基变量。对应的基称为一个基变量。对应的基称为相邻可行基相邻可行基。例例 LP问题问题二、思路解析二、思路解析现在学习的是第5页,共73页6当前可行基当前可行基 所对应的基本可行解所对应的基本可行解显然不是最优。显然不是最优。因为从经济意义上讲,因为从经济意义上讲,意味着该厂不安排生产,因此没有利润。意味着该厂不安排生产,因此没有利润。相应地,将相应地,将 代入目标函数代入目标函数得得从数学角度看,若让非基变量从数学角度看,若让非基变量 取值从零取值从零增加,增加,(对应可行
5、域的对应可行域的 )现在学习的是第6页,共73页7相应的目标函数值相应的目标函数值Z也将随之减少。因此有可能找到一个也将随之减少。因此有可能找到一个新的基本可行解,使其目标函数值有所改善。即进行基变新的基本可行解,使其目标函数值有所改善。即进行基变换,换一个与它相邻的基。再注意到换,换一个与它相邻的基。再注意到 前的系数前的系数2比比 前的系数前的系数1小,即小,即 每增加一个单位对每增加一个单位对Z的贡献比的贡献比 大。大。故应让故应让 从非基变量转为基变量,称为从非基变量转为基变量,称为进基进基。又因为。又因为基基变量只能有三个,因此必须从原有的基变量变量只能有三个,因此必须从原有的基变量
6、中选一个离开基转为非基变量,称为中选一个离开基转为非基变量,称为出基出基。谁出基?。谁出基?现在学习的是第7页,共73页8又因为又因为 仍留作非基变量,故仍仍留作非基变量,故仍有有(2)式变为)式变为再让再让 从零增加,能取得的最大值为从零增加,能取得的最大值为此时,此时,已经从已经从24降到了降到了0,达到了非基的取值,变,达到了非基的取值,变成非基变量。从而得到新的可行基成非基变量。从而得到新的可行基 。由此得到一个新的基本可行解:由此得到一个新的基本可行解:现在学习的是第8页,共73页9目标函数值:目标函数值:从目标函数值明显看出,从目标函数值明显看出,比比 明显地得到了改善。明显地得到
7、了改善。此基本可行解对应可行域的此基本可行解对应可行域的将(将(2)式)式(2)可行基可行基留在左边,非基变量留在左边,非基变量移到右边移到右边现在学习的是第9页,共73页10(3)用代入法得:用代入法得:(4)现在学习的是第10页,共73页11代入目标函数得:代入目标函数得:这一过程用增广矩阵的行初等变换表示为:这一过程用增广矩阵的行初等变换表示为:1/6(-1)(2)按最小非负比值规则:按最小非负比值规则:主元素主元素现在学习的是第11页,共73页12目标函数系数行目标函数系数行按最小非负比值规则:按最小非负比值规则:现在学习的是第12页,共73页133/2(-5)(-1/3)(1/3)现
8、在学习的是第13页,共73页14所对应的所对应的 LP问题问题现在学习的是第14页,共73页15可行基可行基令非基变量令非基变量 为为0,得到,得到最优解最优解最优值:最优值:现在学习的是第15页,共73页16总结:总结:在迭代过程中要保持常数列向量非负,这能保证基在迭代过程中要保持常数列向量非负,这能保证基可行解的非负性。最小比值能做到这一点。可行解的非负性。最小比值能做到这一点。主元素不能为主元素不能为0 0。因为行的初等变换不能把。因为行的初等变换不能把0 0变成变成1 1。主元素不能为负数。因为用行的初等变换把负数变成主元素不能为负数。因为用行的初等变换把负数变成1 1会会把常数列中对
9、应的常数变成负数。把常数列中对应的常数变成负数。此基本可行解对应可行域的此基本可行解对应可行域的其结果与图解法一致。其结果与图解法一致。现在学习的是第16页,共73页17例例2 解解LP问题:问题:对单纯形矩阵作初等行变换,有:对单纯形矩阵作初等行变换,有:按最小非负比值原则:按最小非负比值原则:确定主元素。确定主元素。(-1)(1)1、无穷多个解、无穷多个解三、其他解的情况三、其他解的情况现在学习的是第17页,共73页18至此,检验行已没有负数,至此,检验行已没有负数,当前解即为最优解。当前解即为最优解。此时对应的此时对应的LP问题为:问题为:0现在学习的是第18页,共73页19此时对应的此
10、时对应的LP问题为:问题为:0现在学习的是第19页,共73页20此时对应的此时对应的LP问题为:问题为:01现在学习的是第20页,共73页21当当时,不管时,不管 取何值,均有目标函数取何值,均有目标函数取得最大值取得最大值1。此时约束方程为:。此时约束方程为:其中其中 为基变量。为基变量。用非基变量表示出基变量:用非基变量表示出基变量:其中,其中,为自由变量。设为为自由变量。设为 有有:其中其中c是满足非负性的任意常数。是满足非负性的任意常数。现在学习的是第21页,共73页22再由再由的非负性,知:的非负性,知:解出解出(其中(其中 )最优解为:最优解为:最优值为:最优值为:现在学习的是第2
11、2页,共73页232、无最优解的两种情况:、无最优解的两种情况:无界解无界解例例3 解解LP问题:问题:解:解:对单纯形矩阵作初等行变换,有:对单纯形矩阵作初等行变换,有:现在学习的是第23页,共73页241/2(2)注意到注意到6所在的列无正元所在的列无正元素,将基变量素,将基变量 及目及目标函数用非基变量标函数用非基变量 表表示为示为现在学习的是第24页,共73页25从目标函数看,若令非基变量从目标函数看,若令非基变量无限增大,无限增大,Z也无限也无限性,即该性,即该LP问题所追求的目标函数是无界的,即无最小问题所追求的目标函数是无界的,即无最小值,于是该值,于是该LP问题无最优解。问题无
12、最优解。减小,且没有影响减小,且没有影响 的非负的非负现在学习的是第25页,共73页26 无可行解无可行解例例4 4 求解求解LPLP问题问题解:可行域为空集,无可行解。解:可行域为空集,无可行解。现在学习的是第26页,共73页27下面先把此下面先把此LP问题化为标准型,然后用单纯形法求解。问题化为标准型,然后用单纯形法求解。对单纯形矩阵作初等行变换,有:对单纯形矩阵作初等行变换,有:现在学习的是第27页,共73页281/2从最后一个矩阵可看出,此从最后一个矩阵可看出,此LP问题无可行基,当然就无问题无可行基,当然就无可行解。可行解。(-1)(-1)(1)现在学习的是第28页,共73页29LP
13、当前解已是最优的四大特征:当前解已是最优的四大特征:存在一组存在一组(初始初始)可行基(其系数矩阵为单位阵)。可行基(其系数矩阵为单位阵)。检验行的基变量系数检验行的基变量系数=0。检验行的非基变量系数检验行的非基变量系数 0。全部全部0唯一解。唯一解。存在存在=0无穷多个解。无穷多个解。常数列向量常数列向量0。下面的问题是:所给下面的问题是:所给LPLP的标准型中约束矩阵中没有现成的的标准型中约束矩阵中没有现成的可行基怎么办?可行基怎么办?现在学习的是第29页,共73页30人工变量法(也称大人工变量法(也称大M M法)法)针对标准形约束条件的系数矩阵中不含单位矩阵的处理方法。针对标准形约束条
14、件的系数矩阵中不含单位矩阵的处理方法。例例6 6 用单纯形法求解用单纯形法求解LPLP问题问题 单纯形的进一步讨论单纯形的进一步讨论现在学习的是第30页,共73页31解:先将其化为标准形式解:先将其化为标准形式再强行加上再强行加上人工变量人工变量,使其出现单位矩阵:,使其出现单位矩阵:现在学习的是第31页,共73页32但这样处理后:但这样处理后:不易接受。因为不易接受。因为 是强行引进,称为是强行引进,称为 人工变量人工变量。它们与。它们与 不一样。不一样。称为松弛称为松弛变量和剩变量和剩余变量,是为了将不等式改写为等式而引进的,而改写前后余变量,是为了将不等式改写为等式而引进的,而改写前后两
15、个约束是等价的。两个约束是等价的。人工变量的引入一般来说是前后不等人工变量的引入一般来说是前后不等价的。只有当最优解中,人工变量都取值零时(此时人工价的。只有当最优解中,人工变量都取值零时(此时人工变量实质上就不存在了)才可认为它们是等价的。变量实质上就不存在了)才可认为它们是等价的。处理办法:把人工变量从基变量中赶出来使其变为非基变处理办法:把人工变量从基变量中赶出来使其变为非基变量。为此,发明者建议把目标函数作如下处理:量。为此,发明者建议把目标函数作如下处理:现在学习的是第32页,共73页33其中其中M为任意大的实数,为任意大的实数,“M”称为称为“罚因子罚因子”。用意:只要人。用意:只
16、要人工变量取值大于零,目标函数就不可能实现最优。工变量取值大于零,目标函数就不可能实现最优。对此单纯形矩阵作初等行变换,有:对此单纯形矩阵作初等行变换,有:现在学习的是第33页,共73页34MM(-1)(-3)(4M)1/6现在学习的是第34页,共73页353/2(-1/3)(3)现在学习的是第35页,共73页36至此,检验行已没有负数,当前解即为最优解。至此,检验行已没有负数,当前解即为最优解。最优值为最优值为:去掉人工变量去掉人工变量 ,即得原,即得原LP问题的最优解:问题的最优解:现在学习的是第36页,共73页37 最优解判别定理:所有检验数最优解判别定理:所有检验数0 0;人工变量为;
17、人工变量为0 0 无穷多最优解判别定理:所有检验数无穷多最优解判别定理:所有检验数 0 0;人工变量为;人工变量为0 0;存在某;存在某个非基变量的检验数为个非基变量的检验数为0 0 无可行解判别:无可行解判别:所有检验数所有检验数 0 0;人工变量;人工变量0 0(4)(4)无界解判别定理:有一个非基变量的检验数无界解判别定理:有一个非基变量的检验数0,0,但该数对应但该数对应的列中没有正元素;人工变量为的列中没有正元素;人工变量为0 0解的判别定理:解的判别定理:现在学习的是第37页,共73页38单纯形法步骤单纯形法步骤v一、构造初始可行基一、构造初始可行基v1、引入附加变量,化为标准型、
18、引入附加变量,化为标准型v2、必要时引入人工变量、必要时引入人工变量v3、目标函数中,附加变量系数为、目标函数中,附加变量系数为0,人工变量则为,人工变量则为Mv二、求基本可行解二、求基本可行解v1、用非基变量表示基变量和目标函数式、用非基变量表示基变量和目标函数式v2、求出一个基本可行解及相应、求出一个基本可行解及相应Z值值v三、最优性检验三、最优性检验v依据依据:检验数及判别定理检验数及判别定理v四、基变换四、基变换v1、换入基的确定:检验数负值中最小的、换入基的确定:检验数负值中最小的v2、换出基的确定:最小非负比值规则、换出基的确定:最小非负比值规则v返回步骤二返回步骤二现在学习的是第
19、38页,共73页392.2 单纯形法的表格形式单纯形法的表格形式书例书例2.1 P18现在学习的是第39页,共73页40v作业vP79 1.3(2),1.7(1)现在学习的是第40页,共73页41大大M法目标是尽快把人工变量从基变量中全部法目标是尽快把人工变量从基变量中全部“赶赶”出去(如果能全出去(如果能全部部“赶赶”出去的话)。所用方法除了大出去的话)。所用方法除了大M法外,还有下面的两阶段法外,还有下面的两阶段法。法。两阶段法两阶段法用大用大M法处理人工变量时,若用计算机处理,必须对法处理人工变量时,若用计算机处理,必须对M给出给出一个较大的具体数据,并视具体情况对一个较大的具体数据,并
20、视具体情况对M值作适当的调整。值作适当的调整。为了克服这一麻烦,下面的两阶段法将问题拆成两个为了克服这一麻烦,下面的两阶段法将问题拆成两个LP问问题分两个阶段来计算:题分两个阶段来计算:2.3 大大M法和两阶段法法和两阶段法现在学习的是第41页,共73页42v两阶段法的第一阶段求解一个目标中只包含人工变两阶段法的第一阶段求解一个目标中只包含人工变量的量的LP问题,即令目标函数中其它变量的系数取零,问题,即令目标函数中其它变量的系数取零,人工变量的系数取某个正的常数(一般取人工变量的系数取某个正的常数(一般取1),在保持),在保持原问题约束不变的情况下求这个目标函数极小化的解。原问题约束不变的情
21、况下求这个目标函数极小化的解。v显然在第一阶段中,当人工变量取值为显然在第一阶段中,当人工变量取值为0时,目标函数时,目标函数值也为值也为0。这时候的最优解就是原问题的一个基可行。这时候的最优解就是原问题的一个基可行解。如果第一阶段求解结果最优解的目标函数值不为解。如果第一阶段求解结果最优解的目标函数值不为0,也即最优解的基变量中含有非零的人工变量,表,也即最优解的基变量中含有非零的人工变量,表明原明原LP问题无可行解。问题无可行解。现在学习的是第42页,共73页43v第二阶段:求解原线性规划问题的最优解。第二阶段:求解原线性规划问题的最优解。v以第一阶段的最终单纯形表为基础,去掉人以第一阶段
22、的最终单纯形表为基础,去掉人工变量,目标函数换为原问题的目标函数,工变量,目标函数换为原问题的目标函数,得到第二阶段的初始表,继续迭代求解。得到第二阶段的初始表,继续迭代求解。现在学习的是第43页,共73页44 若求得的单纯形矩阵中,所有人工变量都处在非基变量若求得的单纯形矩阵中,所有人工变量都处在非基变量的位置。即的位置。即 及及 。则从第。则从第1 1阶阶段去掉人工变量后,即为原问题的初始单纯形矩阵。并进入第段去掉人工变量后,即为原问题的初始单纯形矩阵。并进入第2 2阶段。阶段。第一阶段求解第一个线性规划:第一阶段求解第一个线性规划:现在学习的是第44页,共73页45 若第一阶段所求得的单
23、纯形中仍含有(解)非零的人工若第一阶段所求得的单纯形中仍含有(解)非零的人工变量,则说明原问题无可行解。不再进入第变量,则说明原问题无可行解。不再进入第2 2阶段。阶段。因此两阶段法的第因此两阶段法的第1阶段求解有两个目的:一为判断原问题阶段求解有两个目的:一为判断原问题有无可行解。二,若有,则得原问题的一个初始可行基,再有无可行解。二,若有,则得原问题的一个初始可行基,再对原问题进行第对原问题进行第2阶段的计算。阶段的计算。现在学习的是第45页,共73页46对单纯形矩阵作初等行变换,有:对单纯形矩阵作初等行变换,有:例:例:第第1阶段:阶段:现在学习的是第46页,共73页47(-1)(-1)
24、现在学习的是第47页,共73页48(-3)(4)1/6(-1)现在学习的是第48页,共73页49(-3)(6)2转入第2阶段:3-1(-3)现在学习的是第49页,共73页503/2(-1/3)(3)现在学习的是第50页,共73页51书例:表格形式书例:表格形式大大M法法:P25 表表2.2.1 两阶段法两阶段法:P27 表表2.3.1;2.3.2现在学习的是第51页,共73页52v作业vP80 1.8(1)现在学习的是第52页,共73页532.4 退化问题退化问题v退化问题:按最小比值退化问题:按最小比值来确定换出基变量时,有时出现来确定换出基变量时,有时出现两个以上相同的最小比值,从而使下一
25、个表的基可行解中出两个以上相同的最小比值,从而使下一个表的基可行解中出现一个或多个基变量等于零的退化解。现一个或多个基变量等于零的退化解。v循环问题:退化解出现的原因是模型中存在多余的约束,使循环问题:退化解出现的原因是模型中存在多余的约束,使多个基可行解对应同一个顶点。当存在退化解时,就有可能多个基可行解对应同一个顶点。当存在退化解时,就有可能出现迭代计算的循环。即从一个可行基经有限次迭代后又回出现迭代计算的循环。即从一个可行基经有限次迭代后又回到原来的可行基。尽管可能性及其微小(直到目前为止,还到原来的可行基。尽管可能性及其微小(直到目前为止,还没有见到一个实际应用问题产生循环的例子),但
26、在理论上没有见到一个实际应用问题产生循环的例子),但在理论上讲是存在的。讲是存在的。现在学习的是第53页,共73页54vE.Beale曾给出一个循环的例子曾给出一个循环的例子v这个例子用单纯形法经过这个例子用单纯形法经过6次迭代后,又回到次迭代后,又回到了初始状态,得不到最优解。有兴趣的同学了初始状态,得不到最优解。有兴趣的同学可自行用单纯形法验证本题产生的循环现象。可自行用单纯形法验证本题产生的循环现象。而实际上本题有最优解。而实际上本题有最优解。v解决方法:摄动法;勃兰特法。解决方法:摄动法;勃兰特法。现在学习的是第54页,共73页552.5 改进单纯形法改进单纯形法v单纯形法计算的特点是
27、每迭代一次,就要把整个单纯形单纯形法计算的特点是每迭代一次,就要把整个单纯形表重新计算一遍。从计算机的角度来讲,单纯形法并不表重新计算一遍。从计算机的角度来讲,单纯形法并不是一种经济高效的方法。首先是要占用大量的存贮空间,是一种经济高效的方法。首先是要占用大量的存贮空间,其次,由于每次计算都利用上一次的单纯形表,当计算其次,由于每次计算都利用上一次的单纯形表,当计算次数较多时,容易造成误差的积累,直接影响计算精度次数较多时,容易造成误差的积累,直接影响计算精度和收敛速度。和收敛速度。v改进单纯形法的基本计算步骤和单纯形法基本相同,改进单纯形法的基本计算步骤和单纯形法基本相同,但在上述两方面有所
28、改进。但在上述两方面有所改进。现在学习的是第55页,共73页56v在单纯形法的迭代过程中,我们实际需要的在单纯形法的迭代过程中,我们实际需要的只有以下各项:只有以下各项:v1、检验数、检验数 ,以判断是否最优或确定以判断是否最优或确定换入基变量。换入基变量。v2、换入变量所在列的各元素、换入变量所在列的各元素 和基变量的值和基变量的值 ,根据,根据 决定换出基变量。决定换出基变量。现在学习的是第56页,共73页57 Min z =CX s.t.AX=b X 0单纯形法的矩阵形式单纯形法的矩阵形式现在学习的是第57页,共73页58现在学习的是第58页,共73页59现在学习的是第59页,共73页6
29、0v在单纯形法的矩阵形式中我们可以发现,单纯形表中的其它数字可利用在单纯形法的矩阵形式中我们可以发现,单纯形表中的其它数字可利用 和原始系数进行运算直接得到:和原始系数进行运算直接得到:v这就是改进单纯形法的出发点。这就是改进单纯形法的出发点。v令向量令向量Y表示表示 ,即,即 称其为称其为单纯形乘子单纯形乘子。现在学习的是第60页,共73页61求解步骤求解步骤v1、第、第0次迭代:初始可行基次迭代:初始可行基 检验数检验数 如不是最优解,确定换入基,换出基。如不是最优解,确定换入基,换出基。2、计算、计算 :三种方法:三种方法 3、计算第、计算第i1次迭代的常数列和检验数次迭代的常数列和检验
30、数 4、最优性检验:如最优,结束。否则下一步。、最优性检验:如最优,结束。否则下一步。5、计算第、计算第i1次迭代中的换入列次迭代中的换入列 6、确定第、确定第i1次迭代中换出基的下标,返回步次迭代中换出基的下标,返回步2。初等变换法初等变换法取主变换取主变换逆的乘积形式逆的乘积形式现在学习的是第61页,共73页62逆的乘积形式逆的乘积形式v 的计算方法的计算方法v已知:已知:;第;第i次迭代中的换入列;主元素。次迭代中的换入列;主元素。v公式推导可得:公式推导可得:现在学习的是第62页,共73页63例:例:现在学习的是第63页,共73页64第第0次迭代:次迭代:换入换入p3,换出换出p4。基
31、变量为基变量为x3,x5现在学习的是第64页,共73页65第第1次迭代:次迭代:换入换入p3,换出换出p4。计算计算B1-1基变量为基变量为x3,x5现在学习的是第65页,共73页66第第1次迭代:次迭代:计算当前解和检验数计算当前解和检验数换入换入p3,换出换出p4。基变量为基变量为x3,x5现在学习的是第66页,共73页67第第1次迭代:次迭代:换入换入p2,换出换出p5,换基换基换入换入p3,换出换出p4。基变量为基变量为x3,x5基变量为基变量为x3,x2现在学习的是第67页,共73页68第第2次迭代:次迭代:换入换入p2,换出换出p5。计算计算B2-1基变量为基变量为x3,x2现在学习的是第68页,共73页69第第2次迭代:次迭代:计算当前解和检验数计算当前解和检验数换入换入p2,换出换出p5。基变量为基变量为x3,x2现在学习的是第69页,共73页70v作业v复习例题 P81 1.11现在学习的是第70页,共73页71(1)(2)现在学习的是第71页,共73页72现在学习的是第72页,共73页11.04.2023感感谢谢大大家家观观看看现在学习的是第73页,共73页
限制150内