您的当前位置:首页正文

数学建模 第四章 数学规划模型

来源:华拓网
第四章

4.2数学规划模型

4.1 奶制品的生产与销售自来水输送与货机装运4.34.44.5汽车生产与原油采购接力队选拔和选课策略饮料厂的生产与检修4.6 钢管和易拉罐下料y

数学规划模型

实际问题中的优化模型x~决策变量

Min( Max)zf(x),x(x1,...,xn)s.t.gi(x)0,i1,2,...,mf(x)~目标函数

Tgi(x)0~约束条件数学规划

线性规划非线性规划整数规划

决策变量个数n和

多元函数约束条件个数m较大条件极值最优解在可行域

的边界上取得

重点在模型的建立和结果的分析

4.1 奶制品的生产与销售

企业生产计划

空间层次

工厂级:根据外部需求和内部设备、人力、原料等条件,以最大利润为目标制订产品生产计划;车间级:根据生产计划、工艺流程、资源约束及费用参数等,以最小成本为目标制订生产批量计划。

时间层次

若短时间内外部需求和内部资源等不随时间变化,可制订单阶段生产计划,否则应制订多阶段生产计划。

本节课题

例1 加工奶制品的生产计划

1桶牛奶或12小时8小时3公斤A1获利24元/公斤

4公斤A2获利16元/公斤

每天:50桶牛奶

时间480小时至多加工100公斤A1

制订生产计划,使每天获利最大

•35元可买到1桶牛奶,买吗?若买,每天最多买多少?•可聘用临时工人,付出的工资最多是每小时几元? •A1的获利增加到30元/公斤,应否改变生产计划?

8小时每天50桶牛奶时间480小时至多加工100公斤A1决策变量x1桶牛奶生产A1

x2桶牛奶生产A2

1桶牛奶或12小时3公斤A14公斤A2获利24元/公斤获利16元/公斤

目标函数获利24×3x1获利16×4x2每天获利Maxz72x164x2原料供应

x1x25012x18x2480约束条件劳动时间加工能力非负约束

3x1100x1,x20线性规划模型(LP)

模型分析与假设

x对目标函数的i比

“贡献”与x取值i例

性成正比xi对约束条件的

“贡献”与xi取值成正比

xi对目标函数的可

“贡献”与xj取值加

无关性xi对约束条件的“贡献”与xj取值无关

连续性xi取值连续

线性规划模型

A1,A2每公斤的获利是与各自产量无关的常数

每桶牛奶加工出A1,A2的数量和时间是与各自产量无关的常数

A1,A2每公斤的获利是与相互产量无关的常数

每桶牛奶加工出A1,A2的数量和时间是与相互产量无关的常数加工A1,A2的牛奶桶数是实数

模型求解

x1x250图解法

l:12x8x48012x8x48021212束

l4条3x1100l3:3x1100件cl4:x10,l5:x20x1,x200l1:x1x250x2Al1Bl2CZ=3360l3目标函数

Maxz72x164x2z=c (常数) ~等值线

l5Z=0x1DZ=2400在B(20,30)点得到最优解最优解一定在凸多边形的某个顶点取得。

目标函数和约束条件是线性函数可行域为直线段围成的凸多边形目标函数的等值线为直线

模型求解

max72x1+64x2st

1)

软件实现

LINDO 6.1

OBJECTIVEFUNCTIONVALUE

3360.000

2)x1+x2<503)12x1+8x2<4804)3x1<100end

DO RANGE (SENSITIVITY) ANALYSIS? No

VARIABLE

X1X2

VALUE20.00000030.000000

REDUCEDCOST0.0000000.000000

ROWSLACKORSURPLUSDUALPRICES

2)3)

0.0000000.000000

48.0000002.000000

4)40.000000

2

0.000000

NO.ITERATIONS=

20桶牛奶生产A1, 30桶生产A2,利润3360元。

结果解释

max72x1+64x2st

2)x1+x2<50

OBJECTIVEFUNCTIONVALUE1)

3360.000

VARIABLE

X1X2

VALUE20.00000030.000000

REDUCEDCOST0.0000000.000000

3)12x1+8x2<4804)3x1<100end三种资源

原料无剩余

ROWSLACKORSURPLUSDUALPRICES

2)3)

0.0000000.000000

48.0000002.000000

时间无剩余加工能力剩余40

4)40.000000

2

0.000000

NO.ITERATIONS=

―资源”剩余为零的约束为紧约束(有效约束)

OBJECTIVEFUNCTIONVALUE1)

3360.000

VALUE20.00000030.000000

REDUCEDCOST0.0000000.000000DUALPRICES

结果解释

最优解下“资源”增加1单位时“效益”的增

VARIABLE

X1X2

ROWSLACKORSURPLUS

影子价格

2)3)4)

0.0000000.00000040.000000

48.0000002.0000000.000000

原料增加1单位, 利润增长48 时间增加1单位, 利润增长2 加工能力增长不影响利润

NO.ITERATIONS=2

•35元可买到1桶牛奶,要买吗?

35 <48, 应该买!

•聘用临时工人付出的工资最多每小时几元?2元!

最优解不变时目标函

RANGESINWHICHTHEBASISISUNCHANGED:数系数允许变化范围

OBJCOEFFICIENTRANGES

VARIABLECURRENTALLOWABLEALLOWABLE

COEFINCREASEDECREASE

X1X2ROW

72.000000

24.000000

8.000000

DO RANGE(SENSITIVITY) ANALYSIS?

Yes

(约束条件不变)x1系数范围(64,96)

