优化模型与LINDOLINGO软件.ppt

上传人:本田雅阁 文档编号:2654860 上传时间:2019-04-30 格式:PPT 页数:59 大小:931.01KB
返回 下载 相关 举报
优化模型与LINDOLINGO软件.ppt_第1页
第1页 / 共59页
优化模型与LINDOLINGO软件.ppt_第2页
第2页 / 共59页
优化模型与LINDOLINGO软件.ppt_第3页
第3页 / 共59页
优化模型与LINDOLINGO软件.ppt_第4页
第4页 / 共59页
优化模型与LINDOLINGO软件.ppt_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《优化模型与LINDOLINGO软件.ppt》由会员分享,可在线阅读,更多相关《优化模型与LINDOLINGO软件.ppt(59页珍藏版)》请在三一文库上搜索。

1、1,Mathematical experiment,数学建模培训,2,最优化问题简介,引例: 生产计划问题,常用优化软件,Lindo软件应用范例 加工奶制品的生产计划,主要内容,Lingo软件应用范例 原油采购与加工,3,特点:从若干可能的计划(方案)中寻求某种意义下的最优方案,数学上将这种问题称为最优化问题(optimization). 静态问题(没有考虑时间t的变化),1、生产计划问题;,2、运输问题;,最优化问题简介,4,在一定的条件下,问生产数量xi =?使利润达到最大?,数据表,生产计划问题,5,运输问题,目标:运费达到最小,网络图,6,某种原材料有M个产地,现在需要将原材料从产地运

2、往N个工地,假定M个产地的产量为ai和N个工地的需求量为bj,单位产品的运费cij已知,那么如何安排运输方案可以使总运费最低?,数学模型:,cij 单位运费; xij 运输量; ai 第i 地产量; bj 第j 地需要量;,返 回,运输问题,7,建立最优化的数学模型应具备三个基本要素,1、决策变量(decision variables); 2、约束条件(constraints); 3、目标函数(objective function),最优化问题分类: 线性、非线性 静态、动态 整数、非整数 随机、非随机等,返 回,8,优化,规划的类型,无约束优化 线性规划(LP) 目标和约束均为线性函数 非线

3、性规划(NLP) 目标和约束均为非线性函数 整数规划(IP) 决策变量为整数 组合优化 不确定规划 多目标规划 目标函数至少两个以上 网络优化 动态规划 研究随时间变化的决策问题,返 回,9,典型的工程应用问题,返 回,50个决策变量以上的优化问题称为大规模的.,10,生产计划问题,min cTx s.t. Axb x0,归纳:,11,数学规划中的几个概念,1、可行解(可行点) 2、可行域 3、最优解,例:Max z = 3x1+x2 s.t. -x1+x22 L1 x1-2x22 L2 3x1+2x214 L3 x1,x20,图解: 起作用约束:L2,L3 最优解(4,1) 最优值 zmax

4、 = 13,12,多峰函数,存在局部最大和整体最大,等值线图,函数曲面图形,4. 局部最优解 5. 整体最优解,13,建模时需要注意的几个基本问题,1.尽量使用实数优化,减少整数约束和整数变量 2.尽量使用光滑优化,减少非光滑约束的个数 如:尽量少使用绝对值、符号函数、多个变量求最大/最小、四舍五入、取整函数等 3.尽量使用线性模型,减少非线性约束和非线性变量的个数 4.合理设定变量的上下界,尽可能给出变量初始值 5.模型中使用的参数数量级要恰当(小于103),返 回,14,常用优化软件,1.LINDO/LINGO软件,2.MATLAB优化工具箱,3.EXCELL软件的优化功能,4.SAS(统

5、计分析)软件的优化功能,15,常用优化软件,1.LINDO/LINGO软件,2.MATLAB优化工具箱,3.EXCELL软件的优化功能,4.SAS(统计分析)软件的优化功能,16,LINDO和LINGO软件能求解的优化模型,例1 加工奶制品的生产计划,50桶牛奶,时间480小时,至多加工100公斤A1,制订生产计划,使每天获利最大,35元可买到1桶牛奶,买吗?若买,每天最多买多少?,可聘用临时工人,付出的工资最多是每小时几元?,A1的获利增加到 30元/公斤,应否改变生产计划?,每天:,奶制品的生产与销售,x1桶牛奶生产A1,x2桶牛奶生产A2,获利 243x1,获利 164 x2,原料供应,

