惩罚函数的乘子法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2013-2014(1)专业课程实践论文题目:惩罚函数的乘子法

一、算法理论

乘子法是Powell 和Hestenes 于1969年针对等式约束优化问题同时独立提出的一种优化算法,后于1973年经Rockfellar 推广到求解不等式约束优化问题。其基本思想是从原问题的拉格朗日函数出发,再加上适当的罚函数,从而将原问题转化为求解一系列的无约束优化子问题。由于外罚函数法中的罚参数

+∞→k σ ,因此增广目标函数变得“越来越病态”。增广目标函数的这种病态性质是外罚函数法的主要缺点, 而这种缺陷在乘子法中由于引入拉格朗日函数及加上适当的罚函数而得以有效的克服。

我们考虑同时带有等式和不等式约束的优化问题的乘子法:

()()(),

,,1,0,,,1,0..,

min m i x g l i x h t s x f i i =≥==

其基本思想是把解等式约束优化问题的乘子法推广到不等式约束优化问题,即先引进辅助变量把不等式约束化为等式约束,然后再利用最优性条件消去辅助变量。为叙述的方便计,我们先考虑如下只带有不等式约束的最优化问题

()(),

,,1,0..,

min m i x g t s x f i =≥

引进辅助变量(),,,1m i y i =,可以将上面的优化问题化为等价的等式约束优化问题:

()(),

,,1,0..,

min 2

m i y x g t s x f i i ==-

利用外发函数法求解,此时增广拉格朗日函数为

()()()[]()[]2

1

2212

,,,~∑∑==-+--=m

i i

i

i

i m

i i y x g y x g x f y x σ

λσλψ

为了消去辅助变量y ,可考虑ψ~关于变量y 的极小化,由一阶必要条件,令()0,,,~=∇σλψ

y x y 可得 ()[]

,,,1,0222m i y x g y y i i i i i ==--σλ

()()[]

,,,1,02m i x g y y i i i i ==--λσσ

故当()0>-i i x g λσ时,有

()[]()i i i i i x g x g y λσ

λσσ

1

1

2-

=-=

否则,由()[]02≥-+x g y i i i σλσ可推得0y i =。综合起来。,有

()[]()()m i x g x g x g y i i i i i i i ,,1,

0,0,1

2 =⎪⎩⎪⎨⎧->--=λσλσλσσ

既有

()()()()m i x g x g x g y x g i i i i i i

i i ,,1,0,,0,2

=⎪⎩

⎪⎨⎧≤->-=-λσλσσλ (1)

因此,当()0≤-i i x g λσ时,我们有

()[

]()[]()()[]()()[]

222

222

21

2

2

i i i i i i i

i

i i i x g x g x g y x g y x g λλσσ

σ

λσλ--=

+-=-+

--

而当()0>-i i x g λσ时,有

()[]

()[]2

22

2

2

21211

2

i

i i

i

i

i i i y x g y x g λσ

λσλσσ

λ-=+-=-+

--

综合上述两种情形,将结果代回到()σλψ

,,,~y x 中去得 ()()(){}[]

()

∑=--+

==m

i i

i

i

y

x g x f y x x 1

22

)(,0min 21

,,,~min ,,~

λ

λσσ

σλψ

σλφ

于是,将式(1)带入乘子迭代公式()()()()[]

2

1i k k i i k i k y x g --=+σλλ得

()()()⎩⎨⎧≤-->-=+,

0)()(,,0)()(,

01i k k i k i i k i k k i i

k x g x g x g λσλλσλ 即

(){}.,,1,0)()(,0max 1m i x g k i i k i k =≥-=+λλ

回到一般约束优化问题,此时,增广拉格朗日函数为

()∑∑∑===-++

-=m

i i

i

l

i i

l

i i i x g x h x h f x 1

1

21

])

)(,0([min{21)

(2

)()x (,,,λσσ

σ

μσλμψ

乘子迭代的公式为

(){}.

,,1,)()(,0max ,

,,1),()()(11m i x g l i x h k i i k i

k k i i k i k =-==-=++λλσμμ

212

112)})(),(min{)((∑∑==⎥⎦⎤⎢⎣

+=m

i i k k i l

i k i k x g x h σλβ

则终止准则为

εβ≤k

相关文档
最新文档