数值优化理论的数学基础

优化设计数学模型的求解,实际上就是数学中的极值问题。对于无约束优化问题,是求多元函数的无条件极值,约束优化问题是求多元函数的条件极值。尽管高等数学中的极值理论仍然是求解这种问题的理论基础,但是优于机械,电气信息工程设计中建立的数学模型一般都比较复杂,变量个数和各种约束条件都较多,难以用解析的方法直接求得最优解。因此有必要对多变量的约束优化问题的求解所涉及的数学概念、数值迭代的有关理论进行补充和扩展。

  1. 偏导数
    导数作为描述函数变化率的数学量在最优化理论中具有重要的意义。对于医院函数 f ( x ) f(x) f(x)在点 x k x_k xk的一阶导数 f ′ ( x k ) f^{'}(x_k) f(xk)表示函数在该点的变化率。对于多元函数的偏导数是表示函数沿着某个坐标轴方向的变化率。函数 f ( x 1 , x 2 , ⋯   , x n ) f(x_1,x_2,\cdots,x_n) f(x1,x2,,xn)在任一点 X X X沿 x i ( i = 1 , 2 , ⋯   , n ) x_i(i=1,2,\cdots,n) xi(i=1,2,,n)坐标轴方向的变化率即是对 x i x_i xi的偏导数,其表达式为

∂ f ( X ) ∂ x i = lim ⁡ Δ x i → 0 f ( x 1 , x 2 , ⋯   , x i + Δ x i , ⋯   , x n ) Δ x i , ( i = 1 , 2 , ⋯   , n ) \frac{\partial f(X)}{\partial x_i} = \lim_{\Delta x_i \to 0}\frac{f(x_1,x_2,\cdots,x_i+\Delta x_i,\cdots,x_n)}{\Delta x_i},(i=1,2,\cdots,n) xif(X)=Δxi0limΔxif(x1,x2,,xi+Δxi,,xn),(i=1,2,,n)

  1. 方向导数
    方向导数是函数沿某个给定方向 S S S的变化率,对于函数 f ( x 1 , x 2 , ⋯   , x n ) f(x_1,x_2,\cdots, x_n) f(x1,x2,,xn),从任一点 X X X引出一方向 S S S,与 x i x_i xi轴的夹角为 α i \alpha_i αi,在方向S上取一点 X ( 1 ) X^{(1)} X(1),其坐标为 [ x 1 + Δ x 1 , x 2 + Δ x 2 , ⋯   , x n + Δ x n ] [x_1+\Delta x_1,x_2+\Delta x_2,\cdots,x_n+\Delta x_n] [x1+Δx1,x2+Δx2,,xn+Δxn],点 X X X X ( 1 ) X^{(1)} X(1)之间的举例为 ∣ ∣ S ∣ ∣ = ( Δ x 1 ) 2 + ( Δ x 2 ) 2 + ⋯ + ( Δ x n ) 2 ||S||=\sqrt{(\Delta x_1)^2+(\Delta x_2)^2+\cdots+(\Delta x_n)^2} S=(Δx1)2+(Δx2)2++(Δxn)2 ,由此可知,函数 f ( x 1 , x 2 , ⋯   , x n ) f(x_1,x_2,\cdots, x_n) f(x1,x2,,xn) X X X处沿方向 S S S的平均变化率为
    Δ f ( X ) ∣ ∣ Δ S ∣ ∣ = f ( x 1 + Δ x 1 , x 2 + Δ x 2 , ⋯   , x n + Δ x n ) − f ( x 1 , x 2 , ⋯   , x n ) ∣ ∣ Δ S ∣ ∣ \frac{\Delta f(X)}{||\Delta S||}=\frac{f(x_1+\Delta x_1,x_2+\Delta x_2,\cdots, x_n+\Delta x_n)-f(x_1,x_2,\cdots, x_n)}{||\Delta S||} ΔSΔf(X)=ΔSf(x1+Δx1,x2+Δx2,,xn+Δxn)f(x1,x2,,xn)

∣ ∣ Δ S ∣ ∣ → 0 ||\Delta S||\to 0 ΔS0时,如果上式极限存在,则称此极限为函数 f ( x 1 , x 2 , ⋯   , x n ) f(x_1,x_2,\cdots, x_n) f(x1,x2,,xn)在任一点 X X X沿方向 S S S的方向导数,记作
∂ f ( X ) ∂ S = lim ⁡ ∣ ∣ Δ S ∣ ∣ → 0 Δ f ( X ) ∣ ∣ Δ S ∣ ∣ = lim ⁡ ∣ ∣ Δ S ∣ ∣ → 0 f ( x 1 + Δ x 1 , x 2 + Δ x 2 , ⋯   , x n + Δ x n ) − f ( x 1 , x 2 , ⋯   , x n ) ∣ ∣ Δ S ∣ ∣ = ∑ i = 1 n ∂ f ( X ) ∂ x i c o s α i \begin{aligned} \frac{\partial f(X)}{\partial S}&=\lim_{||\Delta S||\to 0}\frac{\Delta f(X)}{||\Delta S||}\\ &=\lim_{||\Delta S||\to 0}\frac{f(x_1+\Delta x_1,x_2+\Delta x_2,\cdots, x_n+\Delta x_n)-f(x_1,x_2,\cdots, x_n)}{||\Delta S||} \\ & =\sum_{i=1}^{n}\frac{\partial f(X)}{\partial x_i}cos\alpha_i \end{aligned} Sf(X)=ΔS0limΔSΔf(X)=ΔS0limΔSf(x1+Δx1,x2+Δx2,,xn+Δxn)f(x1,x2,,xn)=i=1nxif(X)cosαi

并且
∑ i = 1 n c o s 2 α i = 1 \sum_{i=1}^{n}cos^2\alpha_i = 1 i=1ncos2αi=1

上式中, c o s α i cos\alpha_i cosαi为方向 S S S与坐标轴 x i x_i xi方向之间的夹角的余弦,简称方向余弦,从方向导数的公式可知,方向导数不仅与位置相关,还与方向相关,位置决定梯度,方向决定方向余弦,二者一起构成方向导数,决定了在某个位置沿着某个方向的变化速度

  1. 函数的梯度
    以二维函数为例讨论
    ∂ f ( X ) ∂ S = ∂ f ( X ) ∂ x 1 c o s α 1 + ∂ f ( X ) ∂ x 2 c o s α 2 = [ ∂ f ( X ) ∂ x 1 , ∂ f ( X ) ∂ x 2 ] [ c o s α 1 , c o s α 2 ] T \begin{aligned} \frac{\partial f(X)}{\partial S} &= \frac{\partial f(X)}{\partial x_1}cos\alpha_1 + \frac{\partial f(X)}{\partial x_2}cos\alpha_2 \\ &= [ \frac{\partial f(X)}{\partial x_1}, \frac{\partial f(X)}{\partial x_2}][cos\alpha_1, cos\alpha_2]^T \end{aligned} Sf(X)=x1f(X)cosα1+x2f(X)cosα2=[x1f(X),x2f(X)][cosα1,cosα2]T

式中 [ c o s α 1 , c o s α 2 ] T = S [cos\alpha_1, cos\alpha_2]^T=S [cosα1,cosα2]T=S,因为 ∣ ∣ S ∣ ∣ = 1 ||S||=1 S=1,故为单位向量,而 [ ∂ f ( X ) ∂ x 1 , ∂ f ( X ) ∂ x 2 ] T [ \frac{\partial f(X)}{\partial x_1}, \frac{\partial f(X)}{\partial x_2}]^T [x1f(X),x2f(X)]T也是一个矢量,用符号 ∇ f ( X ) \nabla f(X) f(X)表示,它与 S S S方向无关,完全取决于函数自身的性质,可以将上面的公式进一步改写为
∂ f ( X ) ∂ S = ∣ ∣ ∇ f ( X ) ∣ ∣ ⋅ ∣ ∣ S ∣ ∣ c o s θ \frac{\partial f(X)}{\partial S} = ||\nabla f(X)||\cdot ||S||cos\theta Sf(X)=f(X)Scosθ

式中, ∣ ∣ ∇ f ( X ) ∣ ∣ ||\nabla f(X)|| f(X) ∣ ∣ S ∣ ∣ ||S|| S分别为矢量 ∇ f ( X ) \nabla f(X) f(X) S S S的模, θ \theta θ为这两个向量的夹角,由于矢量 S S S为单位矢量,并且 − 1 ≤ c o s θ ≤ 1 -1\le cos\theta\le 1 1cosθ1,所以当 ∇ f ( X ) \nabla f(X) f(X) S S S方向相同时, ∂ f ( X ) ∂ S \frac{\partial f(X)}{\partial S} Sf(X)的值最大;
定义:把取得方向导数最大值的矢量 ∇ f ( X ) \nabla f(X) f(X)称为函数 f ( X ) f(X) f(X) X X X点的梯度 g r a d ( f ) grad(f) grad(f),由此可知,梯度方向是指函数值增长最快的方向。又因为方向 S S S的模为1,因此二维函数变化率的最大值为
∣ ∣ ∇ f ∣ ∣ = ( ∂ f ( X ) ∂ x 1 ) 2 + ( ∂ f ( X ) ∂ x 2 ) 2 ||\nabla f||=\sqrt{(\frac{\partial f(X)}{\partial x_1})^2+(\frac{\partial f(X)}{\partial x_2})^2} f=(x1f(X))2+(x2f(X))2

将其推广到 n n n维函数,梯度及其模分别为
∇ f ( X ) = [ ∂ f ( X ) ∂ x 1 , ∂ f ( X ) ∂ x 2 , ⋯   , ∂ f ( X ) ∂ x n ] T \nabla f(X)=[\frac{\partial f(X)}{\partial x_1},\frac{\partial f(X)}{\partial x_2},\cdots,\frac{\partial f(X)}{\partial x_n}]^T f(X)=[x1f(X),x2f(X),,xnf(X)]T

∣ ∣ ∇ f ( X ) ∣ ∣ = [ ∑ i = 1 n ( ∂ f ( X ) ∂ x i ) 2 ] 1 2 ||\nabla f(X)||=[\sum_{i=1}^{n}(\frac{\partial f(X)}{\partial x_i})^2]^{\frac{1}{2}} f(X)=[i=1n(xif(X))2]21

梯度具有如下重要性质:
1) ∇ f ( X ) \nabla f(X) f(X)是函数 f ( X ) f(X) f(X) X X X处的最速上升方向, − ∇ f ( X ) -\nabla f(X) f(X)是最速下降方向;
2) ∣ ∣ ∇ f ( X ) ∣ ∣ ||\nabla f(X)|| f(X)的值随点而异,所以 ∇ f ( X ) \nabla f(X) f(X)只能反应函数在 X X X点附近的性态,只能反应局部性态;
3)梯度 ∇ f ( X ) \nabla f(X) f(X)与过点 X X X的等值线相交;
4)利用梯度可判断所给定的方向 S S S是上升方向还是下降方向,若 ∇ f T ( X ) ⋅ S < 0 \nabla f^T(X)\cdot S\lt 0 fT(X)S<0,则 S S S为下降方向;若 ∇ f T ( X ) ⋅ S > 0 \nabla f^T(X)\cdot S\gt 0 fT(X)S>0,则 S S S为上升方向;

  1. 多元函数的泰勒展开
    在实际工程优化设计中,目标函数一般是很复杂的非线性多元函数,往往需要用简单函数对复杂函数作局部近似。由等值线的性质可知:在极值点附近,等值线(面)呈近似的同心椭圆(球)族(近似地看成二次函数)。因此,把原函数作泰勒展开,取得二次项来近似地代替原函数,从而使问题简化。所以,多元函数地泰勒展开式在优化设计方法理论地研究中十分重要。
    由高等数学可知,一元函数 f ( x ) f(x) f(x)在点 x ( k ) x^{(k)} x(k)若存在1到n阶导数,则在点 x ( k ) x^{(k)} x(k)处的泰勒展开式为
    f ( x ) = f ( x ( k ) ) + f ′ ( x ( k ) ) ( x − x ( k ) ) + 1 2 ! f ′ ′ ( x ( k ) ) ( x − x ( k ) ) 2 + ⋯ + 1 2 ! f ( n ) ( x ( k ) ) ( x − x ( k ) ) n + R n f(x)=f(x^{(k)})+f^{'}(x^{(k)})(x-x^{(k)})+\frac{1}{2!}f^{''}(x^{(k)})(x-x^{(k)})^2+\cdots + \frac{1}{2!}f^{(n)}(x^{(k)})(x-x^{(k)})^n+R^n f(x)=f(x(k))+f(x(k))(xx(k))+2!1f(x(k))(xx(k))2++2!1f(n)(x(k))(xx(k))n+Rn

式中 R n R^n Rn为高阶余项;
若忽略二阶以上的高阶微小量,只取到二次项,则函数的近似表达式为
f ( x ) ≈ f ( x ( k ) ) + f ′ ( x ( k ) ) ( x − x ( k ) ) + 1 2 ! f ′ ′ ( x ( k ) ) ( x − x ( k ) ) 2 f(x)\approx f(x^{(k)})+f^{'}(x^{(k)})(x-x^{(k)})+\frac{1}{2!}f^{''}(x^{(k)})(x-x^{(k)})^2 f(x)f(x(k))+f(x(k))(xx(k))+2!1f(x(k))(xx(k))2

类似于一元函数,当多元函数在满足一定的条件下,也可以用二次项来作它的近似,将多元函数 f ( X ) f(X) f(X)在点 X ( k ) X^{(k)} X(k)泰勒展开,只取到二次项,即
f ( X ) ≈ f ( X ( k ) ) + [ ∇ f ( X ( k ) ) ] T ( X − X ( k ) ) + 1 2 [ X − X ( k ) ] T ∇ 2 f ( X ( k ) ) [ X − X ( k ) ] f(X)\approx f(X^{(k)})+[\nabla f(X^{(k)})]^T(X-X^{(k)})+\frac{1}{2}[X-X^{(k)}]^T \nabla^2f(X^{(k)})[X-X^{(k)}] f(X)f(X(k))+[f(X(k))]T(XX(k))+21[XX(k)]T2f(X(k))[XX(k)]

式中, ∇ 2 f ( X ( k ) ) \nabla^2f(X^{(k)}) 2f(X(k))是函数在点 X ( k ) X^{(k)} X(k)的所有二阶导数组成的矩阵,称为函数 f ( X ) f(X) f(X)在点 X ( k ) X^{(k)} X(k)的二阶导数矩阵或者海塞(Hessian)矩阵,简记为 H ( X ( k ) ) H(X^{(k)}) H(X(k)),其表达式为
H ( X ) = ∇ 2 f ( X ) = ( ∂ 2 f ( X ) ∂ x 1 2 ∂ 2 f ( X ) ∂ x 1 ∂ x 2 ⋯ ∂ 2 f ( X ) ∂ x 1 ∂ x n ∂ 2 f ( X ) ∂ x 2 ∂ x 1 ∂ 2 f ( X ) ∂ x 2 2 ⋯ ∂ 2 f ( X ) ∂ x 2 ∂ x n ⋮ ⋮ ⋱ ⋮ ∂ 2 f ( X ) ∂ x n ∂ x 1 ∂ 2 f ( X ) ∂ x n ∂ x 2 ⋯ ∂ 2 f ( X ) ∂ x n 2 ) H(X)=\nabla^2f(X)=\left( \begin{array}{l} &\frac{\partial^2f(X)}{\partial x_1^2} &\frac{\partial^2f(X)}{\partial x_1\partial x_2} &\cdots &\frac{\partial^2f(X)}{\partial x_1\partial x_n} \\ &\frac{\partial^2f(X)}{\partial x_2\partial x_1} &\frac{\partial^2f(X)}{\partial x_2^2} &\cdots &\frac{\partial^2f(X)}{\partial x_2\partial x_n} \\ &\vdots &\vdots &\ddots &\vdots \\ &\frac{\partial^2f(X)}{\partial x_n\partial x_1} &\frac{\partial^2f(X)}{\partial x_n\partial x_2} &\cdots &\frac{\partial^2f(X)}{\partial x_n^2} \end{array} \right) H(X)=2f(X)=x122f(X)x2x12f(X)xnx12f(X)x1x22f(X)x222f(X)xnx22f(X)x1xn2f(X)x2xn2f(X)xn22f(X)

对于通常的工程中的函数,求导顺序可交换,因此海塞矩阵通常是nxn阶对称矩阵;

  1. 无约束优化问题的极值条件
    求解无约束优化问题的实质是求解目标函数 f ( X ) f(X) f(X)在n为空间 R n R^n Rn中的极值,由高等数学基础知识可知,任何一个单值连续可微的一元函数,取得极值的必要条件是一阶导数等于零,即
    f ′ ( x ∗ ) = 0 f^{'}(x^{*}) = 0 f(x)=0

仅满足此条件只表明该点为一个驻点,是极大值、极小值还是拐点需要进一步利用二阶导数进行判断,故充分条件为:若 f ′ ′ ( x ∗ ) > 0 f^{''}(x^*)>0 f(x)>0,则 x ∗ x^* x是极小值点,若 f ′ ′ ( x ∗ ) < 0 f^{''}(x^*)<0 f(x)<0,则 x ∗ x^* x是极大值点,若 f ′ ′ ( x ∗ ) = 0 f^{''}(x^*)=0 f(x)=0,则 x ∗ x^* x是拐点;

同理,对于多元函数 f ( X ) f(X) f(X)取得极值的必要条件是一阶导数等于零,即
∇ f ( X ∗ ) = 0 \nabla f(X^*) = 0 f(X)=0

仅满足此条件表明该点是一个驻点,还需要进一步借助二阶导数来判断该点是极大值点、极小值点还是驻点。故充分条件为:
若矩阵 H ( X ∗ ) H(X^*) H(X)正定,则 X ∗ X^* X是极小值点;若矩阵 H ( X ∗ ) H(X^*) H(X)负定,则 X ∗ X^* X是极大值点;若矩阵 H ( X ∗ ) H(X^*) H(X)不定,则 X ∗ X^* X为鞍点

  1. 优化涉及方法的基本思想和迭代终止准则
    前面简述了求无约束优化问题极值点的方法,从理论上来看似乎并不困难,但是由于一般实际问题的目标函数和约束函数常常是高次非线性函数,用前述方法求解是比较困难的,审制很难解出的。因此随着计算机技术的发展,最优化方法常常采用适用于计算机求解的数值迭代方法。
    a)优化设计计算方法的基本思想
    从某一个初始点出发,按照一定的原则寻求一个可行方向和适当补偿,一步一步地重复数值计算,最终达到目标函数地最优点。简单来讲就是“搜索、迭代、逼近”,或者说“步步下降,步步逼近,最终逼近最优点”

b)基本迭代公式
迭代地基本公式为
X ( k + 1 ) = X ( k ) + α ( k ) S ( k ) X^{(k+1)}=X^{(k)}+\alpha^{(k)}S^{(k)} X(k+1)=X(k)+α(k)S(k)

从而使
f ( X ( k + 1 ) ) < f ( X ( k ) ) f(X^{(k+1)}) < f(X^{(k)}) f(X(k+1))<f(X(k))

式中 X ( k ) X^{(k)} X(k)为第k步迭代的初始点; X ( k + 1 ) X^{(k+1)} X(k+1)为第k不迭代产生的新点,也是第k+1步迭代的初始点; S ( k ) S^{(k)} S(k)为第k步迭代的搜索方向,是一个矢量; α ( k ) \alpha^{(k)} α(k)为第k步迭代的最优步长因子,是标量;
由此不难看出,一个下降迭代算法需要解决两个基本问题
1)如何选取搜索方向 S ( k ) S^{(k)} S(k),不同的 S ( k ) S^{(k)} S(k)构成不同的下降迭代算法,因此寻找一个使目标函数数值迅速下降的可行方向是优化设计研究的核心问题;
2)确定步长因子 α ( k ) \alpha^{(k)} α(k),一般由一维搜索方法取得 α ( k ) \alpha^{(k)} α(k)