6、劳动时间,加工能力,决策变量,目标函数,每天获利,约束条件,非负约束,线性规划模型(LP),时间480小时,至多加工100公斤A1,模型求解,图解法,约束条件,目标函数,z=c (常数) 等值线,在B(20,30)点得到最优解,目标函数和约束条件是线性函数,可行域为直线段围成的凸多边形,目标函数的等值线为直线,最优解一定在凸多边形的某个顶点取得。,模型求解,软件实现,LINDO 6.1,max 72x1+64x2 st 2)x1+x250 3)12x1+8x2480 4)3x1100 end,OBJECTIVE FUNCTION VALUE 1) 3360.000 VARIABLE VALUE

7、 REDUCED COST X1 20.000000 0.000000 X2 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 48.000000 3) 0.000000 2.000000 4) 40.000000 0.000000 NO. ITERATIONS= 2,DO RANGE (SENSITIVITY) ANALYSIS?,No,20桶牛奶生产A1, 30桶生产A2,利润3360元。,结果解释,OBJECTIVE FUNCTION VALUE 1) 3360.000 VARIABLE VALUE REDUC

8、ED COST X1 20.000000 0.000000 X2 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 48.000000 3) 0.000000 2.000000 4) 40.000000 0.000000 NO. ITERATIONS= 2,原料无剩余,时间无剩余,加工能力剩余40,max 72x1+64x2 st 2)x1+x250 3)12x1+8x2480 4)3x1100 end,三种资源,“资源” 剩余为零的约束为紧约束(有效约束),结果解释,OBJECTIVE FUNCTION VALUE

9、 1) 3360.000 VARIABLE VALUE REDUCED COST X1 20.000000 0.000000 X2 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 48.000000 3) 0.000000 2.000000 4) 40.000000 0.000000 NO. ITERATIONS= 2,最优解下“资源”增加1单位时“效益”的增量,原料增加1单位, 利润增长48,时间增加1单位, 利润增长2,加工能力增长不影响利润,影子价格,35元可买到1桶牛奶,要买吗?,35 48, 应该买!,聘

10、用临时工人付出的工资最多每小时几元?,2元!,RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X1 72.000000 24.000000 8.000000 X2 64.000000 8.000000 16.000000 RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE 2 50.000000 10

11、.000000 6.666667 3 480.000000 53.333332 80.000000 4 100.000000 INFINITY 40.000000,最优解不变时目标函数系数允许变化范围,DO RANGE(SENSITIVITY) ANALYSIS?,Yes,x1系数范围(64,96),x2系数范围(48,72),A1获利增加到 30元/千克,应否改变生产计划,x1系数由24 3=72增加为303=90,在允许范围内,不变!,(约束条件不变),结果解释,RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES V

12、ARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X1 72.000000 24.000000 8.000000 X2 64.000000 8.000000 16.000000 RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE 2 50.000000 10.000000 6.666667 3 480.000000 53.333332 80.000000 4 100.000000 INFINITY 40.000000,影子价格有

13、意义时约束右端的允许变化范围,原料最多增加10,时间最多增加53,35元可买到1桶牛奶,每天最多买多少?,最多买10桶!,(目标函数不变),例2 奶制品的生产销售计划,在例1基础上深加工,制订生产计划,使每天净利润最大,30元可增加1桶牛奶,3元可增加1小时时间,应否投资?现投资150元,可赚回多少?,50桶牛奶, 480小时,至多100公斤A1,B1,B2的获利经常有10%的波动,对计划有无影响?,出售x1 千克 A1, x2 千克 A2,,X3千克 B1, x4千克 B2,原料供应,劳动时间,加工能力,决策变量,目标函数,利润,约束条件,非负约束,x5千克 A1加工B1, x6千克 A2加

14、工B2,附加约束,模型求解,软件实现,LINDO 6.1,OBJECTIVE FUNCTION VALUE 1) 3460.800 VARIABLE VALUE REDUCED COST X1 0.000000 1.680000 X2 168.000000 0.000000 X3 19.200001 0.000000 X4 0.000000 0.000000 X5 24.000000 0.000000 X6 0.000000 1.520000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 3.160000 3) 0.000000 3.260000 4