64.0000008.00000016.000000x2系数范围(48,72) RIGHTHANDSIDERANGES

CURRENTALLOWABLEALLOWABLE

RHSINCREASEDECREASE

234

50.000000480.000000100.000000

10.00000053.333332INFINITY

6.66666780.00000040.000000

x1系数由24 3=72

增加为303=90,在允许范围内

•A1获利增加到30元/千克,应否改变生产计划

不变!

结果解释影子价格有意义时约束右端的允许变化范围

RANGESINWHICHTHEBASISISUNCHANGED:

OBJCOEFFICIENTRANGES

VARIABLECURRENTALLOWABLEALLOWABLE

COEFINCREASEDECREASE

X1X2ROW

72.000000

24.000000

8.000000

(目标函数不变)

64.0000008.00000016.000000RIGHTHANDSIDERANGES

CURRENTALLOWABLEALLOWABLERHSINCREASEDECREASE

234

50.000000480.000000100.000000

10.00000053.333332INFINITY

6.66666780.00000040.000000

原料最多增加10 时间最多增加53

•35元可买到1桶牛奶,每天最多买多少?最多买10桶!

例2 奶制品的生产销售计划在例1基础上深加工

1桶牛奶或3千克A112小时1千克获利24元/公斤2小时,3元4公斤A获利16元/公斤28小时1千克获利32元/千克0.75千克B250桶牛奶, 480小时

2小时,3元0.8千克B1获利44元/千克

至多100公斤A1

制订生产计划,使每天净利润最大

•30元可增加1桶牛奶,3元可增加1小时时间,应否投资?现投资150元,可赚回多少?

•B1,B2的获利经常有10%的波动,对计划有无影响?

1桶或牛奶12小时3千克A11千克获利24元/千克0.8千克B1获利44元/千克

2小时,3元4千克A获利16元/kg28小时1千克决策

变量目标函数约束条件

2小时,3元出售x1 千克A1,x2 千克A2,X3千克B1, x4千克B2x5千克A1加工B1,x6千克A2加工B2利润

0.75千克B2获利32元/千克

Maxz24x116x244x332x43x53x6x1x5x2x6加工能力

5034附加约束

4(x1x5)2(x2x6)x1x5100原料供应劳动时间

x30.8x52x52x6480非负约束

x40.75x6x1,...,x60OBJECTIVEFUNCTIONVALUE1)3460.800软件实现LINDO 6.1 VARIABLEVALUEREDUCEDCOSTx1x5x2x6X10.0000001.6800002)50X2168.0000000.00000034X319.2000010.0000000.0000000.0000002)4x13x24x53x6600X4X524.0000000.000000X60.0000001.5200003)4(x1x5)2(x2x6)ROWSLACKORSURPLUSDUALPRICES2x52x64802)0.0000003.1600003)0.0000003.2600003)4x12x26x54x64804)76.0000000.0000005)0.00000044.000000DO RANGE 6)0.00000032.000000(SENSITIVITY) NO.ITERATIONS=2ANALYSIS? No模型求解OBJECTIVEFUNCTIONVALUE1)3460.800

VARIABLEVALUEREDUCEDCOST

X10.0000001.680000X2168.0000000.000000X319.2000010.000000X40.0000000.000000X524.0000000.000000X60.0000001.520000

ROWSLACKORSURPLUSDUALPRICES

2)0.0000003.1600003)0.0000003.2600004)76.0000000.0000005)0.00000044.0000006)0.00000032.000000NO.ITERATIONS=2

结果解释

每天销售168 千克A2

和19.2 千克B1,利润3460.8(元)8桶牛奶加工成A1,42桶牛奶加工成A2,将得到的24千克A1全部加工成B1

除加工能力外均

为紧约束

30元可增加1桶牛奶,3元可增加1小时时间,应否投资?现投资150元,可赚回多少?

结果解释

OBJECTIVEFUNCTIONVALUEx1x5x2x62)501)3460.80034VARIABLEVALUEREDUCEDCOST

X10.0000001.6800002)4x13x24x53x6600X2168.0000000.000000X319.2000010.000000增加1桶牛奶使利润增X40.0000000.000000长3.16×12=37.92X524.0000000.000000

增加1小时时间使利X60.0000001.520000

ROWSLACKORSURPLUSDUALPRICES润增长3.26

2)0.0000003.160000

投资150元增加5桶牛奶,3)0.0000003.260000

4)76.0000000.000000可赚回189.6元。(大于5)0.00000044.000000增加时间的利润增长)6)0.00000032.000000

结果解释

B1,B2的获利有10%的波动,对计划有无影响

RANGES IN WHICH THE BASIS IS UNCHANGED:

OBJ COEFFICIENT RANGES

DO RANGE (SENSITIVITY) ANALYSIS? Yes

VARIABLE CURRENT ALLOWABLE ALLOWABLE

COEF INCREASE DECREASE

X1 24.000000 1.680000 INFINITY

B1获利下降10%,超出X3 系数允许范围B2获利上升10%,超出X4 系数允许范围波动对计划有影响

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.533334X6 -3.000000 1.520000 INFINITY…… ……

生产计划应重新制订:如将x3的系数改为39.6

计算,会发现结果有很大变化。

4.2自来水输送与货机装运

运输问题

生产、生活物资从若干供应点运送到一些需求点,怎样安排输送方案使运费最小,或利润最大;各种类型的货物装箱,由于受体积、重量等限制,如何搭配装载,使获利最高,或装箱数量最少。

例1自来水输送

