《数学模型姜启源-第四章(第五版)课件.ppt》由会员分享,可在线阅读,更多相关《数学模型姜启源-第四章(第五版)课件.ppt(111页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实际问题中实际问题中的优化模型的优化模型x决策变量决策变量f(x)目标函数目标函数gi(x)0约束条约束条件件多元函数多元函数条件极值条件极值决策变量个数决策变量个数n和和约束条件个数约束条件个数m较大较大最优解在可行域最优解在可行域的边界上取得的边界上取得数数学学规规划划线性规划线性规划非线性规划非线性规划整数规划整数规划重点在模型的建立和结果的分析重点在模型的建立和结果的分析第四章第四章 数学规划模型数学规划模型 第第四四章章 数数学学规规划划模模型型 4.1奶制品的生产与销售奶制品的生产与销售4.2自来水输送与货机装运自来水输送与货机装运4.3汽车生产与原油采购汽车生产与原油采购4.4接
2、力队选拔和选课策略接力队选拔和选课策略4.5饮料厂的生产与检修饮料厂的生产与检修4.6钢管和易拉罐下料钢管和易拉罐下料4.7广告投入与升级调薪广告投入与升级调薪4.8投资的风险与收益投资的风险与收益企业生产计划企业生产计划4.1奶制品的生产与销售奶制品的生产与销售 空间层次空间层次工厂级:根据外部需求和内部设备、人力、原料等工厂级:根据外部需求和内部设备、人力、原料等条件,以最大利润为目标制订产品生产计划;条件,以最大利润为目标制订产品生产计划;车间级:根据生产计划、工艺流程、资源约束及费车间级:根据生产计划、工艺流程、资源约束及费用参数等,以最小成本为目标制订生产批量计划用参数等,以最小成本
3、为目标制订生产批量计划.时间层次时间层次若短时间内外部需求和内部资源等不随时间变化,可若短时间内外部需求和内部资源等不随时间变化,可制订制订单阶段生产计划单阶段生产计划,否则应制订多阶段生产计划,否则应制订多阶段生产计划.本节课题本节课题例例1加工奶制品的生产计划加工奶制品的生产计划1桶桶牛奶牛奶 3kgA1 12h 8h 4kgA2 或或获利获利24元元/kg获利获利16元元/kg50桶牛奶桶牛奶时间时间480h至多加工至多加工100kgA1制订生产计划,使每天获利最大制订生产计划,使每天获利最大 35元可买到元可买到1桶牛奶,买吗?若买,每天最多买多少桶牛奶,买吗?若买,每天最多买多少?可
4、聘用临时工人,付出的工资最多是每小时几元可聘用临时工人,付出的工资最多是每小时几元?A1的获利增加到的获利增加到30元元/kg,应否改变生产计划?,应否改变生产计划?每天:每天:问问题题1桶桶牛奶牛奶3kgA112h8h4kgA2或或获利获利24元元/kg获利获利16元元/kgx1桶牛奶生产桶牛奶生产A1x2桶牛奶生产桶牛奶生产A2获利获利243x1获利获利164 x2原料供应原料供应 劳动时间劳动时间 加工能力加工能力 决策变量决策变量 目标函数目标函数 每天获利每天获利约束条件约束条件非负约束非负约束 线性线性规划规划模型模型(LP)时间时间480h至多加工至多加工100kgA150桶牛奶
5、桶牛奶每天每天基本基本模型模型模型分析与假设模型分析与假设 比比例例性性可可加加性性连续性连续性xi对目标函数的对目标函数的“贡贡献献”与与xi取值成正比取值成正比xi对约束条件的对约束条件的“贡贡献献”与与xi取值成正比取值成正比xi对目标函数的对目标函数的“贡贡献献”与与xj取值无关取值无关xi对约束条件的对约束条件的“贡贡献献”与与xj取值无关取值无关xi取值连续取值连续A1,A2每千克的获利是与各自每千克的获利是与各自产量无关的常数产量无关的常数每桶牛奶加工每桶牛奶加工A1,A2的数量的数量,时时间是与各自产量无关的常数间是与各自产量无关的常数A1,A2每千克的获利是与相互每千克的获利
6、是与相互产量无关的常数产量无关的常数每桶牛奶加工每桶牛奶加工A1,A2的数量的数量,时时间是与相互产量无关的常数间是与相互产量无关的常数加工加工A1,A2的牛奶桶数是实数的牛奶桶数是实数线性规划模型线性规划模型模型求解模型求解 图解法图解法 x1x2OABCDl1l2l3l4l5约约束束条条件件目标目标函数函数 z=0z=2400z=3360z=c(常数常数)等值线等值线c在在B(20,30)点得到最优解点得到最优解.目标函数和约束条件是线性函数目标函数和约束条件是线性函数可行域为直线段围成的凸多边形可行域为直线段围成的凸多边形目标函数的等值线为直线目标函数的等值线为直线最优解一定在凸多边最优
7、解一定在凸多边形的某个顶点取得形的某个顶点取得.模型求解模型求解 软件实现软件实现 LINGOmodel:max=72*x1+64*x2;milkx1+x250;time12*x1+8*x2480;cpct3*x1100;end Globaloptimalsolutionfound.Objectivevalue:3360.000Totalsolveriterations:2VariableValueReducedCost X120.000000.000000X230.000000.000000RowSlackorSurplusDualPrice13360.0001.000000MILK0.00
8、000048.00000TIME0.0000002.000000CPCT40.000000.000000 20桶牛奶生产桶牛奶生产A1,30桶生产桶生产A2,利润,利润3360元元.结果解释结果解释 Globaloptimalsolutionfound.Objectivevalue:3360.000Totalsolveriterations:2VariableValueReducedCostX120.000000.000000X230.000000.000000RowSlackorSurplusDualPrice13360.0001.000000MILK0.00000048.00000TIME
9、0.0000002.000000CPCT40.000000.000000 model:max=72*x1+64*x2;milkx1+x250;time12*x1+8*x2480;cpct3*x1100;end三三种种资资源源“资源资源”剩余为零的约束为紧约束(有效约束)剩余为零的约束为紧约束(有效约束)原料无剩余原料无剩余时间无剩余时间无剩余加工能力剩余加工能力剩余40结果解释结果解释 Globaloptimalsolutionfound.Objectivevalue:3360.000Totalsolveriterations:2VariableValueReducedCostX120.000
10、000.000000X230.000000.000000RowSlackorSurplusDualPrice13360.0001.000000MILK0.00000048.00000TIME0.0000002.000000CPCT40.000000.000000最优解下最优解下“资源资源”增加增加1单位单位“效益效益”的增量的增量35元可买到元可买到1桶牛奶,要买吗桶牛奶,要买吗?3548,应该买!应该买!聘用临时工人付出的工资最多每小时几元聘用临时工人付出的工资最多每小时几元?2元!元!原料增加原料增加1单位单位,利润增长利润增长48加工能力增长不影响利润加工能力增长不影响利润影子价格影子价
11、格Rangesinwhichthebasisisunchanged:ObjectiveCoefficientRangesCurrentAllowableAllowableVariableCoefficientIncreaseDecreaseX172.0000024.000008.000000X264.000008.00000016.00000RighthandSideRangesRowCurrentAllowableAllowableRHSIncreaseDecreaseMILK50.0000010.000006.666667TIME480.000053.3333380.00000CPCT10
12、0.0000INFINITY40.00000 最优解不变时目标函最优解不变时目标函数系数允许变化范围数系数允许变化范围敏感性分析敏感性分析(“LINGO|Ranges”)x1系数范围系数范围(64,96)x2系数范围系数范围(48,72)A1获利增加到获利增加到30元元/kg,应否改变生产计划,应否改变生产计划?x1系数由系数由24 3=72增加增加为为30 3=90,在在允许范围内允许范围内不变!不变!(约束条件不变约束条件不变)结果解释结果解释 Rangesinwhichthebasisisunchanged:ObjectiveCoefficientRangesCurrentAllowab
13、leAllowableVariableCoefficientIncreaseDecreaseX172.0000024.000008.000000X264.000008.00000016.00000RighthandSideRangesRowCurrentAllowableAllowableRHSIncreaseDecreaseMILK50.0000010.000006.666667TIME480.000053.3333380.00000CPCT100.0000INFINITY40.00000影子价格有意义时约束右端的允许变化范围影子价格有意义时约束右端的允许变化范围原料最多增加原料最多增加10
14、时间最多增加时间最多增加5335元可买到元可买到1桶牛奶桶牛奶,每天最多买多少每天最多买多少?最多买最多买10桶桶!目标函数不变目标函数不变充分条件充分条件!例例2奶制品的生产销售计划奶制品的生产销售计划 在例在例1基础上深加工基础上深加工1桶桶牛奶牛奶3kgA112h8h4kgA2或或获利获利24元元/kg获利获利16元元/kg0.8kgB12h,3元元1kg获利获利44元元/kg0.75kgB22h,3元元1kg获利获利32元元/kg制订生产计划,使每天净利润最大制订生产计划,使每天净利润最大 30元可增加元可增加1桶牛奶,桶牛奶,3元可增加元可增加1h时间,应否投资?时间,应否投资?现现
15、投资投资150元,可赚回多少?元,可赚回多少?50桶牛奶桶牛奶,480h至多至多100kgA1B1,B2的获利经常有的获利经常有10%的波动,对计划有无影响?的波动,对计划有无影响?每天销售每天销售10kgA1的合同必须满足,对利润有什么影响?的合同必须满足,对利润有什么影响?1桶桶牛奶牛奶3kgA112h8h4kgA2或或获利获利24元元/kg获利获利16元元/kg0.8kgB12h,3元元1kg获利获利44元元/kg0.75kg B22h,3元元1kg获利获利32元元/kg出售出售x1kgA1,x2kgA2,x3kgB1,x4kgB2原料原料供应供应 劳动劳动时间时间 加工能力加工能力 决
16、策决策变量变量 目标目标函数函数 利润利润约束约束条件条件非负约束非负约束 x5kgA1加工加工B1,x6kgA2加工加工B2附加约束附加约束 基本模型基本模型模型求解模型求解 软件实现软件实现 LINGO Globaloptimalsolutionfound.Objectivevalue:3460.800Totalsolveriterations:2VariableValueReducedCostX10.0000001.680000X2168.00000.000000X319.200000.000000X40.0000000.000000X524.000000.000000X60.00000
17、01.520000RowSlackorSurplusDualPrice13460.8001.000000MILK0.0000003.160000TIME0.0000003.260000CPCT76.000000.00000050.00000044.0000060.00000032.00000Globaloptimalsolutionfound.Objectivevalue:3460.800Totalsolveriterations:2VariableValueReducedCostX10.0000001.680000X2168.00000.000000X319.200000.000000X40
18、.0000000.000000X524.000000.000000X60.0000001.520000RowSlackorSurplusDualPrice13460.8001.000000MILK0.0000003.160000TIME0.0000003.260000CPCT76.000000.00000050.00000044.0000060.00000032.00000结果解释结果解释每天销售每天销售168kgA2和和19.2kgB1,利润利润3460.8(元)(元)8桶牛奶加工成桶牛奶加工成A1,42桶牛奶加工成桶牛奶加工成A2,将得到的将得到的24kgA1全全部加工成部加工成B1除加工
19、能力外均为除加工能力外均为紧约束紧约束结果解释结果解释Globaloptimalsolutionfound.Objectivevalue:3460.800Totalsolveriterations:2VariableValueReducedCostX10.0000001.680000X2168.00000.000000X319.200000.000000X40.0000000.000000X524.000000.000000X60.0000001.520000RowSlackorSurplusDualPrice13460.8001.000000MILK0.0000003.160000TIME0
20、.0000003.260000CPCT76.000000.00000050.00000044.0000060.00000032.00000增加增加1桶牛奶使利润桶牛奶使利润增长增长3.1612=37.92增加增加1h时间使利润时间使利润增长增长3.2630元可增加元可增加1桶牛奶,桶牛奶,3元可增加元可增加1h时间,时间,应否投资?现投资应否投资?现投资150元,可赚回多少?元,可赚回多少?投资投资150元增加元增加5桶牛桶牛奶奶,可赚回可赚回189.6元元(大于大于增加时间的利润增长增加时间的利润增长).结果解释结果解释B1,B2的获利有的获利有10%的波动,对计划有无影响的波动,对计划有无
21、影响Rangesinwhichthebasisisunchanged:ObjectiveCoefficientRangesCurrentAllowableAllowableVariableCoefficientIncreaseDecreaseX124.000001.68000INFINITYX216.000008.150002.10000X344.0000019.750003.166667X432.000002.026667INFINITYX5-3.0000015.800002.533333X6-3.000001.52000INFINITYB1获利下降获利下降10%,超,超出出X3系数允许范围
22、系数允许范围B2获利上升获利上升10%,超,超出出X4系数允许范围系数允许范围波动对计划有影响波动对计划有影响生产计划应重新制订:如将生产计划应重新制订:如将x3的系数改为的系数改为39.6计算,计算,会发现结果有很大变化会发现结果有很大变化.敏感性分析敏感性分析 结果解释结果解释x1从从0开始增加一个单开始增加一个单位时,最优目标函数位时,最优目标函数值将减少值将减少1.68ReducedCost是有意义、是有意义、有条件的有条件的(LINGO没有没有给出给出)每天销售每天销售10kgA1的合同必须满足,的合同必须满足,对利润有什么影响?对利润有什么影响?公司利润减少公司利润减少1.6810
23、=16.8(元)(元)最优利润为最优利润为3460.816.8=3444 Globaloptimalsolutionfound.Objectivevalue:3460.800Totalsolveriterations:2VariableValueReducedCostX10.0000001.680000X2168.00000.000000X319.200000.000000X40.0000000.000000X524.000000.000000X60.0000001.520000RowSlackorSurplusDualPrice13460.8001.000000MILK0.0000003.1
24、60000TIME0.0000003.260000CPCT76.000000.00000050.00000044.0000060.00000032.00000小结与评注小结与评注由于产品利润、加工时间等均为常数,由于产品利润、加工时间等均为常数,可可建立建立线性规划线性规划模型模型.线性规划模型的三要素:线性规划模型的三要素:决策变量、决策变量、目标目标函数函数、约束条件、约束条件.用用LINGO求解,输出丰富,利用求解,输出丰富,利用影子价格影子价格和和灵敏性分析灵敏性分析可对结果做进一步研究可对结果做进一步研究.建模时尽可能利用建模时尽可能利用原始的数据原始的数据信息,把信息,把尽量尽量多
25、多的计算留给计算机去做(分析例的计算留给计算机去做(分析例2的建模)的建模).4.2 自来水输送与货机装运自来水输送与货机装运生产、生活物资从若干供应点运送到一些需求点,生产、生活物资从若干供应点运送到一些需求点,怎样安排输送方案使运费最小,或利润最大怎样安排输送方案使运费最小,或利润最大?运输问题运输问题各种类型的货物装箱,由于受体积、重量等限制,各种类型的货物装箱,由于受体积、重量等限制,如何搭配装载,使获利最高,或装箱数量最少如何搭配装载,使获利最高,或装箱数量最少?其他费用其他费用:450元元/103t 应如何分配水库供水量,公司才能获利最多?应如何分配水库供水量,公司才能获利最多?若
26、水库供水量都提高一倍,公司利润可增加到多少?若水库供水量都提高一倍,公司利润可增加到多少?元元/103t甲甲乙乙丙丙丁丁A160130220170B140130190150C190200230/引水管理费引水管理费例例1 自来水输送自来水输送收入:收入:900元元/103t支出支出A:50B:60C:50甲:甲:30;50乙:乙:70;70丙:丙:10;20丁:丁:10;40水水库库供供水水量量小小区区基基本本用用水水量量小小区区额额外外用用水水量量(以天计)(以天计)(103t)(103t)(103t)总供水量:总供水量:160确定送水方案确定送水方案使利润最大使利润最大问题问题分析分析A:
27、50B:60C:50甲:甲:30;50乙:乙:70;70丙:丙:10;20丁:丁:10;40总需求量总需求量(300)每个水库最大供水量都提高一倍每个水库最大供水量都提高一倍利润利润=收入收入(900)其他费用其他费用(450)引水管理费引水管理费利润利润(元元/103t)甲甲乙乙丙丙丁丁A290320230280B310320260300C260250220/供应供应限制限制B,C类似处理类似处理问题讨论问题讨论 确定送水方案确定送水方案使利润最大使利润最大需求约束可以不变需求约束可以不变模型求解模型求解部分结果:部分结果:ObjectiveValue:88700.00VariableVal
28、ueReducedCostX110.00000020.000000X12100.0000000.000000X130.00000040.000000X140.00000020.000000X2130.0000000.000000X2240.0000000.000000X230.00000010.000000X2450.0000000.000000X3150.0000000.000000X320.00000020.000000X3330.0000000.000000运输问题运输问题总利润总利润 88700(元)(元)A(100)B(120)C(100)甲甲(30;50)乙乙(70;70)丙丙(1
29、0;20)丁丁(10;40)4010050305030供应点供应点需求点需求点物资物资供需平衡或不平衡供需平衡或不平衡如何如何装运,装运,使本次飞行使本次飞行获利最大?获利最大?三个货舱三个货舱最大最大载载重重(t),),最大容积最大容积(m3)例例2货机装运货机装运重量重量(t)空间空间(m3/t)利润利润(元(元/t)货物货物1184803100货物货物2156503800货物货物3235803500货物货物4123902850三个货舱中实际载重必须与其最大三个货舱中实际载重必须与其最大载载重成比例重成比例.前仓:前仓:10;6800中仓:中仓:16;8700后仓:后仓:8;5300飞机平
30、衡飞机平衡模型模型假设假设 每种货物可以分割到任意小;每种货物可以分割到任意小;每种货物可以在一个或多个货舱中每种货物可以在一个或多个货舱中任意分布任意分布;多种货物可以多种货物可以混装混装,并保证不留空隙;,并保证不留空隙;所给出的数据都是所给出的数据都是精确精确的,没有误差的,没有误差.第第i种货物的种货物的重量重量wi,体积体积vi,利润利润pi(i=1,2,3,4)已知参数已知参数 货舱货舱j的的重量限制重量限制WETj,体积限制体积限制VOLj,(j=1,2,3分别代表前、中、后仓分别代表前、中、后仓)货舱容积货舱容积 目标目标函数函数(利润利润)约束约束条件条件模型建立模型建立 货
31、舱重量货舱重量 10;680016;87008;5300 xij-第第i 种货物装入第种货物装入第j 个货舱的重量个货舱的重量 i=1,2,3,4,j=1,2,3决策决策变量变量 约束约束条件条件平衡要求平衡要求 货物供应货物供应 模型建立模型建立 10;680016;87008;5300 xij-第第i 种货物装入第种货物装入第j 个货舱的重量个货舱的重量j,k=1,2,3;jk Globaloptimalsolutionfound.Objectivevalue:121515.8Totalsolveriterations:12VariableValueReducedCostX(1,1)0.0
32、00000400.0000X(1,2)0.00000057.89474X(1,3)0.000000400.0000X(2,1)7.0000000.000000X(2,2)0.000000239.4737X(2,3)8.0000000.000000X(3,1)3.0000000.000000X(3,2)12.947370.000000X(3,3)0.0000000.000000X(4,1)0.000000650.0000X(4,2)3.0526320.000000X(4,3)0.000000650.0000货物货物2:前仓:前仓7,后仓后仓8;货物货物3:前仓前仓3,中仓中仓1 13;货物货物4
33、:中仓中仓3.模型求解模型求解 最大利润约最大利润约121516元元货物货物供应点供应点货舱货舱需求点需求点装载平衡要求装载平衡要求运输运输问题问题运输问题的扩展运输问题的扩展 如果生产某一类型汽车,则如果生产某一类型汽车,则至少要生产至少要生产8080辆辆,那么那么最优的生产计划应作何改变?最优的生产计划应作何改变?例例1汽车厂生产计划汽车厂生产计划汽车厂生产三种类型的汽车,已知各类型每辆车对汽车厂生产三种类型的汽车,已知各类型每辆车对钢材、劳动时间的需求,利润及工厂每月的现有量钢材、劳动时间的需求,利润及工厂每月的现有量.小型小型中型中型大型大型现有量现有量钢材(钢材(t)1.535600
34、劳动时间(劳动时间(h)28025040060000利润(万元)利润(万元)234制订月生产计划,使工厂的制订月生产计划,使工厂的利润最大利润最大.4.3 汽车生产与原油采购汽车生产与原油采购设每月生产小、中、大型汽车的数量分别为设每月生产小、中、大型汽车的数量分别为x1,x2,x3模型建立模型建立 小型小型中型中型大型大型现有量现有量钢材钢材1.535600时间时间28025040060000利润利润234线性规划线性规划模型模型(LP)模型模型求解求解 3)模型中)模型中增加条件增加条件:x1,x2,x3均为整数,重新求解均为整数,重新求解.ObjectiveValue:632.2581V
35、ariableValueReducedCostX164.5161290.000000X2167.7419280.000000X30.0000000.946237RowSlackorSurplusDualPrice20.0000000.73118330.0000000.003226结果为小数,结果为小数,怎么办?怎么办?1)舍去小数舍去小数:取:取x1=64,x2=167,算出目标函数值,算出目标函数值z=629,与,与LP最优值最优值632.2581相差不大相差不大.2)试探试探:如取:如取x1=65,x2=167;x1=64,x2=168等,等,计算函数值计算函数值z,通过比较可能得到更优的
36、解,通过比较可能得到更优的解.但但必须检验必须检验它们是否满足约束条件它们是否满足约束条件.为什么?为什么?IP可用可用LINGO直接求解直接求解整数规划整数规划(IntegerProgramming,简记简记IP)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.0000Extendedsolve
37、rsteps:0Totalsolveriterations:3VariableValueReducedCostX164.00000-2.000000X2168.0000-3.000000X30.000000-4.000000模型求解模型求解 IP结果输出结果输出其中其中3个个子模型应子模型应去掉,然后去掉,然后逐一求解,比较目标函数值,逐一求解,比较目标函数值,再加上整数约束,得最优解:再加上整数约束,得最优解:方法方法1:分解为:分解为8个个LP子模型子模型 若生产某类汽车,则至少生产若生产某类汽车,则至少生产8080辆,求生产计划辆,求生产计划.x1,x2,x3=0或或 80 x1=80,
38、x2=150,x3=0,最优值,最优值z=610LINGO中中对对0-1变量的限定:变量的限定:bin(y1);bin(y2);bin(y3);方法方法2:引入引入0-1变量,化为整数规划变量,化为整数规划M为大的正数为大的正数,本例可取本例可取1000ObjectiveValue:610.0000VariableValueReducedCostX180.000000-2.000000X2150.000000-3.000000X30.000000-4.000000Y11.0000000.000000Y21.0000000.000000Y30.0000000.000000 若生产某类汽车,则至少
39、生产若生产某类汽车,则至少生产8080辆,求生产计划辆,求生产计划.x1=0 或 80 x2=0 或 80 x3=0 或 80最优解同前最优解同前max=2*x1+3*x2+4*x3;1.5*x1+3*x2+5*x3600;280*x1+250*x2+400*x30;x2*(x2-80)0;x3*(x3-80)0;gin(x1);gin(x2);gin(x3);方法方法3:化为非线性规划化为非线性规划非线性规划非线性规划(Non-LinearProgramming,简记简记NLP)若生产某类汽车,则至少生产若生产某类汽车,则至少生产8080辆,求生产计划辆,求生产计划.x1=0 或 80 x2
40、=0 或 80 x3=0 或 80最优解同前最优解同前.一般地,整数规划和非一般地,整数规划和非线性规划的求解比线性线性规划的求解比线性规划困难得多,特别是规划困难得多,特别是问题规模较大或者要求问题规模较大或者要求得到全局最优解时得到全局最优解时.决策变量为整数决策变量为整数,建立建立整数规划模型整数规划模型.求解整数规划和非线性规划比线性规划求解整数规划和非线性规划比线性规划困难得多困难得多(即便用数学软件即便用数学软件).当整数变量取值很大时当整数变量取值很大时,可作为连续变量可作为连续变量处理处理,问题问题简化为线性规划简化为线性规划.对于类似于对于类似于“x=0或或 80”这样的条件
41、,通常这样的条件,通常引入引入0-1变量变量处理,尽量不用非线性规划(特处理,尽量不用非线性规划(特别是引入的整数变量个数较少时)别是引入的整数变量个数较少时).小结与评注小结与评注应如何安排原油的采购和加工应如何安排原油的采购和加工?市场上可买到不超过市场上可买到不超过1500t t的原油的原油A:购买量不超过购买量不超过500t t时的单价为时的单价为10000元元/t/t;购买量超过购买量超过500t t但不超过但不超过1000t t时,超过时,超过500t t的的 部分部分8000元元/t/t;购买量超过购买量超过1000t t时,超过时,超过1000t t的部分的部分6000元元/t
42、./t.售价售价4800元元/t售价售价5600元元/t库存库存500t库存库存1000t汽油甲汽油甲(A 50%)原油原油A原油原油B汽油乙汽油乙(A 60%)例例2原油采购与加工原油采购与加工决策决策变量变量 目标目标函数函数问题问题分析分析 利润:销售汽油的收入利润:销售汽油的收入 购买原油购买原油A的支出的支出.难点:原油难点:原油A的购价与购买量的关系较复杂的购价与购买量的关系较复杂.甲甲(A 50%)AB乙乙(A 60%)购买购买xx11x12x21x224.8千元千元/t5.6千元千元/t原油原油A的购买量的购买量,原油原油A,B生产生产汽油汽油甲甲,乙的数量乙的数量c(x)购买
43、原油购买原油A的支出的支出利润利润(千元千元)c(x)如何表述?如何表述?原油供应原油供应 约束约束条件条件 x 500,单价单价为为10千千元元/t/t;500 x 1000,超过超过500t t的的8千千元元/t/t;1000 x 1500,超过超过1000t t的的6千千元元/t./t.目标目标函数函数购买购买x ABx11x12x21x22库存库存500t库存库存1000t汽油含原油汽油含原油A的比例限制的比例限制约束约束条件条件甲甲(A 50%)AB乙乙(A 60%)x11x12x21x22目标函数目标函数中中c(x)不是不是线性函数,是非线性规划;线性函数,是非线性规划;对于用分段
44、函数定义的对于用分段函数定义的c(x),一般的非线性规划,一般的非线性规划 软件也难以输入和求解;软件也难以输入和求解;想办法将模型化简,用现成的软件求解想办法将模型化简,用现成的软件求解.x1,x2,x3以价格以价格10,8,6(千元千元/t)t)采购采购A的吨数的吨数目标目标函数函数 只有当以只有当以10千元千元/t t的价格购买的价格购买x1=500(t)(t)时,才能以时,才能以8千元千元/t t的价格购买的价格购买x2方法方法1 非线性规划模型非线性规划模型,可以用,可以用LINGO求解求解模型求解模型求解x=x1+x2+x3,c(x)=10 x1+8x2+6x3 500 x 100
45、0,超过超过500t t的的8千千元元/t/t增加约束增加约束类似地有类似地有方法方法1:LINGO求解求解 Localoptimalsolutionfound.Objectivevalue:4800.000Totalsolveriterations:14VariableValueReducedCostX11500.00000.000000X21500.00000.000000X120.0000000.2666667X220.0000000.000000X10.0000000.4000000X20.0000000.000000X30.0000000.000000X0.0000000.00000
46、0LINGO得到的是局部最优解得到的是局部最优解,还能得到更好的解吗?还能得到更好的解吗?用库存的用库存的500t t原油原油A、500t t原油原油B生产汽油甲,生产汽油甲,不购买新的原油不购买新的原油A,利润为利润为4800千千元元.方法方法1:LINGO求解求解计算全局最优解计算全局最优解:选选LINGO|Options菜单;菜单;在在弹弹出出的的选选项项卡卡中中选选择择“GeneralSolver”;然然 后后 找找 到到 选选 项项“UseGlobalSolver”将其选中;将其选中;应用或保存;重新求解。应用或保存;重新求解。Globaloptimalsolutionfound.O
47、bjectivevalue:5000.000Extendedsolversteps:1Totalsolveriterations:43VariableValueReducedCost X110.0000000.000000X210.0000000.900000X121500.0000.000000X221000.0000.000000X1500.00000.000000X2500.00000.000000X30.0000000.000000X1000.0000.000000 还有其他建模和求解方法还有其他建模和求解方法吗?吗?购买购买1000t原油原油A,与库存的,与库存的500t原油原油A和
48、和1000t原油原油B一起,共生产一起,共生产2500t汽油乙,利润为汽油乙,利润为5000千元千元.y1,y2,y3=1以价格以价格10,8,6(千元千元/t)t)采购采购A增加增加约束约束方法方法2 0-1线性规划模型线性规划模型,可用可用LINGO求解求解.y1,y2,y3=0或或1购买购买1000t t原油原油A,与库存的,与库存的500t t原油原油A和和1000t t原油原油B一起,一起,生产汽油乙,利润为生产汽油乙,利润为5000千元千元.x1,x2,x3以价格以价格10,8,6(千元千元/t)t)采购采购A的吨数的吨数y=0 x=0 x0y=1与方法与方法1(全局最优解)的结果
49、相同(全局最优解)的结果相同引入引入0-1变量变量模型求解模型求解b1b2b3b4方法方法3 b1 x b2,x=z1b1+z2b2,z1+z2=1,z1,z2 0,c(x)=z1c(b1)+z2c(b2).c(x)x1200090005000O50010001500b2 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)IP模型,模型,LINGO求解,得到的结求解,得
50、到的结果与方法果与方法2相同相同.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)x1200090005000O50010001500b1b2b3b4对于对于k=1,2,3方法方法3:直接处理分段线性函数,方法更具一般性直接处理分段线性函数,方法更具一般性.分段函数分段函数无法直接用非线性规划方法或软件求解无法直接用非线性规划方法或软件求解.方法方法1:增加约束化为增加约束化为非线性规划非线性规划,可以用可以用LINGO求解求解,但可能