15、) 76.000000 0.000000 5) 0.000000 44.000000 6) 0.000000 32.000000 NO. ITERATIONS= 2,自来水输送与货机装运,生产、生活物资从若干供应点运送到一些需求点,怎样安排输送方案使运费最小,或利润最大;,运输问题,各种类型的货物装箱,由于受体积、重量等限制,如何搭配装载,使获利最高,或装箱数量最少。,其他费用:450元/千吨,应如何分配水库供水量,公司才能获利最多?,若水库供水量都提高一倍,公司利润可增加到多少?,例1 自来水输送,收入:900元/千吨,支出,总供水量:160,确定送水方案使利润最大,问题分析, 总需求量:1

16、20+180=300,总收入900160=144,000(元),收入:900元/千吨,其他费用:450元/千吨,支出,引水管理费,其他支出450160=72,000(元),供应限制,约束条件,需求限制,线性规划模型(LP),目标函数,水库i 向j 区的日供水量为 xij(x34=0),决策变量,模型建立,确定3个水库向4个小区的供水量,模型求解,OBJECTIVE FUNCTION VALUE 1) 24400.00 VARIABLE VALUE REDUCED COST X11 0.000000 30.000000 X12 50.000000 0.000000 X13 0.000000 50

17、.000000 X14 0.000000 20.000000 X21 0.000000 10.000000 X22 50.000000 0.000000 X23 0.000000 20.000000 X24 10.000000 0.000000 X31 40.000000 0.000000 X32 0.000000 10.000000 X33 10.000000 0.000000,利润=总收入-其它费用-引水管理费=144000-72000-24400 = 47600(元),引水管理费 24400(元),目标函数,总供水量(320) 总需求量(300),每个水库最大供水量都提高一倍,利润 =

18、收入(900) 其它费用(450) 引水管理费,供应限制,B, C 类似处理,问题讨论,确定送水方案使利润最大,需求约束可以不变,求解,OBJECTIVE FUNCTION VALUE 1) 88700.00 VARIABLE VALUE REDUCED COST X11 0.000000 20.000000 X12 100.000000 0.000000 X13 0.000000 40.000000 X14 0.000000 20.000000 X21 30.000000 0.000000 X22 40.000000 0.000000 X23 0.000000 10.000000 X24 5

19、0.000000 0.000000 X31 50.000000 0.000000 X32 0.000000 20.000000 X33 30.000000 0.000000,这类问题一般称为“运输问题” (Transportation Problem),总利润 88700(元),如何装运,使本次飞行获利最大?,三个货舱最大载重(吨),最大容积(米3),例2 货机装运,三个货舱中实际载重必须与其最大载重成比例,飞机平衡,决策变量,xij-第i 种货物装入第j 个货舱的重量(吨) i=1,2,3,4, j=1,2,3 (分别代表前、中、后仓),模型假设,每种货物可以分割到任意小;,货机装运,每种货

20、物可以在一个或多个货舱中任意分布;,多种货物可以混装,并保证不留空隙;,模型建立,货舱容积,目标函数(利润),约束条件,货机装运,模型建立,货舱重量,xij-第i 种货物装入第j 个货舱的重量,约束条件,平衡要求,货物供应,货机装运,模型建立,xij-第i 种货物装入第j 个货舱的重量,OBJECTIVE FUNCTION VALUE 1) 121515.8 VARIABLE VALUE REDUCED COST X11 0.000000 400.000000 X12 0.000000 57.894737 X13 0.000000 400.000000 X21 10.000000 0.0000

21、00 X22 0.000000 239.473679 X23 5.000000 0.000000 X31 0.000000 0.000000 X32 12.947369 0.000000 X33 3.000000 0.000000 X41 0.000000 650.000000 X42 3.052632 0.000000 X43 0.000000 650.000000,货物2:前仓10,后仓5; 货物3: 中仓13, 后仓3;货物4: 中仓3。,货机装运,模型求解,最大利润约121516元,货物供应点 货舱需求点,平衡要求,OBJECTIVE FUNCTION VALUE 1) 3460.80

22、0 VARIABLE VALUE REDUCED COST X1 0.000000 1.680000 X2 168.000000 0.000000 X3 19.200001 0.000000 X4 0.000000 0.000000 X5 24.000000 0.000000 X6 0.000000 1.520000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 3.160000 3) 0.000000 3.260000 4) 76.000000 0.000000 5) 0.000000 44.000000 6) 0.000000 32.000000