水库供水量千吨A:50B:60甲:30;50乙:70;70丙:10;20(以天计)元/千吨ABC丁:10;40甲160140190乙130130200C:50小区基本用水量千吨小区额外用水量千吨收入:900元/千吨支出引水管理费其他费用:450元/千吨•应如何分配水库供水量,公司才能获利最多?•若水库供水量都提高一倍,公司利润可增加到多少?

()丙220190230()丁170150/()问题分析

A:50B:60C:50甲:30;50乙:70;70丙:10;20丁:10;40总供水量:160收入:900元/千吨支出

引水管理费

< 总需求量:120+180=300总收入900160=144,000(元)

其他费用:450元/千吨其他支出450160=72,000(元)

确定送水方案使利润最大使引水管理费最小

模型建立

决策变量

确定3个水库向4个小区的供水量水库i 向j 区的日供水量为xij(x34=0)

目标MinZ160x11130x12220x13170x14函数140x21130x22190x23150x24190x31200x32230x33x11x12x13x1450供应

xxxx6021222324限制

线性xxx50约束313233规划条件

30x11x21x3180模型

需求70x12x22x32140(LP)限制10x13x23x333010x14x2450模型求解

A(50)B(60)C(50)50405010甲(30;50)乙(70;70)OBJECTIVE FUNCTION VALUE

1) 24400.00

VARIABLE VALUE REDUCED COST

X11 0.000000 30.000000X12 50.000000 0.000000X13 0.000000 50.000000X14 0.000000 20.000000X21 0.000000 10.000000X22

50.000000

0.000000

X23 0.000000 20.000000

10丙(10;20)丁(10;40)引水管理费24400(元)利润=总收入-其它费用-引水管理费=144000-72000-24400=47600(元)

X24X31X33

10.00000040.00000010.000000

0.0000000.0000000.000000

X32 0.000000 10.000000

问题讨论每个水库最大供水量都提高一倍

总供水量(320) > 总需求量(300)确定送水方案使利润最大

利润= 收入(900) –其它费用(450)–引水管理费

利润(元/千吨)

ABC

甲290310260

乙320320250

丙230260220

丁280300/

目标MaxZ290x11320x12230x13280x14函数310x21320x22260x23300x24260x31250x32220x33x11x12x13x14100供应A:x11x12x13x1450限制

需求约束可以不变B, C 类似处理

求解

A(100)100甲(30;50)30乙(70;70)B(120)4030丙(10;20)50C(100)50丁(10;40)OBJECTIVE FUNCTION VALUE

1) 88700.00

VARIABLE VALUE REDUCED COSTX11 0.000000 20.000000X12 100.000000 0.000000X13 0.000000 40.000000X14 0.000000 20.000000X21 30.000000X22 40.000000X23 X31

X24 50.000000

50.000000

0.0000000.0000000.0000000.000000

总利润88700(元)

这类问题一般称为

“运输问题”(Transportation Problem)

0.000000 10.000000

X32 0.000000 20.000000

X3330.0000000.000000

例2 货机装运三个货舱最大载重(吨),最大容积(米3)前仓:10;6800飞机平衡中仓:16;8700后仓:8;5300三个货舱中实际载重必须与其最大载重成比例

重量(吨)空间( 米3/

吨)

18480货物1货物2货物3货物4

152312

650580390

利润(元/

吨)3100380035002850

如何装运,使本次飞行获利最大?

货机装运

模型假设

每种货物可以分割到任意小;

每种货物可以在一个或多个货舱中任意分布;多种货物可以混装,并保证不留空隙;

模型建立

决策变量

xij--第i 种货物装入第j 个货舱的重量(吨)

i=1,2,3,4,j=1,2,3 (分别代表前、中、后仓)

货机装运

模型建立

xij--第i 种货物装入第j 个货舱的重量

目标MaxZ3100(x11x12x13)3800(x21x22x23)函数3500(x31x32x33)2850(x41x42x43) (利润)

约束条件

货舱

xxxx1612223242重量

x13x23x33x438货舱容积

x11x21x31x411010;680016;87008;5300480x11650x21580x31390x416800480x12650x22580x32390x428700480x13650x23580x33390x435300货机装运模型建立

x11x21x31x4110x12x22x32x4216x13x23x33x438xij--第i 种货物装入第j 个货舱的重量平衡要求

10;680016;87008;5300约束条件

货物供应

x11x12x1318x21x22x2315x31x32x3323x41x42x4312货机装运模型求解

货物2:前仓10,后仓5;货物3: 中仓13, 后仓3;货物4: 中仓3。最大利润约121516元货物~供应点货舱~需求点平衡要求

运输问题的扩展运输问题

OBJECTIVE FUNCTION VALUE1) 121515.8

VARIABLE VALUE REDUCED COST

X11 0.000000 400.000000X12 0.000000 57.894737X13 0.000000 400.000000X21 10.000000 0.000000X22 0.000000 239.473679X23 5.000000 0.000000X31 0.000000 0.000000X3212.9473690.000000X333.0000000.000000X41 0.000000 650.000000X42 3.0526320.000000X43 0.000000 650.000000

4.3汽车生产与原油采购

例1 汽车厂生产计划

汽车厂生产三种类型的汽车,已知各类型每辆车对钢材、劳动时间的需求,利润及工厂每月的现有量。

小型

钢材(吨)劳动时间(小时)

中型大型现有量

1.5 3 5 600280 250 400 60000

利润(万元)2 3 4

