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

项目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. iOS平台基于ffmpeg的视频直播技术揭秘

    现在非常流行直播,相信很多人都跟我一样十分好奇这个技术是如何实现的,正好最近在做一个ffmpeg的项目,发现这个工具很容易就可以做直播,下面来给大家分享下技术要点: 首先你得编译出ffmpeg运行所需 ...

  2. php 链式操作的实现 学习记录

    php 面向对象中实现链式操作的关键部分:调用的方法中返回当前对象 ,从而实现链式操作: <?php namespace commom; class db { public function w ...

  3. JavaScript细节整理

    JavaScript是一个绝冠全球的编程语言,可用于Web开发.移动应用开发(PhoneGap.Appcelerator).服务器端开发(Node.js和Wakanda)等等.JavaScript还是 ...

  4. Spring配置静态目录

    mvc-dispatcher-servlet.xml文件 <beans xmlns="http://www.springframework.org/schema/beans" ...

  5. Mysql查看执行计划

    EXPLAIN(小写explain)显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. EXPLAIN + sql语句可以查看mysql的执行 ...

  6. WPF DataGrid 绑定DataSet数据 自动生成行号

    1.绑定数据:dataGrid1.ItemsSource = dataSet.Tables[0].DefaultView; 注意:在创建DataGrid 时可以通过AutoGenerateColumn ...

  7. Android开发笔记:安卓程序截屏方法

    1,基于Android SDK的截屏方法 (1)主要就是利用SDK提供的View.getDrawingCache()方法.网上已经有很多的实例了.首先创建一个android project,然后进行L ...

  8. How do I size a UITextView to its content?

    UITextView 自适应高度,搬来一篇stack上的:   Is there a good way to adjust the size of a UITextView to conform to ...

  9. 为你的网页中添加一些空格&nbsp;

    在上一节的例子,我们已经讲解过在html代码中输入空格.回车都是没有作用的.要想输入空格,必须写入 . 语法:   在html代码中输入空格是不起作用的,如下代码. 在浏览中显示,还是没有空格效果. ...

  10. WPF 依赖属性与依赖对象

    在介绍依赖属性之前,我先介绍下属性的历史 属性的历史:      早期C++的类中,只有字段及方法,暴露数据靠的是方法, 但是字段直接暴露会不安全,所以才用方法来暴露,在设置的时候加些约束,在MFC中 ...