资源描述
重 庆 大 学
学 生 实 验 报 告
实验课程名称 数学实验
开课实验室 DS1421
学 院 年级 专业班
学 生 姓 名 学 号
开 课 时 间 至 学年第 学期
总 成 绩
教师签名
数 学 与 统 计 学 院 制
开课学院、实验室:数学与统计学院DS1421 实验时间 : 2013 年 4月24日
课程
名称
数学实验
实验项目
名 称
线性规划
实验项目类型
验证
演示
综合
设计
其他
指导
教师
成 绩
实验目的
[1] 学习最优化技术和基本原理,了解最优化问题的分类;
[2] 掌握线性规划的建模技巧和求解方法;
[3] 学习灵敏度分析问题的思维方法;
[4] 熟悉MATLAB软件求解线性规划模型的基本命令;
[5] 通过范例学习,熟悉建立线性规划模型的基本要素和求解方法.
通过该实验的学习,使学生掌握最优化技术,认识面对什么样的实际问题,提出假设和建立优化模型,并且使学生学会使用MATLAB软件进行线性规划模型求解的基本命令,并进行灵敏度分析。解决现实生活中的最优化问题是本科生学习阶段中一门重要的课程,因此,本实验对学生的学习尤为重要。
基础实验
一、实验内容
1.最优化问题的提出,提出不同的假设可以建立不同的最优化模型;
2.建立线性规划模型的基本要素和步骤;
3.使用MATLAB命令对线性规划模型进行计算与灵敏度分析;
4.利用优化数值解与图形解对最优化特征作定性与定量分析;
应用实验(或综合实验)
一、实验内容
2. 两种面包产品的产量配比问题
田园食品公司生产的面包很出名。他们生产两种面包:一种是叫“唐师”的白面包,另一种是叫“宋赐”的大黑面包。每个唐师面包的利润是0。05元,宋赐面包是0.08元。两种面包的月生产成本是固定的4000元,不管生产多少面包。
该公司的面包生产厂分为两个部:分别是烤制和调配.
烤制部有10座大烤炉,每座烤炉的容量是每天出140台,每台可容纳10个唐师面包或5个更大的宋赐面包.可以在一台上同时放两种面包,只需注意宋赐面包所占的空间是唐师面包的两倍。
调配部每天可以调配最多8000个唐师面包和5000个宋赐面包。有两个自动调配器分别用于两种面包的调配而不至于发生冲突.
田园公司决定找出这两种面包产品的最佳产量配比,即确定两种面包的日产量,使得在公司面包厂的现有生产条件下利润最高。
解:可分别设生产 唐师面包宋赐面包,收益为y,根据题给条件列方程
决策变量:,;
目标函数:;
约束条件:
;
;
;
;
程序如下所示:
C=-[0。05,0.08]’;
A=[1,0;0,1;1,2];
B=[8000,5000,14000]';
L=[0,0]';
[x,fmin]=linprog(C,A,B,[],[],L);
Pmax=—fmin—4000/30
x1=x(1), x2=x(2)
结果如下所示:
Pmax =506。6667,x1 =8000,x2 =3.0000e+003
答:唐师面包需要8000个,宋赐面包需要3000个,可以达到日利润最大为506。6667元。
5. 投资策略
某部门现有资金10万元,五年内有以下投资项目可供选择:
项目A:从第一年到第四年每年初投资,次年末收回本金且获利15%;
项目B:第三年初投资,第五年末收回本金且获利25%,最大投资额为4万元;
项目C:第二年初投资,第五年末收回本金且获利40%,最大投资额为3万元;
项目D:每年初投资,年末收回本金且获利6%;
问如何确定投资策略使第五年末本息总额达最大?
解:
设对项目A的投资每年分别为,,,
第三年对项目B的投资为,第二年对项目C的投资为
每年对项目D的投资分别为 ,, , ,
设,,,,为不同年份;
第五年末本息总额为z
决策变量:,,,,,,,,,,
约束条件:
≤4;
≤3;
: +≤10;
: ++-0.06+≤10;
:—0.15++++—0。06-0.06+≤10;
:—0。15—0.15++++—0。06-0.06-0.06+≤10;
:—0。15-0.15-0。15+++—0。06-0。06-0.06-0。06+≤10;
≥0 i=1,2,3…11
目标函数:
z=0.15 + 0.15+0。15+0。15+0.25+0.4+0。06+0。06+0.06+0。06+0。06
程序:
c=—[0.15, 0.15, 0。15, 0。15,0。25,0。4,0.06, 0.06, 0.06, 0。06, 0。06]’;
A=[0,0,0,0,1,0,0,0,0,0,0;
0,0,0,0,0,1,0,0,0,0,0;
1,0,0,0,0,0,1,0,0,0,0;
1,1,0,0,0,1,—0.06,1,0,0,0;
-0.15,1,1,0,1,1,-0。06,—0.06,1,0,0;
—0。15,-0。15,1,1,1,1,—0。06,—0。06, -0。06,1,0;
-0.15,—0。15,—0。15,1,1,1,—0。06,-0。06,-0。06,—0.06,1;];
b=[4,3,10,10,10,10,10]';
L=[0,0,0,0,0,0,0,0,0,0,0]';
[x,fmin]=linprog(c,A,b,[],[],L);
Pmax=-fmin+10
x1=x(1),x2=x(2),x3=x(3),x4=x(4),x5=x(5),x6=x(6),x7=x(7),x8=x(8),x9=x(9),x10=x(10),x11=x(11)
结果:
Pmax =14。3750
x1 =6.5736,x2 =0.6320,x3 =2.1291,x4 =2。2432,x5 =4。0000,x6 =3。0000,x7 =3.4264,x8 =1。3179e-12,
x9 =1.4305,x10 =2.1509e—12,x11 =2.4484
如下所示:
项目
第一年
第二年
第三年
第四年
第五年
A
6。5736
0.6320
2.1291
2。2432
0
B
0
0
4.0000
0
0
C
0
3。0000
0
0
0
D
3。4264
1.3179e—12
1。4305
2。1509e—12
2。4484
答:最大化获得本息14.3750万元,对项目A的投资每年分别为6.5736, 0.6320, 2.1291, 2.2432万元,第三年对项目B的投资为 4.0000万元,第二年对项目C的投资为3。0000万元,每年对项目D的投资分别为 3。4264 ,1。3179e—12 , 1.4305,2。1509e—12, 2.4484万元。
7.工件加工任务分配问题
某车间有三台机床甲、乙、丙,可用于加工四种工件。假定这三台机床的可用台时数分别为600、700和800,四种工件的数量分别为200、300、500和400,且已知用四种不同机床加工单位数量的不同工件所需的台时数和加工费用(如表4所示),问怎样分配机床的加工任务,才能既满足加工工件的要求,又使总加工费用最低?
表4 机床加工情况表
机床类型
单位工作所需加工台时数
单位工件的加工费用
工件1
工件2
工件3
工件4
工件1
工件2
工件3
工件4
甲
0。4
1。1
1。0
1。2
13
9
10
8
乙
0.5
1。2
1.3
1。4
11
12
8
6
丙
0。3
1
0。9
1.1
15
11
13
5
问题分析:设甲机床上生产的工件1为,工件2 为……
机床类型
工件1
工件2
工件3
工件4
甲
乙
丙
决策变量:,,,,,,,,,,,
目标函数:p=13*+9*+10*+8*+11*+12*+8*+6*+15*+11*+13*+5*;
约束条件:
s。t。
0.4*+1.1*+1。0*+1。2*≤600
0.5*+1.2*+1。3*+1.4*≤700
0.3*+1.0*+0。9*+1。1*≤800
++≥200
+++≥300
++≥500
++≥400
程序:
c=[13,9,10,8,11,12,8,6,15,11,13,5]’;
A=[ 0。4,1。1,1。0,1。2,0,0,0,0,0,0,0,0;
0,0,0,0,0.5,1。2,1.3,1.4,0,0,0,0;
0,0,0,0,0,0,0,0,0。3,1.0,0。9,1.1;
—1,0,0,0,—1,0,0,0,—1,0,0,0;
0,-1,0,0,0,-1,0,0,0,-1,0,0;
0,0,—1,0,0,0,—1,0,0,0,—1,0;
0,0,0,-1,0,0,0,-1,0,0,0,-1;];
b=[600;700;800;—200;-300;-500;—400]’;
L=[0 0 0 0 0 0 0 0 0 0 0 0 ];
[x,fmin]=linprog(c,A,b,[],[],L);
fmin
x11=x(1),x12=x(2),x13=x(3),x14=x(4),x21=x(5),x22=x(6),x23=x(7),x24=x(8),x31=x(9),x32=x(10),x33=x(11),x34=x(12)
结果:
fmin =1。0977e+004
x11 =7.8137e-008 x12 =300.0000 x13 =38.4615 x14 =1。3692e—006
x21 =200.0000 x22=9.5498e—007 x23 =461.5385 x24 =2.1928e-006
x31 =1.0912e-006 x32 =2.0724e-006 x33 =1。7586e—006 x34 =400.0000
答:甲加工件2 300个,工件3 39个,乙机床加工工件1 200个,工件3 461个,丙机床加工工件4 400个。最低加工费用为10978元。
8. 下料问题
某钢管零售商从钢管厂进货,将钢管按照顾客的要求切割后售出,从钢管厂进货时得到的原料钢管都是24m,现有一客户需要50根9m、40根7m和15根5m的钢管。应如何下料最节省,应购进多少原料钢管,建立其数学模型,并求解。
问题(1)分析与模型建立
首先分析1根24m的钢管切割为9m、7m、5m的钢管的模式,所有模式相当于求解不等式方程:
9+7+5〈24
的整数解。但要求剩余材料R=24- 9+7+5≤5
容易得到所有模式见表1。
表1 钢管切割模式
模式
9m
7m
5m
余料(m)
1
2
0
1
1
2
1
2
0
1
3
1
0
3
0
4
1
1
1
3
5
0
1
3
2
6
0
2
2
0
7
0
3
0
3
8
0
0
4
4
决策变量: 用表示按照第i种模式(i=1,2,…,7)切割的原料钢管的根数.以切割原料钢管的总根数最少为目标,则有
目标函数: Min z=+++++++
约束条件: 为满足客户的需求,9米长的钢管至少50根,有
2+++≥50
7米长的钢管至少40根,有
2+++2+3≥40
5米长的钢管至少15根,有
+3++3+2+4≥15
因此模型为:
Min z=+++++++
2+++≥50
2+++2+3≥40
+3++3+2+4≥15
取整数 i=1,2,3,4,5,6,7,8
程序:
model:
sets:
model/1。.8/:x;
endsets
min=x(1)+x(2)+x(3)+x(4)+x(5)+x(6)+x(7)+x(8);
2*x(1)+x(2)+x(3)+x(4)〉=50;
2*x(2)+x(4)+x(5)+2*x(6)+3*x(7)〉=40;
x(1)+3*x(3)+x(4)+3*x(5)+2*x(6)+4*x(8)〉=15;
@for(model(i):@gin(x(i)));
end
解得:
=15,=20,,,,,,=0
目标值z=35
即15根钢管采用切割模式1:2根9m,1根5m,余料1m。
15根钢管采用切割模式2:1根9m,2根7m,余料1m。
切割模式只采用了2种,余料为35m,使用钢管35根.
总结与体会
1. 通过这次试验,我基本掌握了运用MATLAB解决现实生活中问题的思想。学会了怎么样运用函数linprog解线优化问题。
2. 掌握了线性规划的建模技巧和求解方法,学习到最优化技术和基本原理,了解了最优化问题的分类。
3. 通过这次试验认识到自身的不足,就是如何将现实生活中的问题转换成数学模型还不熟悉,方程运用不够熟练,要多加练习。
教师签名
年 月 日
展开阅读全文