23、 NO. ITERATIONS= 2,结果解释,每天销售168 千克A2和19.2 千克B1, 利润3460.8(元),8桶牛奶加工成A1,42桶牛奶加工成A2, 将得到的24千克A1全部加工成B1,除加工能力外均为紧约束,结果解释,OBJECTIVE FUNCTION VALUE 1) 3460.800 VARIABLE VALUE REDUCED COST X1 0.000000 1.680000 X2 168.000000 0.000000 X3 19.200001 0.000000 X4 0.000000 0.000000 X5 24.000000 0.000000 X6 0.0000

24、00 1.520000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 3.160000 3) 0.000000 3.260000 4) 76.000000 0.000000 5) 0.000000 44.000000 6) 0.000000 32.000000,增加1桶牛奶使利润增长3.1612=37.92,增加1小时时间使利润增长3.26,30元可增加1桶牛奶,3元可增加1小时时间,应否投资?现投资150元,可赚回多少?,投资150元增加5桶牛奶,可赚回189.6元。(大于增加时间的利润增长),结果解释,B1,B2的获利有10%的波动,对计划有无影

25、响,RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X1 24.000000 1.680000 INFINITY X2 16.000000 8.150000 2.100000 X3 44.000000 19.750002 3.166667 X4 32.000000 2.026667 INFINITY X5 -3.000000 15.800000 2.533334 X6 -3.000000 1.520

26、000 INFINITY ,B1获利下降10%,超出X3 系数允许范围,B2获利上升10%,超出X4 系数允许范围,波动对计划有影响,生产计划应重新制订:如将x3的系数改为39.6计算,会发现结果有很大变化。,43,设每月生产小、中、大型汽车的数量分别为x1, x2, x3,汽车厂生产计划,模型建立,线性规划模型(LP),模型求解,3) 模型中增加条件:x1, x2, x3 均为整数,重新求解。,OBJECTIVE FUNCTION VALUE 1) 632.2581 VARIABLE VALUE REDUCED COST X1 64.516129 0.000000 X2 167.741928

27、 0.000000 X3 0.000000 0.946237 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 0.731183 3) 0.000000 0.003226,结果为小数,怎么办?,1)舍去小数:取x1=64,x2=167,算出目标函数值z=629,与LP最优值632.2581相差不大。,2)试探:如取x1=65,x2=167;x1=64,x2=168等,计算函数值z,通过比较可能得到更优的解。,但必须检验它们是否满足约束条件。为什么?,IP可用LINDO直接求解,整数规划(Integer Programming,简记IP),“gin 3”表

28、示“前3个变量为整数”,等价于: gin x1 gin x2 gin x3,IP 的最优解x1=64,x2=168,x3=0,最优值z=632,max 2x1+3x2+4x3 st 1.5x1+3x2+5x3600 280x1+250x2+400x360000 end gin 3,OBJECTIVE FUNCTION VALUE 1) 632.0000 VARIABLE VALUE REDUCED COST X1 64.000000 -2.000000 X2 168.000000 -3.000000 X3 0.000000 -4.000000,模型求解,IP 结果输出,其中3个子模型应去掉,然

29、后逐一求解,比较目标函数值,再加上整数约束,得最优解:,方法1:分解为8个LP子模型,汽车厂生产计划,若生产某类汽车,则至少生产80辆,求生产计划。,x1,x2, x3=0 或 80,x1=80,x2= 150,x3=0,最优值z=610,LINDO中对0-1变量的限定: int y1 int y2 int y3,方法2:引入0-1变量,化为整数规划,M为大的正数,可取1000,OBJECTIVE FUNCTION VALUE 1) 610.0000 VARIABLE VALUE REDUCED COST X1 80.000000 -2.000000 X2 150.000000 -3.0000

30、00 X3 0.000000 -4.000000 Y1 1.000000 0.000000 Y2 1.000000 0.000000 Y3 0.000000 0.000000,若生产某类汽车,则至少生产80辆,求生产计划。,x1=0 或 80,最优解同前,NLP虽然可用现成的数学软件求解(如LINGO, MATLAB),但是其结果常依赖于初值的选择。,方法3:化为非线性规划,非线性规划(Non- Linear Programming,简记NLP),实践表明,本例仅当初值非常接近上面方法算出的最优解时,才能得到正确的结果。,若生产某类汽车,则至少生产80辆,求生产计划。,x1=0 或 80,应如

