matlab线性规划教程_第1页
matlab线性规划教程_第2页
matlab线性规划教程_第3页
matlab线性规划教程_第4页
matlab线性规划教程_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、欢迎光临机械论坛(南京理大学)www.njustjx.ci】第一章线性规划 1 线性规划在人们的生产实践中,经常会遇到如何利用现有资源來安排生产,以取得最大经济 效益的问题。此类问题构成了运筹学的一个亜耍分支一数学规划,而线性规划(Linear Piogranmiing简记LP)则是数学规划的一*个币:耍分支。门从1947年G. B. Dantzig提岀 求解线性规划的单纯形方法以來,线性规划在理论上趋向成熟,在实用中II益广泛与深 入。特别是在计算机能处理成千上万个约束条件和决策变最的线件规划问题之后,线性 规划的适用领域更为广泛了,己成为现代管理中经常采用的基本方法之一。1.1线性规划的实

2、例与定义例1某机床厂生产甲、乙两种机床,每台销售后的利润分别为4000元与3000元。 生产甲机床需用力、机器加工,加工时间分别为每台2小时和1小时;生产乙机床 需用力、B、C三种机器加工,加工时间为每台各一小时。若每天可用丁加工的机器时 数分别为力机器10小时、2?机器8小时和C机器7小时,问该厂应生产甲、乙机床各 儿台,才能使总利润最大?上述问题的数学模型:设该厂生产丐台甲机床和乙机床时总利润最大,则 占,七应满足(2)(目标函数)max二=4曲+ 3.r2.日+七 8 s.t.(约束条件)P -x20这甲.变量円,称之为决策变帚,(1)式被称为问题的冃标函数,(2)中的儿个不等式 是问题

3、的约束棗件,记为s.t.(即subject to)上述即为一规划问题数学模型的三个耍素, 由于上面的冃标西数及约束条件均为线性函数,故被称为线性规划问题。总之,线性规划问题是在一组线性约束条件的限制下,求一线性目标函数垠人或最 小的问题。在解决实际问题时,把问题归结成一个线性规划数学模型是很重耍的一步,但往往 也是閑难的一步,模型建立得是否恰当,H接影响到求解。而选取适当的决策变量,是 我们建立有效模型的关键之一。1.2线性规划的Matlab标准形式线性规划的冃标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以 是小丁号也可以是大丁号。为了避免这种形式多样性带來的不便,Matlab

4、规定线性 规划的标准形式为mill Jx such that Ax b的Matlab标准型为min 一 cTx such that 一 Ax -b*1.3线性规划问题的解的概念一般线性规划问题的标准犁为mill 二=乞勺$(3)厂1nS.t. 2atjx bt /= 1,2,/(4)可行解 满足约束条件(4)的解工=(.斤,),称为线性观划问题的可行解, 而使冃标函数(3)达到最小值的可行解叫最优解。可行域 所有可行解构成的集合称为问题的可行域,记为人。1.4线性规划的图解法图解法简单血观,有助丁了解线性规划问题求解的垄本原理。我们先应用图解法來 求解例1。如上图所示,阴影区域即为LP问题的可

5、行域R。对丁每一固定的值二,使 目标函数值等于二的点构成的氏线称为目标函数等位线,半二变动时,我们得到一族平 行直线。让等位线沿冃标两数值减小的方向移动,肖到等位线与叮行域有交点的最后位 置,此时的交点(一个或多个)即为LP的最优解。对丁例1,显然等位线越趋丁右上方,其上的点具有越大的目标函数值。不难看出, 本例的虽优解为.t*=(2,6)r,最优目标值r*=26c从上而的图解过程可以看岀并不难证明以下断言:(1)可行域人可能会出现多种悄况。人可能是空集也可能是非空集介,当人非空 时,它必定是若干个半平面的交集(除非遇到空间维数的退化)。7?既可能是有界区域, 也可能是无界区域。(2)在人非空

