优化理论10----约束优化的罚函数法外点法(Penalty method)内点法(**Barrier Methods**)混合惩罚函数法
Posted 炫云云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了优化理论10----约束优化的罚函数法外点法(Penalty method)内点法(**Barrier Methods**)混合惩罚函数法相关的知识,希望对你有一定的参考价值。
优化理论10----约束优化的惩罚外点和内点法
文章目录
1约束最优化问题
1.1 约束最优化问题的基本结构
在无约束最优化问题中,我们默认了可行域为 R n R^n Rn ,然而在约束最优化问题中,我们需要为可行域做出一些限制,因此衍生出了一些与无约束最优化问题不同的、独有的性质。
一般约束最优化问题
P
P
P 的表达为:
P
:
m
i
n
i
m
i
z
e
f
(
x
)
s
u
b
j
e
c
t
t
o
g
i
(
x
)
≤
0
i
=
1
,
⋯
,
m
h
i
(
x
)
=
0
i
=
1
,
⋯
,
k
x
∈
R
n
(1)
\\begin{aligned} P : minimize \\ \\ &f(x) \\\\ \\mathrm{subject\\,\\, to}\\qquad &g_i(x) \\leq 0 \\quad i=1, \\cdots, m \\\\ &h_i(x) = 0 \\quad i=1, \\cdots, k\\\\ & x \\in R^n \\end{aligned} \\tag{1}
P:minimize subjecttof(x)gi(x)≤0i=1,⋯,mhi(x)=0i=1,⋯,kx∈Rn(1)
其中 g ( x ) g(x) g(x) 被称为不等式约束,而 h ( x ) h(x) h(x) 被称为等式约束。这些约束限定了 f ( x ) f(x) f(x) 的可行域为 S = { x ∈ R n ∣ g i ( x ) ≤ 0 , i = 1 , ⋯ , m ; h j ( x ) = 0 , i = 1 , ⋯ , k } S=\\{x \\in R^n |g_i(x)\\leq 0,i=1, \\cdots, m;h_j(x)=0,i=1, \\cdots, k\\} S={x∈Rn∣gi(x)≤0,i=1,⋯,m;hj(x)=0,i=1,⋯,k}
解决约束最优化问题的方法主要有惩罚函数法和拉格朗日乘子法。其中惩罚函数法较为简单,基本思想是将约束最优化问题转化为无约束最优化问题再用为无约束最优化问题的方法求解。
惩罚函数法的类型
在惩罚法(Penalty method)中,扩展了 P P P 的可行域从 S S S 到 R n R^n Rn ,但是,对于原可行域 F F F 之外的点,目标函数会增加很大的代价或“惩罚”。(外点法)
在障碍法(Barrier Methods),给定初始点 x 0 x_0 x0 ,位于可行域 S S S 的内部,我们将非常大的代价加在离 F F F 边界越来越近的可行点上,从而为点要离开可行区域创造了一个“障碍”。 (内点法)
2 外点法(Penalty method)
2.1 不等式约束惩罚法
对可行域外的点(即违反约束的点)施加惩罚,内部的点不惩罚,从而使可行域外的初始点通过迭代向可行域 S S S逼近。
只考虑不等式约束的优化问题:
P
:
m
i
n
i
m
i
z
e
f
(
x
)
s
u
b
j
e
c
t
t
o
g
i
(
x
)
≤
0
i
=
1
,
⋯
,
m
x
∈
R
n
(2)
\\begin{aligned} P : minimize \\ \\ &f(x) \\\\ \\mathrm{subject\\,\\, to}\\qquad &g_i(x) \\leq 0 \\quad i=1, \\cdots, m \\\\ & x \\in R^n \\end{aligned} \\tag{2}
P:minimize subjecttof(x)gi(x)≤0i=1,⋯,mx∈Rn(2)
定
义
1
\\large\\color{magenta}{\\boxed{\\color{brown}{定义1 } }}
定义1 函数
p
(
x
)
:
R
n
→
R
p(x) : R^n → R
p(x):Rn→R 称为
P
P
P 的惩罚函数,满足如下规则:
{
p
(
x
)
=
0
,
x
∈
F
p
(
x
)
=
+
∞
,
x
∉
F
\\begin{cases} p(x)=0 \\ \\ ,\\ \\ \\ x ∈F\\\\ p(x)=+∞\\ \\ ,\\ \\ \\ x∉F \\end{cases}\\\\
{p(x)=0 , x∈Fp(x)=+∞ , x∈/F
例如: p ( x ) = ∑ i = 1 m [ m a x { 0 , g i ( x ) } ] 2 p(x) =\\sum_{i=1}^{m}{[max\\{0,g_i(x)\\}]^2} p(x)=∑i=1m[max{0,gi(x)}]2
然后我们考虑解决以下惩罚函数方案:
P
(
σ
)
:
m
i
n
i
m
i
z
e
f
(
x
)
+
σ
p
(
x
)
P(\\sigma): minimize \\ \\ f(x) + \\sigma p(x)\\\\
P(σ):minimize f(x)+σp(x)
也就是最小化
F
(
x
,
σ
)
=
f
(
x
)
+
σ
p
(
x
)
=
f
(
x
)
+
σ
∑
i
=
1
m
[
m
a
x
{
0
,
g
i
(
x
)
}
]
2
F(x,\\sigma)=f(x) + \\sigma p(x)=f(x)+\\sigma\\sum_{i=1}^{m}{[max\\{0,g_i(x)\\}]^2}
F(x,σ)=f(x)+σp(x)=f(x)+σ∑i=1m[max{0,gi(x)}]2 。
其中常数 σ \\sigma σ 的递增序列 σ k → + ∞ \\sigma_k →+∞ σk→+∞ 。注意,在 P ( σ ) P(\\sigma) P(σ) 中,我们给违反的约束分配了一个惩罚。标量 σ \\sigma σ 称为惩罚参数。
函数
F
(
x
,
σ
)
F(x,\\sigma)
F(x,σ)在可行域
S
S
S的内部的取值与问题(2)的目标函数
f
f
f的取值相等,而在可行域的外部取值远远大于目标函数
f
f
以上是关于优化理论10----约束优化的罚函数法外点法(Penalty method)内点法(**Barrier Methods**)混合惩罚函数法的主要内容,如果未能解决你的问题,请参考以下文章