zoukankan      html  css  js  c++  java
  • LinGo:投资问题——线性规划

    一.根据题目所给数据,建立一张表格方便查看

      

    项目A

    项目B

    项目C

    项目D

    可投资年

    1,2,3,4

    3

    2

    1,2,3,4,5

    收回本利年

    次年年末

    第5年

    第5年

    当年年末

    本利

    1.06

    1.15

    1.20

    1.02

    最大投资金额(万)

    -

    40

    30

    -

       

       

    二.设第i年投资第j个项目 Xij

    第j个项目的本利为r

       

    三.约束条件

    1.第一年投资的金额=100万

    x(1,1) + x(1,4) = 100;

    2.往后每年的投资金额要=今年年初回收的本利和

    x(2,1) + x(2,3) + x(2,4) = x(1,4) * r(4);

    x(3,1) + x(3,2) + x(3,4) = x(1,1) * r(1) + x(2,4) * r(4);

    x(4,1) + x(4,4) = x(2,1) * r(1) + x(3,4) * r(4);

    x(5,4) = x(3,1) * r(1) + x(4,4) * r(4);

    3.第2个项目的单次投资金额要<=40万

    x(3,2) <= 40;

    4.第3个项目的单次投资金额要<=30万

    x(2,3) <= 30;

       

    四.目标函数 : 第五年末的本利和

    max = r(1) * x(4,1) + r(2) * x(3,2) + r(3) * x(2,3) + r(4) * x(5,4);

       

    五.LINGO代码

       

    sets:
        row/1..5/;
        col/1..4/ : r;
          link(row,col) : x;
    endsets
    
    data:
        r = 1.06, 1.15, 1.20, 1.02;
    enddata
    
    !@for(link(i,j) : x(i,j) = 0);
    
    !1;
    x(1,1) + x(1,4) = 100;
    
    !2;
    x(2,1) + x(2,3) + x(2,4) = x(1,4) * r(4);
    
    !3;
    x(3,1) + x(3,2) + x(3,4) = x(1,1) * r(1) + x(2,4) * r(4);
    
    !4;
    x(4,1) + x(4,4) = x(2,1) * r(1) + x(3,4) * r(4);
    
    !5;
    x(5,4) = x(3,1) * r(1) + x(4,4) * r(4);
    
    x(3,2) <= 40;
    x(2,3) <= 30;
    
    [OBJ]max = r(1) * x(4,1) + r(2) * x(3,2) + r(3) * x(2,3) + r(4) * x(5,4);

    六.LINGO运算结果

     Global optimal solution found.

    Objective value: 119.6512

    Infeasibilities: 0.000000

    Total solver iterations: 1

    Variable Value Reduced Cost

    R( 1) 1.060000 0.000000

    R( 2) 1.150000 0.000000

    R( 3) 1.200000 0.000000

    R( 4) 1.020000 0.000000

    X( 1, 1) 70.58824 0.000000

    X( 1, 2) 0.000000 0.000000

    X( 1, 3) 0.000000 0.000000

    X( 1, 4) 29.41176 0.000000

    X( 2, 1) 0.000000 0.000000

    X( 2, 2) 0.000000 0.000000

    X( 2, 3) 30.00000 0.000000

    X( 2, 4) 0.000000 0.2077600E-01

    X( 3, 1) 0.000000 0.000000

    X( 3, 2) 40.00000 0.000000

    X( 3, 3) 0.000000 0.000000

    X( 3, 4) 34.82353 0.000000

    X( 4, 1) 35.52000 0.000000

    X( 4, 2) 0.000000 0.000000

    X( 4, 3) 0.000000 0.000000

    X( 4, 4) 0.000000 0.1960000E-01

    X( 5, 1) 0.000000 0.000000

    X( 5, 2) 0.000000 0.000000

    X( 5, 3) 0.000000 0.000000

    X( 5, 4) 0.000000 0.000000

    Row Slack or Surplus Dual Price

    1 0.000000 1.146072

    2 0.000000 1.123600

    3 0.000000 1.081200

    4 0.000000 1.060000

    5 0.000000 1.020000

    6 0.000000 0.6880000E-01

    7 0.000000 0.7640000E-01

    OBJ 119.6512 1.000000

    结论:

    第一年:A:70.58824  D:29.41176

    第二年:C:30

    第三年:B:40  D:34.82353

    第四年:A:35.52

    第五年:不投资

      

    ——现在的努力是为了小时候吹过的牛B!!
  • 相关阅读:
    【转载】以太网帧类型速查表
    oracle 无法解析指定的连接标识符
    最近观影有感~
    myeclipse 8.5 安装svn插件
    Symbian S60 设备配置 IMAP
    VS 2008 自动缩进修改
    RGB YUV [转]
    NoteExpress 无法访问国外数据库
    小s坐月子
    2011124 code
  • 原文地址:https://www.cnblogs.com/pingge/p/3264227.html
Copyright © 2011-2022 走看看