Lingo求解线性规划案例2——多阶段投资问题
凯鲁嘎吉 - 安科网
http://www.cnblogs.com/kailugaji/
某公司现有资金30万元可用于投资,5年内有下列方案可供采纳:
1号方案:在年初投资1元,2年后可收回1.3元;
2号方案;在年初投资1元,3年后可收回1.45元;
3号方案:仅在第1年年初有一次投资机会。每投资1元,4年后可收回1.65元;
4号方案:仅在第2年年初有一次投资机会。每投资1元,4年后可收回1.7元;
5号方案。在年初存入银行1元,下一年初可得1.1元。
每年年初投资所得收益及银行利息也可用作安排。
问该公司在5年内怎样使用资金,才能在第6年年初拥有最多资金?
解:设xij为i号方案在第j年年初所使用的资金数。
显然,对于3号及4号方案,仅有x31和x42。此外,不考虑x15,x24,x25,因为其相应投资方案回收期超过我们所讨论的期限。
我们将各年的决策变量(表中虚线起点)及其相应效益(表中虚线终点)列表。
显然,第j年年初可使用的资金之和应等于第j年年初所引用的决策变量之和。于是,根据表所示的各种因果关系,我们不难建立如下模型:
maxf=1.7x42+1.45x23+1.3x14+1.1x55
s.t. x11+x21+x31+x51=300000
x12+x22+x42+x52=1.1x51
x13+x23+x53=1.3x11+1.1x52
x14+x54=1.45x21+1.3x12+1.1x53
x55=1.65x31+1.45x22+1.3x13+1.1x54
x1j≥O, j=1,2,3,4
x2j≥O, j=1,2,3;
x31≥0, x42≥0, x5i≥0,i=1,…,5
Lingo程序:
max=1.7*x42+1.45*x23+1.3*x14+1.1*x55; x11+x21+x31+x51=300000; x12+x22+x42+x52=1.1*x51; x13+x23+x53=1.1*x52+1.3*x11; x14+x54=1.1*x53+1.3*x12+1.45*x21; x55=1.1*x54+1.3*x13+1.45*x22+1.65*x31; end
结果为:
Global optimal solution found. Objective value: 565500.0 Infeasibilities: 0.000000 Total solver iterations: 0 Variable Value Reduced Cost X42 0.000000 0.1363636E-01 X23 0.000000 0.000000 X14 435000.0 0.000000 X55 0.000000 0.000000 X11 0.000000 0.000000 X21 300000.0 0.000000 X31 0.000000 0.7000000E-01 X51 0.000000 0.000000 X12 0.000000 0.2363636E-01 X22 0.000000 0.1186364 X52 0.000000 0.1186364 X13 0.000000 0.2000000E-01 X53 0.000000 0.2000000E-01 X54 0.000000 0.9000000E-01 Row Slack or Surplus Dual Price 1 565500.0 1.000000 2 0.000000 1.885000 3 0.000000 1.713636 4 0.000000 1.450000 5 0.000000 1.300000 6 0.000000 1.100000