广西科学  2016, Vol. 23 Issue (5): 385-391   PDF    
约束优化问题稳定序列二次规划方法研究综述
刘美杏, 简金宝     
玉林师范学院,复杂系统优化与大数据处理广西高校重点实验室,广西 玉林 537000
摘要: 稳定序列二次规划(sSQP)方法由于在求解病态或退化约束优化问题获得理论与数值的突破性进展而备受关注,重要成果频繁问世.本文对近期国际上若干重要sSQP方法及其思想进行概述,包括罚函数型sSQP方法,滤子型sSQP方法和非精确恢复(IR)型sSQP方法等,并对约束优化问题sSQP方法的进一步研究进行探索性思考.
关键词: 约束优化问题     稳定序列二次规划     收敛速度    
An Overview of the Researches on Stabilized Sequential Quadratic Programming Methods for Constrained Optimization Problems
LIU Meixing , JIAN Jinbao     
Guangxi Colleges and Universities Key Lab of Complex System Optimization and Big Data Processing,Yulin Normal University,Yulin,Guangxi,537000,China
Abstract: The stabilized sequential quadratic programming (sSQP) methods attract great attention with respect to the theoretical and numerical breakthrough for solving ill-posed or degenerate constrained optimization problems,and many important references about sSQP methods were published.This paper gives an overview on some important sSQP methods,which mainly include penalty function type sSQP methods,filter type sSQP methods and inexact restoration (IR) type sSQP methods,and a few exploratory considerations for further study on sSQP methods are given.
Key words: constrained optimization problems     stabilized sequential quadratic programming     convergence rate    
0 引言

稳定序列二次规划(sSQP)方法作为序列二次规划(SQP)方法的重要扩展,致力于考虑子问题模型、假设条件、技术构造、收敛性质(全局收敛或收敛速度)与数值效果等方面的研究.尤其是对相对弱条件下的收敛速度与数值效果.值得注意的是,对于退化约束优化问题,当对应原始解的拉格朗日乘子不唯一时,快速收敛性的实现难度极大.自1998年,Wright[1]首次提出求解退化不等式约束优化的sSQP方法以来,以 Wright,Hager,Izmailov,Fernández,Solodov,Gill及Robinson等为代表的sSQP方法及理论研究发展迅速,取得系列成果.文献[1]的方法在每次迭代时需求解一个目标函数二次的极大极小问题,可等价转化为原始对偶空间上的稳定二次规划(QP)问题。该作者在二阶充分最优性条件(SOSC)、Mangasarian-Fromovitz约束规格(MFCQ)和严格互补等条件下,证明了sSQP方法的局部二次收敛性.文献[2]进一步改进文献[1]的sSQP方法,在SOSC和MFCQ等较弱的条件下,证明算法具备局部二次收敛性.Hager[3]对收敛性假设条件进行研究,仅在SOSC条件下获得文献[1]中算法的局部收敛性,并提出用一对不等式约束来表示等式约束,从而可将方法推广到一般约束优化问题.相比较,传统SQP方法对乘子唯一性有着较苛刻的要求,只能依靠严格MFCQ条件来保证.特别地,在等式约束情形下,迫使线性无关约束规格(LICQ)成立[4].文献[5]将sSQP方法推广到求解含等式与不等式约束的变分问题,当初始点充分靠近原始对偶稳定点时,仅需SOSC假设条件,实现了算法的超线性收敛性.对于等式约束优化问题,文献[6]在非临界乘子的条件下建立了超线性收敛的sSQP方法.文献[7]基于线性方程组,在无需LICQ和严格互补等较强的假设条件下,提出一个二次收敛的牛顿型sSQP方法,并给出了该方法超线性收敛的重要定理.文献[8]将拟牛顿型sSQP方法拓广到变分不等式问题,通过对Bregman距离极小化来更新矩阵信息,这样仅需要SOSC便可证明算法的超线性收敛性.

上述文献主要聚焦在最优解的局部范围内构造有效算法,并研究不同假设条件对其收敛速度的影响,建立了一批局部超线性收敛或二次收敛的sSQP方法.这些文献都侧重于局部收敛速度的分析,对算法全局优化策略(全局收敛性质)未做深入研究.而此问题正是实际应用和优化学者们希冀解决的问题,也是衡量最优化算法有效性的重要指标之一.近年来,尽管国内外不少学者对全局化sSQP方法潜心研究,但成果有限.本文主要介绍如下几类的全局sSQP算法:罚函数型sSQP方法[9-12]、滤子型sSQP方法[13]和IR型sSQP方法[14],并对约束优化问题sSQP方法的进一步研究进行探索性思考.

1 函数型sSQP方法

当前,对sSQP方法全局化策略的研究仍是一项极其具有挑战性的工作,其中约束优化sSQP方法全局化时罚函数的选取极其困难,这对于最优性或下降性影响甚大.Gill等[9]引入原始对偶广义增广拉格朗日(AL)函数,提出了一个求解等式约束加简单界约束优化问题的全局收敛sSQP方法.Izmailov等[11]充分利用AL方法的鲁棒性,在没有任何积极约束识别策略下构造了一个sSQP方法,并证明了算法的全局收敛性和局部收敛速度.随后,他们又在文献[12]中以原始对偶精确罚函数[15]为效益函数,提出了一个求解等式约束优化问题的sSQP方法,并分析了算法的全局收敛性和超线性收敛速度.下面参考文献[12],介绍一个具体的罚函数型sSQP算法.

考虑等式约束优化问题:

$\begin{align} & min~f\left( x \right) \\ & s.t.~h\left( x \right)=0 \\ \end{align}$ (1)