6、时,线性规划既可以存在有限最乂解,也可以不存在有限最优解(其 目标函数值无界)。(3)R非空且LP有有限垠优解时,最优解可以唯一或有无穷多个。(4)若线性规划存在有限彊优解,则必可找到具有最优口标函数值的可行域虫 的“顶点J-3-欢迎光临机械论坛(南京理大学)上述论断可以推广到一傲的线性规划问题,区别只在丁空间的维数。任一般的 维空间中,满足一线性等式乞a“ = b的点集被称为一个超平而,而满足一线性不等 7=1式4厶(或2Laixi -)的点集被称为一个半空间(其中(q,Q”)为一7-1/-I维行向最,为一实数)。有限个半空间的交集被称为多胞形,有界的多胞形乂被称为 多而体。易见,线性规划的

7、可行域必为多胞形(为统一起见,空集也被视为多胞形)。 在一般维空间中,耍厲接得出劣胞形“顶点”概念还有一些困难。二维空间中的顶点 可以看成为边界直线的交点,但这一儿何概念的推广在一般维空间中的儿何意义并不 十分直观。为此,我们将采用另一途径來定义它。定义1称维空间中的区域代为一凸集,若及0;lw(O,l),有 看+ (1-刃化人。定义2设人为维空间中的一个凸集,W中的点.t被称为人的一个极点,若不 存在+、2 wR 及忑(0,1),使得.r= A? + (1-A).r o定义1说明凸集中任意两点的连线必在此凸集中;而定义2说明,若工是凸集 人的一个极点,则.r不能位丁-7?中任意两点的连线上。

8、不难证明,多胞形必为凸集。 同样也不难证明,二维空间屮可行域人的顶点均为人的极点(人也没有其它的极点)。1.5求解线性规划的Matlab解法单纯形法是求解线性规划问题的垠常用、最有效的算法之一。单纯形法是首先由 George Dantzig T 1947年提出的,近60年來,虽有许多变形体己被开发,但却保持着 同样的基本观念。由于有如下结论:若线性规划问题有有限最优解,则一定有某个最优 解是可行区域的一个极点。基于此,单纯形法的基本思路是:先找出可行域的一个极点, 据一定规则判断其是否最优;若否,则转换到与之相邻的另一极点,并使目标函数值更 优:如此下公,厲到找到某一最优解为止。这世找们不仰详

9、细介绍单纯形法,冇兴趣的 读者可以参看其它线性规划书籍。下面我们介绍线性规划的Matlab解法。Matlab5 3中线性规划的标准型为mill cTx such that Ax bX基本函数形式为linprog(c,b),它的返回值是向最工的值。还有其它的一些函数调用形 式(在Matlab指令窗运行help linprog可以看到所有的函数调用形式),如:x4val=linjog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS)这Hl ival返回目标函吻的值,Aeqlbeq对应等式约束= beq、LB和UB分别 是变量工的下界和上界,毛是工的初始值,OPTIONS是控制参数。例

10、2求解下列线性规划问题max 二=2.斤 + 3.巧 一 5屯五+七+屯=710石,七,形 0-# -欢迎光临机械论坛(南京理大学)解(i)编写M文件c=2;3;-5;a=-2,5r-l; b=-10;aeq=l,lz1;beq=7;x=linprog(-cfbzaeqfbeqr zeros(3,1)value=cf *x(ii) 将“文件存盘,并命名为exampl el. m o(iii) 在Matlab指令窗运行example】即可得所求结果。例3求解线性规划问题min r= 2齐+3七+屯xx + 4 + 2巧 8 6场,旳,也 0解编写Matlab程序如下:c 二2;3;1;a二1,4

