机械优化设计题目答案
1-1.简述优化设计问题数学模型的表达形式。
答:优化问题的数学模型是实际优化设计问题的数学抽象。在明确设计变量、约束条件、目标函数之后,优化设计问题就可以表示成一般数学形式。
求设计变量向量[]
1
2
T
n x x x x =
使
()min f x →且满足约束条件
()0
(1,2,
)k h x k l ==
()0
(1,2,
)j g x j m ≤=
利用可行域概念,可将数学模型的表达进一步简练。设同时满足
()0
(1,2,
)
j g x j m ≤=和
()0
(1,2,
)k h x k l ==的设计点集合为R ,即R为优化问题的可行域,则优化问题的数学模型可简练地写成
求x 使 min
()x R
f x ∈
符号“∈”表示“从属于”。
在实际优化问题中,对目标函数一般有两种要求形式:目标函数极小化
()min
f x →或目标函数极大化
()max f x →。由于求()f x 的极大化与求()f x -的极小化等价,所以今后优化问题的数学表达一律采用目标函数极小
化形式。
1-2.简述优化设计问题的基本解法。(不要抄书,要归纳) 答:求解优化问题可以用解析解法,也可以用数值的近似解法。
解析解法就是把所研究的对象用数学方程(数学模型)描述出来,然后再用数学解析方法(如微分、变分方法等)求出有化解。
但是,在很多情况下,优化设计的数学描述比较复杂,因而不便于甚至不可能用解析方法求解;另外,有时对象本身的机理无法用数学方程描述,而只能通过大量试验数据用插值或拟合方法构造一个近似函数式,再来求其优化解,并通过试验来验证;或直接以数学原理为指导,从任取一点出发通过少量试验(探索性的计算),并根据试验计算结果的比较,逐步改进而求得优化解。这种方法是属于近似的、迭代性质的数值解法。
数值解法不仅可用于求复杂函数的优化解,也可以用于处理没有数学解析表达式的优化问题。因此,它是实际问题中常用的方法,很受重视。其中具体方法较多,并且目前还在发展。但是,应当指出,对于复杂问题,由于不能把所有参数都完全考虑并表达出来,只能是一个近似的最后的数学描述。由于它本来就是一种近似,那么,采用近似性质的数值方法对它们进行解算,也就谈不到对问题的精确性有什么影响了。
不管是解析解法,还是数值解法,都分别具有针对无约束条件和有约束条件的具体方法。
可以按照对函数倒数计算的要求,把数值方法分为需要计算函数的二阶导数、一阶导数和零阶导数(即只要计算函数值而不需计算其导数)的方法。
2-1.何谓函数的梯度?梯度对优化设计有何意义?
答:二元函数f(x 1,x2)在x0点处的方向导数的表达式可以改写成下面的形式
??
??????????????=??+??=??2cos 1cos 212cos 21cos 1θθθθxo x f x f xo x f xo x f xo d f 令xo T x f x f x f x f
x f ??
????????=
????=?21]2
1[)0(并称它为函数f (x1,x2)在x0点处的梯度。
假设??
????=2cos 1cos θθd
为D 方向上的单位向量,则有d T x f xo d f
)0(?=?? 即函数f (x1,x2)在x 0点处沿某一方向d 的方向导数
xo d
f
??等于函数在该点处的梯度)0(x f ?与d 方向单位向量的内积。 梯度方向是函数值变化最快的方向,而梯度的模就是函数变化率的最大值。
梯度与切线方向d 垂直,从而推得梯度方向为等值面的法线方向。梯度)0(x f ?方向为函数变化率最大方向,也就是最速上升方向。负梯度-)0(x f ?方向为函数变化率最小方向,即最速下降方向。
2-2.求二元函数
212
2212122),(x x x x x x f +-+=在T x ]
0,0[0=处函数变化率最大的方向和数值。
解;由于函数变化率最大的方向就是梯度的方向,这里用单位向量p 表示,函数变化率最大和数值时梯度的模)
0(x f ?。
求f (x1,x 2)在x0点处的梯度方向和数值,计算如下:
()???
???-=??????+-=????
??????????=?120122214210x x x x f
x f x f
2221)0(?
?? ????+??? ????=?x f x f x f =
5
??
?
??
???????-=??????-=??=5152512)0()
0(x f x f p 2-3.试求目标函数
()2
2
21212143,x x x x x x f +-=在点X 0
=[1,0]T
处的最速下降方向,并求沿着该方向移动一个单
位长度后新点的目标函数值。 解:求目标函数的偏导数
212
21124,46x x x f x x x f +-=??-=??
则函数在X 0
=[1,0]T
处的最速下降方向是
??????-=??????-+-=??????
??????????-=-?=====462446)(0
121
2
10
12102121x x x x
x x x x x f x f X f P 这个方向上的单位向量是:
13]2,3[4)6(]4,6[T 2
2T -=+--==
P P e 新点是
???
??
???????-=+=132133101e X X 新点的目标函数值
13213
94
)(1-=
X f
2-4.何谓凸集、凸函数、凸规划?(要求配图)
一个点集(或区域),如果连接其中任意两点x 1、x2的线段都全部包含在该集合内,就称该点集为凸集,否则为非凸集。
函数f (x)为凸集定义域内的函数,若对任何的01α≤≤及凸集域内的任意两点x 1、x2,存在如下不等式:
称f (x )是定义在图集上的一个凸函数。
()()()1212
11f
x x f x x αααα+-≤+-????
对于约束优化问题
min ()s.t. ()0 (1,2,
,)
j f x g x j m ≤=
若
()j=j f x g x 、() 1,2,...,m
都是凸函数,则称此问题为凸规划。
3
-1.简述一维搜索区间消去法原理。(要配图)
答:搜索区间(a,b)确定之后,采用区间逐步缩短搜索区间,从而找到极小点的数值近似解。假设搜索区间(a ,b)内任取
两点a1,b1 ,a 1《b1,并计算函数值f (a1),f(b1)。将有下列三种可能情形; 1)f (a1)《f(b1)由于函数为单谷,所以极小点必在区间(a,b 1)内 2)f (a1)》f(b1),同理,极小点应在区间(a1,b)内 3)f (a1)=f(b 1),这是极小点应在(a1,b1)内
3-2.简述黄金分割法中0.618的来由,搜索过程及程序框图。
黄金分割法适用于
[],a b 区间上的任何单谷函数求极小值问题。对函数除要求“单谷”外不作其他要求,甚至可以不连续。
因此,这种方法的适应面相当广。黄金分割法也是建立在区间消去法原理基础上的试探方法,即在搜索区间[],a b 内适当插入
两点1α、2α,并计算其函数值。1α、2α将区间分成三段。应用函数的单谷性质,通过函数值大小的比较,删去其中一段,使搜索区间得以缩短。然后再在保留下来的区间上作同样的处置,如此迭代下去,使搜索区间无限缩小,从而得到极小点的数值近似解。
黄金分割法要求插入点1α、2α的位置相对于区间
[],a b 两端点具有对称性,即
1()b b a αλ=--
2()a b a αλ=+-
其中,
λ为待定常数。
图a
除对称要求外,黄金分割法还要求在保留下来的区间内再插入一点所形成的区间新三段,与原来区间的三段具有相同的比例分布。设原区间[],a b 长度为1,如图a 所示,保留下来的区间[]2,a α长度为,区间缩短率为λ。为了保持相同的比例分
布,新插入点
3α应在(1)λλ-位置上,1α在原区间的1λ-位置应相当于在保留区间的2λ位置。故有
21λλ-= 210λλ+-=
取方程正数解,得
51
0.618λ-=
≈
若保留下来的区间为
[]1,b α,根据插入点的对称性,也能推得同样的λ值。所谓“黄金分割”是指将一线段分成两段的方法,
使整段长与较长段的长度比值等于较长段与较短段长度的比值,即 1::(1)λλλ=-
同样算得0.618λ
≈。
可见黄金分割法能使相邻两次搜索区间都具有相同的缩短率0.618,所以黄金分割法又被称作0.618法。
图 b
黄金分割法的搜索过程是: (1) 给出初始搜索区间
[],a b 及收敛精度ε,将λ赋以0.618。
(2)
按坐标点计算公式1
()b b a αλ=--、2()a b a αλ=+-计算1α和2α,并计算其对应的函数值
1()f α,2()f α。
(3)
根据区间消去法原理缩短搜索区间。为了能用原来的坐标点计算公式,需进行区间名称的代换,并在保留区间中计算一个新的试验点及其函数值。
(4) 检查区间是否缩短到足够小和函数值收敛到足够近,如果条件不满足则返回到步骤(2)。 (5) 如果条件满足,则取最后两试验点的平均值作为极小点的数值近似解。 (6)
黄金分割法的程序框图如图b所示。 3-3.对函数ααα2)(2+=f ,当给定搜索区间55≤≤-α时,写出用黄金分割法求极小点*α的前三次搜索过程。
(要列表)
解;此时的a=-5,b=5。首先插入两点a 1和a2。可得
a1=b -)(a b -λ=-1.18 , a2=a+)(a b -λ=1.18
再计算相应插入点的函数值,得
y 1=f(a1)=-0.9676,y2=f(a2)=3.7524
因为y 2>y 1,所以消去区间[a2,b],则新的搜索区间[a ,b]的端点a=-5不变,而端点b=a 2=1.18
第一次迭代;此时插入点a1=b-)(a b -λ=-2.639,a 2=-1.181。相应插入点的函数值y1=f (a1)=1.686,y2=f(a2)=-0.967,由于y1>y2,故消去区间[a,a 1],新的搜索区间为[-2.639,1.18],如此继续迭代下去 列出前三次迭代结果
迭代序号 a a1 a 2 b Y1 比较 Y2
0 -5 -1.18 1.18 5 -0.9676 < 3.7524 1 -5 -2.639 -1.181 1.18 1.686 > -0.967 2 -2.639 -1.18 -0.279 1.18 -0.9676 < -0.48 3 -2.639 -1.737 -1.181 -0.279 -0.457 > -0.482 3-4.使用二次插值法求f (x )=sin(x )在区间[2,6]的极小点,写出计算步骤和迭代公式,给定初始点x 1=2,x 2=4,x 3=6, ε=10-4
。
1 2 3 4 x 1 2 4 4.55457 4.55457
迭代次数K= 4 ,极小点为 4.71236 ,最小值为 -1
13131x x y y c --=
,12122x x y y c --=,3
21
23x x c c c --=
)(213
131c c
x x x p -+=
收敛的条件:
ε<-2
2y y y p
4-1.简述无约束优化方法中梯度法、共轭梯度法、鲍威尔法的主要区别。
答:梯度法是以负梯度方向作为搜索方向,使函数值下降最快,相邻两个迭代点上的函数相互垂直即是相邻两个搜索方向
相互垂直。这就是说在梯度法中,迭代点向函数极小点靠近的过程,走的是曲折的路线。这一次的搜索方向与前一次的搜索过程互相垂直,形成“之”字形的锯齿现象。从直观上可以看到,在远离极小点的位置,每次迭代可使函数值有较多的下降。可是在接近极小点的位置,由于锯齿现象使每次迭代行进的距离缩短,因而收敛速度减慢。这种情况似乎与“最速下降”的名称矛盾,其实不然,这是因为梯度是函数的局部性质。从局部上看,在一点附近函数的下降是最快的,但从整体上看则走了许多弯路,因此函数的下降并不算快。
共轭梯度法是共轭方向法中的一种,因为在该方法中每一个共轭的量都是依赖于迭代点处的负梯度而构造出来的,所以称作共轭梯度法。该方法的第一个搜索方向取作负梯度方向,这就是最速下降法。其余各步的搜索方向是将负梯度偏转一个角度,也就是对负梯度进行修正。所以共轭梯度法实质上是对最速下降法进行的一种改进,故它又被称作旋转梯度法。
鲍威尔法是直接利用函数值来构造共轭方向的一种共轭方向法,这种方法是在研究其有正定矩阵G 的二次函数
1()2
T
T f x x Gx b x c =
++的极小化问题时形成的。其基本思想是在不用导数的前提下,在迭代中逐次构造G 的共轭方向。在该算法中,每一轮迭代都用连结始点和终点所产生出的搜索方向去替换原向量组中的第一个向量,而不管它的“好坏”,这是产生向量组线性相关的原因所在。因此在改进的算法中首先判断原向量组是否需要替换。如果需要替换,还要进一步判断原向量组中哪个向量最坏,然后再用新产生的向量替换这个最坏的向量,以保证逐次生成共轭方向。 4-2.如何确定无约束优化问题最速下降法的搜索方向?
答:优化设计是追求目标函数值最小,因此搜所方向d 取该点的负梯度方向-)(x f ?。使函数值在该点附近的范围下降最
快。按此规律不断走步,形成以下迭代的算法
)(1
k
x f k
k x k x
?-=+α(k=0,1,2,…)
由于最速下降法是以负梯度方向作为搜索方向,所以最速下降法有称为梯度法 为了使目标函数值沿搜索方向-)(k
x f
?能获得最大的下降值,其步长因子k
a
应取一维搜索的最佳步长。即有
)(min )(min
)(1α?=??
?????-=???????-=????
??+k x f a k
x f k x f k a k
x f k x f 根据一元函数极值的必要条件和多元复合函数求导公式得;
0)()1(=???????+?k x f T k x f 或写成01=???
? ??+k d T k d 由此可知,在最速下降法中,相邻两个迭代点上的函数梯度相互垂直。而搜索方向就是负梯度方向,因此相邻的两个搜索
方向相互垂直。这就是说在最速下降法中,迭代点向函数极小点靠近的过程。
4-3. 给定初始值x 0=[-7,11]T
,使用牛顿法求函数2212121)2()2(),(x x x x x f -+-=的极小值点和极小值。 解: 梯度函数、海赛矩阵分别为
??
????---+-=?)2(4)2(2)2(2),(2121121x x x x x x x f
(2分)
[]
????
?
?????=???
????--=?-41414121
,8444),(1
2
212f x x f (4分) 假设初始值x0=[-7,11]
T
则,11676)(0??
????-=?x f (1分)
[]
?
?
????=???-=-12)(01
201x x x f f
(2分)
则,00)(1??
????=?x f (1分)
x 1
满足极值的必要条件,海赛矩阵是正定的,所以是极小点
1)(,11*1*-=??
?
???==x x x f 。 (2分)
4-4.以二元函数),(21x x f 为例说明单形替换法的基本原理。
答:如图所示在平面上取不在同一直线上的三个点x1,x2,x3,以它们为顶点组成一单纯形。 计算各顶点函数值,设f (x1)>f (x 2)>f (x 3),这说明x 3点最好,x1点最差。
为了寻找极小点,一般来说。应向最差点的反对称方向进行搜索,即通过x1并穿过x2x3的中点x4的方向上进行搜索。在此方向上取点x5
使 x 5=x4+α
(x4-x1)
x5称作x1点相对于x4点的反射点,计算反射点的函数值f (X 5),可能出现以下几种情形; 1)f(x5)<f(x3)即反射点比最好点好要好,说明搜索方向正确,可以往前迈一步, 也就是扩张。
2)f(x 3)
5-1.简述约束优化方法的分类。(简述约束优化问题的直接解法、间接解法的原理、特点及主要方法。)
答: 直接解法通常适用于仅含不等式约束的问题,它的基本思路是在m 个不等式约束条件所确定的可行域内选择一个
初始点0
x ,然后决定可行搜索方向d ,且以适当的步长α
沿d 方向进行搜索,得到一个使目标函数值下降的可行的新点1
x ,
即完成一个迭代。再以新点为起点,重复上述搜索过程,满足收敛条件后,迭代终止。所谓可行搜索方向是指,当设计点沿该方
向作微量移动时,目标函数值将下降,且不会越出可行域。产生可行搜索方向的方法将由直接解法中的各种算法决定。
直接解法的原理简单,方法实用。其特点是:1)由于整个求解过程在可行域内进行,因此迭代计算不论何时终点,都可以获得一个比初始点好的设计点。2)若目标函数为凸函数,可行域为凸集,则可保证获得全域最优解。否则,因存在多个局部最优解,当选择的初始点不相同时,可能搜索到不同的局部最优解。为此,常在可行域内选择几个差别较大的初始点分别进行计算,以便从求得多个局部最优解中选择最好的最优解。3)要求可行域为有界的非空集,即在有界可行域内存在满足全部约束条件的点,且目标函数有定义。
直接解法有:随机方向法、复合形法、可行方向法、广义简约梯度法等。
间接解法有不同的求解策略,其中一种解法的基本思路是将约束优化问题中的约束函数进行特殊的加权处理后,和目标函数结合起来,构成一个新的目标函数,即将原约束优化问题转化成一个或一系列的无约束优化问题。再对新的目标函数进行无约束优化计算,从而间接地搜索到原约束问题的最优解。
间接解法是目前在机械优化设计中得到广泛应用的一种有效方法。其特点是:1)由于无约束优化方法的研究日趋成熟,已经研究出不少有效的无约束最优化方法和程序,使得间接解法有了可靠的基础。目前,这类算法的计算效率和数值稳定性也都有了较大提高。2)可以有效地处理具有等式约束的约束优化问题。3)间接算法存在的主要问题是,选取加权因子比较困难,加权因子选取不当,不但影响收敛速度和计算精度,甚至会导致计算失败。
间接解法有惩罚函数法和增广乘子法。 5-2.用内点法求下列问题的最优解:
312)(2112
221≤-=?+-+=x g t
s x x x x f m in
(提示:可构造惩罚函数
[]∑=-=2
1
)(ln )(),(u u x g r x f r x φ,然后用解析法求解。
)
[解] 构造内点惩罚函数:
[]∑=--+-+=-=2
1)()(),(u u x r x x x x g r x f r x )3ln(12ln 212
221φ
令惩罚函数对x的极值等于零:
0)3/()(22
2221=??
????----=x r x x dx d φ 得:
4
83661
21r
x x +±=
=
舍去负根后,得4
83662
r x ++=
当
[]T
x x r 31302=→→该问题的最优解为,时,。