c)算法的收敛性
在反复迭代计算过程中,一系列搜索点极小值点逼近的速度称为该算法的收敛速度。作为一种优化算法必须具有较好的收敛性和较快的收敛速度。算法的收敛性和收敛速度可以根据下式进行定义:
lim ⁡ k → ∞ = ∣ ∣ X ( k + 1 ) − X ∗ ∣ ∣ ∣ ∣ X ( k ) − X ∗ ∣ ∣ β = σ , ( 0 < σ < 1 ) \lim_{k\to\infty}=\frac{||X^{(k+1)}-X^*||}{||X^{(k)}-X^*||^\beta}=\sigma, (0<\sigma<1) klim=X(k)XβX(k+1)X=σ,(0<σ<1)

若存在 β > 0 \beta > 0 β>0使上式成立,则:
1)当 β = 1 \beta = 1 β=1时,算法具有线性收敛速度
2)当 β = 2 \beta = 2 β=2时,算法具有二次收敛速度
3)当 1 < β < 2 1 <\beta < 2 1<β<2时,算法具有超线性收敛速度
一般来说,具有二次收敛速度的算法时收敛速度最快的算法,具有超线性收敛速度的算法可以认为时收敛速度较快的算法。

d)算法的收敛准则
因为数值迭代计算时逐步想最优点逼近的过程,实际上要达到最优点,需要迭代很多次,计算工作量相当大,所以一般采用迭代到相当靠近理论最优点并满足计算精度要求的点作为最优点。为此,需要由评定最优解的近似程度的准则,这个准则称为收敛准则,通常有一下三种:
(1)点距离准则,一般情况下,迭代点向极值点的逼近速度是逐渐变慢的,越接近极值点,相邻两迭代点的距离越短,当相邻两迭代点的距离充分小,即当
∣ ∣ X ( k + 1 ) − X ( k ) ∣ ∣ < ϵ ||X^{(k+1)}-X^{(k)}||<\epsilon X(k+1)X(k)<ϵ
时,便可认为迭代点 X ( k + 1 ) X^{(k+1)} X(k+1)已充分接近极值点,可令 X ∗ = X ( k + 1 ) X^*=X^{(k+1)} X=X(k+1),其中, ϵ \epsilon ϵ是一充分小的正数,称为收敛精度。
(2)值差准则,当迭代点接近极值点时,不仅迭代点间的距离变短,而且相邻两迭代点的函数值之差也越来越小,因此,可以将相邻两迭代点的函数值之差作为终止准则。即对一充分小的正数 ϵ \epsilon ϵ,如果
∣ f ( X ( k + 1 ) ) − f ( X ( k ) ) ∣ ≤ ϵ |f(X^{(k+1)})-f(X^{(k)})|\le \epsilon f(X(k+1))f(X(k))ϵ
成立,则可认为点 X ( k + 1 ) X^{(k+1)} X(k+1)就是满足精度要求的近似最优点 X ∗ X^* X
(3)梯度准则,由无约束优化问题的极值必要条件可知,梯度近似于0的点必定时接近极值点的点,因此,当
∣ ∣ ∇ f ( X ( k + 1 ) ) ∣ ∣ ≤ ϵ ||\nabla f(X^{(k+1)})||\le \epsilon f(X(k+1))ϵ
时,将点 X ( k + 1 ) X^{(k+1)} X(k+1)作为满足收敛精度要求的近似最优点 X ∗ X^* X

通常,上述三个准则都可单独使用,只要其中一个得到满足,即可认为达到了近似最优解,终止迭代计算。但是在某些特殊情况,相邻两迭代点间的距离和相应的函数值之差不可能同时达到充分小,这是可间点距离准则和值差准则联合起来使用。

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值