罚函数法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
罚函数法
本章介绍一类求解约束优化问题的方法----惩
罚函数法。这类方法是求解无约束优化问题的最
早的一类方法,也是一类比较有效的方法。
罚函数法的基本思想就是,借助罚函数把
约束问题转化为无约束问题,进而用无约束最优
根据我们利用的罚函数的类型,分为
外点罚函数法的算法思想
0, i=1, 2, …, m
= 0, j=1, 2, …, l
n上的连续函数。
由于上述问题存在约束,而且约束可能
是非线性的,因此在求解是必须同时照顾到
满足约束条件这两个
= 0, j=1, 2, …, l
方面。实现这一点的途径是有目标函数和约
束函数组成辅助函数,把原来的约束问题转
化为极小化辅助函数的无约束问题。
x
()(8.1)
的最优解必须使得h j (x )接近的第二项将是很大的正数,现行点必不是极小点。因此可见,求解问题(8.2)的近似解。
(8.2)
转化为无约束问题
0, i=1, 2, …, m
不等式约束问题的辅助函数与等式约束的辅助函数情形不同,但构造辅助函数的基本思在可行点辅助函数等于原来的目标函数值,在不可行点,辅助函数值等于原来的目标函数值加上一个很大的正数。}2
()(8.3)
i g x −⎤⎦
}0,.()0
i g x −={}max 0,.()()
i i g x g x −=−的最优解必须使得g i (x )大于
的第二项将是很大的正数,现行点必不是极小点。因此可见,求解问的近似解。
(8.4)
转化为无约束问题
0, i=1, 2, …, m
= 0, j=1, 2, …, l 我们把上述思想加以推广,对于一般问(8.5)
())
(8.6)
j h x 是满足以下条件的连续函数
的典型取法如下
,均为给定常数。通常取作
)(8.7)
)=0. 从而有是很大的正数,它
的存在是对点脱离可行域的一种惩罚,其作用是在极小化过程中迫使迭代点靠近可行域。因能够得到约束问题(NLP )的近越大,近似程度越好。
称为罚因子。(,)()
F x f x σ=由以上的分析和算例可知,当罚因子趋于
无穷时,无约束优化问题的最优解趋于一个极限点,这个极限点正是原来的约束问题的最优解。此外,无约束问题的最优解往往不满足原来问题的约束条件,它是从可行域外部趋向原问题的最优点。因此也称为外罚函数,相应的最优化方法称为外点法(,)F x σ的选择十分重要。太大,则给罚函数的极小化问题增
太小,则罚函数的极小点远离约束优化问题的最优解,计算效率差。因此一般的策略是取一个趋
向无穷大的严格递增正数列
,从初始,求解}k σ1σ(8.8)
从而得到一个极小点的序列,在适当的条件下,这个序列将收敛到约束问题的最优解。如此通过求解一系列无约束问题来获得约束问题最优解的方法称为序列无SUMT 法。下面给{}x σ初始罚因子,,置1σ0ε>1
k =求解无约束优化()
P x ,则停止计算,得到,置k 1k k =+
和分别为取时无约束问题的极小1k x +(NLP)的最优解,且对任定义的存在极成立
(),k F x σ()()k f x page 488
1,2,,1,2,,,m L ⎫⎪⎬
⎪⎭
""是趋向无穷大的严格递增数
)存在最优解,
存在一个收敛的子序列,并且任何这样的收敛子序列的极限都是问题(NLP )的最()
k x {}()k x 内点罚函数法的算法思想
0, i=1, 2, …, m
内点法在迭代总是从内点出发,并保持在可行域内部进行搜索。因此,这种方法适n 上的连续函数。
是连续函数,当点x 趋向可}1,2,,m "保持迭代点含于可行域内部的方法是)
()
x 是很小的正数。这样,当点x 趋向可行域。否则,由于r 很小,的取值近似。()
f x
的存在,在可行域边界形成“围
必含于可行域的内部。因此,我们可通过求解下列问题得到(NLP2)的(8.9)
)仍然是约束,看起来它的约束条件比原来的问题还要复杂。但是,由于函数B (x )的阻挡作用是自动实现的,因此从计算的观点)可当成是无约束问题来处理。
的选择十分重要。的最优解越接近(NLP2)的最太小,则给罚函数的极小化问题增加计算上的困难;因此仍然采用序列极小化方法,取一个严格单调地减且趋于零的
,对每一个k,从
的条件下,这个序列将收敛到约束问题的,初始参数,,允许误差,置S 1r 0ε>1
k =求解无约束优化)
,则停止计算,得到,置1k k =+的可行域内部S 非空,且存在最优解,又设对每一个,在内存在极小点,并且内点法产生的序列
,则是问题的
k r (,)k G x r x page 493
外点法的初始点可以任意取,内点法的外点法对等式约束也适用,内点法对等式约束不适用,因为此时没有内点存在。外点法只有迭代到最后才能得到可行解;而内点法每一步得到的点都是可行解,这在实际问题中很方便,随时停止迭代,都可以得到原问题的一个近似最优解。
外点法河内点法对非凸规划均适用。。内点法与外点法收敛速度的快慢,与罚的选取有关,只能根据经验来选约束极小化技巧,方法简单,使用方便,并能用来求解导数不存在的问题,因此这种算法对实际工作者确有吸引力,而且已经得到比较广泛的应用。但是,上述罚函数法存在固有的缺点,这就是随着罚因子趋向其极限,罚函数的海塞矩阵的条件数无限增大,因而越来越变得病态。罚函数的这种性态给无约束极小化带来很大困难。为克服这个缺点,Hestenes 和Powell 年各自独立地提出了乘子法。
乘子罚函数法的算法思想等式约束优化问题的一般形式= 0, j=1, 2, …, l
上的二次连续可微函数。
2
1
()2
()()
j
l
j T h x h x h x σ
=+
∑()()x x ⎤⎥⎥⎥⎦
函数的区别在于增加与罚函数的区别在于增加了乘子项()T
v h x −Lagrange 函数与Lagrange
函数及罚函数具有不同的性态。对于,不必趋向无穷求得问题的局(,,)x v φσ,)v σ条件,在算法的迭代过程中不断修正,最1,2,,j l
="