线性规划与LINGO编程.ppt_第1页
线性规划与LINGO编程.ppt_第2页
线性规划与LINGO编程.ppt_第3页
线性规划与LINGO编程.ppt_第4页
线性规划与LINGO编程.ppt_第5页
免费预览已结束,剩余70页可下载查看

下载本文档

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

文档简介

内容说明,以下内容在数学建模与数学实验(第二版)(汪晓银,周保平主编)第3章,2.1什么是数学规划2.2连续性线性规划2.3敏感性分析2.4整数线性规划2.50-1规划,内容说明,数学规划俗称最优化,首先是一种理念,其次才是一种方法,它所追求的是一种“至善”之道,一种追求卓越的精神.,2.1什么是数学规划,小明同学,烧一壶水要8分钟,灌开水要1分钟,取牛奶和报纸要5分钟,整理书包要6分钟,为了尽快做完这些事,怎样安排才能使时间最少?最少需要几分钟?,十个人各提一只水桶,同时到水龙头前打水。设水龙头注满第一个人的桶需要1分钟,注满第二个人的桶需要2分钟,依此类推,注满第几个人的桶就需要几分钟,如果只有一只水龙头,适当安排这10个人的顺序,就可以使每个人所费的时间总和尽可能小,问这个总费时至少是几分钟?,2.1什么是数学规划,数学规划(最优化)作为一门学科孕育于20世纪的30年代,诞生于第二次世界大战弥漫的硝烟中。数学规划指在一系列客观或主观限制条件下,寻求合理分配有限资源使所关注的某个或多个指标达到最大(或最小)的数学理论和方法,是运筹学里一个十分重要的分支。,2.1什么是数学规划,最优化问题的数学模型的一般形式为:,(1),(2),三个要素:决策变量decisionbariable,目标函数objectivefunction,约束条件constraints。,2.1什么是数学规划,约束条件(2)所确定的x的范围称为可行域feasibleregion,满足(2)的解x称为可行解feasiblesolution,同时满足(1)(2)的解x称为最优解Optimalsolution,整个可行域上的最优解称为全局最优解globaloptimalsolution,可行域中某个领域上的最优解称为局部最优解localoptimalsolution。最优解所对应的目标函数值称为最优值optimum。,2.1什么是数学规划,(一)按有无约束条件(2)可分为:1.无约束优化unconstrainedoptimization。2.约束优化constrainedoptimization。大部分实际问题都是约束优化问题。,优化模型的分类,2.1什么是数学规划,(二)按决策变量取值是否连续可分为:1.数学规划或连续优化。可继续划分为线性规划(LP)Linearprogramming和非线性规划(NLP)Nonlinearprogramming。在非线性规划中有一种规划叫做二次规划(QP)Quadraticprogramming,目标为二次函数,约束为线性函数。2.离散优化或组合优化。包含:整数规划(IP)Integerprogramming,整数规划中又包含很重要的一类规划:0-1(整数)规划Zero-oneprogramming,这类规划问题的决策变量只取0或者1。,2.1什么是数学规划,(三)按目标的多少可分为:1.单目标规划。2.多目标规划。(四)按模型中参数和变量是否具有不确定性可分为:1.确定性规划。2.不确定性规划。(五)按问题求解的特性可分为:1.目标规划。2.动态规划。3.多层规划。4.网络优化。5.等等。,2.1什么是数学规划,LINGO软件和MATLAB软件。对于LINGO软件,线性优化求解程序通常使用单纯形法simplexmethod,单纯形法虽然在实际应用中是最好最有效的方法,但对某些问题具有指数阶的复杂性,为了能解大规模问题,也提供了内点算法interiorpointmethod备选(LINGO中一般称为障碍法,即barrier),非线性优化求解程序采用的是顺序线性规划法,也可用顺序二次规划法,广义既约梯度法,另外可以使用多初始点(LINGO中称multistart)找多个局部最优解增加找全局最优解的可能,还具有全局求解程序分解原问题成一系列的凸规划。,求解优化问题常用的软件,2.1什么是数学规划,线性规划的一般形式:,2.2连续性线性规划,一般线性规划问题都可以通过引入非负的松弛变量slackvariable与非负的剩余变量surplusv-ariable的方法化为标准形式(约束全是等约束)。,线性规划问题的可行域feasibleregion是一个凸集convexset(任意两点的连线上的点都在区域内部,可以看作是没有凹坑的凸多面体),所以最优解Optimalsolution/point在凸多面体的某个顶点上达到,求解方法:单纯形算法simplexmethod。,2.2连续性线性规划,1.比例性:每个决策变量对目标函数以及右端项的贡献与该决策变量的取值成正比。2.可加性:每个决策变量对目标函数以及右端项的贡献与其他决策变量的取值无关。3.连续性:每个决策变量的取值都是连续的。,连续线性规划问题的性质,要解决的问题的目标可以用数值指标反映对于要实现的目标有多种方案可选择有影响决策的若干约束条件,2.2连续性线性规划,例1运输问题,2.2连续性线性规划,解设A1,A2调运到三个粮站的大米分别为x1,x2,x3,x4,x5,x6吨。,题设量可总到下表:,2.2连续性线性规划,结合存量限制和需量限制得数学模型:,2.2连续性线性规划,程序编写1model:min=12*x1+24*x2+8*x3+30*x4+12*x5+24*x6;x1+x2+x32;x2+x54;x3+x65;end,提示:课件中的程序请先粘贴在记事本中再转帖于lingo软件中,2.2连续性线性规划,运行结果Globaloptimalsolutionfound.Objectivevalue:160.0000Totalsolveriterations:0VariableValueReducedCostX12.0000000.000000X20.00000028.00000X32.0000000.000000X40.0000002.000000X54.0000000.000000X63.0000000.000000RowSlackorSurplusDualPrice1160.0000-1.00000020.00000016.0000031.0000000.00000040.000000-28.0000050.000000-12.0000060.000000-24.00000,2.2连续性线性规划,变量更换为:,2.2连续性线性规划,模型:,2.2连续性线性规划,程序编写MODEL:TITLE调运大米的运输问题程序3;!定义集合段;SETS:LIANGKU/1.2/:A;!定义粮库的集合;LIANGZHAN/1.3/:B;!定义粮站的集合;YULIANG(LIANGKU,LIANGZHAN):X,C;!定义运量和距离;ENDSETSDATA:!粮库到粮站的距离;C=12248301224;,2.2连续性线性规划,!粮库的限量;A=48;!粮站的限量;B=245;ENDDATAOBJMIN=SUM(YULIANG:C*X);!粮库上限的约束;FOR(LIANGKU(I):LKSUM(LIANGZHAN(J):X(I,J)B(J);END,2.2连续性线性规划,程序的调试1.直接点击运行,如果出错会弹出错误提示,根据提示做相应的修改;2.可以用“!”把约束变成说明语句,而把这条语句屏蔽掉,缩小寻找出错的范围;3.可以边写程序边运行,保证每行书写都是正确的程序;,2.2连续性线性规划,例2阶段生产问题,某公司生产某产品,最大生产能力为10000单位,每单位存储费2元,预定的销售量与单位成本如下:,求一生产计划,使1)满足需求;2)不超过生产能力;3)成本(生产成本与存储费之和)最低.,2.2连续性线性规划,解假定1月初无库存,4月底买完,当月生产的不库存,库存量无限制.,2.2连续性线性规划,model:title生产计划程序1;Sets:yuefen/1.4/:c,x,e,d;endsetsdata:c=70718076;d=60007000120006000;e=2222;a=10000;enddatamin=sum(yuefen:c*x)+sum(yuefen(j)|j#lt#4:sum(yuefen(i)|i#le#j:x-d)*e(j+1);for(yuefen(j)|j#lt#4:sum(yuefen(i)|i#le#j:x)sum(yuefen(i)|i#le#j:d);sum(yuefen:x)=sum(yuefen:d);for(yuefen:xa);end,2.2连续性线性规划,2.2连续性线性规划,Model:Title生产计划程序2;Sets:yuefen/1.4/:c,x,e,d,s;endsetsdata:c=70718076;d=60007000120006000;e=2222;a=10000;enddatamin=sum(yuefen:c*x+e*s);for(yuefen(i)|i#lt#4:s(i+1)=s(i)+x(i)-d(i);s(4)+x(4)-d(4)=0;s(1)=0;for(yuefen:xa);End,2.2连续性线性规划,2.2连续性线性规划,2.2连续性线性规划,建立模型如下:,2.2连续性线性规划,model:title生产计划程序3;sets:yuefen/1.4/:a,d,xx;!定义上三角矩阵;link(yuefen,yuefen)|End,2.2连续性线性规划,ModelTitle:生产计划程序1VariableValueReducedCostA10000.000.000000C(1)70.000000.000000C(2)71.000000.000000C(3)80.000000.000000C(4)76.000000.000000X(1)10000.000.000000X(2)10000.000.000000X(3)5000.0000.000000X(4)6000.0000.000000E(1)2.0000000.000000E(2)2.0000000.000000E(3)2.0000000.000000E(4)2.0000000.000000D(1)6000.0000.000000D(2)7000.0000.000000D(3)12000.000.000000D(4)6000.0000.000000,2.2连续性线性规划,设有两个工厂A、B,产量都是10万个,工厂有三个仓库x,y,z,产品都先送到仓库。现有四个顾客分别为甲,乙,丙,丁,需求量分别为3,5,4,5万个。工厂到仓库、仓库到顾客的运费单价(元/个)见下表所示。试求总运费最少的运输方案以及总运费。,课后训练,model:title转运问题;sets:Plant/A,B/:produce;Warhouse/x,y,z/;Customer/1.4/:require;LinkI(Plant,Warhouse):cI,xI;LinkII(Warhouse,Customer):cII,xII;endsetsdata:produce=10,10;require=3,5,4,5;cI=4,2,5,3,1,2;cII=5,7,10,20,9,6,7,15,20,6,7,4;enddata,课后练习,OBJmin=sum(LinkI:cI*xI)+sum(LinkII:cII*xII);!Thesupplyconstraints;for(Plant(i):SUPsum(Warhouse(j):xI(i,j)=produce(i);!运进仓库的量等于运出的量;for(Warhouse(j):MIDsum(Plant(i):xI(i,j)=sum(Customer(k):xII(j,k);!Thedemandconstraints;for(Customer(k):DEMsum(Warhouse(j):xII(j,k)=require(k);,课后练习,连续投资10万元,A:从第1年到第4年每年初要投资,次年末回收本利1.15,B:第3年初投资,到第5年末回收1.25,最大投资4万元,C:第2年初投资,到第5年末回收1.40,最大投资3万元,D:每年初投资,每年末回收1.11。,求:5年末总资本最大。,练习2连续投资,课后练习,练习2解答,变量设置,课后练习,模型建立,课后练习,程序编写model:title投资问题;max=1.15*x4a+1.40*x2c+1.25*x3b+1.06*x5d;x1a+x1d=100000;x2a+x2c+x2d=1.06*x1d;x3a+x3b+x3d=1.15*x1a+1.06*x2d;x4a+x4d=1.15*x2a+1.06*x3d;x5d=1.15*x3a+1.06*x4d;x3b=40000;x2c=30000;,课后练习,运行结果Globaloptimalsolutionfound.Objectivevalue:143750.0Totalsolveriterations:2ModelTitle:投资问题VariableValueReducedCostX4A45000.000.000000X2C30000.000.000000X3B40000.000.000000X5D0.0000000.000000X1A71698.110.000000X1D28301.890.000000X2A0.0000000.000000X2D0.0000000.3036000E-01X3A0.0000000.000000X3D42452.830.000000X4D0.0000000.2640000E-01,课后练习,例3生产计划问题某工厂计划安排生产,两种产品,已知每种单位产品的利润,生产单位产品所需设备台时及A,B两种原材料的消耗,现有原材料和设备台时的定额如表所示,问:)怎么安排生产使得工厂获利最大?)产品的单位利润降低到1.8万元,要不要改变生产计划,如果降低到1万元呢?)产品的单位利润增大到5万元,要不要改变生产计划?)如果产品,的单位利润同时降低了1万元,要不要改变生产计划?,2.3敏感性分析,2.3敏感性分析,程序编写model:title生产计划问题;maxfmax=2*x1+3*x2;TIMEx1+2*x28;A4*x116;B4*x212;END,2.3敏感性分析,运行结果ModelTitle:生产计划问题VariableValueReducedCostX14.0000000.000000X22.0000000.000000RowSlackorSurplusDualPriceMAXF14.000001.000000A0.0000001.500000B0.0000000.1250000TIME4.0000000.000000,对问题1,安排是生产产品4单位,产品2单位,最大盈利为14万元。,2.3敏感性分析,目标函数的系数变化的敏感性分析,如果目标函数的系数发生变化,将会影响目标函数f斜率的变化,但是只要f的斜率小于等于-1/2(也就是直线l夹在l1与l2之间时),最优解都在(4,2)上取到,最优解不变,从而生产计划不会变.,2.3敏感性分析,要使用敏感性分析必须要在这里选择Pricesx1+x250;12*x1+8*x2480;3*x120;x3+x5+2*x715;gin(x1);gin(x2);gin(x3);gin(x4);gin(x5);gin(x6);gin(x7);end,程序编写,2.4整数规划,按模式2切割12根,按模式5切割15根,余料27米,最优解:x2=12,x5=15,其余为0;最优值:27,最优解:x2=15,x5=5,x7=5,其余为0;最优值:25。,按模式2切割15根,按模式5切割5根,按模式7切割5根,共25根,余料35米,当余料没有用处时,通常以总根数最少为目标,2.4整数规划,练习3某服务部门一周中每天需要不同数目的雇员,周一到周四每天至少需要50人,周五至少需要80人,周六和周日至少需要90人,现规定应聘者需连续工作5天,试确定聘用方案。,解周一至周日分别聘用X(i)(i1,2,7)个人上班,最少所需人数为R(i),总人数为Z.,课后练习,MODEL:SETS:DAYS/MON.SUN/:R,X;ENDSETSDATA:R=50505050809090;ENDDATAMIN=Z;N=SIZE(DAYS);!集合的长度;Z=SUM(DAYS:X);FOR(DAYS(I):Z-X(WRAP(I+1,N)-X(WRAP(I+2,N)R(I);!WRAP()相当于求余数,返回1到N之间的数;FOR(DAYS:GIN(X);END,课后

温馨提示

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

评论

0/150

提交评论