数模习题4(matlab)
实验 3 数学规划建模实验
一、实验目的
- 学习最优化技术和基本原理,了解最优化问题的分类;
- 掌握线性规划的建模技巧和求解方法;
- 熟悉 MATLAB 软件求解线性规划模型的基本命令;
- 通过范例学习,熟悉建立线性规划模型的基本要素和求解方法。
通过该实验的学习,掌握最优化技术,认识面对现实生活中的最优化问题,怎样提出假设和建立优化模型,并且学会使用 MATLAB 软件进行线性规划模型求解的基本命令。
二、实验内容
- 最优化问题的提出,提出不同的假设可以建立不同的最优化模型;
- 建立线性规划模型的基本要素和步骤;
- 使用 MATLAB 命令对线性规划模型进行计算。
三、实验任务
1.
应用 matlab 求解以下线性规划模型
f=[6,3,4];
A=[];
b=[];
Aeq=[1,1,1];
beq=[120];
lb=[30,0,20];
ub=[inf,50,inf];
[x,y] = linprog(f,A,b,Aeq,beq,lb,ub);
x,y
x =
30
50
40
y =
490
即最小值为 \(490\) ,此时 \(x_1=30\) , \(x_2=50\) , \(x_3=40\) 。
2.
某厂按合同规定须于当年每个季度末分别提供 \(10,15,25,20\) 台同一规格的柴油机。已知该厂各季度的生产能力及生产每台柴油机的成本如下表所示,如果生产出的柴油机当季不交货,每台积压一个季度需储存、维护等费用 \(0.15\) 万元,试建立一个数学模型,要求在完成合同的情况下,使该厂全年生产(包括储存、维护)费用最小。
季度 | 生产能力(台) | 成本(万元/台) |
---|---|---|
一 | 25 | 10.8 |
二 | 35 | 11.1 |
三 | 30 | 11.0 |
四 | 10 | 11.3 |
c = [11.25,11.4,11.15,11.3];
Aeq = [1,1,1,1];
beq = [70];
lb = [10,0,0,0];
ub = [25,35,30,10];
A = [-1,-1,0,0;-1,-1,-1,0];
b = [-25;-50];
[x,y] = linprog(c,A,b,Aeq,beq,lb,ub);
x,y+12.75
x =
25
5
30
10
ans =
798.5000
3. 投资策略
某部门现有资金 \(10\) 万元,五年内有以下投资项目可供选择:
项目 A:从第一年到第四年每年初投资,次年末收回本金且获利 15% ;
项目 B:第三年初投资,第五年末收回本金且获利 25% ,最大投资额为 \(4\) 万元;
项目 C:第二年初投资,第五年末收回本金且获利 40% ,最大投资额为 \(3\) 万元;
项目 D:每年初投资,年末收回本金且获利 6% ;
问如何确定投资策略使第五年末本息总额达最大?
记 \(x_{ij}\) 表示第 \(i\) 年对项目 \(j\) 投资的金额(项目 \(1,2,3,4\)对应 \(A,B,C,D\) );
则第一年 \(x_{11} + x_{14} = 10\)
第二年 \(x_{21} + x_{23} + x_{24} = 106 \% x_{14}\)
第三年 \(x_{31} + x_{33} + x_{34} = 106 \% x_{24} + 115 \% x_{11}\)
第四年 \(x_{41} + x_{44} = 106 \% x_{34} + 115 \% x_{21}\)
第五年 \(x_{54} = 106 \% x_{44} + 115 \% x_{31}\)
其中 \(x_{32} \le 4,x_{23} \le 3\)
求 \(ans = 115\% x_{41} + 125\% x_{32} + 140\% x_{23} + 106\% x_{54}\) 的最大值
c = [0,0,0,0,0,0,1.4,0,0,1.25,0,0,1.15,0,0,0,0,0,0,1.06];
A = [];
b = [];
Aeq = [1 ,0,0,1 ,0 ,0,0,0 ,0 ,0,0,0 ,0,0,0,0 ,0,0,0,0;
0 ,0,0,-1.06,1 ,0,1,1 ,0 ,0,0,0 ,0,0,0,0 ,0,0,0,0;
-1.15,0,0,0 ,0 ,0,0,-1.06,1 ,1,0,1 ,0,0,0,0 ,0,0,0,0;
0 ,0,0,0 ,-1.15,0,0,0 ,0 ,0,0,-1.06,1,0,0,1 ,0,0,0,0;
0 ,0,0,0 ,0 ,0,0,0 ,-1.15,0,0,0 ,0,0,0,-1.06,0,0,0,1];
beq = [10,0,0,0,0];
lb = zeros(1,20);
ub = [inf,inf,inf,inf,inf,inf,3,inf,inf,4,inf,inf,inf,inf,inf,inf,inf,inf,inf,inf];
[x,y] = linprog(-c,A,b,Aeq,beq,lb,ub);
x,-y
x =
3.4783
0
0
6.5217
3.9130
0
3.0000
0
0
4.0000
0
0
4.5000
0
0
0
0
0
0
0
ans =
14.3750
因此,可得出如下结果,第一年在项目A投入 \(3.4783\) 万元,在项目D投入 \(6.5217\) 万元;第二年在项目A投入 \(3.9130\) 万元,在项目C投入 \(3\) 万元;第三年在项目B投入 \(4\) 万元;第四年在项目A中投入 \(4.5\) 万元。
在第五年末,本金加利息共 \(14.3750\) 万元。