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

项目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/../;
col/../ : r;
link(row,col) : x;
endsets data:
r = 1.06, 1.15, 1.20, 1.02;
enddata !@for(link(i,j) : x(i,j) = ); !;
x(,) + x(,) = ; !;
x(,) + x(,) + x(,) = x(,) * r(); !;
x(,) + x(,) + x(,) = x(,) * r() + x(,) * r(); !;
x(,) + x(,) = x(,) * r() + x(,) * r(); !;
x(,) = x(,) * r() + x(,) * r(); x(,) <= ;
x(,) <= ; [OBJ]max = r() * x(,) + r() * x(,) + r() * x(,) + r() * x(,);

六.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

第五年:不投资

LinGo:投资问题——线性规划的更多相关文章

  1. LinGo:疏散问题——线性规划,0-1规划

    个部门(A.B.C.D.E)组成.现要将它的几个部门迁出甲市,迁至乙市或丙市. (每个城市最多接纳三个部门) 除去因政府鼓励这样做以外,还有用房便宜,招工方便等好处.对这些好处已作出数量估计,其值如下 ...

  2. LinGo:装货问题——线性规划,整数规划,1988年美国数模B题

    7种规格的包装箱要装有两辆铁路平板车上去,包装箱的宽和高相同,但厚度(t,以cm计)和重量(以kg计)不同, 表A-1给出了每包装箱的厚度.重量和数量,每辆车有10.2m长的地方用来装包装箱(像面包片 ...

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

     凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 某公司现有资金30万元可用于投资,5年内有下列方案可供采纳:   1号方案:在年初投资1元,2年后可收回1. ...

  4. 使用python scipy.optimize linprog和lingo线性规划求解最大值,最小值(运筹学学习笔记)

    1.线性规划模型: 2.使用python scipy.optimize linprog求解模型最优解: 在这里我们用到scipy中的linprog进行求解,linprog的用法见https://doc ...

  5. Lingo求解线性规划案例4——下料问题

    凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 造纸厂接到定单,所需卷纸的宽度和长度如表 卷纸的宽度 长度 5 7 9 10000 30000 20000 工 ...

  6. Lingo求解线性规划案例1——生产计划问题

    凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 说明: Lingo版本:                            某工厂明年根据合同,每个季度末 ...

  7. Lingo简单入门,以及对线性规划做敏感性分析设置

    Lingo中用!表示注释,注释结束用;表示,lingo不区分大小写,运行时会自动统一装换成大写 编程步骤: 1.推算出正确的模型 2.确定描述集,定义集合 3.确定变量 4.正确写出每个式子 常用函数 ...

  8. java 线性规划 和lingo 比较

    model:max=13*A+ 23*B; 5*A + 15*B <480 ; 4*A + 4 *B <160 ; 35* A + 20 *B <1190 ; end Variabl ...

  9. Lingo求解线性规划案例3——混料问题

    凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/  某糖果厂用原料A.B和C按不向比率混合加工而成甲.乙.丙三种糖果(假设混合加工中不损耗原料).原料A.B.C ...

随机推荐

  1. 自定义filter包

    在有些时候,你可能需要以你的所有项目进行全局的过滤. 因为你的项目可以设计到互相的依赖和调用 . 修改在tomcat下的conf下的web.xml文件.和在原来的web-inif下的修改一样,添加fi ...

  2. Hibernate实体对象三种状态

    Hibernate实体对象生命周期: 1. 自由状态(Transient,临时状态,瞬态) 在内存中自由存在,与数据库无关,未被Hibernate的Session管理 2. 持久状态(Persiste ...

  3. 在imge控件中直接显示图片(图片是byte[]格式)

    在工作过程中遇到了这个问题,在网上查了一些资料,结合自己的解决方法及解决过程总结了下,方面以后查阅.如果能帮到同样遇到这个问题的你,将非常高兴哦~_~ 由于asp.net中的Image控件是在Syst ...

  4. 从一个SVN下载的导入另一个SVN里面

    如果项目是你从个一个SVN下载的,你想存入另一个SVN里面 那么问题来了 你用eclipse的team的时候会发现没有Team share 这个选项,那么就等于是没有上传的选项了 解决办法,把项目删掉 ...

  5. C# DateTime.Now

    //2008年4月24日 System.DateTime.Now.ToString("D"); //2008-4-24 System.DateTime.Now.ToString(& ...

  6. 【转】Objective-C中一种消息处理方法performSelector: withObject:

    原文 : http://www.cnblogs.com/buro79xxd/archive/2012/04/10/2440074.html   Objective-C中调用函数的方法是“消息传递”,这 ...

  7. 认识<hr>标签,添加水平横线

    在信息展示时,有时会需要加一些用于分隔的横线,这样会使文章看起来整齐些.如下图所示: 语法: html4.01版本 <hr> xhtml1.0版本 <hr /> 注意: 1.  ...

  8. firefox 的event事件处理

    前几天,在用angularJs实现一个功能,点击后获取event的x,y坐标时,IE9, chrome下功能正常.但是firefox报event 未定义.初始代码如下: html: <div c ...

  9. RSA加密算法正确性证明

    RSA加密算法是利用大整数分解耗时非常大来保证加密算法不被破译. 密钥的计算过程为:首先选择两个质数p和q,令n=p*q. 令k为n的欧拉函数,k=ϕ(n)=(p−1)(q−1) 选择任意整数a,保证 ...

  10. 关于#include后面<>和" "的区别

    1.以尖括号制定头文件,如下所示: #include <stdio.h> 用尖括号来制定文件时,预处理器是以特定的方式来寻找文件,一般是环境中或编译器命令行指定的某种寻找路径.这种设置寻找 ...