线性规划与计算复杂性简介(全部).ppt
《线性规划与计算复杂性简介(全部).ppt》由会员分享,可在线阅读,更多相关《线性规划与计算复杂性简介(全部).ppt(82页珍藏版)》请在三一办公上搜索。
1、1,线性规划与计算复杂性简介,浙江大学数学建模实践基地,2,3,8.1 线性规划问题,在人们的生产实践中,经常会遇到如何利用现有资源来安排生产以取得最大经济效益的问题,此类问题构成了运筹学的一个重要分支数学规划,而线性规划(Linear Programming,简记LP)则是数学规划的一个重要部分。自从1947年GBDantzig提出求解线性规划的单纯形方法以来,线性规划在理论上日趋成熟,在应用上日趋广泛,已成为现代管理中经常采用的基本方法之一。,4,一.线性规划的实例与定义,例8.1 某机床厂生产甲、乙两种机床,每台销售后的利润分别为4000元与3000元。生产甲机床需用A、B机器加工,加工
2、时间分别为每台 2小时和1小时;生产乙机床需用A、B、C三种机器加工,加工时间为每台各一小时。若每天可用于加工的机器时数分别为A机器10小时、B机器8小时和C机器7小时,问该厂应生产甲、乙机床各多少台,才能使总利润最大?,5,例1的数学模型:设该厂生产x1台甲机床和x2台乙机床时总利润最大,则 x1、x2应满足,max 4x1+3x2 s.t 2x1+x2 10 x1+x2 8(8.1)x2 7 x1,x2 0,(8.1)式中 4x1+3x2 表示生产x1 台甲机床和x2 台乙机床的总利润,被称为问题的目标函数,当希望使目标函数最大时,记为max;反之,当希望使目标函数最小时,记为min。(8
3、.1)中的几个不等式是问题的约束条件,记为S.t(即Subject to)。由于(8.1)式中的目标函数及约束条件均为线性函数,故被称为线性规划问题。总之,线性规划问题是在一组线性约束条件的限止下,求一线性目标函数最大或最小的问题。,6,二、线性规划的标准形式,例8.2 min S.t i=1,m xj0,j=1,n,线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件可以是不等式也可以是等式,变量可以有非负要求也可以没有非负要求(称这样的变量为自由变量)。为了避免这种由于形式多样性而带来的不便,规定线性规划的标准形式为,利用矩阵与向量记为min z=CT x S.t Ax=bx0(8
4、.3)其中C 和x 为n 维列向量,b为m 维列向量,b0,A为mn矩阵,mn且rank(A)=m。,或更简洁地,7,如果根据实际问题建立起来的线性规划问题并非标准形式,可以将它如下化为标准形式:,(1)若目标函数为max z=CT x,可将它化为minz=CT x,(2)若第i个约束为ai1x1+ainxnbi,可增加一个松驰变量yi,将不等式化为ai1x1+ainxn+yi=bi,且yi0。若第i个约束为ai1x1+ainxnbi,可引入剩余量yi,将不等式化为ai1x1+ainxn yi=bi,且yi0。,(3)若xi为自变量,则可令,其中、0,例如例18.1并非标准形式,其标准形式为m
5、in 4x13x2s.t 2x1+x2+x3=10 x1+x2+x4=8x2+x5=7x1,x2,x3,x4,x50,8,图8.1,对于例8.1,显然等位线越趋于右上方,其上的点具有越大的目标函数值。不难看出,本例的最优解为x*=(2,6)T,最优目标值z*=26。,三、线性规划的图解法,为了了解线性规划问题的特征并导出求解它的单纯形法,我们先应用图解法来求解例8.1。满足线性规划所有约束条件的点称为问题的可行点(或可行解),所有可行点构成的集合称为问题的可行域,记为R。对于每一固定的值z,使目标函数值等于z的点构成的直线称为目标函数等位线,当z变动时,我们得到一族平行直线(图8.1)。,9,
6、上述论断可以推广到一般的线性规划问题,区别只在于空间的维数。在一般的n维空间中,满足一线性等式aix=bi的点集被称为一个超平面,而满足一线性不等式aixbi(或aixbi)的点集被称为一个半空间(其中ai为一n维行向量,bi为一实数)。若干个半空间的交集被称为多胞形,有界的多胞形又被称为多面体。易见,线性规划的可行域R必为多胞形(为统一起见,空集也被视为多胞形)。,(1)可行域R可能会出现多种情况。R可能是空集也可能是非空集合,当R非空时,它必定是若干个半平面的交集(除非遇到空间维数的退化)。R既可能是有界区域,也可能是无界区域。(2)在R非空时,线性规划既可以存在有限最优解,也可以不存在有
7、限最优解(其目标函数值无界)。(3)若线性规划存在有限最优解,则必可找到具有最优目标函数值的可行域R的“顶点”。,从上面的图解过程可以看出并不难证明以下断言:,10,在一般n维空间中,要直接得出多胞形“顶点”概念还有一些困难。在图8.1中顶点可以看成为边界直线的交点,但这一几何概念的推广在一般n维空间中的几何意义并不十分直观。,定义8.1 称n 维空间中的区域R为一凸集,若x1,x2 R及(0,1),有 x1+(1)x2 R。,定义8.2 设R为n维空间中的一个凸集,R中的点x被称为R的一个极点,若不存在x1、x2 R及(0,1),使得x=x1+(1)x2。,定义8.1说明凸集中任意两点的连线
8、必在此凸集中;而定义8.2说明,若x是凸集R的一个极点,则x不能位于R中任意两点的连线上。不难证明,多胞形必为凸集。同样也不难证明,图8.1中R的顶点均为R的极点(R 也没有其他的极点),为此,我们将采用另一途径来定义它。,11,三、基本解与基本可行解,给定一个标准形式的线性规划问题(8.3),其中A=(aij)mxn,m n 秩r(A)=m。取出A的m个线性无关的列,这些列构成A的一个m 阶非奇异子矩阵B,称B为A的一个基矩阵。A的其余nm列构成一个m(nm)矩阵N。称对应B的列的变量为基变量(共有m个),记它们为xB。其余变量称为非基变量,记为xN。,对线性规划(8.3),取定一个基矩阵B
9、,令非基变量xN=0,可以唯一地解出xB,xB=B-1b。这样得到的点x=(B-1b,0)称为(8.3)的一个基本解。为了叙述方便起见,这里我们将xB放在了前面,但这并不影响到问题实质。显然,基本解不一定是可行解,因为还存在着非负约束,当一个基本解同时为可行解时(即B-1b0),称之为(8.3)的一个基本可行解。进而,若B-1b0,则称x=(B-1b,0)为(8.3)的一个非退化的基本可行解,并称B为非退化的可行基。由于基矩阵最多只有 种不同的取法,即使A的任意m解均线性无关,且对应的基本解均可行,(8.3)最多也只能有个不同的基本可行解。,12,四、基本可行解与极点的等价定理,在线性规划的求
10、解中,下列定理起了关键性的作用。在这里,我们不加证明地引入这些定理。,定理8.1(基本可行解与极点的等价定理)设A为一个秩为m的mn矩阵(nm)b为m维列向量,记R为(8.3)的可行域。则x为R的极点的充分必要条件为 x 是 的基本可行解。定理8.1既提供了求可行域R的极点的代数方法,又指明了线性规划可行域R的极点至多只有有限个.,对定理证明有兴趣的读者可以参阅 D.G.鲁恩伯杰著的“线性与非线性规划引论”一书第二章,13,(线性规划基本定理)线性规划(8.3)具有以下性质:(1)若可行域R,则必存在一个基本可行解。(2)若问题存在一个最优解,则必存在一个最优的基本可行解。定理8.2并非说最优
11、解只能在基本可行解(极点)上达到,而是说只要(8.3)有有限最优解,就必定可在基本可行解(极点)中找到。,定理8.2,从模型本身讲,线性规划显然应属连续模型。但定理 2表明,如果线性规划有有限最优解,我们只需比较各基本可行解上的目标函数值即可找到一个最优解,而问题的基本可行解至多只有有限个,从而问题化为一个从有限多个点选取一个最优点 的问题。正是基于这样一种思路,Dantzig提出了求解线性规划的单纯形法。也正因为如此,我们把线性规划列入了离散模型,因为求解它的单纯形法更具有离散模型问题的算法特征。,14,五、求解线性规划的单纯形法,(步1)取一初始可行基B(一般取法见后面的两段单纯形法),再
12、用高斯约当消去法求出初始基本可行解x0,编制成所谓的初始单纯形表;(步2)判断x0是否最优解,如果x0是最优解,输出x0,停,否则到步3;(步3)按一改进准则,将一个非基变量转变为基变量,而将一个基变量转变为非基变量。这相当于交换B与N的一个列,同样可用高斯约当消去法,运算可以通过单纯形表上的“转轴运算”实现。,Dantzig单纯形法的基本步骤如下:,15,定理8.3(最优性判别定理)令。(1)若rN0,则x0必为(8.3)的一个最优解。(2)记。若,rj0,则当B为非退化可行基时,x0必非最优解。,16,证明(1)若rN0,由于变量满足非负约束,必有xN0。于是,由(8.6)知,故x0为(8
13、.3)的一个最优解。(2)(8.6)式给出了x处的目标值与x0处目标值之间的联系。现设 及jj0仍令xj=0。由非退化假设,B1b0,根据(7.15)式知,当且充分小时,仍有xB0。此时对应的x仍 为可行解,但由(8.6),其目标函数值:故x0必非最优解。,定理8.3不仅给出了判别一个基本可行解是否为最优解的准则,而且在x0非最优解时还指出了一条改进它的途径。由于rN在判别现行基本可行解是否为最优解时起了重要作用,所以rN被称为x0处的检验向量,而rj(jN)被称为非基变量xj的检验数。,17,利用单位矩阵I消第一行的为零向量,则 被消成,而0则被消成。将消去后的行向量写到最后一行,删去原来的
14、第一行,得到一张被称为单纯表的表格:,(8.7),表格(8.7)以极为简洁明了的方式表达了我们需要的全部信息。从其前m行可看出哪些变量是基变量并可直接读出对应的基本可行解x0=(B1b,0)。其最后一行又给出了非基变量的检验数及x0处目标函数值的相反数。,18,例8.1的标准形式为(8.4),容易看出它的一个初始基B=I(以x3、x4、x5为基变量),且CB已经为零,故我们已有了一张初始的单纯形表表8.1:,表8.1,x0=(0,0,10,8,7)Tz0=CTx0=0rN=(r1,r2)=(4,3),现在,我们以例8.1为例,来看一下单纯形法是如何工作的。,19,由于存在着负的检验数且x0非退
15、化,x0非最优解。r1,r2均为负,x1,x2增大(进基)均能改进目标函数值。,例如,取x1进基仍令x2=0(x2仍为非基变量),此时由(8.5)式及(8.6)式有 且z=CTx=4x1x1增加得越多,目标函数值下降得越多,但当x1=5时x3=0,x1再增大则x3将变负。为保证可行性,x1最多只能增加到5,此时x3成为非基变量(退基)。,不难看出,上述改进可以在单纯形表上进行。对于一般形式的单纯形表,记最后一列的前m个分量为(yi0),i=1,m。若取 进基,记j0列前m个分量为(),i=1,m。易见,阻碍 增大的只可能在 0的那些约束中。若 0对一切i=1,m成立(j0列前m个分量中不存在正
16、值),则 可任意增大,得到的均为可行解,但其目标值随之可任意减小,故问题无有限最优解。,20,否则,令则随着 的增大,将 最先降为零(退出基变量),故只需以 为主元作一次消去法运算(称此运算为一次转轴运算),即可得到改进后的基本可行解处的单纯形表。在本例中,因取x1进基(j=1)而,以y11为主元作第一次转轴,得到,x1=(5,0,0,3,7)T z1=20 rN=(r2,r3)=(1,2),21,表8.2中r20)最小选定以下 y22=为主元转轴,得到下一基本可行解x2处的单纯形表表8.3。,表8.3,x2=(2,6,0,0,1)Tz2=26rN=(r3,r4)=(1,2)对于x2,rN=(
17、1,2)为非负向量,故x2为最优解,最优目标值为26。于是,原问题例1的最优解x*=(2,6)T,最优目标值为26。,22,六、初始可行解的求法两段单纯形法,阶段2 若辅助规划的最优目标值不等于零,原规划无可行解。否则我们已求得原问题的一个基本可行解x0。删去阶段1最终单纯表中最后一行及对应人工变量的列,作出原规划对应x0的初始单纯形表。此时又可利用上述单纯形法求解原规划了。,阶段1 对第i个约束引入人工变量 yi,yi0,将其改写为ai1x1+ainxn+yi=bi,i=1,m。作辅助线性规划LP(1),其目标函数为。容易看出,原规划有可行解(从而有基本可行解)的充分必要条件为辅助规划的最优
18、目标值为零。由于辅助规划具有明显的初始可行基(人工变量对应的列构成单位矩阵I),可利用上述单纯形法逐次改进而求出辅助规划最优解。,23,例8.2 min 4x1+x2+x3 S.t 2x1+x2+2x3=4 3x1+3x2+x3=3 x1、x2、x30,?,解:因为初始可行基不能直接看出,我们采用两段单纯形法求解。阶段1 先求解辅助规划:min x4+x5S.t 2x1+x2+2x3+x4=4 3x1+3x2+x3+x5=3 x1,x30,24,表8.4,选取x1进基,以y21=3为主元转轴(x5出基),得表8.5。表8.5,25,因r3 0,令x3进基。以y13=4/3为主元轴(x4出基),
19、得表8.6。至此,对新的基本可行解,检验数均已非负,辅助规划最优解已获得。又因辅助规划最优目标值为0,已求得原问题的一个基本可行解。表8.6,阶段2 现转入求解原规划,初始单纯形表为表8.7。x2进基,以y22=5/4为主元转轴,求得新的基本可行解及相应的单纯形表表8.8。,表8.7,26,表8.8,现对算法步骤作一小结。,27,上述算法中隐含着非退化假设,即要求B1b0。当B1b也存在零分量时,我们遇到了一个退化的基本可行解。此时rN存在负分量不一定说明现行基本可行解不是最优解,单纯形法也可能会遇到循环迭代。存在着几种避免循环的技巧,例如,只要每次在rj0的非基变量中选取具有最小足标者进基即
20、可。,在求解线性规划时,首先应将问题化为标准形式。若从标准形式已可看出一个初始基,则可直接用单纯法求解:(1)写出初始单纯形表;(2)若检验向量 rN 0,则已得以最优解;(3)任选一负分量rj。以 进基,考察 所在列。若对i=1,m均有 0,则问题无有限最优解,停;否则令,以 为主元转轴,返回(2),直至rN0求出最优解。若从标准形式无法看出初始可行基,则需采用两段单纯形法求解。,变量同时具有上、下界限止的线性规划问题也可化为标准形式求解,有兴趣的读者可以参阅D.G.鲁恩伯杰的“线性与非线性规划引论”一书的第三章。,28,8.2 运输问题,一.运输问题的数学模型,例8.3 某商品有m个产地、
21、n个销地,各产地的产量分别为a1,am各销地的需求量分别为b1,bn。若该商品由i产地运到j销地的单位运价为Cij,问应该如何调运才能使总运费最省?,解:引入变量xij,其取值为由i产地运往j销地的该商品数量。例8.3的数学模型为min S.t,i=1,m(8.9),j=1,n xij 0,(8.9)显然是一个线性规划问题,当然可以用单纯形方法求解,但由于其约束条件的系数矩阵相当特殊,求解它可以采用其他简便办法。本节将介绍由康脱洛维奇和希奇柯克两人独立地提出的表上作业法(简称康希表上作业法),其实质仍然是先作出一个初始基本可行解,然后用最优性准则检验是否为最优并逐次改进直至最优性准则成立。,2
22、9,二、初始可行解的选取,不难发现,(8.9)的约束条件中存在着多余方程。容易证明,只要从中除去一个约束,例如最后一个方程,约束条件就彼此独立了。因而,(8.9)是一个具有mn个变量的线性规划,其每一基本可行解应含有m+n1个基变量。,记(8.9)约束条件中前m+n1个方程的系数矩阵为A,A为(m+n1)mn矩阵,它的每一列最多只有两个非零元素且非零元素均为1。利用线性代数知识能够判定A中怎样的m+n1个列可以取为基(即怎样的m+n1个变量可以取为基变量),为了判明哪些变量对应的列是线性无关的,先引入下面的定义:,30,定义8.3(闭回路)xij(i=1,m;j=1,n)的一个子集被称为一个闭
23、回路,若它可以被排成其中 互异,也互异。,用下面的方法可以较方便直观地看出 xij 的一个子集是否为一闭回路:作一个m行n列的表格,令格(i,j)对应 xij。将子集中的变量填于相应格中,并将相邻变量(或同行或同列)用边相连,则此子集为闭回路当且仅当其点按上述连法作出的折线可构成一个闭回路。,例如,当m=3,n=4时,X1=x12,x13,x23,x24,x34,x32和X2=x12,x14,x24,x21,x31,x32 均为闭回路,见表8.9和表8.10。,31,定理8.4 X为 xij(i=1,,m;j=1,n)的一个子集,X中的变量对应的A中的列向量集线性无关的充要条件为X中不包含闭回
24、路。,定量8.4不难用线性代数知识证明,详细证明从略。根据定理8.4,要选取(8.9)的一组基变量并进而得到一个基本可行解,只需选取xij的一个子集X,X=m+n-1且X中不含闭回路,其中X表示X中的变量个数。,我们从下面的例子来说明如何选取一个基本可行解。,例8.3 给定运输问题如表8.11所示,表中左上角的数字为单位运价Cij。易见,本例是产销平衡的即。,表8.11,32,现采用“最小元素法”求一基本可行解。单位运价最小的为C33=1,令x33=mina3,b3=4,并令x13=x23=0(销地3已满足),相应格打“”。产地3已运出4单位,将产量改为剩余产量3。剩余表中单位运价最小的为C1
25、1=2(或C34=2),令x11=min a1,b1=2,并令x21=x31=0,相应格打“”,a1改为剩余产量1,直至全部产品分配完毕。注意到除最后一次分配外每次只能对一行或一列找“”,表示某销地已满足或某产地产品已分配完(当两者同时成立时只能打“”行或列之一,将剩余需求量或产量记为0,此时基本可行基是退化的)。容易证明:这样分配共选出了m+n-1个变量,且这些变量的集合不含闭回路,从而构成一个基本可行解。当每一基变量xij选取时i产地的剩余商品量与j销地的剩余需求量总不相等,选出的基本可行解是非退化的。,初始基本可行解也可按其他方式选取,如“左上角法”等,其方法与原理是类似的,左上角法每次
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性规划 计算复杂性 简介 全部
链接地址:https://www.31ppt.com/p-6598044.html