赞
踩
前言
本文介绍了约束最优化问题中常用的两种算法,乘子法和 Frank-Wolfe 算法。
最后通过matlab编程实现了以上两种算法,并对实际问题进行求解。
一、乘子法
简介
乘子法(multiplier method)是一种约束极小化的算法,通过引入Lagrange函数来求解得到最优解的。
适用范围:无约束最优化问题
算法步骤
步0:取初始点 x ( 0 ) ∈ R n x^{(0)} \in R^n x(0)∈Rn,初始乘子向量 λ ( 0 ) \lambda^{(0)} λ(0). 给定罚参数序列 { μ k } \{\mu_k \} {
μk},精度 ϵ > 0 \epsilon>0 ϵ>0. 令k=0.
步1:下式构造增广Lagrange函数 L μ ( x , λ ) L_{\mu} (x, \lambda) Lμ(x,λ).
L μ ( x , λ ) = f ( x ) + 1 2 μ − 1 ∑ i ∈ I [ m i n 2 { μ g i ( x ) − λ i , 0 } − λ i 2 ] − ∑ j ∈ E λ i h i ( x ) + 1 2 μ ∑ j ∈ E h i 2 ( x ) L_{\mu}(x, \lambda) = f(x) + \frac{1}{2}\mu^{-1}\sum_{i \in I}[min^2 \{\mu g_i(x)-\lambda_i, 0\}-\lambda_i^2] - \sum_{j \in E}\lambda_ih_i(x) + \frac{1}{2}\mu\sum_{j \in E} h_i^2(x)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。