最新2优化设计的数学基础汇总.docx
- 文档编号:11314552
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:15
- 大小:200.69KB
最新2优化设计的数学基础汇总.docx
《最新2优化设计的数学基础汇总.docx》由会员分享,可在线阅读,更多相关《最新2优化设计的数学基础汇总.docx(15页珍藏版)》请在冰豆网上搜索。
最新2优化设计的数学基础汇总
2优化设计的数学基础
第二章优化设计的数学基础
优化设计中绝大多数是多变量有约束的非线性规划问题,即是求解多变量非线性函数的极值问题。
由此可见,优化设计是建立在多元函数的极值理论基础上的,对于无约束优化问题为数学上的无条件极值问题,而对于约束优化问题则为数学上的条件极值问题。
本章主要叙述与此相关的数学基础知识。
第一节函数的方向导数与梯度
一、函数的方向导数
一个二元函数«SkipRecordIf...»在点«SkipRecordIf...»处的偏导数,即函数沿坐标轴方向的变化率定义为:
而沿空间任一方向S的变化率即方向导数为:
方向导数与偏导数之间的数量关系为
依此类推可知n维函数«SkipRecordIf...»在空间一点«SkipRecordIf...»沿S方向的方向导数为
二、函数的梯度
函数«SkipRecordIf...»在某点X的方向导数表明函数沿某一方向S的变化率。
—般函数在某一确定点沿不同方向的变化率是不同的。
为求得函数在某点X的方向导数为最大的方向,引入梯度的概念。
仍以二元函数«SkipRecordIf...»为例进行讨论,将函数沿方向S的方向导数写成如下形式
令:
称为«SkipRecordIf...»在点X处的梯度«SkipRecordIf...»,而同时设S为单位向量
于是方向导数可写为:
此式表明,函数«SkipRecordIf...»沿S方向的方向导数等于向量«SkipRecordIf...»在S方向上的投影。
且当«SkipRecordIf...»,即向量«SkipRecordIf...»与S的方向相向时,向量«SkipRecordIf...»在S方向上的投影最大,其值为«SkipRecordIf...»。
这表明梯度«SkipRecordIf...»是函数«SkipRecordIf...»在点X处方向导数最大的方向,也就是导数变化率最大的方向。
上述梯度的定义和运算可以推广到n维函数中去,即对于n元函数«SkipRecordIf...»,其梯度定义为
由此可见,梯度是一个向量,梯度方向是函数具有最大变化率的方向。
即梯度«SkipRecordIf...»方向是函数«SkipRecordIf...»的最速上升方向,而负梯度«SkipRecordIf...»方向则为函数«SkipRecordIf...»的最速下降方向。
例2-1求二元函数«SkipRecordIf...»在«SkipRecordIf...»点沿«SkipRecordIf...»和«SkipRecordIf...»的方向导数。
解:
«SkipRecordIf...»,将«SkipRecordIf...»代入可得«SkipRecordIf...»,因此
而
这说明同一函数在不同方向上的方向导数不同,其变化率也不同。
函数«SkipRecordIf...»由«SkipRecordIf...»出发,沿S1方向的变化率大于沿S2方向的变化率。
所以,函数«SkipRecordIf...»沿S1方向增长得较快。
第二节凸集、凸函数与凸规划
如果函数在整个可行域中有两个或两个以上的极值点,则称每一个极值点为局部极值点。
在整个可行域中,函数值最小的点为全域极值点。
为求得全域极值点,以获得最好的可行设计方案,就需要进一步讨论局部最小点和全域最小点的关系,因而涉及到凸集、凸函数及凸规划问题。
一、凸集
设D为n维欧氏空间内的一个集合,如果D内任意两点X1和X2的连线整个都包围在D内,即对于任意实数α(«SkipRecordIf...»),点«SkipRecordIf...»,则称这种集合为凸集,如图2-3a所示,否则为非凸集,如图2-3b、c所示。
凸集满足以下性质:
若D是一个凸集,λ是一个实数,则集合λD仍为凸集;若D与F均为凸集,则其和(或并)还
是凸集;任何一组凸集的积(或交)还是凸集。
二、凸函数
设D为En中的一凸集,«SkipRecordIf...»为定义在D上的一个函数,若对于任意实数α(«SkipRecordIf...»)和D内任意两点X1和X2,恒有
则«SkipRecordIf...»为D上的凸函数;若式中不等号反向,则为凹函数。
图2-4凸函数的几何含义
凸函数的几何意义如图2-4所示。
若«SkipRecordIf...»在区间«SkipRecordIf...»内为凸函数,则曲线上任意两点A、B间(与X1和X2相对应)所连成直线上的点K’总不会落在这两点间曲线的下方,即大于相应点K的函数值。
因而,若«SkipRecordIf...»为凸函数,则-«SkipRecordIf...»为凹函数;线性函数既可视为凸函数,又可视为凹函数。
凸函数的性质:
1)设取«SkipRecordIf...»为定义在凸集D的凸函数,则对于任意正实数λ,函数λ«SkipRecordIf...»在D上也是凸函数;
2)设«SkipRecordIf...»、«SkipRecordIf...»为定义在凸集D上的凸函数,则函数«SkipRecordIf...»在D上也是凸函数:
3)若函数«SkipRecordIf...»在n维欧氏空间En一阶可微,则对于任意«SkipRecordIf...»,«SkipRecordIf...»为凸函数的充分必要条件为(其证明可参见教材p.26)
«SkipRecordIf...»
图2-5所示为一维函数情况,其凸函数的几何意义在于函数曲线永远在切线的上面。
若«SkipRecordIf...»是凸集D上的凸函数,并且在D内有极小点,则极小点是唯一的。
最优化方法中很多结论都是以函数具有凸性为前提的。
三、凸规划
对于约束优化问题
式中,若«SkipRecordIf...»、«SkipRecordIf...»、u=1,2,…,n均为凸函数,则称此问题为凸规划。
凸规划的性质:
1)可行域«SkipRecordIf...»为凸集。
2)凸规划问题的任何局部最优解都是全局最优解。
3)若«SkipRecordIf...»可微,则«SkipRecordIf...»为凸规划问题的最优解的充分必要条件是:
对于«SkipRecordIf...»,都满足
(该式表明在«SkipRecordIf...»的邻域内的所有点的目标函数值均大于«SkipRecordIf...»处的值)
但在实际应用中,要证明一个线性规划问题是否为凸规划,一般比较困难,有时甚至比求解一个优化问题还要麻烦得多,尤其对一些工程问题,由于其数学模型的性态都比较复杂,更难以实现。
因此,在优化设计的求解时,就不必花精力进行求证,而通常是从几个初始点出发,看它是否能收敛于同一点上,否则从求得的几个方案中,选取相对较好的方案,作为最优设计的结果,也就是从局部最优解的比较中来选取全局的最优解。
第三节无约束优化问题的极值条件
优化问题的几何表达只能形象地给出最优解的有关概念,而最优解数值的求得,还得靠必要的定量计算来达到。
这种运算的理论依据是函数的极值理论,因而有必要对其有关概念作必要的回顾和介绍。
多元目标函数的表达形式往往十分复杂,为了便于讨论,需用简单的函数作局部逼近,使其简化。
用泰勒展开式求目标函数在某点邻近的近似表达式,则是常用的方法。
一、多元函数的泰勒展开式
一元函数«SkipRecordIf...»在Xk点的泰勒展开式为
而多元函数«SkipRecordIf...»在Xk点的泰勒展开式为
式中,«SkipRecordIf...»为函数在Xk点处对xi的偏导数;«SkipRecordIf...»为函数在Xk点处对xi、xj的二阶偏导数;xi、xj分别表示变量X的第i和j个分量;n为变量的个数。
若用向量矩阵表示,可写为:
因此,多元函数«SkipRecordIf...»在Xk点的泰勒展开式可用向量矩阵形式表达为
其中,
为«SkipRecordIf...»在Xk点的一阶偏导数的列向量,称为梯度;
为«SkipRecordIf...»在Xk点的二阶偏导数矩阵,由于函数的二次连续性,它是一个n×n阶的对称方阵,统称为函数«SkipRecordIf...»在点Xk的海色(Hessian)矩阵。
在优化设计中,目标函数取到自变量(设计变量)的二次函数表达式已足够准确(这称为目标函数的平方近似表达式),因为数学上己证明:
对于非标准球面或椭球抛物面的一般非线性目标函数(即高次函数),在其极值点附近的等值线簇仍为同心椭圆簇,即目标函数在极值点附近是二次函数。
此外,二次函数的某些特征还为一些高效寻优方法的建立提供了理论依据,因此要重视二次函数。
这样,对多元函数的泰勒展开式只取前三项就可以,记为如下形式:
二、无约束优化问题的极值条件
从高等数学可知,一元函数存在极值点的必要和充分条件是:
函数的一阶导数«SkipRecordIf...»(即找到驻点)和二阶导数«SkipRecordIf...»。
当«SkipRecordIf...»时为极大;«SkipRecordIf...»时为极小。
类似地,对于n元函数«SkipRecordIf...»的无约束极值问题
点«SkipRecordIf...»为一个局部极值点的充分必要条件是:
1)一阶导数向量«SkipRecordIf...»,即«SkipRecordIf...»;
2)二阶导数矩阵,即海色矩阵«SkipRecordIf...»为正定或负定,即
为正定或负定,且当«SkipRecordIf...»为正定时«SkipRecordIf...»为极小点;当«SkipRecordIf...»为负定时«SkipRecordIf...»为极大点。
(其证明可参见教材p.20~22)
判断矩阵A正定或负定的方法是检验其各阶顺序主子式,若各阶顺序主子式均大于0,如下:
则A为正定矩阵;若各阶顺序主子式行列式值正负号交替出现,则为负定矩阵。
若不满足正负定矩阵条件则为不定矩阵,则不可采用上述方法计算极值。
例2-2求函数«SkipRecordIf...»的极值。
解:
根据极值的必要条件求驻点
得到驻点«SkipRecordIf...»
再根据极值的充分条件,判断此点是否为极值点。
由于
其各阶主子式均大于0,即«SkipRecordIf...»为正定,故«SkipRecordIf...»为极小点,极小值为«SkipRecordIf...»
第四节约束优化问题的极值条件
求解约束优化问题
求解上述问题的实质是在所有的约束条件所形成的可行域内,求得目标函数的极值点,即约束最优点。
由于约束最优点不仅与目标函数本身的性质有关,还与约束函数的性质有关,因此约束条件下的优化问题比无约束条件下的优化问题更为复杂。
库恩-塔克(Kuhn-Tucker)条件(简称K-T条件)是非线性规划领域中最重要的理论成果之一,通常借助库恩-塔克条件来判断和检验约束优化问题中某个可行点是否为约束极值点,即将K-T条件作为确定一般非线性规划问题中某点是否为极值点的必要条件,对于凸规划问题,K-T条件同时也是一个充分条件。
但是如何判别所找到的极值点是全域最优点还是局部极值点,至今还没有一个统一而有效的判别方法。
K-T条件可阐述为:
若«SkipRecordIf...»是一个局部极小点,则该点的目标函数梯度«SkipRecordIf...»可表示成诸约束面梯度«SkipRecordIf...»和«SkipRecordIf...»的线性组合的负值,即
式中,q为设计点处的不等式约束面数;j为设计点处的等式约束面数;«SkipRecordIf...»、«SkipRecordIf...»为非负值的乘子,也称为拉格朗日乘子。
式中,在点«SkipRecordIf...»处不起作用的约束条件«SkipRecordIf...»对应的义«SkipRecordIf...»一定为零,只有当某一约束«SkipRecordIf...»在点«SkipRecordIf...»为起作用约束时,«SkipRecordIf...»才可以不为零。
如果是约束最优解,则必然满足上式。
对凸规划问题而言,K-T条件不仅是确定约束极值点的必要条件,同时也是充分条件。
凸规划问题有唯一的K-T点,但它所对应的拉格朗日乘子不一定是唯—的。
K-T条件的几何意义在于:
如果«SkipRecordIf...»是一个局部极小点,则该点的目标函数梯度«SkipRecordIf...»应落在该点诸约束面(所有起作用的约束条件)梯度«SkipRecordIf...»和«SkipRecordIf...»在设计空间所组成的锥角范围内。
如图2-6所示,图2-6a中设计点«SkipRecordIf...»不是约束极值点,图2-6b的设计点«SkipRecordIf...»是约束极值点。
(其求证可参见教材p.32)
图2-7约束极值点存在的条件
a)设计点«SkipRecordIf...»不是约束极值点;b)设计点«SkipRecordIf...»是约束极值点
现在通过图2-7所示的二维问题说明上述几何意义。
图2-7表示在设计点«SkipRecordIf...»处有两个约束,且目标函数及约束条件均为凸函数的情况。
图2-7a中,«SkipRecordIf...»点处目标函数的负梯度为«SkipRecordIf...»,两约束函数的梯度分别为«SkipRecordIf...»、«SkipRecordIf...»,此时«SkipRecordIf...»位于«SkipRecordIf...»和«SkipRecordIf...»组成的锥角Γ之外,这样在«SkipRecordIf...»点附近的可行域内存在目标函数比«SkipRecordIf...»更小的设计点,故点«SkipRecordIf...»不能成为约束极值点。
图2-7b中,«SkipRecordIf...»点处的目标函数负梯度«SkipRecordIf...»位于锥角Γ之内,则在该点附近邻域内任何目标由数值比«SkipRecordIf...»更小的设计点都在可行域之外,因而«SkipRecordIf...»是约束极值点,它必然满足K-T条件:
K-T条件主要应用于约束极值问题的数值解法中,用以检验设计点«SkipRecordIf...»是否为约束极值点或局部最优点,并用以判断和消除那些不再起作用的约束条件,以保证在迭代中维持正确的起作用约束集合,对于目标函数和约束函数是凸函数的情况,符合K-T条件的点一定是全域最优点。
例2-3对于约束极值问题
试运用K-T条件验证点«SkipRecordIf...»为约束极值点。
图2-8例2-3图
解:
图2-8给出了出了«SkipRecordIf...»、«SkipRecordIf...»和«SkipRecordIf...»所确定的可行域,同时给出了«SkipRecordIf...»的几条等值线。
(1)计算«SkipRecordIf...»点的各个约束函数值
可见,在«SkipRecordIf...»处起作用的约束函数是«SkipRecordIf...»和«SkipRecordIf...»;
(2)求相关函数在«SkipRecordIf...»点的梯度
(3)将梯度代入K-T方程,求拉格朗日乘子
即:
λ1和λ2均为非负,满足K-T条件,因此«SkipRecordIf...»为约束极值点。
同时,由于«SkipRecordIf...»是凸函数,可行域是凸集,因此点«SkipRecordIf...»也是全域最优点。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 优化 设计 数学 基础 汇总