当前位置:文档之家› 带约束的非线性优化问题解法小结

带约束的非线性优化问题解法小结

(1)带约束的非线性优化问题解法小结考虑形式如下的非线性最优化问题(NLP):min f(x)「g j (x )“ jI st 彳 g j (x)=O j L其 中, ^(x 1,x 2...x n )^ R n, f : R n > R , g j :R n > R(j I L) , I 二{1,2,…m }, L ={m 1,m 2...m p}。

上述问题(1)是非线性约束优化问题的最一般模型,它在军事、经济、工程、管理以 及生产工程自动化等方面都有重要的作用。

非线性规划作为一个独立的学科是在上世纪 50年 代才开始形成的。

到70年代,这门学科开始处于兴旺发展时期。

在国际上,这方面的专门性 研究机构、刊物以及书籍犹如雨后春笋般地出现,国际会议召开的次数大大增加。

在我国, 随着电子计算机日益广泛地应用,非线性规划的理论和方法也逐渐地引起很多部门的重视。

关于非线性规划理论和应用方面的学术交流活动也日益频繁,我国的科学工作者在这一领域 也取得了可喜的成绩。

到目前为止,还没有特别有效的方法直接得到最优解,人们普遍采用迭代的方法求解: 首先选择一个初始点,利用当前迭代点的或已产生的迭代点的信息,产生下一个迭代点,一 步一步逼近最优解,进而得到一个迭代点列,这样便构成求解( 1)的迭代算法。

利用间接法求解最优化问题的途径一般有:一是利用目标函数和约束条件构造增广目标 函数,借此将约束最优化问题转化为无约束最优化问题,然后利用求解无约束最优化问题的 方法间接求解新目标函数的局部最优解或稳定点,如人们所熟悉的惩罚函数法和乘子法;另 一种途径是在可行域内使目标函数下降的迭代点法,如可行点法。

此外,近些年来形成的序 列二次规划算法和信赖域法也引起了人们极大的关注。

在文献[1]中,提出了很多解决非线性 规划的算法。

下面将这些算法以及近年来在此基础上改进的算法简单介绍一下。

1. 序列二次规划法序列二次规划法,简称SQ 方法.亦称约束变尺度法。

这类方法最早从1963年 Wilson 的研 究开始,70年代由Har 与Powell 做了奠基性的工作,经过二十几年的发展,目前已形成了一个 理论上比较完整,计算上可行的WE 方法。

它是目前公认的求解约束非线性优化问题的最有效 方法之一,得到广泛的重视及应用。

但这种方法也有其不足之处,即其迭代过程中的每一步 都需要求解一个或多个二次规划的子问题。

一般地,由于二次子规划的求解难以利用原问题 的稀疏性、对称性等良好特性,随着问题规模的扩大,其计算工作量和所需存贮量是非常大 的。

因此,目前的序列二次规划方法一般只适用于中小型问题。

另外,由于大型二次规划问 题的求解通常使用迭代法,所需解的精度越高,花费的时间就越多,稳定性也越差,相对线 性方程组的求解理论来说,二次规划的求解方法是不完善的,这就严重影响了序列二次规划 算法的效率。

针对上述问题,近年来国际上,特别是国内部分研究工作者[2,3,4,5,6]开展了序列线性 方程组(Seque ntial Systems of Lin ear Equatio ns ,简记SSLE)算法的研究,试图用若干同 系数线性方程组代替二次子规划以求得迭代方向,在保证与序列二次规划算法具有相同收敛 性质的情况下,大大减少了每步的计算工作量,提高算法的稳定性。

从目前己有结果来看, 该类算法是有效的,具有很大的潜力,值得开展进一步的研究工作。

下面分别就问题(1)的SQP算法和SSL 算法作一介绍1.1 . SQ 算法在国内外研究学者的共同努力下,SQ 算法的研究工作已经十分丰富,大量文献不断问世,不少成果[7,8,9,10,11]相继出现。

它的一个重要优点就是:如果沿着二次规划子问题的解方 向搜索最终能得到步长为1,那么算法就是超线性收敛的.下面给出一般的SQ 算法的基本步骤[1] .步一:给定初始点x o • R n,选取正定矩阵B o ,令k = 0. 步三:令X k %二兀“d k (九-0).步四:修正B k ,使B k d 正定,令^k 1,返回步三.1.2. SSLE 算法SSL 算法是近年来发展起来的新算法,该算法的基本思想是 :将序列二次规划方法中的一个或多个二次子规划用一个或多个线性方程组来取代,在保持算法具有快速收敛性质的同 时,能充分利用求解线性方程组的一些优点,寻求一些求解非线性最优化问题的新算法。

此 类算法每一步迭代只需求解几个系数矩阵相同的线性方程组,即只需做一次 LU 分解,因此每 一次迭代的计算量要比现有的SQ 算法少得多.数值实验表明,该算法具有迭代时间少,存贮 量小,数值稳定且收敛速度快等优点,特别对大规模非线性规划问题的求解较为有效[12] o 在 与实际相关的许多优化问题中,通常要求算法每一次迭代产生的点都是可行点[13,2,14,15], 而一般来说,SQ 算法产生的点是不可行的,因此SSLEf 法对于求解这类实际问题更具有重要 意义。

