摘要:非线性约束优化问题在军事、经济、工程、管理以及生产工程自动化等方面都有重要的作用。在上世纪50 年代,非线性规划问题被作为一个独立的学科分出去了。在国际范围内,这方面的研究机构、书刊报纸等犹如雨后春笋般地出现,国际上的研究热情也在不断增加。在我国,电子计算机的广泛应用,非线性规划的理论和方法逐渐引起了许多部门的重视,也吸引了很多的研究热情。关于非线性规划理论和应用方面的学术交流活动也日益频繁,取得了一系列可喜的成绩,本文主要在简介非线性条件约束下的最优化问题的基础上,总结了目前比较常用的算法,并对于每一种算法的优缺点以及各自的应用领域进行了相关的总结。
关键词:非线性 约束优化 军事
非线性优化约束问题
定义:如果目标函数或者约束条件中至少有一个是非线性函数时的最优化问题就叫做非线性规划问题。
非线性规划问题的数学模型可以具有不同的形式,但由于我们可以自由地实现不同形式之间的转换,因此我们可以用如下一般形式来加以描述:
其中是维欧氏空间中的向量点。
又因等价于两个不等式:
;
因此非线性规划的数学模型也可以表示为:
非线性优化约束问题的若干算法研究
2.1 制约函数算法
制约函数法是通过加到非线性规划目标函数上的某种制约函数,将约束极值问题转化为无约束极值问题的一类算法。由于制约函数需要求解一系列无约束极值问题,故也称为序列无约束极小化技术,简记为SUMT (Sequential Unconstrained Minimization Technique)。常用的制约函数有两种基本类型,一类为惩罚函数(也称为外点法),另一类为障碍函数(也称为内点法)。
2.1.1 外点法
考虑非线性规划,为求其最优解,构造一个函数,现把当作所构造函数的自变量来看待,显然当(代表可行域)时,();当时,。再构造一个函数,求解,假设该问题有最优解,则(),即最优解一定是可行解。因此,不仅是的极小解,同时也是原函数的极小解。这样一来,就把约束极值问题转化成了无约束极值问题。
用上述方法构造的函数在处不连续,更不存在导数。为此,将修改为:
修改后的在处连续且导数为“0”;而且及其导数对任何都连续。当时,仍有;当时,。取一个充分大的正数,将修改为:
从而可使的解为原问题的极小解或近似极小解。若,则必定是原问题的极小解。事实上,对于所有的都有:
即当时,有。
式中的函数称为惩罚函数,第二项称为惩罚项,称为惩罚因子。若对于某一惩罚因子,如果,就加大惩罚因子的值。随着惩罚因子数值的增加,惩罚函数中的惩罚项所起的作用随之增大,的解与约束集的“距离”也就越来越近。当序列“”趋于无穷时,点列就从可行域的外部趋于原问题的极小点,这里假设点列收敛。
2.1.2 内点法
外点法的最大特点是其初始点可以任意选择(不要求是可行点),这虽然给计算带来了很大的方便;但是如果目标函数在可行域外比较复杂,甚至根本没有定义,外点法就无法使用了。内点法与外点法不同,它要求迭代过程始终建立在可行的基础之上;即在可行域的内部选取一个初始点,并在可行域的边界上设置一道“屏障”,当迭代过程靠近可行域的边界时,新的目标函数值迅速增大,从而使迭代点始终保持在可行域的内部。
仿照外点法,通过函数叠加的办法来改造原有目标函数,使改造后的目标函数(称为障碍函数)具有这样的性质:在可行域的内部与边界面较远的点上,障碍函数与原目标函数应尽可能地接近;而在接近边界面的点上,障碍函数取相当大的数值。可以想象,满足这种要求的障碍函数,其极小值自然不会在可行域的边界上达到;这就是说,用障碍函数来代替(近似)原目标函数,并在可行域的内部使其极小化。虽然可行域是一个闭集,但因极小点不在闭集的边界上,因而障碍函数实际上已使约束极值问题转化为了无约束极值问题。
根据上述分析,一个约束非线性规划问题,可以转化为下述一系列无约束非线性规划问题: 称为障碍因子。从障碍项的构成不难看出,在可行域的边缘上,至少有一个,从而有为无穷大。
如果从可行域内部的某一点出发,按无约束极小化方法对式进行迭代(注意:在进行一维搜索时要适当控制步长,以免迭代跨越的边界),则随着的逐步减少()障碍项所起到的作用也越来越小,因而所求出的的解也逐步逼近原问题的极小解。若原问题的极小解在可行域的边界上,则随着的逐步减少(障碍作用越来越小)所求出的障碍函数极小解不断靠近边界,直到满足某一特定的精度要求。
2.2 无约束非线性优化
求解无约束极值问题通常采用迭代法,迭代法可大体分为两大类:一类要用到函数的一阶导数和(或)二阶导数,由于此种方法涉及函数的解析性质,故称为解析法;另一类在迭代过程中只用到函数的数值,而不要求函数的解析性质,故称为直接法。一般来讲,直接法的收敛速度较慢,只有在变量较少时才能使用。当然,直接法也有其自身的长处,那就是它的迭代过程简单,并能处理导数难以求得或根本不存在的函数极值问题。
2.2.1 梯度法(最速下降法)
假设无约束极值问题的目标函数有一阶连续偏导数,且具有极小点;以表示极小点的第次近似,为了求其第次近似点,在点沿方向作射线+,在此 称为步长并且。现将在处作泰勒展开,有:
其中0()是 的高阶无穷小。对于充分小的 ,只要
即可保证。此时,若取
就一定能使目标函数得到改善。
现在考察不同的方向,假设的模一定且不为零,并设(否则是平稳点);那么,使式(4)成立的有无穷多个,为了使目标函数能得到尽量大的改善,必须寻求能使取最小值的。
由于=,当与反向(即)时,取最小值。被称为负梯度方向,在的某一小的邻域内,负梯度方向是使函数值下降最快的方向。
为了得到下一个近似点,在选定搜索方向之后,还要确定步长 。的计算可以采用试算法,即首先选取一个 值进行试算,看它是否满足不等式;如果满足就迭代下去,否则缩小 使不等式成立。由于采用负梯度方向,满足该不等式的 总是存在的。
另一种方法是通过在负梯度方向上的一维搜索,来确定使得最小的k,这种梯度法就是所谓的最速下降法。
2.2.2 牛顿法
利用必要条件来确定驻点的一个障碍是在求解联立方程时存在困难。牛顿法是解非线性联立方程的一种迭代程序,是前述梯度法的一部分。
若非线性目标函数具有二阶连续偏导,在为其极小点的某一近似,在这一点取的二阶泰勒展开,这种方式求得函数极小点的方法被称为牛顿法,式中所示的搜索方向被叫做牛顿方向。
2.2.3 变尺度法
变尺度法是最近发展起来的求解无约束极值问题的一种比较有效的方法。其优点如下:(1)避免了计算二阶导数矩阵及其求逆过程;(2)较之梯度法收敛的速度快,特别是对高维问题具有显著的优越性。
由于在实际问题中,目标函数往往较为复杂,这样的情况下,计算二阶导数矩阵及其逆矩阵非常困难,因此,确定牛顿方向也会存在很大的障碍。为了避免计算二阶导数矩阵及其逆矩阵,我们可以设法构造另一个矩阵来不断逼近二阶导数矩阵的逆矩阵。为实现逼近的目的,的构造应遵循如下三条原则:
(1)每一步均能按已有的信息确定下一个搜索方向;
(2)每一步迭代均能使目标函数有所下降;
(3)近似矩阵最终应收敛于解点处的海赛矩阵的逆矩阵。
对于非二次函数,仿照二次函数的情形,要求其海赛矩阵逆阵的第次近似矩阵应满足:
设想的一种简单形式为:
后式中和是两个待定的向量,将后式代入前式可得: 对照等式两端,可以推断:由于应为对称矩阵,最简单的办法就是取: 设和均不为“0”,则有:从而可以得到:此式被称为尺度矩阵,在整个迭代过程中尺度矩阵是不断变化的,因此该方法称为变尺度法。通常取初始的尺度矩阵为单位矩阵,以后的尺度矩阵按此式逐步形成。
2.3 有约束非线性优化
大多数的工程最优化问题,其变量的取值是受到一定限制的,这种限制是通过约束条件来实现的。带有约束条件的极值问题称为约束极值问题(也成为规划问题)。求解约束极值问题要比求解无约束极值问题困难得多。对极小化问题来说,除了要使目标函数每次迭代都有所下降外,还必须要时刻注意解的可行性(某些算法除外),这就给优化工作带来了许多困难。为了简化优化工作,通常采用如下转化思路:
(1)将约束极值问题转化为无约束极值问题;
(2)将非线性规划问题转化为线性规划问题;
(3)将复杂的问题分解为若干简单问题。
3、讨论
我们曾经接触过的线性规划及其扩展问题的约束条件和目标函数都是关于决策变量的一次函数。虽然大量的实际问题可以简化为线性规划及其扩展问题来求解,但是还有相当多的问题很难用线性函数加以描述。现实应用中,会存在很多非线性约束条件下的最优化问题。由于人们对实际问题解的精度要求越来越高,非线性规划自20世纪70年代以来得到了长足的发展;目前,已成为运筹学的一个重要分支,在管理科学、最优设计、系统控制等许多领域得到了广泛的应用。上述的几种算法在正常解决问题的过程中都有着非常重要的运用,当然真正的解决方法还有很多,本文不做一一介绍。希望本文对于非线性约束下的优化问题研究具有指导作用。
原创文章,作者:sowenn,如若转载,请注明出处:http://www.diyilunwen.com/lwfw/jsll/4757.html