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

项目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. C++面试中string类的一种正确写法

    C++ 的一个常见面试题是让你实现一个 String 类,限于时间,不可能要求具备 std::string 的功能,但至少要求能正确管理资源.具体来说: 能像 int 类型那样定义变量,并且支持赋值. ...

  2. php include 与 require 起底[转]

    转自 http://www.guangla.com/post/2014-01-24/40060857811 起因: 一朋友面试被问到,php的include和require的区别,这个可能是面试中出现 ...

  3. 阿里UX矢量图标库–最强大的矢量图标库(Icon font制作力荐工具)

    继前面介绍过ICON-FONT的制作后,找了几个ICON库都是国外的今天偶然发现阿里巴巴的图标矢量库,www.iconfont.cn用了之后感觉很强大,丰富的图标库(集合阿里妈妈&淘宝的图标库 ...

  4. Iframe之间及iframe与父窗体之间值的传递

    方法一:ScriptManager.RegisterClientScriptBlock(this,typeof(Page), "NoInformation", "wind ...

  5. Ext4.1 tree grid的右键菜单

    Ext4.1 tree grid的右键菜单功能其实挺简单的 只要添加一个itemcontextmenu事件,并在事件中显示出Menu就OK了. 代码: this.tree.on('itemcontex ...

  6. Linux下解决高并发socket最大连接数所受的各种限制(解除IO限制)

    linux作为服务器系统,当运行高并发TCP程序时,通常会出现连接建立到一定个数后不能再建立连接的情况 本人在工作时,测试高并发tcp程序(GPS服务器端程序),多次测试,发现每次连接建立到3800左 ...

  7. angularjs中ng-repeat-start与ng-repeat-end用法实例

    <!DOCTYPE html> <html lang="zh-CN" ng-app="app"> <head> <me ...

  8. model 和 view 实现思考

    采用model.view = view 和  view.model=model 进行双向绑定,还有一种方案是采用id号进行绑定,viewmodel的views 和 models 属性存放所有的id 映 ...

  9. Java study 1:The note of studying Socket which based UDP

    UDP concept: UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参 ...

  10. WBS说明

    work breakdown structure(WBS) 工作分解结构 (英语:Work Breakdown Structure, WBS)是一个详尽的,层次的(从全面到细节)的树形结构,由可交付成 ...