由于SSLEf 法是近年来发展起来的新算法,与SQ 算法最新成果相比还有许多工作有待 进一步研究.2. 信赖域算法信赖域方法是一类很新的方法,它和线搜索法并列为目前求解非线性规划问题的两类主 要数值方法.信赖域方法思想新颖,算法可靠,具有很强的收敛性 [16][17][18]. 它不仅能很 快地解决良态问题,而且也能有效地求解病态 (ill-conditioned) 的优化问题.因而对信赖域 方法的研究是近二十年来非线性规划领域的一个重要的研究方向,是当今寻求如何构造新的 优化计算方法的主要途径.信赖域方法的研究起源于Powell 1970年的工作[19],信赖域的大小是通过迭代逐步调节 的.一般来说,如果在当前迭代模型较好地通近原问题, 则信核城可扩大,否则信赖域应缩小. 1982年,国际著名优化专家R.Fletcher 提出了用信赖域法求解复合非光滑优化问题[20].1986 年,袁亚湘和Powell 合作,构造了利用R.Flet.che :光滑罚函数[18]作为价值函数的信赖域方 法[21].这是第一个利用光滑价值函数的信赖域方法.1991年,袁亚湘和J.Nocedal 合作,首创 性地提出了用信赖域方法和传统的线搜索方法相结合来构造新的计算方法,并依次给出了一 个利用信赖域以及回溯(back-tracking) 技巧的求解无约束优化的算法[22].这是综合了两大类方法之优点的一个大胆试探.另外,他在1993年还提出了利用L_精确罚函数处理约束优化的 信赖域方法[23].数学工作者们还提出了另外几种类型的方法,比如 :曲线搜索信赖域算法min 步二:求解子规划Q(X k ,Bj(即sti f (x k )T d -d TB k d 2 g j (xQ '、g j (xQ T d 乞0, j I ),得到d k . g j (xj i g j (xQ Td =0, j • L[24],即它在信赖域范围内采用曲线路径搜索下一个迭代点而得到具有整体收敛性的算法 ; 自适应的信赖域算法[25][26][27],即每次迭代时都充分利用当前迭代点的信息自动产生一 个恰当的信赖域半径,在此区域内,二次模型与目标函数尽可能一致,从而避免了盲目的搜 索尝试,提高了计算效率•目前,已有学者将具有并行性能的遗传算法(GA)用于求信赖域子问 题的解,并建立起一种具有全局随机搜索性能的信赖域遗传算法 [28].下面给出信赖域算法的 一般步骤[29]:Stepl.初始化选取初始点x n ,对称阵B o R n ,最大信赖域半径二0 ;取初始信赖域半径二0 • (0,二),容许误差;_0,参数 "0,1/ 4);置k = 0。

Step2.收敛性检验若|八广12—,则x k为近似最优解,算法停止;否则,求解 k T1 T 捫叫(df+^fk 门+尹恥(*),得到可能的移动量d k ,在求解(*)时,采用 i S.t ||d ||^A k 一种基于共轭梯度法的算法,即 Steilhaug.1) .初始化:取初始最优解d 0 = 0, g 0,初始搜索方向为r 0二-g 0,容许误差M 0, 置 k = 0。

2) .收敛性检验:若||g k 卜:;1,则取近似解d =d k ,算法停止;若||r k |B = (r k )T Br k乞0, 则沿着直线d =d k 十订k求解(*),得到一个满足||d ||2 = A 的近似解,算法停止;其他情形下, 令:k =||g k |2/||r k ||B ,d k1 =d k :k 「k ,若 ||d k『2」,则寻找步长 -0,使得 ||d k r k ||2 八, 并且令近似解d =d^ r k ,算法停止;否则,转3)。

3).迭代改进:令g k 1二g k * k Br k ,若|| g k 1|2 ; ||g 0 ||,则近似解d = d k1,算法停止;k1=-g k1「k r k,置 k 1 > k ,转 2)。

= f(x k )- f(x k d k ) = m k (0) -m k (d k)得到下降量比率。

令新的迭代点和信 匚=ARed k / PRed kStep4.校正矩阵 令f k 1f (x k 1),通过修正矩阵 3. 约束优化问题的可行算法否则,令 \ =||g k 1|£/||g k |2,r Step3.迭代改进"实际下降量 根据丿预期下降量下降量比率 ARed k PRed k 赖域半径分别为x k1 x k+d kx if 4 if'k ; kj ||d ||/4, 和也k 十=* min{2也k ,》}, △if if ,k ::1/4 3/4,||d k |F *。

else B k ,得到新的对称矩阵B k 1 ;置k k ,转Step2.在求解约束优化问题的算法中,可行算法是比较重要的一种。

它的迭代过程是从一个可行点迭代到另一个可行点。

这样的迭代过程一般通过两种策略来实现:由当前可行点产生可行下降方向,求步长,产生下一个可行点,即Zoutendijk可行方向法;还有一种是由当前可行点产生一个中间点,然后通过某种渠道得到一个新的可行点,即投影梯度算法。

3.1. Zoute ndijk 可行方向法Wolfe(1972)用实例说明了对于带线性约束的凸规划问题,Zoutendijk可行方向法产生的迭代点列不一定收敛到最优值点处,为从理论上证明Zoutendijk可行方向法的收敛性,Topkis 和Veinott(1967)对Zoutendijk可行方向法进行修正:在每一步迭代,将所有的约束都考虑进去。

得到了如下的Topkis-Veinott可行方向法来求解(1)。

相关主题