拉格朗日乘子法
约束优化问题的标准形式为:
min f (x), x R
n
s..t g
i
(x) 0,i 1,2,..., m
h
j
(x) 0, j 1,2,..., l
其中 f , g
i
, h
j
: R
n
R
约束优化算法的基本思想是:通过引入效用函数的方法将约束优化问题转换为无约束问
题,再利用优化迭代过程不断地更新效用函数,以使得算法收敛。
1. 罚函数法
罚函数法(内点法)的主思想是:在可行域的边界上筑起一道很高的“围墙”,当迭代
点靠近边界时,目标函数陡然增大,以示惩罚,阻止迭代点穿越边界,这样就可以将最优解
“挡”在可行域之内了。
它只适用于不等式约束:
min f (x), x R
n
s..t
它的可行域为:
g
i
0,i 1,2,..., m
D {x R
n
| g
i
(x) 0, i 1,2,..., m}
对上述约束问题,其其可行域的内点可行集
D
0
的情况下,引入效用函数:
min B(x, r) f (x) rB(x)
、
m
1
其中
B(x)
或
B(x)
| ln(g
i
(x)) |
g
i
(x)
i1
i1
m
算法的具体步骤如下:
给定控制误差
0
,惩罚因子的缩小系数
0 c 1
。
步骤 1:令
k 1
,选定初始点
x
(0)
D
0
,给定
r
1
0
(一般取 10)。
步骤 2:以
x
(k )
为初始点,求解无约束
min B(x, r) f (x) r
k
B(x)
m
1
(k )
其中
B(x)
或
B(x)
| ln(g
i
(x)) |
,得最优解
x x(r
k
)
g
i
(x)
i1
i1
m
步骤 3:若
r
k
B(x
转步骤 2.
(k )
)
,则
x
(k )
为其近似最优解,停;否则,令
r
k
cr
k
, k k 1
,