线性规划与计算复杂性简介.ppt
《线性规划与计算复杂性简介.ppt》由会员分享,可在线阅读,更多相关《线性规划与计算复杂性简介.ppt(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、线性规划与计算复杂性简介线性规划与计算复杂性简介浙江大学数学建模实践基地浙江大学数学建模实践基地1上一页上一页下一页下一页5.1 5.1 线性规划问题线性规划问题一一、线性规划的实例与定义线性规划的实例与定义二、线性规划的标准形式二、线性规划的标准形式三、线性规划的图解法三、线性规划的图解法四、基本可行解与极点的等价定理四、基本可行解与极点的等价定理五、求解线性规划的单纯形法五、求解线性规划的单纯形法六、初始可行解的求法六、初始可行解的求法两段单纯形法两段单纯形法5.2 5.2 运输问题运输问题一一、运输问题的数学模型运输问题的数学模型三、最优性判别三、最优性判别二、初始可行解的选取二、初始可
2、行解的选取5.3 5.3 指派问题指派问题一、指派问题的数学模型一、指派问题的数学模型二、求解指派问题的匈牙利算法二、求解指派问题的匈牙利算法5.4 5.4 计算复杂性问题的提出计算复杂性问题的提出一、一、P P类与类与NPNP类,类,NPNP完全性完全性二、有关离散问题模型及其算法的几点附加说明二、有关离散问题模型及其算法的几点附加说明2上一页上一页下一页下一页5.1 线性规划问题在人们的生产实践中,经常会遇到如何利用现有资源来安排生产以取得最大经济效益的问题,此类问题构成了运筹学的一个重要分支数学规划,而线性规划(Linear Programming,简记LP)则是数学规划的一个重要部分。
3、自从1947年GBDantzig提出求解线性规划的单纯形方法以来,线性规划在理论上日趋成熟,在应用上日趋广泛,已成为现代管理中经常采用的基本方法之一。3上一页上一页下一页下一页一.线性规划的实例与定义例例5.15.1 某机床厂生产甲、乙两种机床,每台销售后的利某机床厂生产甲、乙两种机床,每台销售后的利润分别为润分别为40004000元与元与30003000元。生产甲机床需用元。生产甲机床需用A A、B B机器加工,机器加工,加工时间分别为每台加工时间分别为每台 2 2小时和小时和1 1小时;生产乙机床需用小时;生产乙机床需用A A、B B、C C三种机器加工,加工时间为每台各一小时。若每天可三
4、种机器加工,加工时间为每台各一小时。若每天可用于加工的机器时数分别为用于加工的机器时数分别为A A机器机器1010小时、小时、B B机器机器8 8小时和小时和C C机器机器7 7小时,问该厂应生产甲、乙机床各多少台,才能使小时,问该厂应生产甲、乙机床各多少台,才能使总利润最大?总利润最大?4上一页上一页下一页下一页例1的数学模型:设该厂生产x1台甲机床和x2台乙机床时总利润最大,则 x1、x2应满足 max 4max 4x x1 +3 +3x x2 s.t 2 s.t 2x x1+x x2 10 10 x x1 +x x2 8 8 (5.1)(5.1)x x2 7 7 x x1 ,x x2 0
5、 0(5.1)式中4x1 +3x2表示生产x1台甲机床和x2台乙机床的总利润,被称为问题的目标函数,当希望使目标函数最大时,记为max;反之,当希望使目标函数最小时,记为min。(5.1)中的几个不等式是问题的约束条件,记为S.t(即Subject to)。由于(5.1)式中的目标函数及约束条件均为线性函数,故被称为线性规划问题。总之,线性规划问题是在一组线性约束条件的限止下,求一线性目标函数最大或最小的问题。5上一页上一页下一页下一页二、线性规划的标准形式例例5.25.2 min min S.t S.t i=1,m xj0,j=1,n线性规划的目标函数可以是求最大值,也可以是求最小值,约束条
6、件线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件可以是不等式也可以是等式,变量可以有非负要求也可以没有非负要可以是不等式也可以是等式,变量可以有非负要求也可以没有非负要求(称这样的变量为自由变量)。为了避免这种由于形式多样性而带求(称这样的变量为自由变量)。为了避免这种由于形式多样性而带来的不便,规定线性规划的标准形式为来的不便,规定线性规划的标准形式为利用矩阵与向量记为利用矩阵与向量记为min min z z=CT x x S.t AS.t Ax x=b bx x0 0 (5.35.3)其中其中C C 和和x x 为为n n 维列向量,维列向量,b b为为m m 维列维列向量,
7、向量,b0b0,A A为为m mn n矩阵矩阵,mn,mn且且rank(A)=mrank(A)=m。或更简洁地或更简洁地6上一页上一页下一页下一页如果根据实际问题建立起来的线性规划问题并非标准形式,可以将它如下化为标准形式:(1 1)若目标函数为若目标函数为max max z z=C CT T x x,可将它化为,可将它化为minminz z=C CT T x x(2 2)若第若第i i个约束为个约束为a ai i1 1x x1 1+a aininx xn nb bi i,可增加一个松驰变,可增加一个松驰变量量y yi i,将不等式化为,将不等式化为a ai i1 1x x1 1+a aini
8、nx xn n+y+yi i=b bi i,且,且y yi i00。若第若第i i个约束为个约束为a ai i1 1x x1 1+a aininx xn nb bi i,可引入剩余量,可引入剩余量y yi i,将,将不等式化为不等式化为a ai i1 1x x1 1+a aininx xn n y yi i=b bi i,且,且y yi i00。(3 3)若若x xi i为自变量,则可令为自变量,则可令 ,其中其中 、0 0例如例如例5.1并非标准形式,其标准形式为min 4x13x2s.t 2x1+x2+x3=10 x1+x2+x4=8x2+x5=7x1,x2,x3,x4,x507上一页上一
9、页下一页下一页图5.1对于例5.1,显然等位线越趋于右上方,其上的点具有越大的目标函数值。不难看出,本例的最优解为x*=(2,6)T,最优目标值z*=26。三、线性规划的图解法为了了解线性规划问题的特征并导出求解它的单纯形法,我们先应用图解法来求解例5.1。满足线性规划所有约束条件的点称为问题的可行点(或可行解),所有可行点构成的集合称为问题的可行域,记为R。对于每一固定的值z,使目标函数值等于z的点构成的直线称为目标函数等位线,当z变动时,我们得到一族平行直线(图5.1)。8上一页上一页下一页下一页上述论断可以推广到一般的线性规划问题,区别只在于空间的维数。在一般的n维空间中,满足一线性等式
10、aix=bi的点集被称为一个超平面,而满足一线性不等式aixbi(或aixbi)的点集被称为一个半空间(其中ai为一n维行向量,bi为一实数)。若干个半空间的交集被称为多胞形,有界的多胞形又被称为多面体。易见,线性规划的可行域R必为多胞形(为统一起见,空集也被视为多胞形)。(1)可行域R可能会出现多种情况。R可能是空集也可能是非空集合,当R非空时,它必定是若干个半平面的交集(除非遇到空间维数的退化)。R既可能是有界区域,也可能是无界区域。(2)在R非空时,线性规划既可以存在有限最优解,也可以不存在有限最优解(其目标函数值无界)。(3)若线性规划存在有限最优解,则必可找到具有最优目标函数值的可行
11、域R的“顶点”。从上面的图解过程可以看出并不难证明以下断言:9上一页上一页下一页下一页在一般n维空间中,要直接得出多胞形“顶点”概念还有一些困难。在图5.1中顶点可以看成为边界直线的交点,但这一几何概念的推广在一般n维空间中的几何意义并不十分直观。定义定义5.15.1 称n 维空间中的区域R为一凸集,若x1,x2 R及 (0,1),有 x1+(1)x2 R。定义定义5.25.2 设R为n维空间中的一个凸集,R中的点x被称为R的一个极点,若不存在x1、x2 R及(0,1),使得x=x1+(1)x2。定义5.1说明凸集中任意两点的连线必在此凸集中;而定义5.2说明,若x是凸集R的一个极点,则x不能
12、位于R中任意两点的连线上。不难证明,多胞形必为凸集。同样也不难证明,图5.1中R的顶点均为R的极点(R 也没有其他的极点)为此,我们将采用另一途径来定义它。10上一页上一页下一页下一页三、基本解与基本可行解给定一个标准形式的线性规划问题(5.3),其中A=(aij)mxn,m 0,则称x=(B-1b,0)为(5.3)的一个非退化的基本可行解,并称B为非退化的可行基。由于基矩阵最多只有 种不同的取法,即使A的任意m解均线性无关,且对应的基本解均可行,(5.3)最多也只能有个不同的基本可行解。11上一页上一页下一页下一页四、基本可行解与极点的等价定理在线性规划的求解中,下列定理起了关键性的作用。在
13、这里,我们不加证明地引入这些定理。定理定理5.15.1 (基本可行解与极点的等价定理)设A为一个秩为m的mn矩阵(nm)b为m维列向量,记R为(5.3)的可行域。则x为R的极点的充分必要条件为 x 是 的基本可行解。定理5.1既提供了求可行域R的极点的代数方法,又指明了线性规划可行域R的极点至多只有有限个.对定理证明有兴趣的读者可以参阅 D.G.鲁恩伯杰著的“线性与非线性规划引论”一书第二章12上一页上一页下一页下一页(线性规划基本定理)线性规划(5.3)具有以下性质:(1)若可行域R,则必存在一个基本可行解。(2)若问题存在一个最优解,则必存在一个最优的基本可行解。定理5.2并非说最优解只能
14、在基本可行解(极点)上达到,而是说只要(5.3)有有限最优解,就必定可在基本可行解(极点)中找到。定理定理5.25.2从模型本身讲,线性规划显然应属连续模型。但定理 2表明,如果线性规划有有限最优解,我们只需比较各基本可行解上的目标函数值即可找到一个最优解,而问题的基本可行解至多只有有限个,从而问题化为一个从有限多个点选取一个最优点 的问题。正是基于这样一种思路,DantzigDantzig提出了求解线性规划的单纯形法。也正因为如此,我们把线性规划列入了离散模型,因为求解它的单纯形法更具有离散模型问题的算法特征。13上一页上一页下一页下一页五、求解线性规划的单纯形法(步1)取一初始可行基B(一
15、般取法见后面的两段单纯形法),再用高斯约当消去法求出初始基本可行解x0,编制成所谓的初始单纯形表;(步2)判断x0是否最优解,如果x0是最优解,输出x0,停,否则到步3;(步3)按一改进准则,将一个非基变量转变为基变量,而将一个基变量转变为非基变量。这相当于交换B与N的一个列,同样可用高斯约当消去法,运算可以通过单纯形表上的“转轴运算”实现。Dantzig单纯形法的基本步骤如下:14上一页上一页下一页下一页设B为一非退化的可行基,x=(B-1b,0)为其对应的基本可行解。现在,我们先来讨论如何判别x0是否为最优解。为此,考察任一可行解 。由Ax=b可得 (5.5)代入目标函数,得到定理定理5.
16、3 (最优性判别定理)令 。(1)若rN0,则x0必为(5.3)的一个最优解。(2)记 。若 ,rj0,根据上式知,当且充分小时,仍有xB0。此时对应的x仍 为可行解,但由(5.6),其目标函数值:故x0必非最优解。定理5.3不仅给出了判别一个基本可行解是否为最优解的准则,而且在x0非最优解时还指出了一条改进它的途径。由于rN在判别现行基本可行解是否为最优解时起了重要作用,所以rN被称为x0处的检验向量,而rj(jN)被称为非基变量xj的检验数。16上一页上一页下一页下一页有趣的是上述过程完全可以在以下的单纯形表上进行。先将CT、A、b及数0写在一个矩阵中,在表上用高斯约当消去法解方程组Ax=
17、b 高斯-约当消去法 (第一行不变)利用单位矩阵I消第一行的为零向量,则 被消成 ,而0则被消成 。将消去后的行向量写到最后一行,删去原来的第一行,得到一张被称为单纯表的表格:xBxNIB1NB1b0rNZ0(5.7)表格(5.7)以极为简洁明了的方式表达了我们需要的全部信息。从其前m行可看出哪些变量是基变量并可直接读出对应的基本可行解x0=(B1b,0)。其最后一行又给出了非基变量的检验数及x0处目标函数值的相反数。17上一页上一页下一页下一页例5.1的标准形式为(5.4),容易看出它的一个初始基B=I(以x3、x4、x5为基变量),且CB已经为零,故我们已有了一张初始的单纯形表表5.1:表
18、表5.15.1x1x2x3x4x5基变量x3110010 x4110108x5010017rj430000 x0=(0,0,10,8,7)Tz0=CTx0=0rN=(r1,r2)=(4,3)现在,我们以例现在,我们以例8.18.1为例,来看一下单为例,来看一下单纯形法是如何工作纯形法是如何工作的。的。18上一页上一页下一页下一页由于存在着负的检验数且由于存在着负的检验数且x x0 0非退化,非退化,x x0 0非最优解。非最优解。r r1 1,r r2 2均为负,均为负,x x1 1,x x2 2增大(进基)均能改进目标函数值。增大(进基)均能改进目标函数值。例例如如,取取x x1 1进进基基
19、仍仍令令x x2 2=0=0(x x2 2仍仍为为非非基基变变量量),此此时时由由(5.55.5)式式及及(5.65.6)式有)式有 且且z z=C CT Tx x=4 4x x1 1x x1 1增增加加得得越越多多,目目标标函函数数值值下下降降得得越越多多,但但当当x x1 1 =5=5时时x x3=03=0,x x1 1再再增增大大则则x x3 3将将变变负负。为为保保证证可可行行性性,x x1 1最最多多只只能能增增加加到到5 5,此此时时x x3 3成成为为非非基基变变量量(退基)。(退基)。不难看出,上述改进可以在单纯形表上进行。对于不难看出,上述改进可以在单纯形表上进行。对于一般形
20、式一般形式的单纯形表,的单纯形表,记最后一列的前记最后一列的前m m个分量为(个分量为(y yi i0 0),),i i=1,=1,m m。若取。若取 进基,记进基,记j j0 0列前列前m m个分量为(个分量为(),),i i=1,=1,m m。易见,阻碍。易见,阻碍 增大的只可能在增大的只可能在 0 0的那些约束中。若的那些约束中。若 0 0对一切对一切i i=1,=1,m m成立(成立(j j0 0列前列前m m个分量中个分量中不存在正值),则不存在正值),则 可任意增大,得到的均为可行解,但其目标值随可任意增大,得到的均为可行解,但其目标值随之可任意减小,故问题无有限最优解。之可任意减
21、小,故问题无有限最优解。19上一页上一页下一页下一页否则,令则随着 的增大,将 最先降为零(退出基变量),故只需以 为主元作一次消去法运算(称此运算为一次转轴运算),即可得到改进后的基本可行解处的单纯形表。在本例中,因取x1进基(j=1)而 ,以y11为主元作第一次转轴,得到 x1=(5,0,0,3,7)T z1=20 rN=(r2,r3)=(1,2)2000210rj710010 x5301 -0 x45001x3基变量x5x4x3x2x1表5.220上一页上一页下一页下一页表表5.25.2中中r200)最小选定以下最小选定以下 y22 =为主元转轴,得到下一基本可行解为主元转轴,得到下一基
22、本可行解x x2 2处的单纯形表表处的单纯形表表8.38.3。表5.3x1x2x3x4x5基基变变量量x310102x40106x50011rj00026x2=(2,6,0,0,1)Tz2=26rN=(r3,r4)=(1,2)对对于于x2,rN=(1,2)为为非非负负向量,故向量,故x2为为最最优优解,最解,最优优目目标值为标值为26。于是,原于是,原问题问题例例1的最的最优优解解x*=(2,6)T,最,最优优目目标值为标值为26。21上一页上一页下一页下一页六、初始可行解的求法两段单纯形法 阶段2 若辅助规划的最优目标值不等于零,原规划无可行解。否则我们已求得原问题的一个基本可行解x0。删去
23、阶段1最终单纯表中最后一行及对应人工变量的列,作出原规划对应x0的初始单纯形表。此时又可利用上述单纯形法求解原规划了。阶段1 对第i个约束引入人工变量 yi,yi0,将其改写为ai1x1+ainxn+yi=bi,i=1,m。作辅助线性规划LP(1),其目标函数为 。容易看出,原规划有可行解(从而有基本可行解)的充分必要条件为辅助规划的最优目标值为零。由于辅助规划具有明显的初始可行基(人工变量对应的列构成单位矩阵I),可利用上述单纯形法逐次改进而求出辅助规划最优解。22上一页上一页下一页下一页例例5.25.2 min 4x1+x2+x3 S.t 2x1+x2+2x3=4 3x1+3x2+x3=3
24、 x1、x2、x30?解解:因为初始可行基不能直接看出,我们采用两段单纯形法因为初始可行基不能直接看出,我们采用两段单纯形法求解。求解。阶段阶段1 1 先求解辅助规划:先求解辅助规划:min x4+x5S.t 2x1+x2+2x3+x4=4 3x1+3x2+x3+x5=3 x1,x3023上一页上一页下一页下一页表表5.45.4x1x2x3x4x5基基变变量量x4212104x531013rj543007选取选取x x1 1进基,以进基,以y y2121=3=3为主元转轴(为主元转轴(x x5 5出基),得表出基),得表5.55.5。表表5.55.5x1x2x3x4x5基基变变量量x4014/
25、312/32x1111/301/31rj014/305/3224上一页上一页下一页下一页因因r r3 3 0 0 。当。当B1b也存在零分量时,也存在零分量时,我们遇到了一个退化的基本可行解。此时我们遇到了一个退化的基本可行解。此时rN存在负分量不一定说明现行基存在负分量不一定说明现行基本可行解不是最优解,单纯形法也可能会遇到循环迭代。存在着几种避免本可行解不是最优解,单纯形法也可能会遇到循环迭代。存在着几种避免循环的技巧,例如,只要每次在循环的技巧,例如,只要每次在rj00的非基变量中选取具有最小足标者进的非基变量中选取具有最小足标者进基即可。基即可。在求解线性规划时,首先应将问题化为标准形
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性规划 计算复杂性 简介
限制150内