其中f(x):Rn→R,h(x)=(h1(x),…,hl(x))T:RnRl至少是二阶可微函数.令问题(1)的Lagrange函数为

$L\left( x,\lambda \right)=f\left( x \right)+\left\langle \lambda ,h\left( x \right) \right\rangle ,$ (2)

其中,符号<·,·> 表示向量内积运算.则问题(1)对应的一阶最优性条件为

$\frac{\partial L}{\partial x}\left( x,\lambda \right)=0,h\left( x \right)=0$ (3)

进而,定义函数Φ:Rn×RlRn×Rl,

$\Phi \left( x,\lambda \right)=\left( \frac{\partial L}{\partial x}\left( x,\lambda \right),h\left( x \right) \right)$ (4)

对一个给定的原始对偶迭代点(x,λ)∈Rn×Rl及稳定参数σ>0,考虑如下原始对偶空间上的sSQP子问题,并产生sSQP方向(ξ,η),

$\begin{array}{*{35}{l}} \underset{\left( \xi ,\eta \right)}{\mathop{\min }}\,\left\langle f\prime \left( x \right),\xi \right\rangle +\frac{1}{2}\left\langle \frac{{{\partial }^{2}}L}{\partial {{x}^{2}}}\left( x,\lambda \right)\xi ,\xi \right\rangle +\frac{\sigma }{2}{{\left\| \lambda +\eta \right\|}^{2}} \\ s.t.h\left( x \right)+h\prime \left( x \right)\xi -\sigma \eta =0, \\ \end{array}$ (5)

其中h′(x)=(▽h1(x),…,▽hl(x))T.

基于上述sSQP方向(搜索方向),文献[12]采用如下原始对偶效益 函数[15]φc1,c2:Rn×RlR,

$\begin{align} & {{\varphi }_{{{c}_{1}},{{c}_{2}}}}\left( x,\lambda \right)=\text{ }L\left( x,\lambda \right)+\frac{{{c}_{1}}}{2}{{\left\| h\left( x \right) \right\|}^{2}}+ \\ & \frac{{{c}_{2}}}{2}{{\left\| \frac{\partial L}{\partial x}\left( x,\lambda \right) \right\|}^{2}} \\ \end{align}$ (6)

此处选取适当罚参数c1>0,c2>0,可以保证由子问题(5)产生的sSQP方向是φc1,c2(x,λ)的下降方向.

由文献[16]和文献[17]知,原始对偶效益函数(6)是一个精确罚函数.即如果c2>0充分小,c1>0充分大,则φc1,c2(x,λ)任意稳定点都是问题(1)的稳定点;反之,如果最优性系统(3)的原始对偶解(x,λ)满足LICQ和SOSC等条件,则它必是罚函数φc1,c2(x,λ)的严格局部极小解.

为便于分析和陈述算法的收敛性条件,下面复述二阶充分条件(SOSC)(文献[12])以及临界Lagrangian乘子和非临界Lagrangian乘子[6, 18-19]等定义.记M(x)是由问题(1)在稳定点x处对应的Lagrangian乘子构成的集合.记号ker A,im A分别表示矩阵A的零空间和列空间,即ker A={d:Ad=0},im A={d:d=Ay}.

定义1λ称∈M(x)满足二阶充分条件(SOSC),如果

$\left\langle \frac{{{\partial }^{2}}L}{\partial {{x}^{2}}}\left( \bar{x},\bar{\lambda } \right)\xi ,\xi \right\rangle >0,\forall \xi \in ker~h\prime (\bar{x})\backslash \left\{ 0 \right\}.$ (7)

定义2λ称 ∈M(x)是临界乘子,如存在ξ∈ker h′(x)\{0},使得 $\frac{{{\partial }^{2}}L}{\partial {{x}^{2}}}\left( \bar{x},\bar{\lambda } \right)\xi \in im{{\left( h\prime (\bar{x}) \right)}^{T}}$ ,否则,称是非临界乘子.

显然,如λM(x)满足SOSC,则其是非临界乘子,故非临界乘子条件弱于SOSC.

算法1 (文献[12]中sSQP算法)

初始步 选取参数σ>0,c1>0,c2>0,C1>0,C2>0,δ>0,ρ>0,q>1,θ∈[0,1].固定连续函数(除了0点外函数值几乎处处为正)ψ1,ψ2,ψ3:R+R+.选取原始对偶初始点(x0,λ0)∈Rn×Rl,置k:=0.

步骤1 由(4)式计算Φk$\triangleq $Φ(xk,λk),若Φk=0,终止.

步骤2 令σk=min{σ,‖Φk‖},σ=σk,(x,λ)=(xk,λk),求解子问题(5)的KKT系统得到稳定点dk=(ξkk).若该系统无解,则进入步骤4.

步骤3 (i)如果

$\left\langle {{\varphi }_{{{c}_{1}},{{c}_{2}}}}\prime ({{x}^{k}},{{\lambda }^{k}}),{{d}^{k}} \right\rangle \le -\rho {{\left\| {{d}^{k}} \right\|}^{q}},$ (8)

则进入步骤5.

(ii)如果

$\left\| h({{x}^{k}}) \right\|\ge {{\psi }_{1}}({{\sigma }_{k}})$ (9)

$\left\langle h({{x}^{k}}),h\prime ({{x}^{k}}){{\xi }^{k}} \right\rangle \le -{{\psi }_{2}}(\|h({{x}^{k}})\|),$ (10)

则令c1=c1,k+δ,其中c1,k=c1(ρdkq;xk,λkkk).如果c1C1,进入步骤5;否则,令c1=C1,进入步骤4.

