算法:已知:约束问题:
m
i
n
f
(
x
)
;
s
.
t
.
s
i
(
x
)
≥
0
,
i
=
1
,
2
,
⋯
,
m
,
h
j
(
x
)
=
0
,
j
=
1
,
2
,
⋯
,
l
min f(x); \\ s.t. \ \ s_{i}(x) \geq 0, \ \ i=1,2,\cdots, m, \\ h_{j}(x) = 0, j =1,2,\cdots, l
minf(x);s.t. si(x)≥0, i=1,2,⋯,m,hj(x)=0,j=1,2,⋯,l
的目标函数
f
(
x
)
f(x)
f(x),等式约束函数
h
1
(
x
)
,
⋯
,
h
l
(
x
)
h_{1}(x),\cdots ,h_{l}(x)
h1(x),⋯,hl(x)和不等式约束函数
s
1
(
x
)
,
⋯
,
s
m
(
x
)
s_{1}(x),\cdots ,s_{m}(x)
s1(x),⋯,sm(x);终止限
ε
\varepsilon
ε(可取
ε
=
1
0
−
6
\varepsilon=10^{-6}
ε=10−6);设由约束函数构成造的罚函数为:
α
(
x
)
=
∑
j
=
1
l
[
h
j
(
x
)
]
2
+
∑
i
=
1
m
[
s
i
(
x
)
]
2
u
(
s
i
(
x
)
)
\alpha(x)=\sum_{j=1}^{l}[h_{j}(x)]^{2}+\sum_{i=1}^{m}[s_{i}(x)]^{2}u(s_{i}(x))
α(x)=j=1∑l[hj(x)]2+i=1∑m[si(x)]2u(si(x))
- 选定初始点 x 0 x_{0} x0;选取初始罚因子 μ 1 > 0 \mu_{1}>0 μ1>0(可取 μ 1 = 1 \mu_{1}=1 μ1=1),罚因子的放大系数 c > 1 c>1 c>1(可取 c = 10 c=10 c=10);置 k = 1 k=1 k=1。
- 以
x
k
−
1
x_{k-1}
xk−1为初始点,求解无约束问题:
m i n f ( x ) + μ k α ( x ) min f(x)+\mu_{k}\alpha(x) minf(x)+μkα(x)
设其极小点为 x k x_{k} xk。 - 若 μ k α ( x k ) < ε \mu_{k}\alpha(x_{k})<\varepsilon μkα(xk)<ε,打印 x k x_{k} xk,停机;否者转4。
- 置 μ k + 1 = c μ k \mu_{k+1}=c\mu_{k} μk+1=cμk; k = k + 1 k=k+1 k=k+1转2。
我的微信公众号名称:小小何先生
公众号介绍:主要研究分享深度学习、机器博弈、强化学习等相关内容!期待您的关注,欢迎一起学习交流进步!