11、, 2; 3, 2, 0;b=8;6;x, y =1 inprog(c, -a, -b, , , zeros (3, 1)1.6可以转化为线性规划的问题很多看起來不是线性观划的问题也町以通过变换变成线杵规划问题來解决。如:例4问题为mill丨石| + |七| +|工”丨s. t. Ax 0满足X. = Ut 一 1; , I xt |= Ut + 1;事实上,我们只耍取码=兀+ M,rz = Khi就可以满足上面的条件。2 2这样,记/=/ ”F,r=irjr,从而我们可以把上面的问题变成nminZ=1力(一 r) bs. t. 02运输问题(产销平衡)例5某商品有/个产地、个销地,各产地的产

12、量分别为坷,,各销地的 需求量分别为若该商品由/产地运到丿销地的单位运价为勺,问应该如何调-5-欢迎光临机械论坛(南京理大学)运才能使总运费最省?解:引入变暈.$,其取值为由7产地运往丿销地的该商品数最,数学模型为m nmm为为勺坷/-I y-1厂1s.t. 口 = %,八 1,2, /=1馬n 显然是一个线性规划问题,当然可以用单纯形法求解。对产销平衡的运输问题,由于有以下关系式存在:”m ( ”、” ( nt、m= E N N7=1/-l I /=1丿/-I z=l丿z-1其约束条件的系数矩阵相当特殊,可用比较简单的计算方法,习惯上称为表上作业法(由 康托洛维奇和希奇柯克两人独立地提出,简

13、称康一希表上作业法)0表上作业法是单纯形法金求解运输问题时的一种简化方法,其求解匸作在运输表上 进行逐步迭代如下:先按某一规则找出 个初始解(初始调运方案):再对现行解作虽 优性判断:若这个解不是最优的,就在运输表上对它进行调幣改进,得一新解:再判断, 再改进,H到得到最优解。 3 指派问题(乂称分配问题Assignment Problem)3.1指派问题的数学模型例6拟分配人去干项工作,每人干且仅干一项工作,若分配第/人去干第 丿项匸作,需花费勺单位时间,问应如何分配工作才能使工人花费的总时间最少?容易看出,耍给出一个指派问题的实例,只需给出矩阵0=(勺),U被称为指派 问题的系数矩阵。引入

14、变量占,若分配/干丿工作,则取. = 1,否则取爲=0。上述指派问题的 数学模型为n ni】m/I /!(5) 的可行解既可以用一个矩阵(称为解矩阵)表示,其每行每列均有且只有一个元 素为1,其余元素均为0,也可以用中的一个置换表示。(5)的变量只能取0或1,从而是一个(M规划问题。-般的01规划问题求解极为 困难。但指派问题并不难解,其约束方程组的系数矩阵十分特殊(被称为全单位模矩阵, 其各阶非零子式均为1),其非负可行解的分最只能取0或1,故约束爲=0或1可改 写为.0而不改变其解。此时,指派问题被转化为一个特殊的运输问题,其中 / = “,q = % = 1。3.2求解指派问题的匈牙利算

15、法由于指派问题的特殊性,乂存在着由匈牙利数学家D.Koiiig提出的更为简便的解 法一匈牙利算法。算法主要依据以下事实:如果系数矩阵C=(q) 行(或一列)中每一元素都加上或减公同一个数,得到一个新矩阵=(%),则以C或&为系数矩阵 的指派问题具有相同的最优指派。利用上述性质,可将原系数阵C变换为含零元素较多的新系数阵B,而最优解不 变。若能在E中找出n个位于不同行不同列的零元素,令解矩阵中相应位置的元素取 值为1,其它元索取值为零,则所得该解是以B为系数阵的指派问题的最优解,从而也 是原问题的最优解。由C到B的转换可通过先让矩阵C的每行元素均减去其所在行的最小元素得矩阵 D, D的每列元素再

16、减去其所在列的最小元素得以实现。下而通过一例子來说明该算法例7求解指派问题,其系数矩阵为161519221721191824? 1181717192216解 将第一行元素减公此行中的最小元素15,同样,第二行元素减去17,第三行 元素减去17,最后一行的元素减去16,得7100再将第3列元素各减去1,得-9-欢迎光临机械论坛(南京理大学)10*oe4317_1B、=亠拿75001350*以禺为系数矩阵的指派问题有最优指派1 2 3 4、2 1 3 4丿由等价性,它也是例7的最优指派。 有时问题会稍复杂一些。例8求解系数矩阵C的指派问题12879967696c=71712141215146610

17、4107106解:先作等价变换如下-712797950*2026896662300*0-77171214120*10575-615146610980*04-4410710606362容易看出,从变换后的矩阵小只能选出四个位丁不同行不同列的冬元素,但 /z=5,最优指派还无法看出。此时等价变换还可进行下去。步骤如下:(1) 对未选出0元素的行打V;(2) 对V行中0元索所在列打V ;(3) 对V列中选中的0元素所在行打V :重复(2)、(3)直到无法再打V为止。可以证明,若用鬥线划没有打V的行与打V的列,就得到了能够覆盖住矩阵中所 有零元索的最少条数的H线集合,找出耒覆盖的元素屮的垠小者,令V行

18、元素减去此 数,V列元索加上此数,则原先选中的o元素不变,而未覆盖元素中至少有一个己转 变为0,且新矩阵的指派问题与原问题也等价。上述过程可反复采用,到能选取出足 够的0元素为止。例如,对例5变换后的矩阵再变换,第三行、第五行元素减去2,第 一列元索加上2,得欢迎光临机械论坛(南京理工大学)-#-欢迎光临机械论坛(南京理工大学)083 5 311 8 0 0 404140现在己可看出,绘优指派为f 2 4 13 54对偶理论与灵敏度分析4.1原始问题和对偶问题考虑下列一对线性规划模型:max cTxs.t. Ax 0(P)和mill 17ys.t.Ary c,yQ(D)称(P)为原始问题,(D

19、)为它的对偶问题。不太严谨地说,对偶问题可被看作是原始问题的“行列转置J(1)原始问题约束条件小的第丿列系数与其对偶问题约束条件中的第丿行的 系数相同;(2)原始目标函数的系数行与其对偶问题右侧的常数列相同;(3)原始问题右侧的常数列与其对偶目标函数的系数行相同;(4)在这一对问题中,除非负约束外的约束不等式方向和优化方向相反。 考虑线性规划:mill cTx s.t. Ax = A .r 0把其中的等式约虫变成不等式约束,可得mil) x它的对偶问题是-A X,.r 0maxbrs.t. at -At其中片和y2分别表示对应T*约束Ax b和一 Ax-b的对偶变量组。令y= yx -y- 则

20、上式乂可写成max 17y s.t. y 0f变最无限制=r0行约束-变最0无限制4.2对偶问题的基本性质1对称性:对偶问题的对偶是原问题。2弱对偶性:若丘是原问题的可行解,歹是对偶问题的可行解。则恒有: crx 42 日-七 + 3乃 + x4+ x5 343已知其对偶问题的最优解为才= ; =,最优值为y = 5o试用对偶理论找出原 55问题的最优解。解先写出它的对偶问题max 二=4丿+ 3 匕s.t. yx + 2y2 2“-乃 32. 片+ 3旳 5”+必23必+ y2 0;原问题的两个-#-约束条件应取等式,故有3.tf + 成=42* p rxx + 屯=3求解后得到彳=1,=1

21、;故原问题的最优解为F = 1 0 0 0 1最优值为 1/ * = 5 o4.3灵敏度分析灵敏度分析是指对系统或周鬧韦物因周用条件变化显示出來的敏感程度的分析。在以前讨论线性规划问题时,假定都是常数。但实际上这些系数往往是估 计值和预测值。如市场条件一变,5值就会变化;线往往是因工艺条件的改变而改变; 勺是根据资源投入后的经济效果决定的一种决策选择。因此提出这样两个问题:当这 些参数有一个或儿个发生变化时,已求得的线性规划问题的最优解会有什么变化:或者 这些参数在什么范I羽内变化时,线性规划问题的最优解不变。这电我们就不讨论了。4.4参数线性规划参数线性规划是研究佝0。这些参数中某一参数连续变化时,使最优解发生变化 的各临界点的值。即把某一参数作为参变応,而日标函数在某区间内是这参变屋的线性 函数,禽这参变最的约束条件是线性等式或不等式。因此仍可用单纯形法和对偶单纯形 法进行分析参数线性规划问题。习题一1.某厂生产三种产品l n, mo每种产品要经过力,两道工序加工。设该厂有 两种规格的设备能完成/匸序,它们以4,4表示;有三种规格的设备能完成匸序, 它们以2,乡,表示。产品I可在力,方任何一种规格

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论