(完整版)数学建模复习内容带习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
考试内容分布:
1、线性规划2题,有1题需编程;
2、非线性规划2题,有1题需编程;
3、微分方程1题,需编程;
4、差分方程2题,纯计算,不需编程;
5、插值2题,拟合1题,纯计算,不需编程;;
6、综合1题(4分),纯计算,不需编程。
一、列出下面线性规划问题的求解模型,并给出matlab计算环境下的程序
1.某车间有甲、已两台机床,可用于加工三种工件,假定这两台车床的可用台时数分别为800和900,三
种工件的数量分别为400,600和500,且已知用两种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。问怎样分配车床的加工任务,才能即满足加工工件的要求,又使加工费用最低。(答案见课本P35, 例1)
2.有两个煤厂A,B,每月进煤分别不少于60t、100t,它们负责供应三个居民区的用煤任务,这三个居民
区每月需用煤分别为45t, 75t, 40t。A厂离这三个居民区分别为10km, 5km, 6km,B厂离这三个居民区分别为4km, 8km, 15km,问这两煤厂如何分配供煤,才能使总运输量最小?
(1)问题分析
设A煤场向这三个居民区供煤分别为x1,x2,x3;B煤场向这三个居民区供煤分别为x4,x5,x6,则min f=10*x1+5*x2+6*x3+4*x4+8*x5+15*x6,再根据题目约束条件来进行解题。
(2) 模型的求解
>> f=[10 5 6 4 8 15];
>> A=[-1 -1 -1 0 0 0
0 0 0 -1 -1 -1
-1 0 0 -1 0 0
0 -1 0 0 -1 0
0 0 -1 0 0 -1];
>> b=[-60;-100;-45;-75;-40];
>> Aeq=[];
>> beq=[];
>> vlb=zeros(6,1);
>> vub=[];
>> [x,fval]=linprog(f,A,b,Aeq,beq,vlb,vub)
Optimization terminated.
(3) 结果分析
x =
0.0000 20.0000 40.0000 45.0000 55.0000 0.0000 fval = 960.0000
即A 煤场分别向三个居民区供煤0t,20t,40t ;B 煤场分别向三个居民区供煤45t,55t,0t 可在满足条件下使得总运输量最小。
3. 某工厂利用两种原料甲、乙生产1A ,2A ,3A 三种产品,每月可供应的原料数量(单位:t )、每万件产品
试制定每月最优生产计划,使得总收益最大。
解:设A1生成x1万件,A2生成x2万件,A3生成x3万件 那么总收入为:12*x1+5*x2+4*x3
目标:总收入最大,即:max 12*x1+5*x2+4*x3
约束条件:
1.甲原材料:4*x1+3*x2+x3<=180
2.乙原材料:2*x1+6*x2+3*x3<=200
3.物理条件:x1>=0,x2>=0,x3>=0
在Matlab 中输入: f=-[12;5;4]; A=[4,3,1;2,6,3]; b=[180;200]; Aeq=[]; beq=[];
xmin=[0,0,0];
xmax=[inf,inf,inf]; x0=xmin;
[x,fmin]=linprog(f,A,b,Aeq,beq,xmin,xmax,x0);
x,-fmin
结果为:
x =
34.0000
0.0000
44.0000
ans =
584.0000
即当生产34万件的A1和44万件的A3。总收入达到最大,为584万。
最少需雇佣多少护士?试根据你了解的实际情况建立一个较好的数学模型及相应的算法和程序。
解:一、问题假设
1、每名值班护士都正常工作,没有请假现象。
2、该医院不存在大的人员变动。
3、每名护士都可以连续工作八小时。
二、问题分析
分析该问题,可以得出该问题是一个线性规划问题,求解需雇佣的最少护士人数,所以应该,建立目标函数以及对应的约束条件。根据每班的人数列出目标函数,根据六个时间段所需要的最少护士数建立六个约束条件。
三、符号说明
四、模型建立
根据题意判断出该问题属于求解最优化问题,需要确定目标函数和约束条件,具体模型如下:
⎪
⎪⎪⎪⎩
⎪⎪⎪⎪⎨⎧⋅⋅⋅=≥≥+≥+≥+≥+≥+≥++++++=6,,2,1,03020
506070
60..min 655
4
433221
616
54321i x x x x x x x x x x x x x t s x x x x x x Z i 五、模型求解
利用matlab 软件,编写m 文件,求解该模型。 程序代码:
%dierti
f=[1,1,1,1,1,1] A=[-1 0 0 0 0 -1; -1 -1 0 0 0 0; 0 -1 -1 0 0 0; 0 0 -1 -1 0 0; 0 0 0 -1 -1 0; 0 0 0 0 -1 -1;]
b=[-60;-70;-60;-50;-20;-30;] lb=zeros(6,1);
[x,fval,exitflag,output,lambda]=linprog(f,A,b,[],[],lb)
计算结果:
f =
1 1 1 1 1 1 A =
-1 0 0 0 0 -1 -1 -1 0 0 0 0 0 -1 -1 0 0 0 0 0 -1 -1 0 0