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

项目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. NSDateFormatter 格式说明

    格式化参数如下:    G: 公元时代,例如AD公元    yy: 年的后2位    yyyy: 完整年    MM: 月,显示为1-12    MMM: 月,显示为英文月份简写,如 Jan    M ...

  2. [转] boost------ref的使用(Boost程序库完全开发指南)读书笔记

    http://blog.csdn.net/zengraoli/article/details/9663057 STL和Boost中的算法和函数大量使用了函数对象作为判断式或谓词参数,而这些参数都是传值 ...

  3. C#解leetcode 189. Rotate Array

    Rotate an array of n elements to the right by k steps. For example, with n = 7 and k = 3, the array  ...

  4. 【开源java游戏框架libgdx专题】-15-系统控件-Button类

    Button类继承与Actor类,可以在舞台中使用,但是它也继承了许多Actor的子类,如Group.Table.WidgetGroup灯. 常用构造方法: Button():创建按钮对象,不设置其样 ...

  5. mvc存储Cookie和读取Cookie方法

    mvc存储Cookie和读取Cookie方法: //存储 HttpCookie cookie = new HttpCookie("User"); System.Text.Encod ...

  6. Angular JS API

    ng function angular.bind angular.bootstrap angular.copy angular.element angular.equals angular.exten ...

  7. Wpf控件ListBox使用实例2

    2.Xaml绑定选择结果 <StackPanel Orientation="Vertical"> <TextBlock Margin="10,10,10 ...

  8. android 中Log - 简单使用

    例如,我们可以使用'Log.d'进行Debug,在java代码中输入Log.d(String tag, String message),tag为自己命名的tag,message为待输出的信息.然后打开 ...

  9. 【转】 Xcode基本操作

    原文: http://blog.csdn.net/phunxm/article/details/17044337 1.IDE概览 Gutter & Ribbon 焦点列:灰色深度与代码嵌套深度 ...

  10. oracle查询表信息(索引,外键,列等)

    oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息,索引信息查询SQL如下,希望对大家有所帮助:1.查询出所有的用户表 select * from user_tables ...