(iii)如果

$\left\| \frac{\partial L}{\partial x}({{x}^{k}},{{\lambda }^{k}}) \right\|\ge {{\psi }_{3}}({{\sigma }_{k}}),$ (11)

则令c2=c2,k+δ,其中c 2,k=c2(ρdkq;xk,λkkk,c1). 如果c2C2,进入步骤5;否则,令c2=C2.

步骤4 选取(n+l)阶对称正定矩阵Qk,计算方向dk=-Qkφc1,c2(xk,λk).

步骤5 计算αk=θj,此处j为满足不等式

$\begin{align} & {{\varphi }_{{{c}_{1}},{{c}_{2}}}}\left( \left( {{x}^{k}},{{\lambda }^{k}} \right)+{{\theta }^{j}}{{d}^{k}} \right)\le {{\varphi }_{{{c}_{1}},{{c}_{2}}}}\left( {{x}^{k}},{{\lambda }^{k}} \right) \\ & +{{\theta }^{j}}\left\langle \varphi {{\prime }_{{{c}_{1}},{{c}_{2}}}}({{x}^{k}},{{\lambda }^{k}}),{{d}^{k}} \right\rangle \\ \end{align}$ (12)

的最小非负整数.

步骤6 令(xk+1,λk+1)=(xkk)+αk dk,k:=k+1,返回步骤1.

在算法1的迭代过程中,常量值C1,C2的设置对该算法的执行有着重要的防御作用.一般地,这两个数值应该取足够大,方能保证罚参数c1,c2的更新法则不受影响.为了增强算法设计的有效性,当子问题(5)KKT系统无解或步骤3的任一情形都不被执行时,算法1执行步骤4的拟牛顿步防御措施,以修正sSQP方向使之具有下降性,从而算法具有良好的适定性和全局收敛性质.当初始点充分靠近稳定点时,仅需要非临界Lagrangian乘子假设,即可证明算法1的超线性收敛.对退化测试问题,算法1表现出了良好的数值效果.

2 滤子型sSQP方法

滤子法是近20年提出的求解非线性约束优化的一种有效方法.该方法的提出是为了避免在实际问题中设置罚参数.早期滤子法的研究归功于Fletcher和Leyffer[20],随后该方法因良好的数值效果而备受关注,近期代表成果见文献[21-23]等.文献[13]对稳定QP子问题进行修正,并结合双滤子技术[21]提出了求解一般约束优化问题的滤子型sSQP方法.下面对文献[13]中的算法进行分析.

考虑如下一般非线性规划问题:

$\begin{array}{*{35}{l}} min~f\left( x \right) \\ s.t.~{{h}_{\varepsilon }}\left( x \right)=0, \\ {{h}_{I}}\left( x \right)\le 0 \\ \end{array}$ (13)

其中,hε(x)=(hi(x),iε),hI(x)=(hi(x),iI),ε= {1,2,·s,l},I= {l+1,l+2,·s,m},f:RnR,hi:RnR,iεI为连续可微函数.定义问题(13)的Lagrangian函数L(x,μ)为

$L\left( x,\mu \right)=f\left( x \right)+\sum\limits_{i\in \varepsilon \cup I}^{{}}{{}}{{\mu }_{i}}~{{h}_{i}}\left( x \right).$ (14)

这里μ=(μ1,μ2s,μm)T是Lagrangian乘子向量.

对于当前给定的原始对偶估计迭代点对(xkL,k),求解如下修正的稳定QP子问题:

$\begin{array}{*{35}{l}} \begin{align} & \underset{\left( d,\Delta \lambda \right)}{\mathop{min}}\,\text{ }f\prime {{\left( {{x}^{k}} \right)}^{T}}d+\frac{1}{2}{{d}^{T}}{{B}^{k}}d+\frac{{{\sigma }^{L,k}}}{2}\left\| {{\mu }^{L,k}}+ \right. \\ & {{\left. \Delta \lambda \right\|}^{2}} \\ \end{align} \\ s.t.{{h}_{\varepsilon }}\left( {{x}^{k}} \right)+h{{\prime }_{\varepsilon }}{{\left( {{x}^{k}} \right)}^{T}}d-{{\sigma }^{L,k}}\Delta {{\lambda }_{\varepsilon }}=0, \\ {{h}_{I}}\left( {{x}^{k}} \right)+h{{\prime }_{I}}{{\left( {{x}^{k}} \right)}^{T}}d-{{\sigma }^{L,k}}\Delta {{\lambda }_{I}}\le 0. \\ \end{array}$ (15)

其中,σL,k是稳定参数,Bk是▽xx2L(xkL,k)的近似对称正定矩阵.当Bk=▽xx2L(xkk),μL,k=μkL,k=σ(xkk)时,其中

$\sigma \left( {{x}^{k}},{{\mu }^{k}} \right)=\left\| \left( \begin{align} & {{\nabla }_{x}}L\left( {{x}^{k}},{{\mu }^{k}} \right) \\ & {{h}_{\varepsilon }}\left( {{x}^{k}} \right) \\ & \min \left\{ -{{h}_{I}}\left( {{x}^{k}} \right),\mu _{I}^{k} \right\} \\ \end{align} \right) \right\|,$ (16)

问题(15)是一个传统的稳定QP子问题模型. 源于算法良好的收敛性质,设计了两种乘子更新方式,其中μL,k保证全局收敛,μk则满足局部收敛的需求.类似地,考虑BkσL,k的更新准则.

基于问题(15)的解(dkλk),定义原始对偶搜索方向(dkμk)(此处Δμkλk+μL,k-μk),此方向对算法收敛性理论分析有着重要的作用,其等价于求解如下相容的稳定QP子问题:

