数学建模精品文档.docx
- 文档编号:3401716
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:33
- 大小:90.33KB
数学建模精品文档.docx
《数学建模精品文档.docx》由会员分享,可在线阅读,更多相关《数学建模精品文档.docx(33页珍藏版)》请在冰豆网上搜索。
数学建模精品文档
货机装运模型
问题重述:
一架货机有三个货舱:
前舱、中舱和后舱。
三个货舱所能装载的货物的最大重量和体积有限制如下表所示。
并且为了飞机的平衡,三个货舱共装载的货物重量必须与其最大
的容许量成比例。
前舱
中舱
后舱
重量限制(吨)
10
16
8
体积限制(立方米)
6800
8700
5300
现有四类货物共该货机本次飞行装运,货物的规格以及装运后获得的利润如下表
重量(吨)
空间(立方米/吨)
利润(元/吨)
货物1
18
480
3100
货物2
15
650
3800
货物3
23
580
3500
货物4
12
390
2850
应如何安排装运,使得货机本次飞行获利最大?
模型假设:
(1)每种货物可以无限细分;
(2)每种货物可以分布在一个或者多个货舱内;
(3)不同的货物可以放在同一个货舱内,并且可以保证不留空隙。
模型建立:
决策变量:
每种货物放在每个货舱内的重量。
用xij表示第i种货物放在第j个货舱内的重量,
i=1,2,3,4分别表示货物1,货物2,货物3和货物4。
j=1,2,3分别表示前舱、中舱和后
舱。
前舱(10吨)
中舱(16吨)
后舱(8吨)
(6800立方米)
(8700立方米)
(5300立方米)
x11,x21,x31,
x41
x12,x22,x32,
x42
x13,x23,x33,
x43
货物1
货物2
货物3
货物4
x11+x12+x13
x21+x22+x23
x31+x32+x33x41+x42+x43
决策目标:
总利润的最大化,目标函数为
3100(x11+x12+x13)+3800(x21+x22+x23)+3500(x31+x32+x33)+2850(x41+x42+x43)
约束条件:
(1)供装载的四种货物的总重量约束,
⎪
⎧x11+x12+x13≤18
⎪x21+x22+x23≤15
⎨
⎪x31+x32+x33≤23
x41+x42+x43≤12
(2)三个货舱的空间限制
⎧480x11+650x21+580x31+390x41≤6800
⎪
⎪
⎨480x12+650x22+580x32+390x42≤8700
⎩480x13+650x23+580x33+390x43≤5300
(3)三个货舱的重量限制
⎧x11+x21+x31+x41≤10
⎪
⎪
⎨x12+x22+x32+x42≤16
⎩x13+x23+x33+x43≤8
(4)三个货舱装入重量的平衡约束
x11+x21+x31+x41
=x12+x22+x32+x42=x13+x23+x33+x43
10168
模型求解:
使用计算软件求解(在MATLAB中,可以使用linprog命令求解)求解结果为:
(x1;x2;x3;x4)=(0,0,0;10,0,5;0,12.947,3,;0,3.053,0)
MATLAB实现线性规划的运算
为了避免这种形式多样性带来的不便,Matlab中规定线性规划的标准形式为
min
cTx
suchthat
Ax≤b
Aeq⋅x=beq
lb≤x≤ub
其中c和x为n维列向量,A、Aeq为适当维数的矩阵,b、beq为适当维数的列向量。
例如线性规划
的Matlab标准型为
maxcTxx
suchthat
Ax≥b
min
x
−cTx
suchthat
−Ax≤−b
基本函数形式为linprog(c,A,b),它的返回值是向量x的值。
还有其它的一些函数调用形式(在
Matlab指令窗运行helplinprog可以看到所有的函数调用形式),如:
[x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS)
这里fval返回目标函数的值,LB和UB分别是变量x的下界和上界,x0是x的初始值,
OPTIONS是控制参数。
注:
linprog的格式
X=linprog(f,A,b)可以求解线性规划问题minf'*xs.t.A*x<=b
X=linprog(f,A,b,Aeq,beq)可以求解线性规划问题minf'*xs.t.A*x<=b,Aeq*x=beqX=LINPROG(f,A,b,Aeq,beq,LB,UB)可以对上述问题中的变量加上范围约束LB<=X<=UB当无下限时可设为LB=-inf无上限时可以设定UB=inf
X=LINPROG(f,A,b,Aeq,beq,LB,UB,X0)给出了初始点X0
例1求解下列线性规划问题
maxz=2x1+3x2−5x3
⎧x1+x2+x3=7
⎪
⎪
⎨2x1−5x2+x3≥10
⎩x1,x2,x3≥0
解(i)编写M文件
c=[2;3;-5];
a=[-2,5,-1];b=-10;
aeq=[1,1,1];
beq=7;
x=linprog(-c,a,b,aeq,beq,zeros(3,1))
value=c'*x
(ii)将M文件存盘,并命名为example1.m。
(iii)在Matlab指令窗运行example1即可得所求结果。
例2求解线性规划问题
minz=2x1+3x2+x3
⎧x1+4x2+2x3≥8
⎪
⎪
⎨3x1+2x2≥6
⎩x1,x2,x3≥0
解编写Matlab程序如下:
c=[2;3;1];a=[1,4,2;3,2,0];b=[8;6];
[x,y]=linprog(c,-a,-b,[],[],zeros(3,1))
可以化为线性规划的几种类型很多看起来不是线性规划的问题也可以通过变换变成线性规划的问题来解决。
如:
例3规划问题为
min
s.t.
|x1|+|x2|+L+|xn|
Ax≤b
n
其中x=[x1.............L
x]T,A和b为相应维数的矩阵和向量。
注意到对任意的xi,存在ui,vi>0满足
xi=ui−vi,|xi|=ui+vi
xi+|xi|
|xi|−xi
事实上,我们只要取ui
=,vi
2
=就可以满足上面的条件。
2
这样,记u=[u1
1
Lun
]T,v=[v
Lvn
]T,从而我们可以把上面的问题变成
min
n
∑(ui+vi)
i=1
s.t.
⎧A(u−v)≤b
⎨
⎩u,v≥0
例4min{max
xi−yi}。
xiyi
对于这个问题,如果我们取z=max
yi
xi−yi,这样,上面的问题就变换成
minz
s.t.
x1−y1≤z,L,xn−yn≤z
此即我们通常的线性规划问题。
和例4相类似的形式,如max{max
axi+byi},max{min
axi+byi}也可以用同样的
方法处理。
xiyi
xiyi
问题重述:
模型二飞行管理问题(1995A)
在约10,000米高空的某边长160公里的正方形区域内,经常有若干架飞机作水平飞行。
区域内每架飞机的位置和速度向量均由计算机记录其数据,以便进行飞行管理。
当一架欲进入该区域的飞机到达区域边缘时,记录其数据后,要立即计算并判断是否会与区域内的其它飞机发生相撞。
如果发生相撞,则应计算如何调整各架(包括新进入的)飞机的飞行方向角,以避免碰撞。
现假设条件如下:
1.不相撞的标准为任意两架飞机的距离大于8公里;
2.飞机飞行方向角调整的幅度不应超过30度;
3.所有飞机的飞行速度均为每小时800公里;
4.进入该区域的飞机在到达区域边缘时,与区域内飞机的距离应在60公里以上;
5.最多需考虑6架飞机;
6.不必考虑飞机离开此区域后的情况。
请你对这个避免碰撞的飞行管理问题建立数学模型,列出计算步骤,对以下数据进行
计算(方向角误差不超过0.01度),要求飞机飞行方向角调整的幅度尽量小。
设该区域4个顶点的坐标为(0,0),(160,0),(160,160),(0,160)。
记录数据为:
飞机编号
横坐标
纵坐标
方向角(度)
1
150
140
243
2
85
85
236
3
150
155
220.5
4
145
50
159
5
130
150
230
新进入
0
0
52
注:
方向角指飞行方向与x轴正向的夹角。
问题分析:
该问题是一个在一定约束条件下的最优化问题,优化的目标是所有飞机调整的角度之和最小,约束条件是不相撞以及飞机的调整幅度限制。
由于不需要考虑飞机飞出区域后的情况,我们考虑的范围可以局限在该区域内不相撞。
模型假设:
(1)飞机进入区域边缘时,立即作出计算,每架飞机按照计算后的指示立即作方向角改变;
(2)每架飞机在整个过程中至多改变一次方向;
(3)忽略飞机转向的影响(转弯半径和转弯时间的影响),即飞机在接到指令后可以在瞬间调整好自己的方向;
(4)新飞机进入空域时,已在空域内部飞行的飞机的飞行方向已调合适,不会碰撞;
(5)相同的调整量对每架飞机影响程度一样的。
模型记号说明:
(xi(t),yi(t))—t时刻第i架飞机的位置坐标
Ti—第i架飞机飞出正方形区域边界所需时间
v—为飞机的速度
ii
θ0,θ—第i架飞机的初始方向角和调整后的方向角
iii
Δθ—第i架飞机调整的角度,θ=θ0
+Δθi,i=1,2,L,n
模型建立:
目标函数:
本问题要求所有飞机的调整角度最小,该目标可以有下面几种方式描述:
(a)min
∑|Δθi|;(b)min
i
∑(Δθi)
2
i
;(c)min
max|Δθi|
不管是哪个目标函数,都是非线性寒暑,因此此问题是一个非线性规划问题。
约束条件的处理
(a)不相撞的条件:
(x(t)−x
(t))2+(y(t)−y
(t))2>64,1≤i≤n−1,i+1≤
j≤n,0≤t≤min{T,T}
ijijij
其中n为飞机的总架数。
这里
xi(t)=xi(0)+vtcosθi,yi(t)=yi(0)+vtsinθi,i=1,2,L,n;
注:
对于该条件的处理,由于条件中涉及到时间t,因此属于函数的限制问题。
该条件可以化简为没有时间的形式:
[max
(xi(t)−xj
(t))2+(y(t)−y
(t))2]>64
t∈[0,min(Ti,Tj
j
)]。
(b)调整角度要求:
模型求解:
ii
θ=θ0
π
i
+Δθi,|Δθi|≤
6
,i=1,2,L,n。
利用非线性规划的求解方法,可以求出此问题的解。
对于非线性规划问题的解法,最优化理论中专门有研究,现在比较常见的方法有:
0.618法,插值法,切线法,二分法,最速下降法,共轭梯度法,牛顿法,变尺度法,惩罚函数法等。
甚至有些问题可以将非线性规划问题转化为线性规划问题。
在实践中要求大家掌握实用MATLAB程序计算最优解。
非线性规划知识介绍:
在一组等式或不等式的约束下,求一个函数的最大值(或最小值)问题,其中至少有一个非线性函数,这类问题称之为非线性规划问题。
可概括为一般形式
min
f(x)
s.t.
hj(x)≤0,
j=1,L,q
(NP)
gi(x)=0,
i=1,L,p
n
i
其中x=[x1L
x]T称为模型(NP)的决策变量,f称为目标函数,g
(i=1,L,p)和
hj(j=1,L,q)称为约束函数。
另外,gi(x)=0
(j=1,L,q)称为不等式的约束。
(i=1,L,p)称为等式约束,hj(x)≤0
对于一个实际问题,在把它归结成非线性规划问题时,一般要注意如下几点:
(i)确定供选方案:
首先要收集同问题有关的资料和数据,在全面熟悉问题的基础上,确认什么是问题的可供选择的方案,并用一组变量来表示它们。
(ii)提出追求目标:
经过资料分析,根据实际需要和可能,提出要追求极小化或极大化的目标。
并且,运用各种科学和技术原理,把它表示成数学关系式。
(iii)给出价值标准:
在提出要追求的目标之后,要确立所考虑目标的“好”或“坏”的价值标准,并用某种数量形式来描述它。
(iv)寻求限制条件:
由于所追求的目标一般都要在一定的条件下取得极小化或极大化效果,因此还需要寻找出问题的所有限制条件,这些条件通常用变量之间的一些不等式或等式来表示。
注:
非线性规划的Matlab解法
Matlab中非线性规划的数学模型写成以下形式
min
f(x)
⎪
⎧Ax≤B
⎪Aeq⋅x=Beq
⎨,
⎪C(x)≤0
⎪⎩Ceq(x)=0
其中f(x)是标量函数,A,B,Aeq,Beq是相应维数的矩阵和向量,C(x),Ceq(x)是非线性
向量函数。
Matlab中的命令是X=FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS)
它的返回值是向量x,其中FUN是用M文件定义的函数f(x);X0是x的初始值;
A,B,Aeq,Beq定义了线性约束A*X
≤B,Aeq*X
=Beq,如果没有等式约束,则
A=[],B=[],Aeq=[],Beq=[];LB和UB是变量x的下界和上界,如果上界和下界没有约束,则LB=[],UB=[],如果x无下界,则LB=-inf,如果x无上界,则UB=inf;NONLCON是用M文件定义的非线性向量函数C(x),Ceq(x);OPTIONS定义了优化参数,可以使用Matlab缺省的参数设置。
例5求下列非线性规划
⎧minf(x)=x2+x2+8
12
x
2
⎪1−x2≥0
⎨
2
⎪−x1
⎪
⎪
−x2+2=0
⎩x1,x2≥0.
(i)编写M文件fun1.m
functionf=fun1(x);
f=x
(1)^2+x
(2)^2+8;
和M文件fun2.m
function[g,h]=fun2(x);
g=-x
(1)^2+x
(2);
h=-x
(1)-x
(2)^2+2;%等式约束
(ii)在Matlab的命令窗口依次输入
options=optimset('largescale','off');[x,y]=fmincon('fun1',rand(2,1),[],[],[],[],zeros(2,1),[],...
'fun2',options)
就可以求得当x1=1,x2=1时,最小值y=10。
模型三钢管下料问题(整数规划模型)
某钢管零售商从钢管厂进货,将钢管按照顾客的要求切割后售出。
从钢管厂进货时得到的原料钢管都是19米长。
现有一客户需要50根4米长、20根6米长和15根8米长的钢管。
应如
何下料最节省?
问题分析首先,应当确定哪些切割模式是可行的。
所谓一个切割模式,是指按照客户需要在原料
钢管上安排切割的一种组合。
例如,我们可以将19米长的钢管切割成3根4米长的钢管,余料为7米;或者将19米长的钢管切割成4米、6米和8米长的钢管各1根,余料为1米。
显然,可行的切割模式是很多的。
其次,应当确定哪些切割模式是合理的。
通常假设一个合理的切割模式的余料不应该大
于或等于客户需要的钢管的最小尺寸。
例如,将19米长的钢管切割成3根4米的钢管是可行的,但余料为7米,可以进一步将7米的余料切割成4米钢管(余料为3米),或者将7米的余料切割成6米钢管(余料为1米)。
在这种合理性假设下,切割模式一共有7种,如表1所示。
表1钢管下料的合理切割模式
4米钢管根数6米钢管根数8米钢管根数余料(米)
模式1
4003=19-16
模式2
3101=19-12-6
模式3
2013=19-8-8
模式4
1203=19-4-12
模式5
1111=19-4-6-8
模式6
0301=19-18
模式7
0023=19-16
问题化为在满足客户需要的条件下,按照哪些种合理的模式,切割多少根原料钢管,
最为节省。
而所谓节省,可以有两种标准,一是切割后剩余的总余料量最小,二是切割原料钢管的总根数最少。
模型建立:
决策变量:
xi,i=1,2,L,7(七种模式切割的原料钢管的根数,为非负正整数)
决策目标:
模型1:
使得切割后剩余的总料量最小
min
3x1+x2+3x3+3x4+x5+x6+3x7
模型2:
切割原料钢管的总根数最少
min
x1+x2+x3+x4+x5+x6+x7
约束条件:
(满足顾客要求)
4x1+3x2+2x3+x4+x5≥50
x2+2x4+x5+3x6≥20
x3+x5+2x7≥15
模型求解:
对于整数规划(主要是整数线性规划)问题,主要是采用分支定界法求解。
即通过无
整数约束下的线性规划的解得到整数约束下的解(认为整数规划的解应当在无整数规划的解的附近得到),在MATLAB中可以使用相应的程序计算。
对于模型1,计算得最优解为(0,12,0,0,15,0,0),按照模式2切割12根,按照模式5
切割15根,总余料量为27米。
对于模型2,计算得最优解为(0,15,0,0,5,0,5),按照模式2切割15根,按照模式5切割5根,按照模式7切割5根,共25根,总余料量为35米。
当余料没有用途时,可以按照模型2的方式确定下料方式。
钢管下料问题2:
在同样的问题背景下,增加一种需求:
5米10根;但是要求切割模式不超过3种。
问题分析:
和上面的模型不一样的地方在于:
(1)需求量增加(这不是最主要的,如果仅有这个附加要求,可以仍像上面的方法求解);
(2)切割模式不超过3种(这是最主要的条件,因为现在无法确切知道应当适用哪三种方式)
模型建立:
(1)使用和上面的模型建立相同的方法。
首先分析可能的下料模式如下:
模式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
4米
0
0
0
0
0
0
1
1
1
1
2
2
2
3
3
4
5米
0
0
1
1
2
2
0
0
1
3
0
1
2
0
1
0
6米
0
3
1
2
0
1
1
2
0
0
0
1
0
1
0
0
8米
2
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
余料
3
1
0
2
1
3
1
3
2
0
3
0
1
1
2
3
其次建立模型,由于有切割方式不超过3种的要求,可以从上述16种下料方式中选择
3种进行建模,这样做可以象前面的模型一样求解,易理解,但是工作量实在太大,因为需
16
要将16种下料方式众人已三种组合都计算一遍,有C3
=560中,这就意味着需要计算560
个模型,最后通过比较这560个模型的结果得到最终的选择。
(2)另外办法。
不预先指定下料的方式,而是将下料的方式也设为变量,通过最优解的结果得到选择的下料方式和下料数量。
设xi为按第i种模式切割的原料钢管根数,i=1,2,3
ri1,ri2,ri3,ri4分别为第i种切割模式下,每根原料钢管生产4米、5米、6米和8米长的钢管的数量(注意,并没有指定按照哪种方式下料)
目标函数:
min
x1+x2+x3
约束条件:
(1)满足需求
r11x1+r12x2+r13x3≥50r21x1+r22x2+r23x3≥10r31x1+r32x2+r33x3≥20r41x1+r42x2+r43x3≥15
(2)余料限制(模式合理要求)
16≤4r11+5r21+6r31+8r41≤19
16≤4r12+5r22+6r32+8r42≤19
16≤4r13+5r23+6r33+8r43≤19
(3)整数约束xi,rij均为整数
模型求解:
上述问题属于非线性整数规划问题,可以使用一些数学软件求解。
对于规模比较大的问题,可以通过增加合理的条件,减少计算机搜索的区域,便于求解。
如本例中可以增加条件
26≤x1+x2+x3≤31;其中x1+x2+x3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 精品 文档