•制订月生产计划,使工厂的利润最大。•如果生产某一类型汽车,则至少要生产80辆,那么最优的生产计划应作何改变?

汽车厂生产计划模型建立

钢材

小型中型大型现有量

1.5 3 5 600

设每月生产小、中、大型汽车的数量分别为x1,x2,x3

时间280 250 400 60000

利润2 3 4

Maxz2x13x24x3s.t.1.5x13x25x3600280x1250x2400x360000x1,x2,x30线性规划模型(LP)

模型求解

结果为小数,怎么办?

OBJECTIVEFUNCTIONVALUE

1)632.2581VARIABLEVALUEREDUCEDCOST

X164.5161290.000000X2167.7419280.000000X30.0000000.946237

ROWSLACKORSURPLUSDUALPRICES

2)0.0000000.7311833)0.0000000.003226

1)舍去小数:取x1=64,x2=167,算出目标函数值z=629,与

LP最优值632.2581相差不大。

2)试探:如取x1=65,x2=167;x1=64,x2=168等,计算函数值z,通过比较可能得到更优的解。

•但必须检验它们是否满足约束条件。为什么?

3)模型中增加条件:x1,x2,x3均为整数,重新求解。

模型求解

整数规划(Integer Programming,简记IP)

IP可用LINDO直接求解

max2x1+3x2+4x3st

1.5x1+3x2+5x3<600

280x1+250x2+400x3<60000endgin 3

―gin 3‖表示“前3个变量为整数”,等价于:gin x1gin x2gin x3

Maxz2x13x24x3s.t.1.5x13x25x3600280x1250x2400x360000x1,x2,x3为非负整数IP 结果输出

OBJECTIVEFUNCTIONVALUE

1)632.0000

VARIABLEVALUEREDUCEDCOST

X164.000000-2.000000X2168.000000-3.000000X3 0.000000 -4.000000

IP 的最优解x1=64,x2=168,x3=0,最优值z=632

汽车厂生产计划

•若生产某类汽车,则至少生产80辆,求生产计划。

Maxz2x13x24x3s.t.1.5x13x25x3600x10,x20,x380x10,x280,x30280x1250x2400x360000x10,x280,x380x1,x2,, x3=0 或80x180,x20,x30x180,x280,x30方法1:分解为8个LP子模型

其中3个子模型应去掉,然后

逐一求解,比较目标函数值,再加上整数约束,得最优解:

x180,x20,x380x180,x280,x380

x1,x2,x30

x1=80,x2= 150,x3=0,最优值z=610

•若生产某类汽车,则至少生产80辆,求生产计划。方法2:引入0-1变量,化为整数规划

x1=0 或80x2=0 或80x3=0 或80LINDO中对0-1变量的限定:inty1inty2int y3

x1My1,x180y1,y1{0,1}M为大的正数,x2My2,x280y2,y2{0,1}可取1000 x3My3,x380y3,y3{0,1}OBJECTIVEFUNCTIONVALUE

1)610.0000

VARIABLEVALUEREDUCEDCOST

X180.000000-2.000000X2150.000000-3.000000最优解同前X30.000000-4.000000Y11.0000000.000000Y21.0000000.000000Y3 0.000000 0.000000

•若生产某类汽车,则至少生产80辆,求生产计划。方法3:化为非线性规划

x1=0 或80x2=0 或80x3=0 或80

x1(x180)0x2(x280)0x3(x380)0非线性规划(Non-Linear Programming,简记NLP)NLP虽然可用现成的数学软件求解(如LINGO,MATLAB),但是其结果常依赖于初值的选择。实践表明,本例仅当初值非常接近上面方法算出的最优解时,才能得到正确的结果。

例2 原油采购与加工

库存500吨原油A 库存1000吨原油B 汽油甲售价4800元/吨(A50%) 汽油乙售价5600元/吨(A60%) 市场上可买到不超过1500吨的原油A:

•购买量不超过500吨时的单价为10000元/吨;

•购买量超过500吨但不超过1000吨时,超过500吨的部分8000元/吨;

•购买量超过1000吨时,超过1000吨的部分6000元/吨。

应如何安排原油的采购和加工?

问题•利润:销售汽油的收入-购买原油A的支出分析•难点:原油A的购价与购买量的关系较复杂

决策原油A的购买量,原油A, B生产汽油甲,乙的数量

x11变量4.8千元/吨

购买xA B x22x21x12甲(A50%) 乙(A60%) 5.6千元/吨c(x) ~ 购买原油A的支出

目标函数

利润(千元)

Maxz4.8(x11x21)5.6(x12x22)c(x)c(x)如何表述?

目标函数

•x500吨单价为10千元/吨;

•500吨x1000吨,超过500吨的8千元/吨;•1000吨x1500吨,超过1000吨的6千元/吨。

(0x500)10x c(x)8x 1000 (500x1000)6x3000 (1000x1500)约束

条件

原油供应

x11x12500x购买x

库存500吨A x21x221000x1500库存1000吨B x22x21x11x12约束条件

汽油含原油A的比例限制

A x110.5x11x21x11x21x120.62x123x22x12x22B x21x22x11x12甲(A50%) 乙(A60%) 目标函数中c(x)不是线性函数,是非线性规划;对于用分段函数定义的c(x),一般的非线性规划软件也难以输入和求解;想办法将模型化简,用现成的软件求解。模型求解

方法1

x1 , x2 , x3 ~以价格10, 8, 6(千元/吨)采购A的吨数

x= x1+x2+x3, c(x) = 10x1+8x2+6x3

目标

