最优化理论与方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
内点法基本原理
摘要:内点法是求解含不等式约束最优化问题的一种十分有效的算法。内点法通过构造障碍函数,求解一系列只含等式约束最优化问题,逐步得到原问题的最优解,具有找初始点容易、线性收敛、迭代次数少等特点。本文主要介绍了内点法的基本原理,障碍方法的一般步骤并分析了该方法的优缺点,进行了算例实践。
关键词:内点法;障碍方法;Newton法
The Theory of Interior Point Method
Abstract: Interior point method is a very effective algorithm for solving optimization problems with inequality constrained. Interior point method is constructed to solve a series of optimization problems with equality constraints, and the optimal solution of the original problem is obtained, which has the characteristics of finding the initial point easier, linear convergence, less iteration number and so on.
This paper mainly introduces the theory of interior point method, the general steps of barrier method and analyzing the advantages and disadvantages of the method.
Key words: interior point method; barrier method;Newton method
1 引言
内点法是由John von Neumann 利用戈尔丹的线性齐次系统提出的,后被Narendra Karmarkar 于1984年推广应用到线性规划,即Karmarkar 算法。内点法是凸优化算法递阶结构中新层次的方法,其思想是对于线性等式和不等式约束的优化问题,通过将其简化成一系列线性等式约束问题求解[1]。主要是通过构造对数障碍函数将不等式约束与原目标函数结合,将原问题转化为新的等式约束下的优化问题,之后再运用Newton 方法进行求解[2]。而罚函数法是将不等式约束与等式约束全部进行加权处理后与原目标函数结合,将原问题转化为新的无约束优化问题,通过求解该新的无约束优化问题,间接得到原约束优化问题的最优解[6]。两者在算法思想上有本质的不同,但是当原问题中只有不等式约束时,两者求解是相同的。下面主要介绍内点法的基本原理及算法思想,并对障碍法与原对偶内点法的优缺点进行了探究与分析,并给出了一个实际算例来加以说明。
2 内点法原理
2.1 对数障碍函数和中心路径
含有不等式约束的凸优化问题的标准形式如下:
b
Ax m i x f x f i ==≤,,1,0)(subject to )
(minimize 0 (1)
其中R R f f n m →:,,0 是二次可微的凸函数,n
p R A ⨯∈,n p rankA <=。并且设最优的点*
x ,最优值
为)(0**=x f p 。满足如下KKT 条件:
m
i x f A x f x f m
i m i x f b Ax i i
m
i T i i i i 2,1,
0)(0
)()(2,10
2,1,
0)(,10==∇=+∇+∇=>=≤=**=*******∑λυλλ(2)
通过定义对数障碍函数及加入正参数t :
,},1,0)(|{)()),(log()(1
∑==<∈=--=m
i i n i m i x f R x x dom x f x φφ
将原问题(1)近似转化为
b
Ax x x f t =+subject to
)()(minimize 10φ(3)
随着参数t 的不断增加问题(3)的近似精度也会不断改进。而后我们可以通过让参数t 逐渐增加,运用Newton 方法来求解一系列形如(3)的优化问题,从而得到原问题(1)的最优解。 为了简化符号,考虑(3)的等价问题:
b
Ax x x tf =+subject to )
()(minimize 0φ(4)
两则的最优解集相同,最优值差一个常参数t 。从开始假定问题(4)能够用Newton 方法求解,并特别假定对任何t>0都存在唯一解)(t x *。我们称)(t x *为中心点,而这些点的集合定义为问题(1)的中心路径。并且所有中心路劲上的点都由以下充要条件所界定:)(t x *是严格可行,即满足:
,2,1,0))((,)(m i t x f b t Ax i =<=**
并且存在p
ˆR ∈υ
使 υ
φˆ))(())((00T A t x t x f t +∇+∇=** 成立。再定义
,/ˆ)( ,2,1,))
((1)(t t m i t x tf t i i υυλ==-
=*
*
* 我们可以将中心路径的条件解释为KKT 最优性条件(2)的连续变形。即x 等于)(t x *的充要条件是存在
υλ,满足:
m
i t x f A x f x f m
i m i x f b Ax i i m
i T
i i i i 2,1,
1/)(0
)()(2,102,1,
0)(,1
0==∇=+∇+∇=>=≤=∑=λυλλ(5)
中心路径条件(5)与KKT 条件(2)的唯一不同在于互补松弛条件0)(-=x f i i λ被条件t x f i i 1/)(-=λ所替换。特别是,对于很大的t ,)(t x *
和对应的对偶解)()(t t *
*
υλ,“几乎”满足问题(1)的KKT 最优性条件。并且在实际计算过程中求解0)(-=x f i i λ是相当有难度的,而通过将其转化为t x f i i 1/)(-=λ就相对容易求解。
2.2 障碍方法
障碍方法是对无约束极小化方法进行简单的扩充,通过顺序求解一系列无约束(或线性约束)对的极小化问题,每次用所获得的最新的点作为求解下一个问题的初始点,也就是说,通过逐渐增加t 的值得到相应的)(t x *
,直到满足所需要的精度。 障碍算法的步骤如下:
给定严格可行点,
1,0:,0
>>=μt t x 误差阈值0>ε。