31、何安排原油的采购和加工 ?,例2 原油采购与加工,市场上可买到不超过1500吨的原油A: 购买量不超过500吨时的单价为10000元/吨; 购买量超过500吨但不超过1000吨时,超过500吨的 部分8000元/吨; 购买量超过1000吨时,超过1000吨的部分6000元/吨。,决策变量,目标函数,问题分析,利润:销售汽油的收入 - 购买原油A的支出 难点:原油A的购价与购买量的关系较复杂,原油A的购买量,原油A, B生产汽油甲,乙的数量,c(x) 购买原油A的支出,利润(千元),c(x)如何表述?,原油供应,约束条件,x 500吨单价为10千元/吨; 500吨 x 1000吨,超过500吨的

32、8千元/吨; 1000吨 x 1500吨,超过1000吨的6千元/吨。,目标函数,目标函数中c(x)不是线性函数,是非线性规划; 对于用分段函数定义的c(x),一般的非线性规划软件也难以输入和求解; 想办法将模型化简,用现成的软件求解。,汽油含原油A的比例限制,约束条件,x1 , x2 , x3 以价格10, 8, 6(千元/吨)采购A的吨数,目标函数,只有当以10千元/吨的价格购买x1=500(吨)时,才能以8千元/吨的价格购买x2,方法1,非线性规划模型,可以用LINGO求解,模型求解,x= x1+x2+x3, c(x) = 10x1+8x2+6x3,500吨 x 1000吨,超过500吨

33、的8千元/吨,x= x1+x2+x3, c(x) = 10x1+8x2+6x3,方法1:LINGO求解,Model: Max= 4.8*x11 + 4.8*x21 + 5.6*x12 + 5.6*x22 - 10*x1 - 8*x2 - 6*x3; x11+x12 0; 2*x12 - 3*x22 0; x=x1+x2+x3; (x1 - 500) * x2=0; (x2 - 500) * x3=0; x1 0; x11 0; x12 0; x21 0; x22 0; x1 0; x2 0; x3 0; end,Objective value: 4800.000 Variable Value

34、Reduced Cost X11 500.0000 0.0000000E+00 X21 500.0000 0.0000000E+00 X12 0.0000000E+00 0.0000000E+00 X22 0.0000000E+00 0.0000000E+00 X1 0.1021405E-13 10.00000 X2 0.0000000E+00 8.000000 X3 0.0000000E+00 6.000000 X 0.0000000E+00 0.0000000E+00,LINGO得到的是局部最优解,还能得到更好的解吗?,用库存的500吨原油A、500吨原油B生产汽油甲,不购买新的原油A,利

35、润为4,800千元。,y1, y2 , y3=1 以价格10, 8, 6(千元/吨)采购A,增加约束,方法2,0-1线性规划模型,可用LINDO求解,y1,y2,y3 =0或1,OBJECTIVE FUNCTION VALUE 1) 5000.000 VARIABLE VALUE REDUCED COST Y1 1.000000 0.000000 Y2 1.000000 2200.000000 Y3 1.000000 1200.000000 X11 0.000000 0.800000 X21 0.000000 0.800000 X12 1500.000000 0.000000 X22 1000

36、.000000 0.000000 X1 500.000000 0.000000 X2 500.000000 0.000000 X3 0.000000 0.400000 X 1000.000000 0.000000,购买1000吨原油A,与库存的500吨原油A和1000吨原油B一起,生产汽油乙,利润为5,000千元 。,x1 , x2 , x3 以价格10, 8, 6(千元/吨)采购A的吨数,优于方法1的结果,b1 b2 b3 b4,方法3,b1 xb2,x= z1b1+z2b2, z1+z2=1,z1, z20, c(x)= z1c(b1)+z2c(b2).,b2 x b3,x= z2b2+z

37、3b3, z2+z3=1,z2, z3 0, c(x)= z2c(b2)+z3c(b3).,b3 x b4,x= z3b3+z4b4, z3+z4=1,z3, z4 0, c(x)= z3c(b3)+z4c(b4).,直接处理处理分段线性函数c(x),IP模型,LINDO求解,得到的结果与方法2相同.,处理分段线性函数,方法3更具一般性,bkxbk+1yk=1,否则,yk=0,方法3,bkxbk+1 ,x= zkbk+z k+1 bk+1 zk+zk+1 =1,zk, zk+1 0, c(x)= zkc(bk)+zk+1 c(bk+1 ).,对于k=1,2,3,参考资料,1.谢金星,薛毅 优化建模与 LINDO/LINGO软件, 清华大学出版社, 2005 2.谢金星,优化建模与 LINDO/LINGO软件讲稿,清华大学数学建模网站 http:/ 3.姜启源等,数学模型(第三版),高等教育出版社,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1