Maxz4.8(xx)5.6(xx)(10x8x6x)11211222123函数

•500吨x1000吨,超过500吨的8千元/吨增加约束

只有当以10千元/吨的价格购买x1=500(吨)时,才能以

8千元/吨的价格购买x2

(x2500)x30(x1500)x200x1,x2,x3500非线性规划模型,可以用LINGO求解

Model:

Max=4.8*x11+4.8*x21+5.6*x12+5.6*x22-10*x1-8*x2-6*x3;x11+x120;

2*x12-3*x22>0;x=x1+x2+x3;(x1-500)*x2=0;(x2-500)*x3=0;x1<500;x2<500;x3<500;x>0;x11>0;x12>0;x21>0;x22>0;x1>0;x2>0;x3>0;end

方法1:LINGO求解

Objectivevalue: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+00

用库存的500吨原油A、500吨原油B生产汽油甲,不购买新的原油A,利润为4,800千元。

LINGO得到的是局部最优解,还能得到更好的解吗?

方法2

增加约束

y1, y2 , y3=1 ~以价格10, 8, 6(千元/吨)采购A

500y3x2500y2x1 , x2 , x3 ~以价格10, 8, 6(千元/吨)采购A的吨数

500y2x1500y1x3500y3y1,y2,y3 =0或1

y=0 x=0x>0 y=1

0-1线性规划模型,可用LINDO求解

购买1000吨原油A,与库存的500吨原油A和1000吨原油B一起,生产汽油乙,利润为5,000千元。

优于方法1的结果

OBJECTIVEFUNCTIONVALUE

1)5000.000VARIABLEVALUEREDUCEDCOST

Y11.0000000.000000Y21.0000002200.000000Y31.0000001200.000000X110.0000000.800000X210.0000000.800000X121500.0000000.000000X221000.0000000.000000X1500.0000000.000000X2500.0000000.000000X30.0000000.400000X 1000.0000000.000000

方法3

直接处理处理分段线性函数c(x)

c(x)1200090005000

x (0x500)10x c(x)8x 1000 (500x1000)6x3000 (1000x1500)b1xb2,x=z1b1+z2b2,z1+z2=1,z1, z20, c(x)=z1c(b1)+z2c(b2).b2 xb3,x=z2b2+z3b3,z2+z3=1,z2, z3 0, c(x)=z2c(b2)+z3c(b3).

050010001500b1 b2b3b4

b3 xb4,x=z3b3+z4b4,z3+z4=1,z3, z4 0, c(x)=z3c(b3)+z4c(b4).

对于k=1,2,3方法3

bkxbk+1 ,x=zkbk+z k+1 bk+1zk+zk+1 =1,zk, zk+1 0, c(x)=zkc(bk)+zk+1 c(bk+1 ).

c(x)1200090005000

bkxbk+1yk=1,否则,yk=0

050010001500xb1 b2b3b4

z1y1,z2y1y2,z3y2y3,z4y3IP模型,LINDO求

z1z2z3z41,zk0(k1,2,3,4)解,得到的结果与

y1y2y31,y1,y2,y30或1xz1b1z2b2z3b3z4b4方法2相同.

c(x)z1c(b1)z2c(b2)z3c(b3)z4c(b4)处理分段线性函数,方法3更具一般性

4.4接力队选拔和选课策略

分派问题

若干项任务分给一些候选人来完成,每人的专长不同,完成每项任务取得的效益或需要的资源就不同,如何分派任务使获得的总效益最大,或付出的总资源最少。若干种策略供选择,不同的策略得到的收益或付出的成本不同,各个策略之间有相互制约关系,如何在满足一定条件下作出决择,使得收益最大或成本最小。

例1 混合泳接力队的选拔

5名候选人的百米成绩

蝶泳仰泳蛙泳自由泳

甲1’06‖81’15‖61’27‖58‖6

乙57‖21’06‖1’06‖453‖

丙1’18‖1’07‖81’24‖659‖4

丁1’10‖1’14‖21’09‖657‖2

戊1’07‖41’11‖1’23‖81’02‖4

如何选拔队员组成4100米混合泳接力队?丁的蛙泳成绩退步到1’15‖2;戊的自由泳成绩进步到57‖5, 组成接力队的方案是否应该调整?

穷举法:组成接力队的方案共有5!=120种。

0-1规划模型cij(秒)~队员i第j 种泳姿的百米成绩

cijj=1j=2j=3j=4

i=166.875.68758.6

i=257.26666.453

4i=37867.884.659.4

5i=47074.269.657.2i=567.47183.862.4

若选择队员i参加泳姿j 的比赛,记xij=1, 否则记xij=0

目标函数约束条件

4MinZcijxijj1i1每人最多入选泳姿之一

每种泳姿有且只有1人

xj1ij1,i1,...,5xi15ij1,j1,...,4模型求解输入LINDO求解

最优解:x14=x21=x32=x43=1,其它变量为0;成绩为253.2(秒)=4’13‖2甲~ 自由泳、乙~ 蝶泳、丙~ 仰泳、丁~ 蛙泳.

丙1’18‖1’07‖81’24‖659‖4

丁1’10‖1’14‖21’09‖657‖2

戊1’07‖41’11‖1’23‖81’02‖4

MIN 66.8x11+75.6x12+87x13+58.6x14+… …

+67.4x51+71 x52+83.8x53+62.4x54SUBJECT TO

x11+x12+x13+x14 <=1… …

x41+x42+x43+x44 <=1x11+x21+x31+x41+x51 =1… …

x14+x24+x34+x44+x54 =1END INT20

