罚函数法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§2 简单罚函数法(惩罚函数法)
罚函数法包括简单罚函数法、内点罚函数法和乘子法。罚函数法的思想是,通过构造适当的罚函数 将约束优化问题转化为一系列无约束优化问题,然后用无约束优化问题的求解方法进行求解。罚函数法 又称为序列无约束极小化技术,简称为 SUMT 法。罚函数的不同构造思想将得到不同的罚函数法。简单 罚函数法是对不可行的点即外点进行惩罚,故又称为 SUMT 外点法。 简单罚函数法是利用简单罚函数求解含一般约束的非线性规划问题
解:如(2.1)构造罚函数,取 α =2,则
F ( x1 , x2 , M ) = ( x1 − 3) 2 + ( x2 − 2) 2 + M ( x1 + x2 − 4) 2
∂F ∂F = 2( x1 − 3) + 2M ( x1 + x2 − 4) , = 2( x1 − 2) + 2M ( x1 + x2 − 4) ∂x1 ∂x2
2.1
简单罚函数
对(CNP1)的可行域 S = { x ∈ R | c ( x ) = 0} ,构造关于 c ( x ) 的连续函数
n
c( x) = 0 ⎧= 0, ⎪ p ( x ) p (c ( x )) ⎨> 0, c( x) ≠ 0 ⎪→ +∞, ∃l : c ( x ) → +∞ l ⎩
*
K
知, {F ( x , M k )} 和 { f ( x )} 是单调增序列,并且
k
k
f ( x* ) = F ( x* , M k ) ≥ F ( x k , M k ) ≥ f ( x k )
即 {F ( x , M k )} 和 { f ( x )} 有上界,故 {F ( x , M k )} 和 { f ( x )} 收敛,设
证明:根据 x = x ( M k ) 定义、 p ( x ) ≥ 0 和 0 < M 1 < M 2 ,
k
F ( x1 , M 1 ) ≤ F ( x 2 , M 1 ) = f ( x 2 ) + M 1 p ( x 2 ) ≤ f ( x 2 ) + M 2 p ( x 2 ) = F ( x 2 , M 2 )
得第一个不等式。由 F ( x , M 2 ) ≤ F ( x , M 2 ) 和 F ( x , M 1 ) ≤ F ( x , M 1 ) 知
2 1 1 2
0 ≤ ( F ( x 2 , M 1 ) − F ( x 2 , M 2 )) − ( F ( x1 , M 1 ) − F ( x1 , M 2 )) = ( M 1 − M 2 )( p( x 2 ) − p( x1 ))
则x =⎜
*
⎛5 3⎞ , ⎟ 是原问题的最优解。 ⎝2 2⎠
T
2.3
收敛性分析
定理 2.1 设 f ( x ), gi ( x ), i = 1," , m, h j ( x ), j = 1," , p 是连续函数,(CNP1)的可行域 S 非空,并且
存在 δ > 0 ,使 Sδ = { x | g i ( x ) ≤ δ , i = 1," , m,| h j ( x ) |≤ δ , j = 1," , p} 是有界集。当用简单罚函数法求 解(CNP1)时(其中 ε = 0 ), (1)若产生有限序列 x ," , x ,则 x 是(CNP1)的最优解; (2)若产生无限序列{ x },则{ x }存在收敛子列,并且{ x }的任一收敛子列收敛于(CNP1)的最优解,
n
调增连续函数
g( x) < 0 ⎧ > 0, , ∀x ∈ int S B ( x ) B ( g ( x )) ⎨ − ⎩→ +∞, gi ( x ) → 0
k
1 1 ,由此得 min F ( x , M ) 的最优解 x ( M ) = 2 − 。显然,对任意 2M 2M
1 * <2,即均不可行,但是 x ( M ) → 2( M → ∞) ,而 x = 2 是原问题的最优 2M
F ( x1 , M 1 ) ≤ F ( x 2 , M 2 ), p( x1 ) ≤ p( x 2 ), f ( x1 ) ≤ f ( x 2 )
0 n
2. 确定新的迭代点。以 x
k
k −1
为初始点,求解(UNP) M k 得最优解 x 。
k
3. 终止判别。若 p ( x ) ≤ ε ,停,否则 M k +1 = cM k ,k=k+1,转 2。 例 2.2 用简单罚函数法求解
min f ( x1 , x2 ) = ( x1 − 3) 2 + ( x2 − 2) 2 s.t. x1 + x2 = 4
min f ( x ) s.t. gi ( x ) ≤ 0, i = 1," , m h j ( x ) = 0, j = 1," , p
的方法,其中 f ( x ), gi ( x ), i = 1," , m, h j ( x ), j = 1," , p 是连续函数。记
(CNP1)
gi+ ( x ) = max{0, gi ( x )}, i = 1," , m
α α
i =1 i =1 j =1
m+ p
m
p
α
p ⎡m α⎤ F ( x , M ) = f ( x ) + M ⎢ ∑ max{0, gi ( x )}α + ∑ h j ( x ) ⎥ j =1 ⎣ i =1 ⎦
(2.1)
或 p( x ) = c ( x )
∞
= max ci ( x ) = max{max{0, gi ( x )}, i = 1," , m, h j ( x ) , j = 1," , p} ,则
f ( x* ) ≥ f ( x ) ≥ f ( x* )
即 x 是(CNP1)的最优解。
§3 内点罚函数法(碰壁函数法)
内点罚函数法是利用内点罚函数求解仅含不等式约束的非线性规划问题
min f ( x ) s.t. gi ( x ) ≤ 0, i = 1," , m
T
(CNP2)
的方法,其中 f ( x ), gi ( x ), i = 1," , m 是连续函数。记 g ( x ) = ( g1 ( x )," , g m ( x )) ,则(CNP3)的可行域
S = { x ∈ R n | g ( x ) ≤ 0} 。内点罚函数法是在 S 的边界上建造一个“围墙” ,使迭代点在 S 的内部,因此
内点罚函数法由称为 SUMT 内点法。
3.1
内点罚函数
设(CNP2)的可行域 S 内部非空,即 int S = { x ∈ R | g ( x ) < 0} ≠ ∅ ,在 int S 内构造关于 g ( x ) 的单
则 p ( x ) 是对 x 的不可行性的一种度量,并且 p ( x ) = 0 ⇔ x ∈ S 。我们称 F ( x , M ) = f ( x ) + Mp ( x ) 为 简单罚函数,其中 M > 0 为罚因子。 例如, p ( x ) = c ( x ))
α α
= ∑ | ci ( x ) | = ∑ max{0, gi ( x )} + ∑ h j ( x ) ,其中 α ≥ 1 ,则
再由 0 < M 1 < M 2 得第二个不等式。由 F ( x , M 1 ) ≤ F ( x , M 1 ) 和第二个不等式知
1 2
f ( x 1 ) + M 1 p ( x1 ) ≤ f ( x 2 ) + M 1 p ( x 2 ) ≤ f ( x 2 ) + M 1 p ( x 1 )
由此得第三个不等式。证毕。 由引理 2.1 知,当 M 越来越大时, p ( x ( M )) 越来越小。 引理 2.2 设 x = x ( M k ) , δ k = p ( x ) ,则 x 是
x≥2 ⎧1, Fx′( x, M ) = ⎨ ⎩1 + 2M ( x − 2), x < 2
因此 Fx′( x, M ) = 0 ⇔ x = 2 − 的 M > 0 , x(M ) = 2 − 解。 下面讨论 M 变化时 f ( x ( M )), p ( x ( M )), F ( x ( M ), M ) 的变化情况。 引理 2.1 设 0 < M 1 < M 2 , x = x ( M k ), k = 1, 2 ,则
因为 F ( x1 , x2 , M ) 关于 x 为凸函数,因此由
∂F ∂F = 0, = 0 得 min F ( x , M ) 的最优解 ∂x1 ∂x2
T Twenku.baidu.com
⎛ 5M + 3 3M + 2 ⎞ ⎛5 3⎞ x(M ) = ⎜ , ⎟ →⎜ , ⎟ ⎝ 2M + 1 2M + 1 ⎠ ⎝2 2⎠
k k
k
min f ( x ) s.t. p( x ) ≤ δ k
的最优解。 证明:显然, x 是 P( δ k )的可行解。设 x 是 P( δ k )的可行解,即 p ( x ) ≤ δ k = p ( x ) ,则
k k
P( δ k )
0 ≥ F ( x k , M k ) − F ( x, M k )] = f ( x k ) − f ( x ) + M k ( p( x k ) − p( x )) ≥ f ( x k ) − f ( x )
3
k k k
1
K K
并且 p ( x ) → 0 。
k
证明: (1)显然 p ( x ) = 0 ,故 x ∈ S 于是对(CNP1)的任一可行解 x,由 p(x)=0 知
K K
f ( x ) = F ( x, M K ) ≥ F ( x K , M K ) = f ( x K )
故 x 是(CNP1)的最优解。 (2)由条件知 S 是紧集(S 闭并且 S ⊂ Sδ 有界) ,因此(CNP1)存在最优解,设为 x 。由引理 2.1
k k k k
(2.2)
F ( xk , M k ) → F * , f ( xk ) → f *
则 M k p ( x ) = F ( x , M k ) − f ( x ) → F − f ,再由 M k → +∞ 得
k k k
*
*
p( x k ) → 0
k k k k
(2.3)
故当 k 充分大时 x ∈ Sδ 。由 Sδ 为紧集,因此{ x }存在收敛子列 { x }k∈J ,设 x → x ( k ∈ J ) 。由已知 条件知 f ( x ) 和 p ( x ) 是连续函数,由(2.3)得 p ( x ) = 0 ,故 x ∈ S ,再由(2.2)得
1
即 c ( x ( M )) → 0 ,从而使 x ( M ) 趋于(CNP1)的最优解。 例 2.1 考虑如下问题:
min x s.t. x ≥ 2
解:显然 x = 2 是最优解。现在如(1.1)构造惩罚函数,取 α =2,则
*
x≥2 ⎧ x, F ( x, M ) = x + Mp( x) = ⎨ 2 ⎩ x + M (2 − x) , x < 2
2
即 f ( x ) ≤ f ( x ) ,因此 x 是 P( δ k )的最优解。证毕。
k k
当 δ k > 0 充分小时,问题 P( δ k )是(CNP1)的近似,因此根据引理 2.2 知,当 δ k = p ( x ) 充分小时,
k
x k 是(CNP1)的近似最优解。
2.2 简单罚函数法
简单罚函数的基本思想就是,逐步增大罚因子 M ,直到 p ( x ( M )) 充分小为止。下面给出简单罚函 数法的具体步骤。 算法 2.1:简单罚函数法 1. 初始步。给定初始点 x ∈ R , M 1 >0,放大系数 c >1, ε >0。令 k=1。
1≤ i ≤ m + p
F ( x, M ) = f ( x ) + M max{max{0, gi ( x )}, i = 1," , m, h j ( x ) , j = 1," , p}
为求解(CNP1),我们考虑无约束优化问题:
min F ( x , M )
x
(UNP) M
当 M → ∞ 时, 为极小化 FM ( x ) = f ( x ) + Mp ( x ) , 迫使 p ( x ( M )) → 0 , 记(UNP) M 的最优解为 x ( M ) 。
+ ⎧ ⎪ g ( x ), ci ( x ) = ⎨ i ⎪ ⎩| hm −i ( x ) |,
n
i = 1," , m i = m + 1," , m + p
, c ( x ) = (c1 ( x )," , cm + p ( x ))
T
则(CNP1)的可行域 S = { x ∈ R | c ( x ) = 0} 。
罚函数法包括简单罚函数法、内点罚函数法和乘子法。罚函数法的思想是,通过构造适当的罚函数 将约束优化问题转化为一系列无约束优化问题,然后用无约束优化问题的求解方法进行求解。罚函数法 又称为序列无约束极小化技术,简称为 SUMT 法。罚函数的不同构造思想将得到不同的罚函数法。简单 罚函数法是对不可行的点即外点进行惩罚,故又称为 SUMT 外点法。 简单罚函数法是利用简单罚函数求解含一般约束的非线性规划问题
解:如(2.1)构造罚函数,取 α =2,则
F ( x1 , x2 , M ) = ( x1 − 3) 2 + ( x2 − 2) 2 + M ( x1 + x2 − 4) 2
∂F ∂F = 2( x1 − 3) + 2M ( x1 + x2 − 4) , = 2( x1 − 2) + 2M ( x1 + x2 − 4) ∂x1 ∂x2
2.1
简单罚函数
对(CNP1)的可行域 S = { x ∈ R | c ( x ) = 0} ,构造关于 c ( x ) 的连续函数
n
c( x) = 0 ⎧= 0, ⎪ p ( x ) p (c ( x )) ⎨> 0, c( x) ≠ 0 ⎪→ +∞, ∃l : c ( x ) → +∞ l ⎩
*
K
知, {F ( x , M k )} 和 { f ( x )} 是单调增序列,并且
k
k
f ( x* ) = F ( x* , M k ) ≥ F ( x k , M k ) ≥ f ( x k )
即 {F ( x , M k )} 和 { f ( x )} 有上界,故 {F ( x , M k )} 和 { f ( x )} 收敛,设
证明:根据 x = x ( M k ) 定义、 p ( x ) ≥ 0 和 0 < M 1 < M 2 ,
k
F ( x1 , M 1 ) ≤ F ( x 2 , M 1 ) = f ( x 2 ) + M 1 p ( x 2 ) ≤ f ( x 2 ) + M 2 p ( x 2 ) = F ( x 2 , M 2 )
得第一个不等式。由 F ( x , M 2 ) ≤ F ( x , M 2 ) 和 F ( x , M 1 ) ≤ F ( x , M 1 ) 知
2 1 1 2
0 ≤ ( F ( x 2 , M 1 ) − F ( x 2 , M 2 )) − ( F ( x1 , M 1 ) − F ( x1 , M 2 )) = ( M 1 − M 2 )( p( x 2 ) − p( x1 ))
则x =⎜
*
⎛5 3⎞ , ⎟ 是原问题的最优解。 ⎝2 2⎠
T
2.3
收敛性分析
定理 2.1 设 f ( x ), gi ( x ), i = 1," , m, h j ( x ), j = 1," , p 是连续函数,(CNP1)的可行域 S 非空,并且
存在 δ > 0 ,使 Sδ = { x | g i ( x ) ≤ δ , i = 1," , m,| h j ( x ) |≤ δ , j = 1," , p} 是有界集。当用简单罚函数法求 解(CNP1)时(其中 ε = 0 ), (1)若产生有限序列 x ," , x ,则 x 是(CNP1)的最优解; (2)若产生无限序列{ x },则{ x }存在收敛子列,并且{ x }的任一收敛子列收敛于(CNP1)的最优解,
n
调增连续函数
g( x) < 0 ⎧ > 0, , ∀x ∈ int S B ( x ) B ( g ( x )) ⎨ − ⎩→ +∞, gi ( x ) → 0
k
1 1 ,由此得 min F ( x , M ) 的最优解 x ( M ) = 2 − 。显然,对任意 2M 2M
1 * <2,即均不可行,但是 x ( M ) → 2( M → ∞) ,而 x = 2 是原问题的最优 2M
F ( x1 , M 1 ) ≤ F ( x 2 , M 2 ), p( x1 ) ≤ p( x 2 ), f ( x1 ) ≤ f ( x 2 )
0 n
2. 确定新的迭代点。以 x
k
k −1
为初始点,求解(UNP) M k 得最优解 x 。
k
3. 终止判别。若 p ( x ) ≤ ε ,停,否则 M k +1 = cM k ,k=k+1,转 2。 例 2.2 用简单罚函数法求解
min f ( x1 , x2 ) = ( x1 − 3) 2 + ( x2 − 2) 2 s.t. x1 + x2 = 4
min f ( x ) s.t. gi ( x ) ≤ 0, i = 1," , m h j ( x ) = 0, j = 1," , p
的方法,其中 f ( x ), gi ( x ), i = 1," , m, h j ( x ), j = 1," , p 是连续函数。记
(CNP1)
gi+ ( x ) = max{0, gi ( x )}, i = 1," , m
α α
i =1 i =1 j =1
m+ p
m
p
α
p ⎡m α⎤ F ( x , M ) = f ( x ) + M ⎢ ∑ max{0, gi ( x )}α + ∑ h j ( x ) ⎥ j =1 ⎣ i =1 ⎦
(2.1)
或 p( x ) = c ( x )
∞
= max ci ( x ) = max{max{0, gi ( x )}, i = 1," , m, h j ( x ) , j = 1," , p} ,则
f ( x* ) ≥ f ( x ) ≥ f ( x* )
即 x 是(CNP1)的最优解。
§3 内点罚函数法(碰壁函数法)
内点罚函数法是利用内点罚函数求解仅含不等式约束的非线性规划问题
min f ( x ) s.t. gi ( x ) ≤ 0, i = 1," , m
T
(CNP2)
的方法,其中 f ( x ), gi ( x ), i = 1," , m 是连续函数。记 g ( x ) = ( g1 ( x )," , g m ( x )) ,则(CNP3)的可行域
S = { x ∈ R n | g ( x ) ≤ 0} 。内点罚函数法是在 S 的边界上建造一个“围墙” ,使迭代点在 S 的内部,因此
内点罚函数法由称为 SUMT 内点法。
3.1
内点罚函数
设(CNP2)的可行域 S 内部非空,即 int S = { x ∈ R | g ( x ) < 0} ≠ ∅ ,在 int S 内构造关于 g ( x ) 的单
则 p ( x ) 是对 x 的不可行性的一种度量,并且 p ( x ) = 0 ⇔ x ∈ S 。我们称 F ( x , M ) = f ( x ) + Mp ( x ) 为 简单罚函数,其中 M > 0 为罚因子。 例如, p ( x ) = c ( x ))
α α
= ∑ | ci ( x ) | = ∑ max{0, gi ( x )} + ∑ h j ( x ) ,其中 α ≥ 1 ,则
再由 0 < M 1 < M 2 得第二个不等式。由 F ( x , M 1 ) ≤ F ( x , M 1 ) 和第二个不等式知
1 2
f ( x 1 ) + M 1 p ( x1 ) ≤ f ( x 2 ) + M 1 p ( x 2 ) ≤ f ( x 2 ) + M 1 p ( x 1 )
由此得第三个不等式。证毕。 由引理 2.1 知,当 M 越来越大时, p ( x ( M )) 越来越小。 引理 2.2 设 x = x ( M k ) , δ k = p ( x ) ,则 x 是
x≥2 ⎧1, Fx′( x, M ) = ⎨ ⎩1 + 2M ( x − 2), x < 2
因此 Fx′( x, M ) = 0 ⇔ x = 2 − 的 M > 0 , x(M ) = 2 − 解。 下面讨论 M 变化时 f ( x ( M )), p ( x ( M )), F ( x ( M ), M ) 的变化情况。 引理 2.1 设 0 < M 1 < M 2 , x = x ( M k ), k = 1, 2 ,则
因为 F ( x1 , x2 , M ) 关于 x 为凸函数,因此由
∂F ∂F = 0, = 0 得 min F ( x , M ) 的最优解 ∂x1 ∂x2
T Twenku.baidu.com
⎛ 5M + 3 3M + 2 ⎞ ⎛5 3⎞ x(M ) = ⎜ , ⎟ →⎜ , ⎟ ⎝ 2M + 1 2M + 1 ⎠ ⎝2 2⎠
k k
k
min f ( x ) s.t. p( x ) ≤ δ k
的最优解。 证明:显然, x 是 P( δ k )的可行解。设 x 是 P( δ k )的可行解,即 p ( x ) ≤ δ k = p ( x ) ,则
k k
P( δ k )
0 ≥ F ( x k , M k ) − F ( x, M k )] = f ( x k ) − f ( x ) + M k ( p( x k ) − p( x )) ≥ f ( x k ) − f ( x )
3
k k k
1
K K
并且 p ( x ) → 0 。
k
证明: (1)显然 p ( x ) = 0 ,故 x ∈ S 于是对(CNP1)的任一可行解 x,由 p(x)=0 知
K K
f ( x ) = F ( x, M K ) ≥ F ( x K , M K ) = f ( x K )
故 x 是(CNP1)的最优解。 (2)由条件知 S 是紧集(S 闭并且 S ⊂ Sδ 有界) ,因此(CNP1)存在最优解,设为 x 。由引理 2.1
k k k k
(2.2)
F ( xk , M k ) → F * , f ( xk ) → f *
则 M k p ( x ) = F ( x , M k ) − f ( x ) → F − f ,再由 M k → +∞ 得
k k k
*
*
p( x k ) → 0
k k k k
(2.3)
故当 k 充分大时 x ∈ Sδ 。由 Sδ 为紧集,因此{ x }存在收敛子列 { x }k∈J ,设 x → x ( k ∈ J ) 。由已知 条件知 f ( x ) 和 p ( x ) 是连续函数,由(2.3)得 p ( x ) = 0 ,故 x ∈ S ,再由(2.2)得
1
即 c ( x ( M )) → 0 ,从而使 x ( M ) 趋于(CNP1)的最优解。 例 2.1 考虑如下问题:
min x s.t. x ≥ 2
解:显然 x = 2 是最优解。现在如(1.1)构造惩罚函数,取 α =2,则
*
x≥2 ⎧ x, F ( x, M ) = x + Mp( x) = ⎨ 2 ⎩ x + M (2 − x) , x < 2
2
即 f ( x ) ≤ f ( x ) ,因此 x 是 P( δ k )的最优解。证毕。
k k
当 δ k > 0 充分小时,问题 P( δ k )是(CNP1)的近似,因此根据引理 2.2 知,当 δ k = p ( x ) 充分小时,
k
x k 是(CNP1)的近似最优解。
2.2 简单罚函数法
简单罚函数的基本思想就是,逐步增大罚因子 M ,直到 p ( x ( M )) 充分小为止。下面给出简单罚函 数法的具体步骤。 算法 2.1:简单罚函数法 1. 初始步。给定初始点 x ∈ R , M 1 >0,放大系数 c >1, ε >0。令 k=1。
1≤ i ≤ m + p
F ( x, M ) = f ( x ) + M max{max{0, gi ( x )}, i = 1," , m, h j ( x ) , j = 1," , p}
为求解(CNP1),我们考虑无约束优化问题:
min F ( x , M )
x
(UNP) M
当 M → ∞ 时, 为极小化 FM ( x ) = f ( x ) + Mp ( x ) , 迫使 p ( x ( M )) → 0 , 记(UNP) M 的最优解为 x ( M ) 。
+ ⎧ ⎪ g ( x ), ci ( x ) = ⎨ i ⎪ ⎩| hm −i ( x ) |,
n
i = 1," , m i = m + 1," , m + p
, c ( x ) = (c1 ( x )," , cm + p ( x ))
T
则(CNP1)的可行域 S = { x ∈ R | c ( x ) = 0} 。