Lingo求解线性规划案例2——多阶段投资问题

扑克投资家 2018-01-06

凯鲁嘎吉 - 安科网

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年年初拥有最多资金?

:设xiji号方案在第j年年初所使用的资金数。

显然,对于3号及4号方案,仅有x31x42。此外,不考虑x15x24x25,因为其相应投资方案回收期超过我们所讨论的期限。

我们将各年的决策变量(表中虚线起点)及其相应效益(表中虚线终点)列表。

Lingo求解线性规划案例2——多阶段投资问题

显然,第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