蝶泳仰泳蛙泳自由泳

甲1’06‖81’15‖61’27‖58‖6乙57‖21’06‖1’06‖453‖

讨论

丁蛙泳c43=69.675.2,戊自由泳c54=62.4 57.5, 方案是否调整?敏感性分析?

IP规划一般没有与LP规划相类似的理论,LINDO输出的敏感性分析结果通常是没有意义的。c43, c54的新数据重新输入模型,用LINDO求解

最优解:x21=x32=x43=x51=1,成绩为4’17‖7乙~ 蝶泳、丙~ 仰泳、丁~ 蛙泳、戊~ 自由泳

原甲~ 自由泳、乙~ 蝶泳、方

丙~ 仰泳、丁~ 蛙泳.案

指派(Assignment)问题:每项任务有且只有一人承担,

每人只能承担一项,效益不同,怎样分派使总效益最大.

例2 选课策略

课号123456789

课名微积分线性代数最优化方法数据结构应用统计计算机模拟计算机编程预测理论数学实验

学分544343223

所属类别数学数学

数学;运筹学数学;计算机数学;运筹学计算机;运筹学

计算机运筹学

运筹学;计算机

先修课要求

微积分;线性代数

计算机编程微积分;线性代数

计算机编程

应用统计

微积分;线性代数

要求至少选两门数学课、三门运筹学课和两门计算机课为了选修课程门数最少,应学习哪些课程?选修课程最少,且学分尽量多,应学习哪些课程?

0-1规划模型

课号123456789

课名微积分线性代数最优化方法数据结构应用统计计算机模拟计算机编程预测理论数学实验

所属类别数学数学

数学;运筹学数学;计算机数学;运筹学计算机;运筹学

计算机运筹学

运筹学;计算机

决策变量

xi=1 ~选修课号i 的课程(xi=0 ~不选)

目标函数选修课程总数最少

MinZxii19约束条件

最少2门数学课,3门运筹学课,2门计算机课。

x1x2x3x4x52x3x5x6x8x93x4x6x7x920-1规划模型

课号

课名微积分线性代数最优化方法数据结构应用统计计算机模拟计算机编程预测理论数学实验

先修课要求

约束条件先修课程要求x3=1必有x1 = x2 =1

123

456789

微积分;线性代数

计算机编程微积分;线性代数

计算机编程应用统计

微积分;线性代数

x3x1,x3x22x3x1x20x4x7x4x702x5x1x20x6x70模型求解(LINDO)

最优解:x1 = x2 = x3 = x6= x7= x9=1, 其它为0;6门课程,总学分21

x8x502x9x1x20讨论:选修课程最少,学分尽量多,应学习哪些课程?

课程最少

学分最多

MinZxii19MaxW5x14x24x33x44x53x62x72x83x9两目标(多目标)规划

•以课程最少为目标,不管学分多少。•以学分最多为目标,不管课程多少。

Min{Z,W}最优解如上,6门课程,总学分21 。最优解显然是选修所有9门课程。

多目标优化的处理方法:化成单目标优化。

多目标规划

•在课程最少的前提下以学分最多为目标。

课号

课名微积分线性代数最优化方法数据结构应用统计计算机模拟计算机编程预测理论数学实验

学分544343223

增加约束

xi19i6,

以学分最多为目标求解。最优解:x1 = x2 = x3 = x5= x7= x9=1, 其它为0;总学分由21增至22。

123

456789

注意:最优解不唯一!可将x9=1 易为x6=1LINDO无法告诉优化问题的解是否唯一。

多目标规划

•对学分数和课程数加权形成一个目标,如三七开。

MinY1Z2W0.7Z0.3W课号123456789

课名微积分线性代数最优化方法数据结构应用统计计算机模拟计算机编程预测理论数学实验

学分544343223

Zxii19

W5x14x24x33x44x53x62x72x83x9最优解:x1 = x2 = x3 = x4= x5 = x6 = x7= x9=1,其它为0;总学分28。

多目标规划

讨论与思考

MinY1Z2W121,01,21W5x14x24x33x44x53x62x72x83x9Zxii1912/3最优解与1=0,2=1的结果相同——学分最多

13/4最优解与1=1,2=0的结果相同——课程最少

4.5饮料厂的生产与检修

单阶段生产计划

外部需求和内部资源随时间变化

多阶段生产计划

•企业生产计划

•生产批量问题

考虑与产量无关的固定费用给优化模型求解带来新的困难

例1饮料厂的生产与检修计划

某种饮料4周的需求量、生产能力和成本

周次1234合计

需求量(千箱)

15253525100

生产能力(千箱)

30404520135

成本(千元/千箱)

5.05.15.45.5

存贮费:每周每千箱饮料0.2千元。

•安排生产计划, 满足每周的需求, 使4周总费用最小。

•在4周内安排一次设备检修,占用当周15千箱生产能力,能使检修后每周增产5千箱,检修应排在哪一周?

问题分析

周次1234合计

需求15253525100

能力30404520135

成本5.05.15.45.5

•除第4周外每周的生产能力超过每周的需求;•生产成本逐周上升;•前几周应多生产一些。

模型假设

•饮料厂在第1周开始时没有库存;•从费用最小考虑, 第4周末不能有库存;•周末有库存时需支出一周的存贮费;•每周末的库存量等于下周初的库存量。

模型建立

周次1234

需求15253525

能力30404520

成本5.05.15.45.5

决策变量

x1~ x4:第1~4周的生产量y1~ y3:第1~3周末库存量

