- 在线时间
- 1340 小时
- 最后登录
- 2025-2-25
- 注册时间
- 2007-9-30
- 听众数
- 65
- 收听数
- 6
- 能力
- 0 分
- 体力
- 12983 点
- 威望
- 4 点
- 阅读权限
- 150
- 积分
- 5199
- 相册
- 12
- 日志
- 34
- 记录
- 36
- 帖子
- 2348
- 主题
- 70
- 精华
- 1
- 分享
- 1
- 好友
- 513

独孤求败
TA的每日心情 | 擦汗 2018-4-26 23:29 |
---|
签到天数: 1502 天 [LV.Master]伴坛终老
- 自我介绍
- 紫薇软剑,三十岁前所用,误伤义士不祥,乃弃之深谷。 重剑无锋,大巧不工。四十岁前恃之横行天下。 四十岁后,不滞于物,草木竹石均可为剑。自此精修,渐进至无剑胜有剑之境。
群组: 计量经济学之性 群组: LINGO |
4#
发表于 2017-5-10 10:21
|只看该作者
|
|邮箱已经成功绑定
第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
复制代码 能实现盈利。
|
|