$\begin{array}{*{20}{l}} \begin{array}{l} \mathop {min}\limits_{\left( {d,\Delta \lambda } \right)} {\mkern 1mu} {\rm{ }}f\prime {\left( {{x^k}} \right)^T}d + \frac{1}{2}{d^T}{B^k}d + \frac{{{\sigma ^{L,k}}}}{2}\left\| {{\mu ^{L,k}} + } \right.\\ {\left. {\Delta \mu } \right\|^2} \end{array}\\ \begin{array}{l} s.t.{h_\varepsilon }\left( {{x^k}} \right) + h{\prime _\varepsilon }{\left( {{x^k}} \right)^T}d - {\sigma ^{L,k}}\left( {\mu _\varepsilon ^k + \Delta {\mu _\varepsilon } - } \right.\\ \left. {\mu _\varepsilon ^{L,k}} \right) = 0, \end{array}\\ {{h_{\rm I}}\left( {{x^k}} \right) + h{\prime _{\rm I}}{{\left( {{x^k}} \right)}^T}d - {\sigma ^{L,k}}\left( {\mu _\varepsilon ^k + \Delta {\mu _\varepsilon } - \mu _\varepsilon ^{L,k}} \right) \le 0.} \end{array}$ (17)

在设计非线性规划问题(13)的有效算法时,除需要对目标函数进行极小化,同时要不断降低约束违反度函数:

$\tilde{h}\left( x \right)=\sum\limits_{i=1}^{l}{{}}\left| {{h}_{i}}\left( x \right) \right|+\sum\limits_{i=l+1}^{m}{{}}max\{{{h}_{i}}\left( x \right),0\}.$ (18)

然而,搜索方向(dkμk)难以直接达到这样的要求.因此,引入如下辅助目标函数Φ(x,μ)和松弛约束违反度函数 p(x,μ):

$\Phi \left( x,\mu \right)=f\left( x \right)+\frac{{{\sigma }^{L,k}}}{2}\|\mu {{\|}^{2}},$ (19)
$\begin{align} & p\left( x,\mu \right)=\sum\limits_{i=1}^{l}{{}}\left| {{h}_{i}}\left( x \right)-{{\sigma }^{L,k}}\left( {{\mu }_{i}}-{{\mu }_{i}}^{L,k} \right) \right|+ \\ & \sum\limits_{i=l+1}^{m}{{}}max\{{{h}_{i}}\left( x \right)-{{\sigma }^{L,k}}({{\mu }_{i}}-{{\mu }_{i}}^{L,k}),0\}. \\ \end{align}$ (20)

进而引进双滤子技术(基于文献[21],但有所改进),包括“全局滤子”和“局部滤子”.前者致力于算法收敛于KKT点或稳定点,后者以实现其局部收敛速度.对于第k次迭代,“全局滤子”和“局部滤子”分别记为Fgk,Flk.

定义3[13] 称点对( $\hat{x},\hat{\mu }$ )被“全局滤子”元(xll)或(p(xll),Φ(xll))接受,如果它满足如下两个不等式之一:

$p({{x}^{l}},{{\mu }^{l}})-p\left( \hat{x},\hat{\mu } \right)\ge {{\gamma }_{1}}~{{\left[ p\left( \hat{x},\hat{\mu } \right) \right]}^{2}},$ (21)
$\Phi ({{x}^{l}},{{\mu }^{l}})-\Phi \left( \hat{x},\hat{\mu } \right)\ge {{\gamma }_{2}}{{\left[ p\left( \hat{x},\hat{\mu } \right) \right]}^{2}},$ (22)

此处γ1,γ2∈(0,1).

定义4[13] 称点对( $\hat{x},\hat{\mu }$ )为“全局滤子”元,如果它被“全局滤子”所有元素(p(xll),Φ(xll))接受.

定义5[13] 称点对( $\hat{x},\hat{\mu }$ )被“局部滤子”元(xll)或(h(xl),f(xl))接受,如果它满足下面两个不等式之一:

$\begin{align} & \tilde{h}({{x}^{l}})-\tilde{h}(\hat{x})\ge max\{{{\gamma }_{1}}\tilde{h}{{(\hat{x})}^{2}},min\{{{\gamma }_{3}},\sigma ({{x}^{l}}, \\ & {{\mu }^{l}})\}\}, \\ \end{align}$ (23)
$\begin{align} & f({{x}^{l}})-f(\hat{x})\ge max\{{{\gamma }_{2}}{{(\hat{x})}^{2}},min\{{{\gamma }_{3}},\sigma ({{x}^{l}}, \\ & {{\mu }^{l}})\}\}, \\ \end{align}$ (24)

此处γ3>0是一个常数.

定义6[13] 称点对( $\hat{x},\hat{\mu }$ )为“局部滤子”元,如果它被“局部滤子”所有元素(h(xl),f(xl))接受.

对于问题(13)及当前迭代点对(xkk),求解稳定QP子问题(17)得到搜素方向(dkμk),并沿着此方向和步长α,分别定义函数Φ的实际下降量和线性预测下降量:

