优化问题求助,急!!!
两个美国学生暑假时考虑创业,打算成立一家公司,主营业务是往大学推销某种打印机。他们先与生产商签订了一个每月最多供应500台机器的合同,这时候他们面临寻找一个合适的库存地点的问题,他们找到了一处符合他们各方面需求的房子,但是房主的要价是每年租金为10万美元,他们觉得难以承受,房主于是提出了一个备选方案:按库存的机器数量付租金,在经营的第一个月内,每台机器每月库存费用为10美元,剩余月份每台每月增加2美元。一般情况下他们在9月初大学开学时才有销量,到6月降为0,机器售价为180美元。他们计算出了包括购买、运输及管理在内的总成本,前4个月每台成本为100美元,其后的4个月每台成本90美元,该年剩下的4个月每台成本85美元,每月最多订购一次。经过调查,他们估计出了该学年9月到下年5月的销售量:9月 340
10月 650
11月 420
12月 200
1月 660
2月 550
3月 390
4月 580
5月 120
请考虑他们应该如何制订一个使成本最小的订购计划。如果后来他们又接到生产厂商的电话,不能为他们每月供应500台机器了,他们可以在前4个月每月供应700台,后5个月每月供应300台。这对他们的订购计划有何影响?
问题:
1. 建立问题的通用的数学规划模型,为该公司制订一个使成本最小的最优订购计划。
2. 库存费用的两种支付方式,10万美元一年或按机器数量每月付费,哪种更有利?
3. 生产商供应模式的变化将给公司带来怎样的损失?
4. 如果该公司需要借大约20万美元创业,在第一年结束时,他们能盈利吗?
求高手指点 dfdddddddddd 第2问:
如果在10万每年的租金下,总成本:Model:
Sets:
Month/Sep..May/:S,B,D;!S销售量,B采购量,D库存量;
Endsets
Min=C1+C2;
C1=100000;!库存成本;
C2=@Sum(Month(i):S(i)*@if(i#le#4,100,@if(i#le#8 #and# i#ge#5,90,85)));!采购成本;
@For(Month(i)|i#eq#1:S(i)<B(i));!第一个月采购量不小于销售量;
@For(Month(i)|i#gt#1 #and# i#lt#9:S(i)<B(i)+D(i-1));!第二个月开始,购买量加上上一个月的剩余量不小于销售量;
@For(Month(i)|i#eq#9:S(i)=B(i)+D(i-1));!最后一个月销售量等于采购量加上上月库存;
@For(Month(i)|i#eq#1:D(i)=B(i)-S(i));!第一个月的剩余量等于采购量减销售量;
@For(Month(i)|i#gt#1 #and# i#lt#9 :D(i)=D(i-1)+B(i)-S(i));!第二个月开始的剩余量等于上个月的剩余量加采购量减销售量;
@For(Month(i):B(i)<500);!每月采购量不大于500台;
Data:
S=340,650,420,200,660,550,390,580,120;
Enddata
End
结果是:Global optimal solution found.
Objective value: 467400.0
Infeasibilities: 0.000000
Total solver iterations: 0
如果是按机器数量付费:Model:
Title 如果每个月供应500台;
Sets:
Month/Sep..May/:S,B,D;!S销售量,B采购量,D库存量;
Endsets
Min=C1+C2;
C1=@Sum(Month(i):D(i)*@if(i#eq#1,10,12));!库存成本;
C2=@Sum(Month(i):S(i)*@if(i#le#4,100,@if(i#le#8 #and# i#ge#5,90,85)));!采购成本;
@For(Month(i)|i#eq#1:S(i)<B(i));!第一个月采购量不小于销售量;
@For(Month(i)|i#gt#1 #and# i#lt#9:S(i)<B(i)+D(i-1));!第二个月开始,购买量加上上一个月的剩余量不小于销售量;
@For(Month(i)|i#eq#9:S(i)=B(i)+D(i-1));!最后一个月销售量等于采购量加上上月库存;
@For(Month(i)|i#eq#1:D(i)=B(i)-S(i));!第一个月的剩余量等于采购量减销售量;
@For(Month(i)|i#gt#1 #and# i#lt#9 :D(i)=D(i-1)+B(i)-S(i));!第二个月开始的剩余量等于上个月的剩余量加采购量减销售量;
@For(Month(i):B(i)<500);!每月采购量不大于500台;
Data:
S=340,650,420,200,660,550,390,580,120;
Enddata
End结果是:Global optimal solution found.
Objective value: 372980.0
Infeasibilities: 0.000000
Total solver iterations: 3
可见采用按机器数量付费,成本更低。
第三问:
供应商如果按前4个月700台,后5个月300台供货:Model:
Title 如果前4个月每月供应700台,后5个月每月供应300台;
Sets:
Month/Sep..May/:S,B,D;!S销售量,B采购量,D库存量;
Endsets
Min=C1+C2;
C1=@Sum(Month(i):D(i)*@if(i#eq#1,10,12));!库存成本;
C2=@Sum(Month(i):S(i)*@if(i#le#4,100,@if(i#le#8 #and# i#ge#5,90,85)));!采购成本;
@For(Month(i)|i#eq#1:S(i)<B(i));!第一个月采购量不小于销售量;
@For(Month(i)|i#gt#1 #and# i#lt#9:S(i)<B(i)+D(i-1));!第二个月开始,购买量加上上一个月的剩余量不小于销售量;
@For(Month(i)|i#eq#9:S(i)=B(i)+D(i-1));!最后一个月销售量等于采购量加上上月库存;
@For(Month(i)|i#eq#1:D(i)=B(i)-S(i));!第一个月的剩余量等于采购量减销售量;
@For(Month(i)|i#gt#1 #and# i#lt#9 :D(i)=D(i-1)+B(i)-S(i));!第二个月开始的剩余量等于上个月的剩余量加采购量减销售量;
@For(Month(i)|i#le#4:B(i)<700);!前4个月每月采购量不大于700台;
@For(Month(i)|i#gt#4:B(i)<300);!后5个月每月采购量不大于300台;
Data:
S=340,650,420,200,660,550,390,580,120;
Enddata
End
结果:Global optimal solution found.
Objective value: 404060.0
Infeasibilities: 0.000000
Total solver iterations: 0
Model Title: 如果前4个月每月供应700台,后5个月每月供应300台
Variable Value Reduced Cost
C1 36660.00 0.000000
C2 367400.0 0.000000
S( SEP) 340.0000 0.000000
S( OCT) 650.0000 0.000000
S( NOV) 420.0000 0.000000
S( DEC) 200.0000 0.000000
S( JAN) 660.0000 0.000000
S( FEB) 550.0000 0.000000
S( MAR) 390.0000 0.000000
S( APR) 580.0000 0.000000
S( MAY) 120.0000 0.000000
B( SEP) 490.0000 0.000000
B( OCT) 700.0000 0.000000
B( NOV) 700.0000 0.000000
B( DEC) 700.0000 0.000000
B( JAN) 300.0000 0.000000
B( FEB) 300.0000 0.000000
B( MAR) 300.0000 0.000000
B( APR) 300.0000 0.000000
B( MAY) 120.0000 0.000000
D( SEP) 150.0000 0.000000
D( OCT) 200.0000 0.000000
D( NOV) 480.0000 0.000000
D( DEC) 980.0000 0.000000
D( JAN) 620.0000 0.000000
D( FEB) 370.0000 0.000000
D( MAR) 280.0000 0.000000
D( APR) 0.000000 94.00000
D( MAY) 0.000000 12.00000
影响了每月的订货节奏和成本。
第四问:借入20万,不考虑利息的情况:Model:
Title 如果每个月供应500台;
Sets:
Month/Sep..May/:S,B,D;!S销售量,B采购量,D库存量;
Endsets
Max=R-(C1+C2+C3);
R=@sum(Month(i):S(i)*180);
C1=@Sum(Month(i):D(i)*@if(i#eq#1,10,12));!库存成本;
C2=@Sum(Month(i):S(i)*@if(i#le#4,100,@if(i#le#8 #and# i#ge#5,90,85)));!采购成本;
C3=200000;
@For(Month(i)|i#eq#1:S(i)<B(i));!第一个月采购量不小于销售量;
@For(Month(i)|i#gt#1 #and# i#lt#9:S(i)<B(i)+D(i-1));!第二个月开始,购买量加上上一个月的剩余量不小于销售量;
@For(Month(i)|i#eq#9:S(i)=B(i)+D(i-1));!最后一个月销售量等于采购量加上上月库存;
@For(Month(i)|i#eq#1:D(i)=B(i)-S(i));!第一个月的剩余量等于采购量减销售量;
@For(Month(i)|i#gt#1 #and# i#lt#9 :D(i)=D(i-1)+B(i)-S(i));!第二个月开始的剩余量等于上个月的剩余量加采购量减销售量;
@For(Month(i):B(i)<500);!每月采购量不大于500台;
Data:
S=340,650,420,200,660,550,390,580,120;
Enddata
End结果: Global optimal solution found.
Objective value: 130820.0
Infeasibilities: 0.000000
Total solver iterations: 3
Model Title: 如果每个月供应500台
Variable Value Reduced Cost
R 703800.0 0.000000
C1 5580.000 0.000000
C2 367400.0 0.000000
C3 200000.0 0.000000
S( SEP) 340.0000 0.000000
S( OCT) 650.0000 0.000000
S( NOV) 420.0000 0.000000
S( DEC) 200.0000 0.000000
S( JAN) 660.0000 0.000000
S( FEB) 550.0000 0.000000
S( MAR) 390.0000 0.000000
S( APR) 580.0000 0.000000
S( MAY) 120.0000 0.000000
B( SEP) 490.0000 0.000000
B( OCT) 500.0000 0.000000
B( NOV) 420.0000 0.000000
B( DEC) 410.0000 0.000000
B( JAN) 500.0000 0.000000
B( FEB) 500.0000 0.000000
B( MAR) 470.0000 0.000000
B( APR) 500.0000 0.000000
B( MAY) 120.0000 0.000000
D( SEP) 150.0000 0.000000
D( OCT) 0.000000 22.00000
D( NOV) 0.000000 12.00000
D( DEC) 210.0000 0.000000
D( JAN) 50.00000 0.000000
D( FEB) 0.000000 36.00000
D( MAR) 80.00000 0.000000
D( APR) 0.000000 24.00000
D( MAY) 0.000000 12.00000
Row Slack or Surplus Dual Price
1 130820.0 1.000000
2 0.000000 1.000000
3 0.000000 -1.000000
4 0.000000 -1.000000
5 0.000000 -1.000000
6 150.0000 0.000000
7 0.000000 0.000000
8 0.000000 0.000000
9 210.0000 0.000000
10 50.00000 0.000000
11 0.000000 0.000000
12 80.00000 0.000000
13 0.000000 0.000000
14 0.000000 0.000000
15 0.000000 0.000000
16 0.000000 10.00000
17 0.000000 0.000000
18 0.000000 0.000000
19 0.000000 12.00000
20 0.000000 24.00000
21 0.000000 0.000000
22 0.000000 12.00000
23 10.00000 0.000000
24 0.000000 10.00000
25 80.00000 0.000000
26 90.00000 0.000000
27 0.000000 12.00000
28 0.000000 24.00000
29 30.00000 0.000000
30 0.000000 12.00000
31 380.0000 0.000000
能实现盈利。
页:
[1]