数学规划模型 .pptx
4.2 自来水输送与货机装运自来水输送与货机装运生产、生活物资从若干供应点运送到一些需求点,怎样安排输送方案使运费最小,或利润最大;运输问题各种类型的货物装箱,由于受体积、重量等限制,如何搭配装载,使获利最高,或装箱数量最少。第1页/共45页其他费用:450元/千吨 应如何分配水库供水量,公司才能获利最多?若水库供水量都提高一倍,公司利润可增加到多少?元/千吨甲乙丙丁A160130220170B140130190150C190200230/引水管理费例例1 自来水输送自来水输送收入:900元/千吨支出A:50B:60C:50甲:30;+50乙:70;+70丙:10;+20丁:10;+40水库供水量(千吨)小区基本用水量(千吨)小区额外用水量(千吨)(以天计)第2页/共45页总供水量:160确定送水方案使利润最大问题问题分析分析A:50B:60C:50甲:30;+50乙:70;+70丙:10;+20丁:10;+40总需求量(300)每个水库最大供水量都提高一倍每个水库最大供水量都提高一倍利润=收入(900)其它费用(450)引水管理费利润(元/千吨)甲乙丙丁A290320230280B310320260300C260250220/供应限制B,C类似处理问题讨论问题讨论 确定送水方案使利润最大需求约束可以不变第6页/共45页求解求解这类问题一般称为“运输问题”(TransportationProblem)总利润 88700(元)A(100)B(120)C(100)甲(30;50)乙(70;70)丙(10;20)丁(10;40)4010050305030 Globaloptimalsolutionfound.Objectivevalue:88700.00Totalsolveriterations:7VariableValueReducedCostX110.00000020.00000X12100.00000.000000X130.00000040.00000X140.00000020.00000X2130.000000.000000X2240.000000.000000X230.00000010.00000X2450.000000.000000X3150.000000.000000X320.00000020.00000X3330.000000.000000第7页/共45页如何装运,使本次飞行获利最大?三个货舱最大载重(吨),),最大容积(米3 3)例例2 货机装货机装运运重量(吨)空间(米3/吨)利润(元/吨)货物1184803100货物2156503800货物3235803500货物4123902850三个货舱中实际载重必须与其最大载重成比例前仓:10;6800中仓:16;8700后仓:8;5300飞机平衡第8页/共45页决策决策变量变量 xij-第i 种货物装入第j 个货舱的重量(吨)i=1,2,3,4,j=1,2,3(分别代表前、中、后仓)模型假设模型假设 每种货物可以分割到任意小;货机装运货机装运每种货物可以在一个或多个货舱中任意分布;多种货物可以混装,并保证不留空隙;模型建立模型建立 第9页/共45页货舱容积 目标目标函数函数(利润利润)约束约束条件条件货机装运货机装运模型建立模型建立 货舱重量 10;680016;87008;5300 xij-第i 种货物装入第j 个货舱的重量第10页/共45页约束约束条件条件平衡要求 货物供应 货机装运货机装运模型建立模型建立 10;680016;87008;5300 xij-第i 种货物装入第j 个货舱的重量第11页/共45页 Globaloptimalsolutionfound.Objectivevalue:121515.8VariableValueReducedCostX110.000000400.000000X120.00000057.894737X130.000000400.000000X2110.0000000.000000X220.000000239.473679X235.0000000.000000X310.0000000.000000X3212.9473690.000000X333.0000000.000000X410.000000650.000000X423.0526320.000000X430.000000650.000000货物2:前仓10,后仓5;货物3:中仓13,后仓3;货物4:中仓3。货机装运货机装运模型求解模型求解 最大利润约121516元货物供应点货舱需求点平衡要求运输问题运输问题的扩展第12页/共45页第13页/共45页其他费用:450元/千吨 应如何分配水库供水量,公司才能获利最多?若水库供水量都提高一倍,公司利润可增加到多少?元/千吨甲乙丙丁A160130220170B140130190150C190200230/引水管理费例例1 自来水输送自来水输送收入:900元/千吨支出A:50B:60C:50甲:30;+50乙:70;+70丙:10;+20丁:10;+40水库供水量(千吨)小区基本用水量(千吨)小区额外用水量(千吨)(以天计)第14页/共45页总供水量:160确定送水方案使利润最大问题问题分析分析A:50B:60C:50甲:30;+50乙:70;+70丙:10;+20丁:10;+40总需求量(300)每个水库最大供水量都提高一倍每个水库最大供水量都提高一倍利润=收入(900)其它费用(450)引水管理费利润(元/千吨)甲乙丙丁A290320230280B310320260300C260250220/供应限制B,C类似处理问题讨论问题讨论 确定送水方案使利润最大需求约束可以不变第18页/共45页求解求解这类问题一般称为“运输问题”(TransportationProblem)总利润 88700(元)A(100)B(120)C(100)甲(30;50)乙(70;70)丙(10;20)丁(10;40)4010050305030 Globaloptimalsolutionfound.Objectivevalue:88700.00Totalsolveriterations:7VariableValueReducedCostX110.00000020.00000X12100.00000.000000X130.00000040.00000X140.00000020.00000X2130.000000.000000X2240.000000.000000X230.00000010.00000X2450.000000.000000X3150.000000.000000X320.00000020.00000X3330.000000.000000第19页/共45页如何装运,使本次飞行获利最大?三个货舱最大载重(吨),),最大容积(米3 3)例例2 货机装货机装运运重量(吨)空间(米3/吨)利润(元/吨)货物1184803100货物2156503800货物3235803500货物4123902850三个货舱中实际载重必须与其最大载重成比例前仓:10;6800中仓:16;8700后仓:8;5300飞机平衡第20页/共45页决策决策变量变量 xij-第i 种货物装入第j 个货舱的重量(吨)i=1,2,3,4,j=1,2,3(分别代表前、中、后仓)模型假设模型假设 每种货物可以分割到任意小;货机装运货机装运每种货物可以在一个或多个货舱中任意分布;多种货物可以混装,并保证不留空隙;模型建立模型建立 第21页/共45页货舱容积 目标目标函数函数(利润利润)约束约束条件条件货机装运货机装运模型建立模型建立 货舱重量 10;680016;87008;5300 xij-第i 种货物装入第j 个货舱的重量第22页/共45页约束约束条件条件平衡要求 货物供应 货机装运货机装运模型建立模型建立 10;680016;87008;5300 xij-第i 种货物装入第j 个货舱的重量第23页/共45页 Globaloptimalsolutionfound.Objectivevalue:121515.8VariableValueReducedCostX110.000000400.000000X120.00000057.894737X130.000000400.000000X2110.0000000.000000X220.000000239.473679X235.0000000.000000X310.0000000.000000X3212.9473690.000000X333.0000000.000000X410.000000650.000000X423.0526320.000000X430.000000650.000000货物2:前仓10,后仓5;货物3:中仓13,后仓3;货物4:中仓3。货机装运货机装运模型求解模型求解 最大利润约121516元货物供应点货舱需求点平衡要求运输问题运输问题的扩展第24页/共45页4.3 汽车生产与原油采购汽车生产与原油采购整数规划第25页/共45页设每月生产小、中、大型汽车的数量分别为x1,x2,x3例例1 1 汽车厂生产计划汽车厂生产计划 模型建立模型建立 小型中型大型现有量钢材1.535600时间28025040060000利润234线性规划模型(LP)第26页/共45页模型模型求解求解 3)模型中增加条件:x1,x2,x3均为整数,重新求解。Globaloptimalsolutionfound.Objectivevalue:632.2581VariableValueReducedCostX164.5161290.000000X2167.7419280.000000X30.0000000.946237RowSlackorSurplusDualPriceST10.0000000.731183ST20.0000000.003226结果为小数,怎么办?1)舍去小数:取x1=64,x2=167,算出目标函数值z=629,与LP最优值632.2581相差不大。2)试探:如取x1=65,x2=167;x1=64,x2=168等,计算函数值z,通过比较可能得到更优的解。可能找不到最优!但必须检验它们是否满足约束条件。可能不是可行解!第27页/共45页IP可用LINDO直接求解整数规划(IntegerProgramming,简记IP)“gin(x1);”表示“x1为整数”.IP的最优解x1=64,x2=168,x3=0,最优值z=632max=2*x1+3*x2+4*x3;1.5*x1+3*x2+5*x3600;280*x1+250*x2+400*x360000;gin(x1);gin(x2);gin(x3);Globaloptimalsolutionfound.Objectivevalue:632.0000VariableValueReducedCostX164.000000-2.000000X2168.000000-3.000000X30.000000-4.000000模型求解模型求解 IP结果输出第28页/共45页其中3个子模型应去掉,然后逐一求解,比较目标函数值,再加上整数约束,得最优解:方法1:分解为8个LP子模型汽车厂生产计划汽车厂生产计划 若生产某类汽车,则至少生产8080辆,求生产计划。x1,x2,x3=0或 80 x1=80,x2=150,x3=0,最优值z=610第29页/共45页方法2:引入0-1变量,化为整数规划M为大的正数,可取1000 若生产某类汽车,则至少生产8080辆,求生产计划。x1=0 或 80 x2=0 或 80 x3=0 或 80第30页/共45页max=2*x1+3*x2+4*x3;1.5*x1+3*x2+5*x3=600;280*x1+250*x2+400*x3=60000;x1=80*y1;x2=80*y2;x3=80*y3;gin(x1);gin(x2);gin(x3);bin(y1);bin(y2);bin(y3);方法2:引入0-1变量,化为整数规划 Globaloptimalsolutionfound.Objectivevalue:610.0000Extendedsolversteps:0Totalsolveriterations:10VariableValueReducedCostX180.00000-2.000000X2150.0000-3.000000X30.000000-4.000000Y11.0000000.000000Y21.0000000.000000Y30.0000000.000000 若生产某类汽车,则至少生产8080辆,求生产计划。最优解同前第31页/共45页NLP虽然可用现成的数学软件求解(如LINGO,MATLAB),但是其结果常依赖于初值的选择。方法3:化为非线性规划非线性规划(Non-LinearProgramming,简记NLP)实践表明,本例仅当初值非常接近上面方法算出的最优解时,才能得到正确的结果。若生产某类汽车,则至少生产8080辆,求生产计划。x1=0 或 80 x2=0 或 80 x3=0 或 80第32页/共45页max=2*x1+3*x2+4*x3;1.5*x1+3*x2+5*x3=600;280*x1+250*x2+400*x3=0;x2*(x2-80)=0;x3*(x3-80)=0;gin(x1);gin(x2);gin(x3);Global optimal solution found.Objective value:610.0000 Extended solver steps:2 Total solver iterations:171 Variable Value X1 80.00000 X2 150.0000 X3 0.000000第33页/共45页应如何安排原油的采购和加工?例例2 原油采购与加原油采购与加工工 市场上可买到不超过1500吨的原油A:购买量不超过500吨时的单价为10000元/吨;购买量超过500吨但不超过1000吨时,超过500吨的 部分8000元/吨;购买量超过1000吨时,超过1000吨的部分6000元/吨。售价4800元/吨售价5600元/吨库存500吨库存1000吨汽油甲(A 50%)原油A原油B汽油乙(A 60%)第34页/共45页决策决策变量变量 目标目标函数函数问题问题分析分析 利润:销售汽油的收入 -购买原油A的支出 难点:原油A的购价与购买量的关系较复杂甲(A 50%)AB乙(A 60%)购买xx11x12x21x224.8千元/吨5.6千元/吨原油A的购买量,原油A,B生产汽油甲,乙的数量c(x)购买原油A的支出利润利润(千元千元)c(x)如何表述?第35页/共45页原油供应 约束约束条件条件 x 500吨单价为10千元/吨;500吨 x 1000吨,超过500吨的8千元/吨;1000吨 x 1500吨,超过1000吨的6千元/吨。目标目标函数函数购买x ABx11x12x21x22库存500吨库存1000吨第36页/共45页目标函数中c(x)不是线性函数,是非线性规划;对于用分段函数定义的c(x),一般的非线性规划软件也难以输入和求解;想办法将模型化简,用现成的软件求解。汽油含原油A的比例限制约束约束条件条件甲(A 50%)AB乙(A 60%)x11x12x21x22第37页/共45页x1,x2,x3以价格10,8,6(千元/吨)采购A的吨数目标目标函数函数 只有当以10千元/吨的价格购买x1=500(吨)时,才能以8千元/吨的价格购买x2方法1 非线性规划模型,可以用LINGO求解模型求解模型求解x=x1+x2+x3,c(x)=10 x1+8x2+6x3 500吨 x 1000吨,超过500吨的8千元/吨增加约束x=x1+x2+x3,c(x)=10 x1+8x2+6x3 第38页/共45页方法1:LINGO求解Model:Max=4.8*x11+4.8*x21+5.6*x12+5.6*x22-10*x1-8*x2-6*x3;x11+x12x+500;x21+x220;2*x12-3*x220;x=x1+x2+x3;(x1-500)*x2=0;(x2-500)*x3=0;x1500;x2500;x30;x110;x120;x210;x220;x10;x20;x30;endObjectivevalue:4800.000VariableValueReducedCostX11500.00000.0000000E+00X21500.00000.0000000E+00X120.0000000E+000.0000000E+00X220.0000000E+000.0000000E+00X10.1021405E-1310.00000X20.0000000E+008.000000X30.0000000E+006.000000X0.0000000E+000.0000000E+00LINGO得到的是局部最优解,还能得到更好的解吗?用库存的500吨原油A、500吨原油B生产汽油甲,不购买新的原油A,利润为4,800千元。第39页/共45页y1,y2,y3=1以价格10,8,6(千元/吨)采购A增加约束方法2 0-1线性规划模型,可用LINGO求解y1,y2,y3=0或1Objectivevalue:5000.000VariableValueReducedCostY1 1.000000 0.000000Y2 1.000000 2200.000000Y3 1.000000 1200.000000X11 0.000000 0.800000X21 0.000000 0.800000X121500.0000000.000000X221000.0000000.000000X1 500.000000 0.000000X2 500.000000 0.000000X3 0.000000 0.400000X1000.0000000.000000购买1000吨原油A,与库存的500吨原油A和1000吨原油B一起,生产汽油乙,利润为5,000千元。x1,x2,x3以价格10,8,6(千元/吨)采购A的吨数y=0 x=0 x0y=1优于方法1的结果第40页/共45页b1b2b3b4方法3 b1 x b2,x=z1b1+z2b2,z1+z2=1,z1,z2 0,c(x)=z1c(b1)+z2c(b2).c(x)x1200090005000050010001500b2 x b3,x=z2b2+z3b3,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)第41页/共45页IP模型,LINGO求解,得到的结果与方法2相同.处理分段线性函数,方法3更具一般性bk x bk+1yk=1,否则,yk=0方法3 bk x bk+1,x=zkbk+z k+1bk+1zk+zk+1=1,zk,zk+1 0,c(x)=zkc(bk)+zk+1c(bk+1).c(x)x1200090005000050010001500b1b2b3b4对于k=1,2,3第42页/共45页示性函数的使用已知mx M,z=0 or 1,那么 若x0,则z=1 若z=0,则x=0 x Mz若x=0,则z=0 若z=1,则x 0 x mz条件约束 if,then若x1+x23,则x3+x4 6 x3+x4 6z,x1+x2-3Mz若x1+x2=3,则x3+x4 6 x3+x4 6(1-z),x1+x2-3 mz逻辑运算 or,andx1 3或x2 3 x1 3z1,x2 3z2,z1+z2 1 分段线性目标函数如例2 原油采购与加工 第43页/共45页第44页/共45页感谢您的观看。第45页/共45页