$\begin{align} & \Delta {{\Phi }^{k}}\left( \alpha \right)=\Phi \left( {{x}^{k}},{{\mu }^{k}} \right)-\Phi \left( {{x}^{k}}+\alpha {{d}^{k}},{{\mu }^{k}}+\alpha \Delta {{\mu }^{k}} \right), \\ & \Delta l_{\Phi }^{k}\left( \alpha \right)=-\alpha \left[ {{f}^{'}}{{\left( {{x}^{k}} \right)}^{\text{T}}}{{d}^{k}}+{{\sigma }^{L,k}}{{\left( {{\mu }^{k}} \right)}^{\text{T}}}{{\mu }^{k}} \right]. \\ \end{align}$

${\hat{x}}$ =xk+αdk, $\hat{\mu }~$ =μk+αΔμk,当试探步长α=1时,定义KKT误差下降条件:

$v\sigma \left( \hat{x},\hat{\mu } \right)\le \tau {{\sigma }^{L,k}},\tau \in \left( 0,\frac{1}{2} \right),v>0.~$ (25)

此外,文献[13]结合“全局滤子”接受条件,进一步利用回溯技术选择了恰当的步长αk,判断条件和步长下界.

开关条件:

$\Delta l_{\Phi }^{k}({{\alpha }^{k}})\ge \delta {{[p({{x}^{k}},{{\mu }^{k}})]}^{2}},\delta \in \left( 0,\infty \right).~$ (26)

充分下降条件:

$\Delta {{\Phi }^{k}}({{\alpha }^{k}})\text{ }\ge \tau \Delta l_{\Phi }^{k}({{\alpha }^{k}}),~$ (27)
$\left\{ \begin{array}{l} min\{ {\gamma _1},\frac{{ - min\{ {\gamma _2}p({x^k},{\mu ^k}),\delta {{[p({x^k},{\mu ^k})]}^2}\} }}{{f\prime {{({x^k})}^T}{d^k} + {\sigma ^{L,k}}{{({\mu ^k})}^T}\Delta {\mu ^k}\} }},\\ 若f\prime {({x^k})^T}{d^k} + {\sigma ^{L,k}}{({\mu ^k})^T}\Delta {\mu ^k} < 0;\\ \alpha ,{\rm{否则}}. \end{array} \right.$ (28)

其中,常数α∈(0,1).

对于原始对偶迭代点对( $\hat{x},\hat{\mu }$ ),如果它被局部滤子接受,或者满足KKT误差下降条件(25),或者满足如下近似松弛一阶条件:

$\psi \left( \hat{x},\hat{\mu } \right)\le \in _{\sigma }^{k}$ (29)

其中,

$\begin{array}{l} \psi \left( {\hat x,\hat \mu } \right): = \\ \left\| {\left( \begin{array}{l} {\nabla _x}L\left( {\hat x,\hat \mu } \right)\\ {h_\varepsilon }\left( {\hat x} \right) - {\sigma ^{L,k}}({{\hat \mu }_\varepsilon } - \mu _\varepsilon ^{L,k})\\ \min \left( { - {h_I}\left( {\hat x} \right) + {\sigma ^{L,k}}\left( {{{\hat \mu }_\varepsilon } - \mu _I^{L,k},{{\hat \mu }_I}} \right)} \right) \end{array} \right)} \right\|, \end{array}$ (30)

则序列{∈σk}下降趋于0.构造Lagrange乘子μL,k和稳定参数σL,k的更新准则:

$\left\{ \begin{align} & {{\mu }^{L,k+1}}:=\hat{\mu },若{{\left\| {\hat{\mu }} \right\|}_{\infty }}~\le {{\mu }_{max}}, \\ & {{\mu }^{L,k}},否则. \\ \end{align} \right.$ (31)
${{\sigma }^{L,k+1}}=min\left\{ \beta {{\sigma }^{L,k}},\upsilon \sigma \left( \hat{x},\hat{\mu } \right) \right\},$ (32)

其中,μmax>0,β∈(0,1)是两个常数.

下面给出求解问题(13)的滤子型sSQP算法.

算法2 (文献[13]中sSQP算法之外循环)

初始步 选取初始点x0Rn,参数∈σ0>0,ul>0,ug>0,δ>0,γ3>0,μmax>0, α∈(0,1),γ1∈(0,1),γ2∈(0,1),r∈(0,1),τ∈ (0, $\frac{1}{2}$ ),β∈(0,1),μL,0=0,μ0=0,υ>0,σL,0>0,Fl0={(ul,-∞)},Fg0={(ug,-∞)},Flag=GLOBAL,置k:=0.

步骤1  如果(xkk)是问题(13)的KKT点或不可行稳定点,则终止.

步骤2 求解稳定QP子问题(17),产生原始对偶解(dkμk),令α=1, ${\hat{x}}$ =xkdk, ${\hat{\mu }}$ =μk+αΔμk.

步骤3 如果( $\hat{x},\hat{\mu }$ )被局部滤子接受或满足(25)式,则由准则(31)和(32)更新乘子μL,k+1和稳定参数σL,k+1,置Flag=LOCAL,Fgk+1={(ug,-∞)}.否则,进入步骤4.

步骤4 启动算法3(算法2之内循环),获得点对( $\hat{x},\hat{\mu }$ )和步长α.如果α<αmink,则令μk+1=μL,k,进入可行性恢复阶段并找到新的迭代点xk+1,使得(xk+1,μk+1)被全局滤子Fgk接受.μL,k+1,σL,k+1,∈σk+1,Bk+1保持不变.如果p(xkk)>0,则令k:=k+1,将(p(xkk),Φ(xkk))加入Fgk.

如果点对( $\hat{x},\hat{\mu }$ )满足(29)式,则由准则(31)和(32)更新μL,k+1σL,k+1,令Fgk+1={(ug,-∞)},∈σk+1=∈σk/10.否则,令μL,k+1=μL,k,σL,k+1=σL,k.

步骤5 如果($\hat x,\hat \mu $)被局部滤子接受,则将($\tilde h\left( {\hat x} \right),f\left( {\hat x} \right)$)加入Flk,更新局部滤子.否则,进入步骤6.

步骤6 令xk+1=,μk+1=,αk=α,k:=k+1,且Flag=GLOBAL,利用拟牛顿公式更新矩阵Bk+1,返回步骤1.

算法3(算法2之内循环)

步骤1 令=xk+α dk,=μk+αΔμk.如果ααmink,则进入步骤2;否则,终止.

步骤2 如果($\hat x,\hat \mu $)被全局滤子接受,则进入步骤3.否则令α=r α,返回步骤1.

步骤3 如果开关条件(26)不成立或充分下降条件(27)成立,则终止.否则令α=r α,返回步骤1.

利用双滤子技术,由算法2产生的所有迭代点均能被滤子接受(全局滤子或局部滤子),这对整个算法的收敛性质分析起到至关重要的作用.在理论上,不需要任何约束规格,即可证明:滤子型sSQP算法2不仅具有全局收敛性(存在收敛子列或收敛于KKT点,或收敛于不可行稳定点),而且在SOSC下,算法达到超线性收敛速度.

3 IR型sSQP方法

sSQP方法的研究最早可以追溯到20世纪末,虽然在适当的假设条件或技术下早期的研究成果实现了算法快速的收敛速度,但在理论上能实现全局收敛的成果较少.滤子型sSQP方法需储存滤子信息,会造成存储量大,而且当迭代点远离可行域,或者在迭代过程中当试探步长比既定下界要小时,为寻找一个能被全局滤子接受的新迭代点,需要执行可行性恢复阶段,这无疑增加算法计算成本,从而影响数值效果.然而,IR技术[24-27]可以减少可行性恢复阶段的复杂性,对sSQP算法的理论分析有着重要的作用.文献[14]提出了求解含等式且变量有界约束优化的IR型sSQP方法.下面详细介绍此算法.

考虑问题(1),且满足约束条件xΩ={xRn|axb},此处a,bRn.定义问题(1)的自然残差σ:Rn×RlR

$\sigma \left( x,\lambda \right)=\text{ }\left\| \left[ \begin{align} & {{P}_{\Omega }}\left( \text{ }x-\frac{\partial L}{\partial x}\left( x,\lambda \right) \right)-x \\ & h\left( x \right) \\ \end{align} \right] \right\|,$ (33)

其中,PΩ表示在Ω上的正交投影,L:Rn×Rl→R是Lagrangian函数(2).

对于原始对偶迭代点对(xkk),罚参数ρk>0及Qk,其中Qk是问题(1)Lagrangian Hesse的近似,考虑如下拟牛顿型sSQP子问题:

$\begin{align} & \underset{\left( \xi ,\lambda \right)}{\mathop{min}}\,\left\langle f\prime \left( {{x}^{k}} \right),\xi -{{x}^{k}} \right\rangle +\frac{1}{2}{{Q}_{k}}\left( \xi -{{x}^{k}} \right),\xi \\ & -{{x}^{k}}\text{ }+\frac{1}{2{{\rho }_{k}}}{{\left\| \lambda \right\|}^{2}} \\ & s.t.h\left( {{x}^{k}} \right)+h\prime {{\left( {{x}^{k}} \right)}^{T}}\left( \xi -{{x}^{k}} \right)-\frac{1}{{{\rho }_{k}}}\left( \lambda -{{\lambda }^{k}} \right)=0, \\ & \xi \in \Omega . \\ \end{align}$ (34)

为构造全局收敛算法,引入下面的辅助函数Fk(x,λ),Hk(x,λ):Rn × Rl→ R:

${{F}_{k}}\left( x,\lambda \right)=f\left( x \right)+\frac{1}{2{{\rho }_{k}}}{{\left\| \lambda \right\|}^{2}},$ (35)
${{H}_{k}}\left( x,\lambda \right)=h\left( x \right)-\frac{1}{{{\rho }_{k}}}(\lambda -{{\lambda }^{k}}).$ (36)

选取点Yk(x)=(x,λkkh(x)),易知Hk(Yk(x))=0,∀xRn,且对于Yk:=Yk(xk),Y:=(x,λ),sSQP子问题(34)等价于如下QP子问题:

$\begin{align} & \underset{Y}{\mathop{\min }}\,\left\langle {{F}^{\prime }}_{k}\left( {{Y}^{k}} \right),Y-{{Y}^{k}} \right\rangle +\frac{1}{2}\left\langle \left[ \begin{matrix} {{Q}_{k}} & 0 \\ 0 & \frac{1}{{{\rho }_{k}}}I \\ \end{matrix} \right](Y \right. \\ & \left. -{{Y}^{k}}),Y-{{Y}^{k}} \right\rangle \\ & s.t.{{H}^{\prime }}_{k}{{\left( {{Y}^{k}} \right)}^{T}}\left( Y-{{Y}^{k}} \right)=0,Y\in \Omega \times {{R}^{l}}. \\ \end{align}$ (37)

注意到Hk(Yk)=0.不难发现上述QP子问题(37)对应于优化问题:

$\begin{array}{*{35}{l}} \underset{Y}{\mathop{\min }}\,{{F}_{k}}\left( Y \right) \\ s.t.{{H}_{k}}\left( Y \right)=0,Y\in \Omega \times {{R}^{l}} \\ \end{array}$ (38)

的QP近似子问题.通过近似求解问题(37)可获得sSQP方法的局部收敛性质[3, 5].

对每次迭代,IR方法包括恢复阶段和极小化阶段.在恢复阶段,给定迭代点Xk,计算恢复点Yk,避免了目标函数值以及可行性恶化.在极小化阶段,基于可行性和最优性构造了一个含罚参数的效益函数,并沿着一阶可行方向进行线搜索.

下面给出IR型sSQP算法的具体步骤.

算法4(文献[14]中sSQP算法)

初始步 选取参数γ∈(0,1),r∈(0,1),ε>0,序列{∈k}满足∈k $\searrow $ 0,αLU>0.选取任意近似初始点X0=(x0,λ0)∈Ω×Rl,ρ0>0,ψ-1=σ(X0),置k:=0.对当前参数ρk,定义

$\begin{align} & {{\Pi }_{k}}\left( x,\lambda \right)=(x,max\{-{{\alpha }_{L}}\sqrt{{{\rho }_{k}}}e,min\{\lambda , \\ & {{\alpha }_{U}}\sqrt{{{\rho }_{k}}}e\}\}). \\ \end{align}$ (39)

步骤1 计算σ(Xk),若σ(Xk)≤,则终止.

步骤2 (i)令Xk,0=(xk,0,λk,0)=(xkk),θ0∈(0,1),Qk,0为对称正定矩阵,j:=0.

(ii)计算Yk,j=(xk,jk,j+ρk h(xk,j)),求解如下QP子问题,得到最优解Dk,jRn×Rl.

$\begin{align} & \underset{D}{\mathop{min}}\,\left\langle {{F}^{\prime }}_{k}\left( {{Y}^{k,j}} \right),D \right\rangle +\frac{1}{2}\left[ \begin{matrix} {{Q}_{k}} & 0 \\ 0 & \frac{1}{{{\rho }_{k}}}I \\ \end{matrix} \right]D,D \\ & s.t.{{H}^{\prime }}_{k}{{\left( {{Y}^{k,j}} \right)}^{T}}D=0,{{Y}^{k,j}}=D\in \Omega \times \text{ }{{R}^{l}}. \\ \end{align}$ (40)

如果‖Dk,j‖∈k,则令Xk+1=Πk(Yk,j+Dk,j),进入步骤3.

(iii) 令θj+1∈{2-i:iN∪{0}}为满足下面不等式的最大值:

$\begin{align} & {{\Phi }_{k}}\left( {{Y}^{k,j}},{{\theta }^{j+1}} \right)-{{\Phi }_{k}}\left( {{X}^{k,j}},{{\theta }^{j+1}} \right)\le \\ & \frac{\bar{r}-1}{2}\|{{H}_{k}}({{X}^{k,j}})\|, \\ \end{align}$ (41)

此处Φk(X,θ)=θFk(X)+(1-θ)‖Hk(X)‖是效益函数.

(iv) 令tj∈{2-i:iN∪{0}}为满足下面不等式的最大值:

$\begin{align} & {{\Phi }_{k}}\left( {{Y}^{k,j}}+{{t}_{j}}{{D}^{k,j}},{{\theta }^{j+1}} \right)-{{\Phi }_{k}}\left( {{X}^{k,j}},{{\theta }^{j+1}} \right)\le \\ & \frac{\bar{r}-1}{2}\|{{H}_{k}}({{X}^{k,j}})\|. \\ \end{align}$ (42)

(v) 令Xk,j+1=Yk,j+tjDk,j,选取对称正定矩阵Qk,j+1,令j:=j+1,返回步骤2(ii).

步骤3 更新罚参数,令ψk=min{ψk-1,σ(Xk)},如果‖h(xk+1‖>γh(xk‖)且σ(Xk+1)>γψk,则令ρk+1=10ρk.否则令ρk+1=ρk.令k:=k+1,返回步骤1.

事实上,基于IR方法的思想,算法4无需实质性地修正sSQP子问题(34)的结构,只需求解子问题(37)得到非精确解,然后巧妙利用类似增广拉格朗日(AL)罚参数更新策略(步骤3),即可获得算法的全局收敛性质.在严格MFCO和SOSC等条件下,可保证罚参数序列是有界的,进而算法继承了良好的局部收敛速度(线性收敛).

4 展望

本文对求解约束优化问题的若干sSQP方法的思想及算法作了一个较详细的概述,主要介绍了早期sSQP方法的局部收敛成果;近年来实现了全局收敛的罚函数型sSQP方法、滤子型sSQP方法和非精确恢复(IR)型sSQP方法.对sSQP方法还有如下一些问题值得思考和研究.

① 如何修正原始对偶罚函数型sSQP算法,在适当的假设条件下,将方法拓展到一般约束优化问题,并制成软件包使之得到广泛应用;

② 现有的滤子型sSQP算法考虑内点法求解一个与传统QP子问题相当的修正稳定QP子问题,无疑会在严格内点的选择和计算上遇到困难;加之滤子技术需要进入可行性恢复阶段,也会增加计算成本.因此,如何改进算法以减少计算量,有待进一步探讨;

③ 目前基于IR技术构造sSQP方法时,需要严格MFCQ和SOSC等条件以实现算法线性收敛,没有继承传统sSQP方法优点(具有快速收敛速度的鲁棒性),如何修正罚参数以更新技术等,建立超线性收敛的IR型sSQP方法值得进一步深入研究;

④ 求解大规模稀梳优化与工程优化 (如庞杂的电气工程中的潮流问题、机组合问题)的高效的sSQP方法有必要进一步探索.

参考文献
[1]
WRIGHT S J. Superlinear convergence of a stabilized SQP method to a degenerate solution[J]. Computational Optimization and Applications, 1998, 11(3): 253-275. DOI:10.1023/A:1018665102534
[2]
WRIGHT S J. Modifying SQP for degenerate problems[J]. SIAM Journal on Optimization, 2002, 13(2): 470-497. DOI:10.1137/S1052623498333731
[3]
HAGER W W. Stabilized sequential quadratic programming[J]. Computational Optimization and Applications, 1999, 12(1/2/3): 253-273.
[4]
IZMAILOV A F, SOLODOV M V. Newton-Type Methods for Optimization and Variational Problems:Springer Series in Operations Research and Financial Engineering[M]. Switzerland: Springer International Publishing, 2014.
[5]
FERNNDEZD, SOLODOV M. Stabilized sequential quadratic programming for optimization and a stabilized Newton-type method for variational problems[J]. Mathematical Programming, 2010, 125(1): 47-73. DOI:10.1007/s10107-008-0255-4
[6]
IZMAILOV A F, SOLODOV M V. Stabilized SQP revisited[J]. Mathematical Programming, 2012, 133(1/2): 93-120.
[7]
LI D H,QI L.A Stabilized SQP Method via Linear Equations[R].New South Wales:Mathematics Department,University of New South Wales,2000.
[8]
FERNNDEZ D. A quasi-Newton strategy for the sSQP method for variational inequality and optimization problems[J]. Mathematical Programming, 2013, 137(1/2): 199-223.
[9]
GILL P E, ROBINSON D P. A globally convergent stabilized SQP method[J]. SIAM Journal on Optimization, 2013, 23(4): 1983-2010. DOI:10.1137/120882913
[10]
GILL P E,KUNGURTSEV V,ROBINSON D P.A Globally Convergent Stabilized SQP Method:Superlinear Convergence[R].UCSD Center for Computational Mathematics Technical Report CCoM-13-4,2014.
[11]
IZMAILOV A F, SOLODOV M V, USKOV E I. Combining stabilized SQP with the augmented Lagrangian algorithm[J]. Computational Optimization and Applications, 2015, 62(2): 405-429. DOI:10.1007/s10589-015-9744-6
[12]
IZMAILOV A F, SOLODOV M V, USKOV E I. Globalizing stabilized sequential quadratic programming method by smooth primal-dual exact penalty function[J]. Journal of Optimization Theory and Applications, 2016, 169(1): 148-178. DOI:10.1007/s10957-016-0889-y
[13]
SHEN C G, ZHANG L H, LIU W. A stabilized filter SQP algorithm for nonlinear programming[J]. Journal of Global Optimization, 2016, 65(4): 677-708. DOI:10.1007/s10898-015-0400-6
[14]
FERNNDEZD, PILOTTA E A, TORRES G A. An inexact restoration strategy for the globalization of the sSQP method[J]. Computational Optimization and Applications, 2013, 54(3): 595-617. DOI:10.1007/s10589-012-9502-y
[15]
DI PILLO G, GRIPPO L. A new class of augmented Lagrangians in nonlinear programming[J]. SIAM Journal on Control and Optimization, 1979, 17(5): 618-628. DOI:10.1137/0317044
[16]
BERTSEKAS D P. Constrained Optimization and Lagrange Multiplier Methods[M]. New York: Academic Press, 1982.
[17]
BERTSEKAS D P. Enlarging the region of convergence of Newton’s method for constrained optimization[J]. Journal of Optimization Theory and Applications, 1982, 36(2): 221-252. DOI:10.1007/BF00933831
[18]
IZMAILOV A F, SOLODOV M V. On attraction of Newton-type iterates to multipliers violating second-order sufficiency conditions[J]. Mathematical Programming, 2009, 117(1/2): 271-304.
[19]
IZMAILOV A F, SOLODOV M V. Critical Lagrange multipliers:What we currently know about them,how they spoil our lives,and what we can do about it[J]. TOP, 2015, 23(1): 1-26. DOI:10.1007/s11750-015-0372-1
[20]
FLETCHER R, LEYFFER S. Nonlinear programming without a penalty function[J]. Mathematical Programming, 2002, 91(2): 239-269. DOI:10.1007/s101070100244
[21]
SHEN C G, LEYFFER S, FLETCHER R. A nonmonotone filter method for nonlinear optimization[J]. Computational Optimization and Applications, 2012, 52(3): 583-607. DOI:10.1007/s10589-011-9430-2
[22]
GOULD N I M, LOH Y, ROBINSON D P. A filter method with unified step computation for nonlinear optimization[J]. SIAM Journal on Optimization, 2014, 24(1): 175-209. DOI:10.1137/130920599
[23]
GOULD N I M, LOH Y, ROBINSON D P. Anonmon-otone filter SQP method:Local convergence and numerical results[J]. SIAM Journal on Optimization, 2015, 25(3): 1885-1911. DOI:10.1137/140996677
[24]
MARTÍNEZ J M, PILOTTA E A. Inexact-restoration algorithm for constrained optimization[J]. Journal of Optimization Theory and Applications, 2000, 104(1): 135-163. DOI:10.1023/A:1004632923654
[25]
MARTÍNEZ J M,PILOTTA E A.Inexact-restoration methods for nonlinear programming:Advances and perspectives[M]//Qi L Q,TEO K,YANG X Q (eds.).Optimization and Control with Applications.US:Springer,2005:271-291.
[26]
BIRGIN E G, MARTÍNEZ J M. Local convergence of an inexact-restoration method and numerical experiments[J]. Journal of Optimization Theory and Applications, 2005, 127(2): 229-247. DOI:10.1007/s10957-005-6537-6
[27]
FISCHER A, FRIEDLANDER A. A new line search inexact restoration approach for nonlinear programming[J]. Computational Optimization and Applications, 2010, 46(2): 333-346. DOI:10.1007/s10589-009-9267-0