http://www.ma-xy.com
目录
第一章 超薄座椅 1
1.1 题目要求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 超薄座椅的优化设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.1 模型假设 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.2 符号说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.3 问题一的分析与求解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.4
问题二的分析与求解
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1
http://www.ma-xy.com
第一章 超薄座椅
1.1 题目要求
Problem A(MCM): The slimline seats on the airplane
An airline seat is a seat on an airliner in which passengers are accommodated for the dura-
tion of the journey. Some airlines are now introducing new slimlineseats in economy class.
These seats,in addition to weighing less, theoretically allow airlines to increase capacity without
signicantly aecting passenger comfort. These seats may or may not feature moveable head-
rests, and generally do not feature adjustable lumbar support. Slimline seats are being further
rened, liberating more passenger space. The common point of them is a thinner backplate and
less padding. However, many passengers have expressed displeasure with these seats.
Without changing the structure of the premise, how to designseat back curve, in order to
make the seat more comfortable?
How to optimize the seat backplate curve and padding, in or-der to make the seat more
comfortable, without changing the main internal structure? Please write an advertising material
with 2-3 pages for the airline, to describe your design features and advantages concisely.
1.2 超薄座椅的优化设计
1.2.1 模型假设
1. 假设人体背部曲线为以脊椎点为顶点的二次曲线;
2. 假设人体背部侧面轮廓为直线;
3. 只按照男性身高特征设计座椅。
1
http://www.ma-xy.com
1.2 超薄座椅的优化设计 第一章 超薄座椅
1.2.2 符号说明
1.2.3 问题一的分析与求解
问题的分析
问题需要我们在保证不改变结构的前提下,设计座椅靠背曲线,以使所述座椅更加舒适。
题目并没有给出飞机座椅的其它信息,因此,我们要自行查找材料。我们找到有关人体脊柱
结构的数据,对这组数据进行插值与拟合,从中找出合理的脊柱曲线,并将脊柱曲线作为座椅的
中轴线。
模型的建立与求解
(1) 脊柱模型
因为座椅设计的舒适度主要是靠人体脊椎感知的,为了设计舒适的座椅,我们筛选出人体脊
椎的相关数据,即脊椎的主要结构 (即尾骨、腰椎、胸椎、颈椎、后脑勺头肩宽,臀宽等) 的相对
距离 (距离椅背的距离),如表 (1.1) 所示。
1.1: 人体脊椎数据
x
i
0 50 200 240 290 330 400 500 550 610 670 705 790 847
y
i
10 0 7.3 h
1
10 7.9 4.6 1.5 0 9.3 h
2
7.3 4 0
这里值得注意的是,由于我们的脊椎数据并不是很完整 (这个数据不容易查找)我们不得不
想办法将其“填补”完整。查阅相关资料,我们发现人体脊椎曲线有一定的约束:合理的坐姿 (
椎曲线) 在腰椎和肩胛骨这两个点的曲率分别 1000 500。在上面的数据中,我们并没有腰
椎和肩胛骨这两点的数据,为此,我们将腰背凸起和头枕处凸起最高点到腰背直板处的距离记为
h
i
。其中:h
1
h
2
分别表示腰靠和头枕处凸起的高度,且单位均为 mm(即腰椎和肩胛骨距离椅
背的距离)
下面的问题是:求解最优的 h
1
, h
2
,使得人体脊椎曲线在腰椎和肩胛骨这两个点的曲率接近
1000 500。思考一下,每给定一个 h
1
, h
2
,我们就有一个脊椎曲线的离散点数据,我们可以根
据这个数据来求解脊椎曲线 f (插值或拟合)在求解出脊椎曲线 f 之后,我们就可以得到 f 在腰
椎和肩胛骨这两个点的曲率 R
1
, R
2
,最后,我们只要让 R
1
, R
2
接近 1000 500 即可。
设人体脊椎曲线为 f d(R
1
, 1000) 来衡量曲率 R
1
1000 之间的距离,我们可以设计模
min
f∈F
d(R
1
, 1000) + d(R
2
, 500)
上述问题是一个泛函问题,并且由于不存在约束,必然存在最优的 f
F 使得目标最小。下面
我们来考虑添加约束,设脊椎曲线的测量点为 (x
i
, y
i
)(1) 我们可以要求测量点就在脊椎曲线 f
http://www.ma-xy.com 2 http://www.ma-xy.com
http://www.ma-xy.com
第一章 超薄座椅 1.2 超薄座椅的优化设计
上,换句话说,f 必过 x
i
, y
i
,于是我们可以设计模型
min
f∈F
d(R
1
, 1000) + d(R
2
, 500)
s.t. (x
i
, y
i
) f
其中: 表示点在函数曲线上。既然说 f 必过测量点 (x
i
, y
i
),我们可以对测量点 (x
i
, y
i
) 进行
插值 (如下面的分段三次样条插值)插值后得到的插值曲线 F (x) 必过测量点 (x
i
, y
i
)对于一种
固定的插值方法,原始的泛函问题变为参数问题
min
h
1
,h
2
d(R
1
, 1000) + d(R
2
, 500)
s.t. f由测量点按固定插值方法形成
上面 f 必过 (x
i
, y
i
),这的。其候,只需 f
/靠近测量点即可。(2) 我们约束 f 在一定程度上接近测量点 (x
i
, y
i
),于是我们可以设计模型
min
f∈F
d(R
1
, 1000) + d(R
2
, 500)
s.t. (x
i
, y
i
) close
D
f
其中:close
D
表示点和函数曲线以距离测度 D 接近。对于测量点 (x
i
, y
i
) f 以距离测度 D
近,我们可以对测量点 (x
i
, y
i
) 进行某种拟 (比如线性回归和后面采用的多项式拟合/回归)
回归后得到的函数 F (x) f 以距离测度 D 近。对于某一种固定的拟合方法,原始的泛函问
题变为参数问题
min
h
1
,h
2
d(R
1
, 1000) + d(R
2
, 500)
s.t. f由测量点按固定回归/拟合方法形成
下面我们采用分段三次样条插值和多项式拟合来求解最优脊椎曲线 f在求解之前,我们先
给出函数 f 曲率的计算方法。函数 f(x) 在点 x 处的曲率 R(x)
R(x) =
(1 + f
(x))
3
2
|f
′′
(x)|
(2) 三次样条插值
像前面描述的那样,我们每给一个 h
1
, h
2
都会形成一组脊椎测量数据 x
i
, y
i
我们用三次样
条插值来对这组数据进行插值,设插值后的插值函数为 C(x)。我们求最优的 h
1
, h
2
,使得 C(x)
在腰和肩骨这个点曲率别为 1000 500。我使用 GA 法来解这优化题,
objfunction 函数是 GA 求解最优人体脊椎曲线的目标函数,具体内容如下
1 func t i on ObjV = obj f u nction (x)
2 % 线
3 % %%%%%%%%%%% %%%%%%%%%%%
4 % h1 = x(1) 17 . 5
5 % h2 = x(2) 6 .4
http://www.ma-xy.com 3 http://www.ma-xy.com
http://www.ma-xy.com
1.2 超薄座椅的优化设计 第一章 超薄座椅
6 % %
7 h1 = x(1 ) ; h2 = x( 2 ) ;
8 %
9 x = [ 0 , 5 0 ,7 5 ,11 0 ,19 0 ,21 0 ,25 0 ,33 0 ,40 0 ,50 0 ,53 0 ,550 ,610 ,670 ,705 ,750 ,847 ] ;
10 y = [ 1 4 , 10 , 5 , 4 .4 , 1 0 , 14. 5 , 1 7. 8 , h1 , 13 . 6 , 7. 2 , 4 , 5 . 2 , h2 , 8 , 1 0 , 8 . 5 , 5 . 6 ] ;
11 pp = csape (x , y , notaknot ) ;
12 point1 = 240; point2 = 570;% 1000 500
13 %
14 ind1 = sum(x<=point1 ) ; ind2 = sum(x<=point2 ) ;
15 %
16 f1 =@(x1 ) pp . c oe f s ( ind1 , 1 ) *(x1x( ind1 ) ) .^1+pp . c o ef s ( ind1 , 2 ) *(x1x ( ind1 ) ) .^2+pp . c oe f s
( ind1 , 3) *(x1x ( ind1 ) ).^3+pp . c oe fs ( ind1 , 4) ;
17 f f 1 =@( x1 ) pp . c oe f s ( ind1 , 1 ) *(x1x( ind1 ) ) .^1+pp . c o ef s ( ind1 , 2 ) *(x1x ( ind1 ) ).^2+pp . c oe f s
( ind1 , 3) *(x1x ( ind1 ) ).^3+pp . c oe fs ( ind1 , 4) ;
18 f2 =@(x2 ) pp . c oe f s ( ind2 , 1 ) *(x2x( ind2 ) ) .^1+pp . c o ef s ( ind2 , 2 ) *(x2x ( ind2 ) ) .^2+pp . c oe f s
( ind2 , 3) *(x2x ( ind2 ) ).^3+pp . c oe fs ( ind2 , 4) ;
19 f f 2 =@( x2 ) pp . c oe f s ( ind2 , 1 ) *(x2x( ind2 ) ) .^1+pp . c o ef s ( ind2 , 2 ) *(x2x ( ind2 ) ).^2+pp . c oe f s
( ind2 , 3) *(x2x ( ind2 ) ).^3+pp . c oe fs ( ind2 , 4) ;
20 syms x1 x2 %
21 y1 = f 1 ( x1 ) ; yy1 = f f 1 ( x1 ) ; y2 = f 2 ( x2 ) ; yy2 = f f 2 ( x2 ) ;%
22 g1 = matlabFunction ( d i f f ( y1 ) ) ;% matlabFunction
23 gg1 = matlabFunction ( d i f f ( yy1 ) ) ;
24 g2 = matlabFunction ( d i f f ( y2 ) ) ;
25 gg2 = matlabFunction ( d i f f ( yy2 ) ) ;
26 R1 = ((1+g1 ( point1 ) ^2) ^(3/2) ) /abs ( gg1 ( point1 ) ) ;
27 R2 = ((1+g2 ( point2 ) ^2) ^(3/2) ) /abs ( gg2 ( point2 ) ) ;
28 ObjV = (R11000)^2+(R2 500) ^ 2 ;
29
GA 求解程序如下
1 % 线 1000 500
2 clc , c le ar
3 lbx =5; ubx=20; % x( )
4 lby =5; uby=15; % y( )
5 fun = @(x) o b jfunct i o n (x ) ;
6 A = [ ] ; b = [ ] ;
7 Aeq = [ ] ; beq = [ ] ;
8 l b = [ lbx , lby ] ;
9 ub = [ ubx , uby ] ;
10 nonlcon = [ ] ;
11 nvars = 2;
12 o p t i o n s = gaoptimset ( Popu lationSize ,100 , Cros soverFraction , 0 .7 5 , Generations , 2 0 ,
StallGenLimit , 4 0 , PlotFcns ,{ @gaplotbestf , @gaplotb estindiv }) ; %
13 besth = ga ( fun , nvars ,A, b , Aeq , beq , lb , ub , nonlcon , options ) ;
14
GA 进化图/迭代图如图 (1.1) 所示
http://www.ma-xy.com 4 http://www.ma-xy.com
http://www.ma-xy.com
第一章 超薄座椅 1.2 超薄座椅的优化设计
1.1: GA 进化图
求解得到的最优解 h
1
= 17.5mm, h
2
= 6.4mm。最优解插值形成的脊椎曲线如图 (1.2) 所示
1.2: 三次样条插值求解的人体脊椎曲线
可以发现,三次样条插值得到的脊椎曲线必过测量点 x
i
, y
i
,这使得脊椎曲线并不是很规则,
可换用其它插值方法进行求解。
(3) 多项式拟合
每给一个 h
1
, h
2
,都会形成一组脊椎测量数据 x
i
, y
i
,我们选用某种回归/拟合方法对这组数
据进行回归,设回归后的回归函数为 S(x)。我们求最优的 h
1
, h
2
,使得 S(x) 在腰椎和肩胛骨这
两个点的曲率分别为 1000 500
在求解 h
1
, h
2
之前,我们先来确定用什么回归/拟合方法。这里我们选用多项式拟合方法 (
可以选取广义线性回归、傅里叶多项式)。下面我们来确定多项式的最高项阶数,即确定用几
次多项式拟合。对人体坐姿数据进行不同的多项式拟合,将多项式拟合的最高次项阶数设置为从
1 7得到各个多项式拟合的拟合优度 R
2
比较这 7 个多项式的拟合效果。各个多项式对坐姿
数据的拟合效果如图 (1.3a) 所示,各个多项式的 R
2
变化如图 (1.3b) 所示。
http://www.ma-xy.com 5 http://www.ma-xy.com
http://www.ma-xy.com
1.2 超薄座椅的优化设计 第一章 超薄座椅
(a) 7 个多项式拟合坐姿数据效果图 (b) 7 个多项式拟合 f R2 变化图
从图 (1.3b) 中我们可以看到 7 次多项式对坐姿数据的拟合效果最好,拟合优度 R
2
0.9537
5 次多项式的拟合优度 R
2
变化最大。这里,我们不可过分要求 R
2
所以对坐姿数据采用 5 次多
项式拟合
S(x) = a
0
+ a
1
x + a
2
x
2
+ a
3
x
3
+ a
4
x
4
+ a
5
x
5
仍然选 GA 算法来求解最优的 h
1
, h
2
,得到的最优深度为 h
1
= 17.5mm, h
2
= 6.4mm
优拟合脊椎曲线为
f
= S(x) = 15.08 + 0.002706x
4
0.2852x
5
如图 (1.4) 所示
1.4: 人体脊椎曲线的 5 次多项式拟合
得到的脊椎曲线 (座椅曲线)f 的拟合误差如表 (1.2) 所示
http://www.ma-xy.com 6 http://www.ma-xy.com
http://www.ma-xy.com
第一章 超薄座椅 1.2 超薄座椅的优化设计
1.2: 座椅曲线 5 次多项式拟合的误差信息表
多项式系数 取值 95% 置信下限 95% 置信上限
a0 -5.232e-12 -6.831e-12 -3.632e-12
a1 1.142e-08 8.001e-09 1.485e-08
a2 -8.736e-06 -1.135e-05 -6.12e-06
a3 0.002706 0.001854 0.003559
a4 -0.2852 -0.3936 -0.1769
a5 15.08 11.04 19.13
模型信息为 SSE:41.95,R-square:0.8706,AdjustedR-square: 0.8117,RMSE: 1.953
1.2.4 问题二的分析与求解
问题的分析
问题二要求我们在不改变主内部结构的情况下,优化座椅背板曲线并保证在舒适的前提下使
得填充物尽可能的少。首先我们根据问题一的求解可以获得有关机舱座椅设计的空间坐标值,
时我们定义舒服的状态就是主要支撑点的压强 P
i
尽可能的小,在一些条件的约束下设计算法完
成压强较小情况的座椅背板最优曲线设计。
模型的建立与求解
(1) 设计超薄飞机座椅的依据
在设计座椅时,有两方面的因素是需要我们着重考虑的,因为我们的座椅是新型超薄型座椅。
设计时,考虑的第一个因素是:空间。超薄座椅应该占有更少的空间,也就是说,座椅本身的体
V 要小,座椅的填充物要少,这样可以给乘客提供更多的活动空间;考虑的第二个因素是:
适度。超薄座椅应该给旅客提供舒适的旅途服务。想象这样两种情况:¬当你的后背完全被座椅包
你的后背停靠在一张木板上。毫无疑问的是¬种情况会给人更好的舒适感,这是因为在
体的重量 G 一定的条件下,背部和座椅的接触面积越大,人体给脊椎带来的压强 P 越小。以坐
垫宽为 x 轴,坐垫长度为 y 轴,椅背高为 z 轴建立空间直角坐标系。绘制一张简单的人体脊椎
受力图,如图 (1.5) 所示:设座椅的最优倾斜角度为 α
best
(0
< α
best
< 30
),人体上半部分
重量为 G2,对脊椎进行受力分析。
http://www.ma-xy.com 7 http://www.ma-xy.com
http://www.ma-xy.com
1.2 超薄座椅的优化设计 第一章 超薄座椅
1.5: 人体背部脊椎压力侧视图
在情况的条件下,是整个脊椎承担 sin α
best
G/2在情况¬的条件下,是整个背部承担 sin α
best
G/2
情况¬给我们提供更多的舒适感。然而,情况¬需要我们付出更多的座椅填充物,这与我们设
的超薄座椅理念不符。因此,我们有必要研究一下座椅包裹多少使得座椅既舒适又超薄?绘制一
个简易的座椅包裹人体的示意图,如图 (1.6) 所示:考虑一个一般的情况,脊椎和座椅的接触点
为原点 O座椅宽度为 W 人体躯干宽度为 W
max
人体背部厚度为 d
max
背部曲线为 f(不妨
将其设为二次曲线 y = ax
2
)
1.6: 座椅包裹人体的俯视图
当我们的包裹深度为 d 时,所需要的填充物体积为 2SH(H 为高度微元)背部和座椅的
接触面积为 2lH(H 为高度微元)
很显然,我们的目标是求解包裹深度 dd 应该满足单层目标
min S =
d
0
(y/a)
1
2
dy =
(d/a)
1/2
0
ax
2
dx
max l =
(d/a)
1/2
0
1 + (2ax)
2
dx
s.t. 0 d d
max
上面模型仅考虑了座椅和背部在某一特定的切面上的情况,现在将其推广到空间上。以坐垫
宽为 x 轴,坐垫长度为 y 轴,椅背高 z 轴建立空间直角坐标系,绘制座椅和背部接触包裹的
立体图,如图 (1.7) 所示:我们设定座椅的高度为 H设计的座椅包裹高度为 h(h 为人体颈椎高
http://www.ma-xy.com 8 http://www.ma-xy.com
http://www.ma-xy.com
第一章 超薄座椅 1.2 超薄座椅的优化设计
度,h = 640mm),包裹深度 d 离散化为 {d
i
}
n
(n 为样本点数目),实际上包裹深度曲线 d
f
是光
滑的,可以设置整体目标为
min S =
h
0
S
i
dz =
n
i=1
S
i
(1.1)
max l =
h
0
l
i
dz =
n
i=1
l
i
(1.2)
s.t.
0 d
i
d
i
max
i = 1, 2, . . . , n
最终,问题转化为求解一组关于 d
i
的集合即 {d
i
}{d
i
} 使得目标函 (1.1) 同时达到比较
好的情况。
1.7: 座椅和背部接触包裹的立体图
(2) 超薄座椅包裹深度的优化求解
上述包裹深度的求解问题是一个多目标优化问题。它需要求解一系列的包裹深 {d
i
} 或包
裹深度曲线 d
f
在实际问题的应用求解过程中,我们可以根据每家航空公司的偏好设置模型 (1.1)
目标 1 和目标 2 权重,进而求解出优良的 {d
i
}
如果希望使顾客有更大的活动空间,需要超薄座椅占据尽可能小的空间,我们可以增加模型
(1.1) 目标函数 1 的权重。如果希望顾客有更舒适的旅途环境,更好的休息条件,我们可以增
目标函数 2 的权重。同时目标函数 1 2 的权重之和应该为 1
现在,我们给出包裹深度问题的一种求解方法:由于各层的包裹深度曲线 d
f
是光滑的,而
且变动幅度很小,这里我们不妨将包裹深度曲线假设为 5 次多项式函数 (当然,我们也可以假设
为傅里叶多项式,这里不做介绍)
d
f
= a
0
+ a
1
z + a
2
z
2
+ a
3
z
3
+ a
4
z
4
+ a
5
z
5
http://www.ma-xy.com 9 http://www.ma-xy.com
http://www.ma-xy.com
1.2 超薄座椅的优化设计 第一章 超薄座椅
1.8: 人体背部特殊部位
然后选取人体背部 n 个特殊部分如图 (1.8) 所示,求解其对应的 {d
i
}
n
,并对 {d
i
}
n
利用多
项式拟合,也可以进行三次样条插值或者 B 样条插值,使得 {d
i
} 更加光滑。选取的人体背部 n
个特殊部位的数据如表 (1.3) 所示
1.3: 人体背部 n 个特殊部位宽度和厚度数据
坐板 臀部 腰部 胸部 肩部
z 0 150 240 570 640
x 140 160 140 180 210
y 30 65 30 76 70
注:x 1/2 w
m
axy 1/2 d
m
ax
对如表 (1.3) 中的数据进行等间距采样后的 n 个特殊部位的数据如表 (1.4) 所示,这里假设
人体背部侧轮廓曲线为直线。
1.4: 等间距采样后的 n 个特殊部位宽度和厚度数据
z 1.00 50.00 100.00 150.00 200.00 240.00 300.00
x 背宽 140.00 146.58 153.29 160.00 148.99 140.00 147.17
y 体厚 30.00 41.51 53.26 65.00 45.73 30.00 38.25
z 350.00 400.00 450.00 500.00 570.00 600.00 640.00
x 背宽 153.25 159.33 165.41 171.49 180.00 192.61 210.00
y 体厚 45.24 52.23 59.22 66.21 76.00 73.48 70.00
注:z 为座椅高度;d 为最优包裹深度。
在采集样本的过程中,假设人体背部的侧轮廓线为一次曲线,我们可以通过采样获取更多的
样本点,这对插值和曲线拟合均有很大帮助。
运用 IENSGAXXXV1 求解 {d
i
}
n
IENSGAXXXV1 的参数设置为: ’ParetoFraction’0.3
’PopulationSize’100 Generation’200’StallGenLimit’200’TolFun’1e-100设置变量
的取值范围:0 d d
i
max
利用表 (1.3) 的数据得到的 pareto 最优进化图如图 (1.9a) 所示;
(1.4) 等间距采样后的数据下求得的 pareto 最优进化图为图 (1.9b)
http://www.ma-xy.com 10 http://www.ma-xy.com
http://www.ma-xy.com
第一章 超薄座椅 1.2 超薄座椅的优化设计
(a) (1.3) pareto 最优进化图 (b) (1.4) pareto 最优进化图
Pareto 最优解中选择一个适当的个体 (),在选择时,考虑到我们是设计超薄座椅,当
我们选择利用目标函数 1 获取较小解时,选取图 (1.9b) 10 个解如表 (1.5) 所示,解对应的目
标函数 1 取值结果:4225(体积)。相应的若选取目标函数 2 获取较小解时,目标函 2 取值结
果:-1229(舒适度)
1.5: IENSGA2 某次求解的结果的 10 个解
z 1.00 50.00 100.00 150.00 200.00 240.00 300.00
d 8.51 11.38 19.42 30.84 6.03 12.44 12.67
z 350.00 400.00 450.00 500.00 570.00 600.00 640.00
d 13.88 8.51 14.89 20.36 13.30 3.62 12.38
注:z 为座椅高度;d 为最优包裹深度。
中,
{d
i
}
n
后,我 5 使线滑, 5
项式为
d
f
= 5.481 0.0348z
4
+ 0.3939z
5
拟合结果如图 (1.10) 所示
http://www.ma-xy.com 11 http://www.ma-xy.com
http://www.ma-xy.com
1.2 超薄座椅的优化设计 第一章 超薄座椅
1.10: 最佳包裹深度的插值和 5 次多项式拟合结果
(3) 超薄座椅的 3D 设计方案
在进行座椅的 3D 设计时,我们需要根据乘客的坐姿 (脊椎) 数据、座椅的最优曲线 f 座椅
包裹背部的最优深度 d
f
为参考进行设计。设计 3D 座椅时,考虑到乘客的头部需要很大的活动
空间,不可以将其过分固定,所以我们不对头部进行包裹,因此,设计的座椅的做大背部包裹为
640mm。下面给出座椅贴近背部的曲面 3D 示意图,如图 (1.11) 所示
1.11: 座椅与人体背部贴近曲面的 3D 示意图
在我们设计座椅包裹背部的 3D 曲面时,我们对座椅曲线 f 进行 3 次样条插值,并结合了 5
次多项式拟合的结果,选取背部特殊部位,计算包裹深度,选取比较恰当的 pareto ( 10
http://www.ma-xy.com 12 http://www.ma-xy.com
http://www.ma-xy.com
第一章 超薄座椅 1.2 超薄座椅的优化设计
),然后对包裹深度 d 进行 5 次多项式拟合。
pareto 解的选取/目标偏好对包裹深度 d
f
的敏感性分析
3 在求解座椅和背部的包裹曲线 d
f
的时候,我们在人体背部选取了 n 个特殊部位,然后再
得到的 pareto 最优解中依据目标偏好选取了某一个 {d
i
}
n
对其进行拟合,现在,我们有必要
研究不同的 pareto 最优解 {d
i
}
n
5 次多项式拟合 d
f
的效果,以及特殊点的数目 n(样本量)
拟合 d
f
的影响。
选取某一次求解的 pareto 最优解中的所有的解,对它们进行 5 次多项式拟合,拟合效果如
(1.12) 所示,从图中我们可以看出:如果我们希望给旅客提供尽可能大的活动空间 (目标 1
偏好严重),座椅对人体背部的包裹深度 d
f
几乎处处为 0(如图 (1.12) 最下面的曲线);如果我们
希望给旅客提供最舒服的旅程 (目标 2 的偏好严重)座椅会对人体提供最大的包裹深度 d
f
(如图
(1.12) 最上面的曲线)。从整体来看,{d
f
} 在人体背部的尾部变化较小,肩部变化较大,这是因
为肩部有更大的体积变化幅度。
1.12: Pareto 最优解的 5 次多项式拟合 {d
f
}(n = 15)
接下来,我们研究特殊点的数目 n(样本量) 对拟合 d
f
的影响。选取人体背部的 5 15
特殊部位 (n = 5&15),分别研究他们 pareto 最优解的 5 次多项式拟合,n = 5 时的拟合结果
如图 (1.13) 示,n = 15 的拟合果如 (1.12) 示。比较这两图的差别,们可以看到:
n = 5 样本点少的时候,pareto 最优解的 5 次多项式拟合 {d
f
} 的变动幅度更大,也就是说,当
我们的 n 足够大时,{d
f
} 将接近真实的 d
best
f
http://www.ma-xy.com 13 http://www.ma-xy.com
http://www.ma-xy.com
1.2 超薄座椅的优化设计 第一章 超薄座椅
1.13: Pareto 最优解的 5 次多项式拟合 {d
f
}(n = 5)
程序
IENSGAXXXV1 的目标函数如下
1 func t i on Obj = obj2fun_15 (d)
2 % 线
3 % 1 . 线 线
4 % 2. 线
5 % (w) xi ( t h ick ) yi
6 index = [ 0 150 240 570 6 4 0] ; %z
7 x = [ 1 4 0 160 140 180 2 1 0 ] ; %1/2
8 y = [ 30 65 30 76 7 0 ] ; %1/2
9 % index xy
10 nnn = length ( index ) ;
11 f or i = 1 : nnn1
12 newx = [ newx , l in s pa c e ( x( i ) ,x( i +1) , index ( i +1)index ( i ) ) ] ;
13 newy = [ newy , l in s pa c e ( y( i ) ,y( i +1) , index ( i +1)index ( i ) ) ] ;
14 end
15 % 线 a=y/x^2
16 a = newy ./ (newx .^2 ) ;
17 ind_z=[1 50 100 150 200 240 300 350 400 450 500 570 600 64 0] ;
18 n = length ( ind_z ) ;
19 % S L *2
20 aa = a (ind_z ) ;
21 x = (d ./ aa ) . ^ ( 1/2) ;%d=ax^2
22 f or i =1:n
23 S( i , 1) = i n t eg ra l (@(xx )a( i ) *xx .^ 2 ,0 , x( i ) ) ;% f i 0xi ( )
24 L( i , 1) = i nt eg r a l (@( xx ) (1+(2*a ( i )*xx) .^ 2) .^( 1 /2) , 0 , x( i ) ) ;% f i
25 end
26 Obj (1) = sum( S) ;
27 Obj (2) = sum(L) ;
28
IENSGAXXXV1 的主程序如下
1 %% IENSGA2
2 % min min
http://www.ma-xy.com 14 http://www.ma-xy.com
http://www.ma-xy.com
第一章 超薄座椅 1.2 超薄座椅的优化设计
3 clc , c le ar
4 f i tn e s s f u n = @obj2fun_15 ;%
5 % d i
6 ind_z=[1 50 100 150 200 240 300 350 400 450 500 570 600 64 0] ;
7 nvars = length ( ind_z ) ;%
8 % lb , ub
9 index = [ 0 150 240 570 6 4 0] ; %z
10 x = [ 1 4 0 160 140 180 2 1 0 ] ; %1/2
11 y = [ 30 65 30 76 7 0 ] ; %1/2
12 % index xy
13 nnn = length ( index ) ;
14 f or i = 1 : nnn1
15 newx = [ newx , l in s pa c e ( x( i ) ,x( i +1) , index ( i +1)index ( i ) ) ] ;
16 newy = [ newy , l in s pa c e ( y( i ) ,y( i +1) , index ( i +1)index ( i ) ) ] ;
17 end
18 %%%%%%%%%%%%GA di %%%%%%%%%%%
19 % 1/3 2/3
20 % l b=newy ( ind_z ) / 3 ;
21 % ub=2*newy( ind_z ) / 3;
22 % 0
23 lb=zer o s ( 1 , nvars ) ;
24 ub=newy( ind_z) ;
25 %%%%%%%%%%%% %%%%%%%%%%%%%
26 A= [] ;b =[ ]; Aeq = [ ] ; beq = [ ] ;
27 o p t i o n s=gaoptimset ( ParetoFraction , 0 . 3 , . . .
28 P opulationSiz e , 1 0 0 , . . .
29 Generation , 2 0 0 , . . .
30 StallGenLimit , 2 0 0 , . . .
31 TolFun ,1 e 10 0 , . ..
32 PlotFcns , @gaplotpareto ) ;
33 [ d_index , Obj]=gamultiobj ( fi t ne ss f un , nvars ,A, b , Aeq , beq , lb , ub , o p t i o n s ) ;
34
http://www.ma-xy.com 15 http://www.ma-xy.com