第二章 优化设计的数学基础优化设计中绝大多数是多变量有约束的非线性规划问题,即是求解多变量非线性函数的极值问题。
由此可见,优化设计是建立在多元函数的极值理论基础上的,对于无约束优化问题为数学上的无条件极值问题,而对于约束优化问题则为数学上的条件极值问题。
本章主要叙述与此相关的数学基础知识。
第一节 函数的方向导数与梯度一、函数的方向导数一个二元函数()21,x x F 在点()02010,x x X 处的偏导数,即函数沿坐标轴方向的变化率定义为:而沿空间任一方向S 的变化率即方向导数为:方向导数与偏导数之间的数量关系为依此类推可知n 维函数()n x x x F ,,,21 在空间一点()002010,,,n x x x X 沿S 方向的方向导数为二、函数的梯度 函数()X F 在某点X 的方向导数表明函数沿某一方向S 的变化率。
—般函数在某一确定点沿不同方向的变化率是不同的。
为求得函数在某点X 的方向导数为最大的方向,引入梯度的概念。
仍以二元函数()21,x x F 为例进行讨论,将函数沿方向S 的方向导数写成如下形式令:图2-1 二维空间中的方向图2-2 三维空间中的方向称为()21,x x F 在点X 处的梯度()X F grad ,而同时设S 为单位向量于是方向导数可写为:此式表明,函数()X F 沿S 方向的方向导数等于向量()X F ∇在S 方向上的投影。
且当()()1,cos =∇S X F ,即向量()X F ∇与S 的方向相向时,向量()X F ∇在S 方向上的投影最大,其值为()X F ∇。
这表明梯度()X F ∇是函数()X F 在点X 处方向导数最大的方向,也就是导数变化率最大的方向。
上述梯度的定义和运算可以推广到n 维函数中去,即对于n 元函数()n x x x F ,,,21 ,其梯度定义为由此可见,梯度是一个向量,梯度方向是函数具有最大变化率的方向。
即梯度()X F ∇方向是函数()X F 的最速上升方向,而负梯度()X F ∇-方向则为函数()X F 的最速下降方向。
例2-1 求二元函数()2214x x F π=X 在[]T 1,10=X 点沿⎩⎨⎧===44211πθπθS 和⎩⎨⎧===63212πθπθS 的方向导数。
解:()()()⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡∂∂∂∂=∇21212142x x x x F x F F ππX X X ,将[]T 1,10=X 代入可得()⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=∇42ππX F ,因此而这说明同一函数在不同方向上的方向导数不同,其变化率也不同。
函数()X F 由0X 出发,沿S 1方向的变化率大于沿S 2方向的变化率。
所以,函数()X F 沿S 1方向增长得较快。
第二节 凸集、凸函数与凸规划如果函数在整个可行域中有两个或两个以上的极值点,则称每一个极值点为局部极值点。
在整个可行域中,函数值最小的点为全域极值点。
为求得全域极值点,以获得最好的可行设计方案,就需要进一步讨论局部最小点和全域最小点的关系,因而涉及到凸集、凸函数及凸规划问题。
一、凸集设D 为n 维欧氏空间内的一个集合,如果D 内任意两点X 1和X 2的连线整个都包围在D 内,即对于任意实数α(10≤≤α),点()D X X ⊂-+211αα,则称这种集合为凸集,如图2-3a 所示,否则为非凸集,如图2-3b 、c 所示。
凸集满足以下性质:若D 是一个凸集,λ是一个实数,则集合λD 仍为凸集;若D 与F 均为凸集,则其和(或并)还是凸集;任何一组凸集的积(或交)还是凸集。
二、凸函数设D 为E n 中的一凸集,()X F 为定义在D 上的一个函数,若对于任意实数α(10≤≤α)和D 内任意两点X 1和X 2,恒有则()X F 为D 上的凸函数;若式中不等号反向,则为凹函数。
凸函数的几何意义如图2-4所示。
若()X F 在区间[]b a ,内为凸函数,则曲线上任意两点A 、B间(与X 1和X 2相对应)所连成直线上的点K ’总不会落在这两点间曲线的下方,即大于相应点K 的函数值。
因而,若()X F 为凸函数,则-()X F 为凹函数;线性函数既可视为凸函数,又可视为凹函数。
凸函数的性质:1)设取()X F 为定义在凸集D 的凸函数,则对于任意正实数λ,图2-3 凸集a )与非凸集b )、c )图2-4 凸函数的几何含义函数λ()X F 在D 上也是凸函数;2)设()X 1F 、()X 2F 为定义在凸集D 上的凸函数,则函数()()()X X X 21F F F +=在D 上也是凸函数:3)若函数()X F 在n 维欧氏空间E n 一阶可微,则对于任意2121,X X X X ≠∈n E ,()X F 为凸函数的充分必要条件为(其证明可参见教材p. 26) ()()()[]()12112X X X X X -∇+≥TF F F 图2-5所示为一维函数情况,其凸函数的几何意义在于函数曲线永远在切线的上面。
若()X F 是凸集D 上的凸函数,并且在D 内有极小点,则极小点是唯一的。
最优化方法中很多结论都是以函数具有凸性为前提的。
三、凸规划对于约束优化问题式中,若()X F 、()X u g 、u =1,2,…,n 均为凸函数,则称此问题为凸规划。
凸规划的性质:1)可行域(){}n u g u ,,2,1,0 =≤X X 为凸集。
2)凸规划问题的任何局部最优解都是全局最优解。
图2-5 一维凸函数3)若()X F 可微,则*X 为凸规划问题的最优解的充分必要条件是:对于D ∈X ,都满足(该式表明在*X 的邻域内的所有点的目标函数值均大于*X 处的值)但在实际应用中,要证明一个线性规划问题是否为凸规划,一般比较困难,有时甚至比求解一个优化问题还要麻烦得多,尤其对一些工程问题,由于其数学模型的性态都比较复杂,更难以实现。
因此,在优化设计的求解时,就不必花精力进行求证,而通常是从几个初始点出发,看它是否能收敛于同一点上,否则从求得的几个方案中,选取相对较好的方案,作为最优设计的结果,也就是从局部最优解的比较中来选取全局的最优解。
第三节 无约束优化问题的极值条件优化问题的几何表达只能形象地给出最优解的有关概念,而最优解数值的求得,还得靠必要的定量计算来达到。
这种运算的理论依据是函数的极值理论,因而有必要对其有关概念作必要的回顾和介绍。
多元目标函数的表达形式往往十分复杂,为了便于讨论,需用简单的函数作局部逼近,使其简化。
用泰勒展开式求目标函数在某点邻近的近似表达式,则是常用的方法。
一、多元函数的泰勒展开式一元函数()X F 在X k 点的泰勒展开式为而多元函数()X F 在X k 点的泰勒展开式为式中,()i kx F ∂∂X 为函数在X k 点处对x i 的偏导数;()j i k x x F ∂∂∂X 2为函数在X k 点处对x i 、x j 的二阶偏导数;x i 、x j 分别表示变量X 的第i 和j 个分量;n 为变量的个数。
若用向量矩阵表示,可写为:因此,多元函数()X F 在X k 点的泰勒展开式可用向量矩阵形式表达为其中,为()X F 在X k 点的一阶偏导数的列向量,称为梯度;为()X F 在X k 点的二阶偏导数矩阵,由于函数的二次连续性,它是一个n ×n 阶的对称方阵,统称为函数()X F 在点X k 的海色(Hessian )矩阵。
在优化设计中,目标函数取到自变量(设计变量)的二次函数表达式已足够准确(这称为目标函数的平方近似表达式),因为数学上己证明:对于非标准球面或椭球抛物面的一般非线性目标函数(即高次函数),在其极值点附近的等值线簇仍为同心椭圆簇,即目标函数在极值点附近是二次函数。
此外,二次函数的某些特征还为一些高效寻优方法的建立提供了理论依据,因此要重视二次函数。
这样,对多元函数的泰勒展开式只取前三项就可以,记为如下形式:二、无约束优化问题的极值条件从高等数学可知,一元函数存在极值点的必要和充分条件是:函数的一阶导数()()0'==∂∂x F xx F (即找到驻点)和二阶导数()()0''22≠=∂∂x F xx F 。
当()0''<x F 时为极大;()0''>x F 时为极小。
类似地,对于n 元函数()()n x x x F F ,,,21 =X 的无约束极值问题点*X 为一个局部极值点的充分必要条件是:1)一阶导数向量()0=∇*X F ,即()n i x F i,,2,10 ==∂∂*X ; 2)二阶导数矩阵,即海色矩阵()*∇X F 2为正定或负定,即为正定或负定,且当()*X H 为正定时*X 为极小点;当()*X H 为负定时*X 为极大点。
(其证明可参见教材p. 20~22)判断矩阵A 正定或负定的方法是检验其各阶顺序主子式,若各阶顺序主子式均大于0,如下:则A 为正定矩阵;若各阶顺序主子式行列式值正负号交替出现,则为负定矩阵。
若不满足正负定矩阵条件则为不定矩阵,则不可采用上述方法计算极值。
例2-2 求函数()744,21222121+--+=x x x x x x F 的极值。
解:根据极值的必要条件求驻点得到驻点[]T 4,2=*X再根据极值的充分条件,判断此点是否为极值点。
由于其各阶主子式均大于0,即()*X H 为正定,故[]T 4,2=*X 为极小点,极小值为()13-=*X F 第四节 约束优化问题的极值条件求解约束优化问题求解上述问题的实质是在所有的约束条件所形成的可行域内,求得目标函数的极值点,即约束最优点。
由于约束最优点不仅与目标函数本身的性质有关,还与约束函数的性质有关,因此约束条件下的优化问题比无约束条件下的优化问题更为复杂。
库恩-塔克(Kuhn-Tucker )条件(简称K-T 条件)是非线性规划领域中最重要的理论成果之一,通常借助库恩-塔克条件来判断和检验约束优化问题中某个可行点是否为约束极值点,即将K-T 条件作为确定一般非线性规划问题中某点是否为极值点的必要条件,对于凸规划问题,K-T 条件同时也是一个充分条件。
但是如何判别所找到的极值点是全域最优点还是局部极值点,至今还没有一个统一而有效的判别方法。
K-T 条件可阐述为:若*X 是一个局部极小点,则该点的目标函数梯度()*∇XF 可表示成诸约束面梯度()*∇X u g 和()*∇X v h 的线性组合的负值,即式中,q 为设计点处的不等式约束面数;j 为设计点处的等式约束面数;()q u u ,,2,1 =λ、()j v v ,,2,1 =λ为非负值的乘子,也称为拉格朗日乘子。
式中,在点*X 处不起作用的约束条件()X u g 对应的义u λ一定为零,只有当某一约束()X u g 在点*X 为起作用约束时,u λ才可以不为零。