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

项目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. Java基础知识强化之集合框架笔记06:Collection集合存储自定义对象并遍历的案例

    1.练习:用集合存储5个学生对象,并把学生对象进行遍历. 分析: (1)创建学生类(2)创建集合对象(3)创建学生对象(4)把学生添加到集合(5)把集合转成数组(6)遍历数组 2. 代码示例: Stu ...

  2. 176. [USACO Feb07] 奶牛聚会

    #include<iostream> #include<cstdio> #include<cstring> #include<queue> #defin ...

  3. asp.net操作cookie类

    using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary ...

  4. Lucene.net 从创建索引到搜索的代码范例

    关于Lucene.Net的介绍网上已经很多了在这里就不多介绍Lucene.Net主要分为建立索引,维护索引和搜索索引Field.Store的作用是通过全文检查就能返回对应的内容,而不必再通过id去DB ...

  5. 四大跨平台的APP分析

    转载:http://blog.csdn.net/kenkao/article/details/50678269

  6. nodejs概论(实操篇)

    什么是模块? 模块分为原生模块(node.jsAPI提供的原生模块,在启动时已经被加载)和 文件模块(动态加载模块,主要由原生模块module来实现和完成.通过调 用node.js的require方法 ...

  7. c#利用WebClient和WebRequest获取网页源代码

    C#中一般是可以利用WebClient类和WebRequest类获取网页源代码.下面分别说明这两种方法的实现.   WebClient类获取网页源代码   WebClient类   WebClient ...

  8. Nginx源码研究六:NGINX的配置文件分析

    上一篇写到nginx的各个模块的配置信息的存储结构,大体描述了对配置信息的配置项生成,定制,初始化过程.这里重点研究实现定制的过程,所谓实现定制,这里指的是,nginx系统提供使用者定义nginx的配 ...

  9. jquery如何判断滚动条滚到页面底部并执行事件

    首先理解三个dom元素,分别是:clientHeight.offsetHeight.scrollTop. clientHeight:这个元素的高度,占用整个空间的高度,所以,如果一个div有滚动条,那 ...

  10. HTML 内嵌JS脚本、相关参考手册

    提供一个JS.HTML参考手册入口:http://www.w3school.com.cn/jsref/index.asp. JavaScript 最常用于图片操作.表单数据处理以及内容动态更新. &l ...