存贮费:0.2 (千元/周•千箱)

目标Minz5.0x5.1x5.4x5.5x0.2(yyy)1234123函数约束条件

产量、库存与需求平衡

能力限制

x1y115x2y1y225x130,x240x345,x420非负限制

x3y2y335x4y325x1,x2,x3,x4,y1,y2,y30模型求解

LINDO求解

最优解:x1~ x4:15,40,25,20;

y1~ y3:0,15,5 .

周次1234

需求15253525

产量15402520

库存01550

能力30404520

成本5.05.15.45.5

4周生产计划的总费用为528(千元)

检修计划

•在4周内安排一次设备检修,占用当周15千箱生产能力,能使检修后每周增产5千箱,检修应排在哪一周?周次1234

需求15253525

能力30404520

成本5.05.15.45.5

检修安排在任一周均可0-1变量wt:wt=1~ 检修安排在第t周(t=1,2,3,4)

约束条件

产量、库存与需求平衡条件不变

能力限制

x130x240x345x420x115w130x215w2405w1x315w3455w25w1x415w4205w15w25w3检修计划

0-1变量wt:wt=1~ 检修安排在第t周(t=1,2,3,4)

目标函数不变

增加约束条件:检修1次

w1w2w3w41LINDO求解最优解:w1=1, w2 , w3, w4=0;

x1~ x4:15,45,15,25;y1~ y3:0,20,0 .

总费用由528千元降为527千元检修所导致的生产能力提高的作用, 需要更长的时间才能得到充分体现。

例2 饮料的生产批量问题

饮料厂使用同一条生产线轮流生产多种饮料。

若某周开工生产某种饮料, 需支出生产准备费8千元。

某种饮料4周的需求量、生产能力和成本

周次1234合计

需求量(千箱)

15253525100

生产能力(千箱)

30404520135

成本(千元/千箱)

5.05.15.45.5

存贮费:每周每千箱饮料0.2千元。

•安排生产计划, 满足每周的需求, 使4周总费用最小。

生产批量问题的一般提法

假设初始库存为0ct ~时段t 生产费用(元/件);

ht ~时段t (末)库存费(元/件);

制订生产计划, 满st ~时段t 生产准备费(元);

足需求,并使T个时dt ~时段t 市场需求(件);

段的总费用最小。Mt ~时段t 生产能力(件)。Tmin z(stwtctxthtyt)目标决策变量t1xt ~时段t 生产量;yxydt1ttt约束yt ~时段t (末)库存量;1,xt0,wtxtMtwt =1 ~时段t 开工生产0,xt0,(wt =0 ~不开工)。yy0,x,y00Ttt生产批量问题的一般提法

min z(stwtctxthtyt)t1Ts.t.yt1xtytdt1,xt0,wtxtMt0,xt0,xtMtwt0混合0-1规划模型

y0yT0,xt,yt0t1,2,T将所给参数代入模型,用LINDO求解

最优解:x1~ x4:15,40,45,0;总费用:554.0(千元)

§6 钢管和易拉罐下料

原料下料问题

生产中通过切割、剪裁、冲压等手段,将原材料加工成所需大小按照工艺要求,确定下料方案,使所用材料最省,或利润最大

例1钢管下料

客户需求原料钢管:每根19米

6米20根

8米15根

节省的标准是什么?

5米10根

4米50根

问题1. 如何下料最节省? 问题2. 客户增加需求:

由于采用不同切割模式太多,会增加生产和管理成本,规定切割模式不能超过3种。如何下料最节省?

钢管下料

切割模式

按照客户需要在一根原料钢管上安排切割的一种组合。4米1根4米1根6米1根6米1根8米1根6米1根余料1米余料3米余料3米8米1根8米1根合理切割模式的余料应小于客户需要钢管的最小尺寸

钢管下料问题1

模式1234567

4米钢管根数

4321100

合理切割模式

6米钢管根数

0102130

8米钢管根数

0010102

余料(米)

3133113

为满足客户需要,按照哪些种合理模式,每种模式切割多少根原料钢管,最为节省?两种标准

1. 原料钢管剩余总余量最小

2. 所用原料钢管总根数最少

决策

x~按第i 种模式切割的原料钢管根数(i=1,2,…7) 变量i

目标1(总余量)MinZ13x1x23x33x4x5x63x7模式1234567需求

4米根数432110050

6米根数010213020

8米根数001010215

余料3133113

约束满足需求

4x13x22x3x4x550x22x4x53x620x3x52x715整数约束:xi 为整数

最优解:x2=12, x5=15,

其余为0;

最优值:27。

按模式2切割12根,按模式5切割15根,余料27米

钢管下料问题1

目标2(总根数)MinZ2x1x2x3x4x5x6x7约束条4x13x22x3x4x550件不变x22x4x53x620x3x52x715xi 为整数

按模式2切割15根,按模式5切割5根,按模式7切割5根,共25根,余料35米

最优解:x2=15, x5=5, x7=5, 其余为0;最优值:25。

与目标1的结果“共切割27根,余料27米”相比虽余料增加8米,但减少了2根

当余料没有用处时,通常以总根数最少为目标

钢管下料问题2

增加一种需求:5米10根;切割模式不超过3种。

现有4种需求:4米50根,5米10根,6米20根,8米15根,用枚举法确定合理切割模式,过于复杂。对大规模问题,用模型的约束条件界定合理模式决策变量

xi ~按第i 种模式切割的原料钢管根数(i=1,2,3) r1i,r2i,r3i,r4i ~ 第i 种切割模式下,每根原料钢管生产4米、5米、6米和8米长的钢管的数量

