4第四章线性规划的标准型及单纯形法
- 格式:ppt
- 大小:825.00 KB
- 文档页数:34
第四章 线性规划的求解法当线性规划的变量和约束条件比较多,而初始基本可行解又不知道时,是不容易用尝试的方法得到初始基本可行解的,何况有可能基本可行解根本就不存在。
在此时,大M 法可能是应付此类情况的一个行之有效的算法。
§4.1 大M 法的原理当初始基本可行解不知道时,则1.,2.两个特点不能兼得,即下列两条件不能兼得: 1. 中心部位具有单位子块; 2. 右列元素非负;这时可以先用容许的运算使由列为非负,然后在中心部位人为添加一个单位子块。
如下例所述: 例4.1123123123123min 32..323624,,0z x x x s tx x x x x x x x x =-+++-=-+-=-≥ (4.1.1)列成表格:上述第三张表中人工增加了两个变量45,x x ,称为人工变量,即把原来的约束条件改为:1234123512345..323624,,,,0s tx x x x x x x x x x x x x +-+=-++=≥ (4.1.2) 式(4.1)和(4.2)的约束方程组并不同解,但(4.1)的解和(4.2)中450x x ==的解是相对应的。
只要找到以(4.2)为约束条件,且人工变量45,x x 均为自由变量的基本可行解,也就找到了(4.1)的基本可行解,于是,要设法迫使450x x ==。
以上途径通过修改(4.1)的目标函数来实现。
具体修改为:12345min 32z x x x Mx Mx =-++++ (4.1.3)其中M 为足够大的正数,然后以(4.2)为约束条件,求(4.3)的最小值。
只要45,x x 不为零,就一定为正数,于是目标函数的值就会增加它们和的M 倍。
由于M 为足够大的正数,所以只要原问题有基本可行解,就不会在45,x x 取正值时达到最小值。
本例中把表改为:通过运算使它具备第三个特点:底行相应于单位子块位置的元素为0,然后再严格按照单纯形法的步骤求解:由于M 为足够大的正数,所以-3-4M 应视为负数,故选它。
单纯形法标准型单纯形法是一种用于线性规划问题求解的有效方法,它通过不断地移动可行解,逐步逼近最优解。
在实际应用中,我们经常会遇到需要将线性规划问题转化为标准型的情况,而单纯形法正是针对标准型线性规划问题进行求解的。
本文将对单纯形法标准型进行详细介绍,希望能够帮助读者更好地理解和运用这一方法。
首先,我们来看一下标准型线性规划问题的定义。
标准型线性规划问题是指目标函数为最小化的线性规划问题,且约束条件均为等式的形式。
具体来说,标准型线性规划问题可以表示为:\[。
\begin{aligned}。
\text{Minimize} \quad & c^Tx \\。
\text{Subject to} \quad & Ax = b \\。
& x \geq 0。
\end{aligned}。
\]其中,$c$为目标函数的系数向量,$x$为决策变量向量,$A$为约束条件的系数矩阵,$b$为约束条件的右端常数向量。
在这样的线性规划问题中,我们需要找到使得目标函数取得最小值的决策变量取值。
接下来,我们将介绍单纯形法的基本思想和步骤。
单纯形法的基本思想是从一个基本可行解出发,通过不断地移动到相邻的基本可行解,直到找到最优解为止。
而基本可行解是指满足约束条件且非负的解。
单纯形法的具体步骤可以总结为以下几点:1. 初始化,找到一个基本可行解作为初始解。
2. 选择入基变量,根据目标函数的系数选择一个入基变量,使得目标函数值可以减小。
3. 选择出基变量,根据约束条件选择一个出基变量,使得入基变量可以取得合适的非负值。
4. 更新基本可行解,通过入基变量和出基变量的变换,得到一个新的基本可行解。
5. 判断终止条件,判断是否达到最优解,如果没有则回到步骤2继续迭代。
通过以上步骤,我们可以逐步接近最优解,并在有限次迭代后找到最优解。
最后,我们需要注意的是,在实际应用中,单纯形法可能会遇到一些特殊情况,比如无界解、无可行解等。
线性规划与单纯形法线性规划(Linear Programming)是一种在资源有限的情况下,通过最优化目标函数来确定最佳解决方案的数学优化方法。
而单纯形法(Simplex Method)则是一种常用的求解线性规划问题的算法。
本文将介绍线性规划与单纯形法的基本概念和运算步骤,以及实际应用中的一些注意事项。
一、线性规划的基本概念线性规划的基本思想是在一组线性不等式约束条件下,通过线性目标函数的最小化(或最大化)来求解最优解。
其中,线性不等式约束条件可表示为:```a1x1 + a2x2 + ... + anxn ≤ b```其中,x1、x2、...、xn为决策变量,a1、a2、...、an为系数,b为常数。
目标函数的最小化(或最大化)可表示为:```min(c1x1 + c2x2 + ... + cnxn)```或```max(c1x1 + c2x2 + ... + cnxn)```其中,c1、c2、...、cn为系数。
二、单纯形法的基本思想单纯形法是由乔治·丹尼尔·丹齐格尔(George Dantzig)于1947年提出的求解线性规划问题的算法。
其基本思想是通过逐步迭代改进当前解,直至达到最优解。
三、单纯形法的运算步骤1. 初等列变换:将线性规划问题转化为标准型,即将所有约束条件转化为等式形式,并引入松弛变量或人工变量。
2. 初始化:确定初始可行解。
通常使用人工变量法来获得一个初始可行解。
3. 检验最优性:计算当前基础解的目标函数值,若目标函数值小于等于零,则该基础解即为最优解。
否则,进入下一步。
4. 基本可行解的变换:选择一个入基变量和一个出基变量,并进行基本变换,得到新的基础解。
5. 迭代求解:根据目标函数值是否小于等于零,判断是否达到最优解。
若达到最优解,则算法终止;若未达到最优解,则返回步骤3进行下一轮迭代。
四、单纯形法的实际应用注意事项1. 线性规划问题的约束条件必须是线性的,且可行解集合必须是有界的。
教案四线性规划的单纯形法教学内容第三节单纯形法1.单纯形法2.单纯形法的基本原理3.单纯形解法4.大M法教学学时9学时教学目标1.理解单纯形法的解题思想2.掌握单纯形法的基本原理3.掌握单纯形解法和大M法重点难点重点单纯形法的基本原理、单纯形解法和大M法,难点单纯形法的基本原理教学方法及手段教师讲解使用多媒体课件教学过程一、复习巩固1.线性规划图解法的步骤(见课件)2.线性规划数学模型解的几种情况(见课件)二、讲授新课1.单纯形法基本概念(见课件)典型方程组一般线性规划问题标准形式的约束条件如下式(2-1),是一个有n个未知数、m个方程的线性方程组.如果这m个方程是独立的(即其中任一方程均不能由其它方程代替),则通过初等变换,必能使式(2-1)化成式(2-2)形式的同解方程组:∑==njijijbxa1mi,,2,1=(2-1)1x ' +11221111b x a x a x a n n m m m m '=''+⋅⋅⋅+''+''++++ 2x ' +22222112b x a x a x a n n m m m m '=''+⋅⋅⋅+''+''++++ (2-2) …………………………………………………………mx '+m n mn m mm m mm b x a x a x a '=''+⋅⋅⋅+''+''++++2211 式中n x x x '⋅⋅⋅'',,,21是重新排序后的变量.式(2-2)被称为典型方程组.即如果在一个线性方程组中的每一个方程中都有系数为1,并且不再出现在其它方程的一个未知量,则此方程组称为典型方程组.基本变量如果变量j x 在某一方程中系数为1,而在其它一切方程中的系数为零,则称j x 为该方程中的基本变量.否则为非基本变量.如式(2-2)中的m x x x '⋅⋅⋅'',,,21为基本变量,n m m x x x '⋅⋅⋅''++,,,21为非基本变量.基本变量的个数为线性无关的方程的个数.事实上,n 个变量中任意m 个都可能作为基本变量,因此由排列组合知识可知,基本变量的组数为mn c 个,n 为未知变量的个数,m 为线性无关的方程的个数.基本解在典型方程中,设非基本变量为零,求解基本变量得到的解,称为基本解.基本解的个数为mnc 个.基本可行解基本变量为非负的一组基本解称为基本可行解,基本可行解的个数最多不超过m n c 个.例如,对方程组32 4321=+-+x x x x ①13 2421=+x x x -② 施行初等变换[①×(-2)+②],可以得到:32 4321=+-+x x x x ①572 432-=-+-x x x ③[③×(-1)] : 32 4321=+-+x x x x ① 572432=+-x x x ④ [④×(-1)+①]: 25431-=-+x x x ⑤ 572432=+-x x x ④式⑤和④为典型方程组,基本变量是1x 和2x ,非基本变量为3x 和4x .设非基本变量3x 和4x 为零,则1x 和2x 分别等于-2和5,即对应于典型方程组⑤和④,基本解为:X =()T0052-.因基本变量中1x 为负值,所以此解不是基本可行解.根据方程组①和②有4个未知变量,因此通过初等变换可得到24c 组(即6组)典型方程组和基本解.若令2x 和4x 为基本变量,通过初等变换,方程组①和②可变换为:[①×(-1)+②]: 32 4321=+-+x x x x ① 25 431-=-+x x x ③ [③×(-1/5)]: 324321=+-+x x x x ① 4.0202.0431=+--x x . x ④ [④×(-2)+①] : 2.2604.1321=-+ x . x x ⑤4.0202.0431=--x x .x + ④ 此时,典型方程组的基本变量为2x 和4x ,非基本变量为1x 和3x .基本解为:T X )(0.4 0 2.2 0 =,因为基本变量为非负值,所以此基本解也为基本可行解.2.单纯形法的基本原理(见课件)理论上已经证明,线性规划的基本可行解与可行域的顶点是一对一的.这就决定了线性规划可行域的顶点个数最多也不超过m n c 个.上面讨论线性规划问题解的特点时已指出,如果线性规划有最优解,一定可以在可行域的某个顶点处达到.因此,单纯形法的基本思路是:根据问题的标准形式,从可行域中的一个基本可行解(一个顶点)开始,转换到另一个基本可行解(顶点),并且使目标函数的值逐步增大;当目标函数达到最大值时,问题就得到了最优解.在用单纯形法求解线性规划问题时,应考虑的问题:建立初始基本可行解 在用单纯形法求解时,首先应将线性规划问题以标准形式表达、约束条件以右端常数非负的典型方程组表示,确定初始基本可行解.在前面的阐述中,已讨论了如何将一般线性规划问题转化为标准形式的线性规划问题,如何将约束条件通过初等变换以典型方程组形式表示,以及如何得出基本可行解(最初得到的基本可行解也称初始基本可行解),此处不再赘述.经过变换,典型方程组和初始基本可行解可用式(2-3)表示:1x +11221111b x a x a x a n n m m m m '='+⋅⋅⋅+'+'++++ 2x +22222112b x a x a x a n n m m m m '='+⋅⋅⋅+'+'++++ (2-3) ………………………………………………………m x +m n mn m mm m mmb x a x a x a '='+⋅⋅⋅+'+'++++2211 初始基本可行解:T mb b X )00(10 ''=. 最优性检验 得到一个基本可行解后,我们要判断它是不是最优解.一般情况下,经过迭代后式(2-3)变为∑+='-'=nm j jiji i xa b x 1(m i ,,2,1 =) (2-4)将式(2-4)代入目标函数式,整理后得∑∑∑+==='-+'=n m j mi j iji jmi i i x a c c b c Z 111)( (2-5)令 ∑='=m i i i b c Z 10 , ∑='=mi iji j a c Z 1, n m m j ,,2 ,1 ++= 于是 ∑+=-+=nm j j j jx Z cZ Z 10)( (2-6)由于当m j ,,2 ,1 =时,j mi ij i j c a c Z ='=∑=1,即0=-j j Z c (m j ,,2 ,1 =),所以式(2-6)也可写作再令 j j j Z c C -= n j ,,2 ,1 =j C 为变量j x 的检验数.则 ∑=+=nj j j x C Z Z 10 (2-7)(1)最优解判别 若)0(X =T m b b b )00(21⋅⋅⋅'⋅⋅⋅''为基本可行解,且对一切n j ,,2 ,1 =,有0≤j C ,则)0(X 为最优解.(2)无有限最优解判别 若)0(X =T m b b b )00(21⋅⋅⋅'⋅⋅⋅''为一基本可行解,有一个k C >0,且对一切m i ,,2,1 =有0≤ik β(ik β为约束条件方程中的系数,n k ,,2,1 =),那么该线性规划问题无有限最优解(或称有无界解或无最优解).事实上,应用向量的乘法,可以将检验数的求法表示得简明一些.令j c 表示目标函数中变量jx 的系数,B C 表示基本变量在目标函数中的系数行向量,j P 表示变量j x 在典型方程中的系数列向量,则⎪⎪⎪⎪⎪⎭⎫⎝⎛⋅-=⋅-=-=mj j j B j j B j j j j a a a C c P C c Z c C 21 n j ,,2 ,1 = (2-8)基本变量的检验数总等于0.目标函数值b C Z B ⋅=.基本可行解的改进 若初始基本可行解)0(X 不是最优解及不能判别无最优解时,需找一个新的基本可行解.具体方法是:首先确定进基变量,再确定出基变量.进基变量的确定:由式(2-7)可知,检验数j C 对线性规划问题的实际意义是:j C 表示当变量j x 增加1个单位时,目标函数的增加量;其经济意义表示相对利润.当0>j C 时,说明非基本变量j x 增加1个单位,目标函数可以增加,即现在的函数值不是最优,还能增加.这时要将某个非基本变量换到基本变量中去(称为进基变量).为了使目标函数值增长最快,所以应选择j C 值最大的一项所对应的非基本变量进基,k C =>)0j C (max . 则对应的k x 为进基变量.进基变量所在的列(k )称为枢列.出基变量的确定:当进基变量确定后(假设i x 是进基变量),出基变量的选定是应用“最小比值规则”.即用此时的各约束方程右端的常数项i b (非负数)与相应方程中k x 的正系数ik β相比,并选取最小商值的基本变量l x 为出基变量(将由基本变量变为非基本变量).出基变量所在的行(l )称为枢行.枢行与枢列交点处的元素(lk β)称为枢元.然后通过初等变换,将约束条件转为关于新的基本变量的典型方程组,并求得新的基本可行解.对于新的基本可行解可再进行上述的最优性检验.3. 单纯形解法(见课件)上面介绍的单纯形法原理看似复杂,但如用表格形式计算,则比较容易操作.单纯形法的计算步骤:第1步:找出初始基本可行解,建立初始单纯形表.第2步:检验对应于非基本变量的检验数j C ,若对所有的0≤j C ,则已得到最优解,计算最优值∑==mi i i b c Z 1,即可结束.否则,转入下一步.第3步:在所有0>j C 中,若有一个k C 对应k x 的系数列向量,即对m i ,,2,1 =均有0≤ik β,则此问题无有限最优解(或称有无界解或无最优解),停止计算.否则转入下一步.第4步:根据()0max >j C =k C ,确定k x 为进基变量,再依据“最小比值规则”({}lkl ik ik i i b b βββθ=⎭⎬⎫⎩⎨⎧>=0min min )确定l x 为出基变量.第5步:实施以枢元素为中心的初等变换,使约束方程组变为关于新的基本变量的典型方程组,得到新的单纯形表,重复第二步…,一直到没有新的非基本变量可以改善目标函数为止.若线性规划模型为:上述计算步骤仍有效,只是其中的第二步改为:若对所有的0≥j C (n j ,,2,1 =),则已得到最优解;第三步改为在所有0<j C 中,若有一个k C 对应k x 的系数列向量,即对m i ,,2,1 =均有0≤ik β,则此问题无有限最优解(或称有无界解或无最优解);第四步改为)0min(<j C =k C ,确定k x 为进基变量.例2-8 现以例2-1来说明单纯形法的表上解法.解 首先将线性规划问题标准化,引入松弛变量3x 、4x 、5x 、6x ,则:此时约束方程组已为典型方程组,根据上述线性规划模型可以列出初始单纯形表(表2-4):表2-4 单纯形法求解例2-1(1)表2-4中:1004001000400102100012 为典型方程组中变量的系数,j x 为规划中出现的变量,j c 为变量j x 在目标函数中的系数,B X 为基本变量,B C 为基本变量在目标函数中的系数,b 为典型方程组右端常数项(非负值),θ为确定出基变量的商值,ikii b βθ=(0>ik β),j C 为变量j x 的检验数,j P C c C B j j ⋅-=,Z 为此时目标函数值,b C Z B ⋅=.根据初始单纯形表可以看出:初始基本可行解是01=x ,02=x ,123=x ,84=x ,165=x ,126=x此时目标函数值()⎪⎪⎪⎪⎪⎭⎫⎝⎛⋅=12168120000Z =0检验数111P C c C B ⋅-==200-()⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⋅04120000=200222P C c C B ⋅-==300-()⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⋅40220000=3003C =4C =5C =6C =0(基本变量的检验数总等于零)由于01>C ,02>C ,所以初始基本可行解非最优解.又由于12C C >,所以确定2x 为进基变量.进一步求最小θ值:即从第4个方程中算出的商值最小,而第4个方程中的基本变量是6x ,于是6x 为出基变量.表中给第4个约束方程中2x 的系数4加上方括号以突出其为枢元.接下去是将2x 取代6x ,表2-4中的约束方程化为以3x 、4x 、5x 和2x 为基本变量,1x 和6x 为非基本变量的典型方程.从表2-4中可以看到,只需对方程组实行初等变换,使枢元位置变成1,而枢列中的其它元素变为零就可以了.此处可先将第4个方程除以4,使枢元位置变成1;然后用新得到的第4个方程乘以(-2)后分别加到第1个和第2个方程上,使枢列中的第1个和第二个方程所在位变为零.这样我们可以得到新的单纯形表(表2-5).表2-5给出的新的基本可行解是1x =0,2x =3,3x =6,4x =2,5x =16,6x =0此时目标函数值()⎪⎪⎪⎪⎪⎭⎫⎝⎛⋅=31626300000Z =900检验数111P C c C B ⋅-==200-()⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⋅0412300000=200666P C c C B ⋅-==0-()⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--⋅4102121300000=75-2C =3C =4C =5C =0(基本变量的检验数总等于零)表2-5 单纯形法求解例2-1(2)由于01>C ,所以此时基本可行解非最优解,确定1x 为进基变量. 进一步计算最小θ值:即从第2个方程中算出的商值最小,而第2个方程中的基本变量是4x ,于是4x 为出基变量.接着进行第二次迭代,将1x 取代4x ,表2-5中的约束方程化为以3x 、1x 、5x 和2x 为基本变量,4x 和6x 为非基本变量的典型方程,以便求出新的单纯形表.重复单纯形法计算第2 步~第5步,一直到没有新的非基本变量可以改善目标函数为止(见表2-6和表2-7).表2-6 单纯形法求解例2-1(3)表2-7 单纯形法求解例2-1(4)表2-7中:目标函数值()⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⋅=244030002000Z =1400检验数444P C c C B ⋅-==0-()⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--⋅2120130002000=-150555P C c C B ⋅-==0-()⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--⋅8121414130002000=225- 1C =2C =3C =6C =0(基本变量的检验数总等于零)由于0≤j C ,6,,2,1 =j ,所以此基本可行解41=x ,22=x ,03=x ,04=x ,05=x ,46=x ,即为最优解,最优值为Z *=1400.与前面图解法求解结果一致.为了加深对单纯形法基本思想的理解,不妨将表2-4、表2-5、表2-6、表2-7和图2-1进行对照,可以发现表2-4给出的基本可行解对应于图中可行域顶点0,表2-5给出的基本可行解对应于顶点A ,表2-6给出的基本可行解对应于顶点B ,表2-7给出的最优解对应于顶点C .线性规划问题有无穷多个可行解,应用单纯形法可以高效率地求解此类问题.例2-9 用单纯形法求解下列规划问题(解略,见课件)4. 大M 法(1)人工变量 (见课件)单纯形法求解的一个重要前提是:线性规划问题必须是标准形式,并且约束条件必须化为典型方程组.这样才能得到初始基本可行解,并制作出初始的单纯形表.但许多线性规划问题不是以标准形式出现,约束条件也未以典型方程组形式表示,因此我们往往先要把线性规划问题化为标准形式,然后再使约束方程变为典型方程组.如果给定的线性规划问题中,约束条件都是“∑=≤nj i j ij b x a 1”型的,那么将每一个约束条件的左边添加一个松弛变量后,不仅约束条件化为了标准形式,而且也得到了典型方程组,如下列所示.但是,大多数的线性规划中的约束条件为∑=≥nj j ij x a 1(或=)i b 的形式,化为典型方程组就不那么容易.在这种情况下,比较简单的方法是先将约束不等式化为等式,然后对每一个约束方程再添加一个非负变量(如果约束方程没有明显的基本变量),使方程组成为典型方程组形式.这种外加的变量不同于松弛变量(或剩余变量),没有实际意义,只是一种形式的存在,本质上应当等于零,所以被称为人工变量.(2)大M 法求解(见课件)在一个线性规划问题的约束条件中加入人工变量,成为典型方程组后,即可用单纯形表求解.由于一开始人工变量是作为基本变量的,而它们本质上应当为零,所以必须设法尽快将它们从基本变量中剔除,成为非基本变量(基本可行解中,非基本变量的值为零).为此,将人工变量记入目标函数中,并赋予一个极大的负系数.习惯上,这种系数记作M -,其中M 是极大的正数.由于标准形式的线性规划是极大化问题,目标函数中添加1个或1个以上以M -为系数的人工变量后,人工变量取任何非负值均不可能为最优解.从而,在应用单纯形法过程中,人工变量一定会尽快地变成非基本变量,而对原问题的最优解不产生丝毫影响.对于目标函数为极小化时,规定人工变量在目标函数中的系数为极大的正系数(M +).这种方法称为大M 法.例2-10 用大M 法求解下列问题.解 先通过加入松弛变量3x 和4x 使此线性规划问题化为标准形式然后通过加入人工变量5x 使约束方程组变为典型方程组2153M a xx x Z +=-5Mx 用单纯形法解之,结果如下表2-11:最后计算得出最优解21=x ,62=x ,23=x ,04=x ,05=x ,最优值Z *=36. 例2-11 有一线性规划问题 试用大M 法求解.解 在上述问题的约束条件中加入松弛变量、剩余变量和人工变量,得到这里M 是一个很大的正数. 大M 法计算见表2-12.最优解:1x =4,2x =1,3x =9,4x =5x =6x =7x =0;最优值:Z =-2.在用大M 法求解时,如果得到人工变量不为零的最优解,则说明原问题不可行,即原问题无解.另外,若极小比值相等,则人工变量先出基.在线性规划问题中,如果线性规划已化为标准形式而约束方程仍没有明显的基本变量,则除可用大M 法求解外,还可用二阶段法求解(可参阅其他运筹学书籍).单纯形法是线性规划问题的通用解法.尽管求解效率较高,但由于在许多实际问题的应用过程中,往往有很多的决策变量和约束条件,人工计算费时且易出现计算错误.计算机技术的发展,使线性规划问题的求解可以通过有关计算机程序完成,极大地增强了线性规划方法解决实际问题的能力.本书第十三章就介绍了用Excel 以电子表格的形式建立与求解线性规划模型的方法.表2-12 大M 法计算例2-11三、课堂练习(见课件)四、本次课小结(见课件)五、作业(见课件)。