钢管下料问题2目标函数(总根数)

Minx1x2x3模式合理:每根余料不超过3米

约束条件

满足需求

r11x1r12x2r13x350r21x1r22x2r23x310164r115r216r318r4119164r125r226r328r4219164r135r236r338r4319整数约束:xi ,r1i,r2i,r3i,r4i (i=1,2,3)为整数

r31x1r32x2r33x320r41x1r42x2r43x315整数非线性规划模型

钢管下料问题2

增加约束,缩小可行域,便于求解

每根原料钢管长19米

需求:4米50根,5米10根,6米20根,8米15根

45051062081526原料钢管总根数下界:19特殊生产计划:对每根原料钢管

模式1:切割成4根4米钢管,需13根;

模式2:切割成1根5米和2根6米钢管,需10根;模式3:切割成2根8米钢管,需8根。原料钢管总根数上界:13+10+8=31

26x1x2x331模式排列顺序可任定

x1x2x3LINGO求解整数非线性规划模型

Local optimal solution found at iteration: 12211

模式1:每根原料钢管切割成3Objective value: 28.00000

Variable Value Reduced Cost

根4米和1根6米钢管,共10根;X1 10.000000.000000

X2 10.000002.000000

模式2:每根原料钢管切割成2X3 8.000000 1.000000

R11 3.0000000.000000

根4米、1根5米和1根6米钢管,R12 2.0000000.000000

R13 0.000000 0.000000

共10根;R21 0.0000000.000000

R22 1.0000000.000000

模式3:每根原料钢管切割成2R23 0.000000 0.000000

R31 1.0000000.000000

根8米钢管,共8根。R32 1.0000000.000000

R33 0.000000 0.000000 R41 0.0000000.000000 原料钢管总根数为28根。R42 0.0000000.000000 R43 2.000000 0.000000

例2 易拉罐下料

板材规格1:正方形,边长24cm,5万张。

模式1:1.5秒模式2:2秒

上盖模式3:1秒

板材规格2:长方形,3228cm,2万张。

模式4:3秒

罐身下底

罐身高10cm,上盖、下底直径均5cm。

每周工作40小时,每只易拉罐利润0.10元,原料余料损失0.001元/ cm2(不能装配的罐身、盖、底也是余料)如何安排每周生产?

问题分析

模式1:正方形边长24cm

计算各种模式下的余料损失

上、下底直径d=5cm,罐身高h=10cm。

2224-10d/4 -2dh=222.6 cm

模式1 余料损失

罐身个数

模式1

模式2模式3模式4

1204

底、盖个数104165余料损失(cm2)222.6183.3261.8169.5

冲压时间(秒)1.5213

问题分析

目标:易拉罐利润扣除原料余料损失后的净利润最大

注意:不能装配的罐身、上下底也是余料

约束:每周工作时间不超过40小时;

原料数量:规格1(模式1 ~3)5万张,

规格2(模式4)2万张;

罐身和底、盖的配套组装。

模型建立xi ~ 按照第i 种模式的生产张数(i=1,2,3,4);

决策变量

y1 ~ 一周生产的易拉罐个数;y2 ~ 不配套的罐身个数;y3 ~ 不配套的底、盖个数。

y~ 易拉罐个数;y~ 不配套的罐身;1 2 模型建立

y3 ~ 不配套的底、盖。

产量余料时间每只易拉罐利润0.10元,x1222.61.5余料损失0.001元/ cm2

x2x3x4

183.3261.8169.5

213

罐身面积dh=157.1 cm2底盖面积d2/4=19.6 cm2

目标

Max0.1y10.001(222.6x1183.3x2261.8x3169.5x4157.1y219.6y3)时间约束1.5x12x2x33x4144000(40小时)原料约束

x1x2x350000,约束

条件

x420000约束条件

产量x1x2x3x4

罐身1204

y1 ~ 易拉罐个数;y2 ~ 不配套的罐身;y3 ~ 不配套的底、盖。

底、盖104165

配套约束

y2x12x24x4y1y310x14x216x35x42y1y1min{x12x24x4,(10x14x216x35x4)/2}y1x12x24x4,y1(10x14x216x35x4)/2虽然xi和y1,y2,y3应是整数,但是因生产量很大,可以把它们看成实数,从而用线性规划模型处理。

模型求解

LINDO发出警告信息:“数据之间的数量级差别太大,建议进行预处理,缩小数据之间的差别”将所有决策变量扩大10000倍(xi ~万张,yi ~万件)

1.5x12x2x33x414.4,x1x2x35,x42OBJECTIVE FUNCTION VALUE1) 0.4298337

VARIABLE VALUE REDUCED COST

Y1 16.025000 0.000000X1 0.000000 0.000050X2 4.012500 0.000000X3 0.375000 0.000000X4 2.000000 0.000000Y2 0.000000 0.223331Y3 0.000000 0.036484

模式2生产40125张,模式3生产3750张,模式4生产20000张,共产易拉罐160250个

(罐身和底、盖无剩余),净利润为4298元

下料问题的建模

•确定下料模式

•构造优化模型

一维问题(如钢管下料)

规格不太多,可枚举下料模式,建立整数线性规划模型,否则要构造整数非线性规划模型,求解困难,可用缩小可行域的方法进行化简,但要保证最优解的存在。

二维问题(如易拉罐下料)具体问题具体分析(比较复杂)

因篇幅问题不能全部显示,请点此查看更多更全内容