码迷,mamicode.com
首页 > 其他好文 > 详细

有约束优化问题

时间:2021-01-29 12:20:15      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:create   master   最大的   规范   一点   href   near   变换   prim   

对于一般形式约束优化问题:

\[\begin{array}{cl} \min & f(x) \\mathrm{s.t.} & g_i(x) \leq0, \quad i=1,\cdots ,m \& h_i(x) = 0, \quad i=1,\cdots ,l \end{array} \tag{1} \]

后面要讨论的都是假设函数\(f(x),g_i(x),h_i(x)\)均为连续可微函数,有几类不可微函数是可以转化的。比如\(f(x)=\max \{x, x^2\}\)

技术图片

\(f(x)\)在两个交点的位置是不可微的,可以进行一些变换:

\[\begin{array}{cl} \min & t \\mathrm{s.t.} & f(x) = t \\end{array} \Longleftrightarrow \begin{array}{cl} \min & t \\mathrm{s.t.} & f(x) \leq t \\end{array} \]

因为\(t\)最小时肯定是等于\(f(x)\)的,所以上面两个问题是等价的。把\(f(x)\)代入,更具体的形式:

\[\begin{array}{cl} \min & t \\mathrm{s.t.} & x \leq t \& x^2 \leq t \end{array} \]

这种形式各个函数都是连续可微的,就可以用后面的KKT条件等方法了。

KKT条件

假设\(x^*\)是问题\((1)\)局部最优解,且\(x^*\)某种约束规范(Constrint Qualification, CQ)成立,则存在\(\lambda^*,\mu^*\)使得:

\[\left\{\begin{array}{l} g_{i}\left(x^{*}\right) \leq 0, i=1, \cdots, m \h_{i}\left(x^{*}\right) =0, i=1, \cdots, l \\lambda_{i}^* \geq 0, i=1, \cdots, m \\ \lambda_{i}^* g_{i}\left(x^{*}\right) =0, i=1, \cdots, m \\nabla f\left(x^{*}\right)+\sum\limits_{i=1}^{m} \lambda_{i}^* \nabla g_{i}\left(x^{*}\right)+\sum\limits_{i=1}^{l} \mu_{i}^* \nabla h_{i}\left(x^{*}\right)=0 \\end{array}\right. \tag{2} \]

以上条件称为KKT条件\(\lambda_i^*,\mu_i^*\)称为Lagrangian乘子。

对于目标函数和约束函数可微的任意优化问题,KKT条件是原问题最优解的必要条件。「最优解一定满足KKT条件,但满足KKT条件的点不一定是最优解。」

当问题\((1)\)中满足:

  1. \(f(x),g_i(x), i=1,\cdots,m\) 均为凸函数
  2. \(h_i(x), i=1,\cdots,l\) 均为线性函数

即对于凸问题,满足KKT条件的点也是问题\((1)\)的最优解,即KKT条件是一个充要条件

关于约束规范的说明[1][2]:最常用的CQ是Slater‘s condition 和 Linearity constraint qualification。满足一条CQ就可以推出最优解处的KKT条件成立。

对偶理论

Lagrange对偶函数

考虑一般形式的约束优化问题:

\[\begin{array}{ll} \min & f(x) \\text { s.t. } & g_{i}(x) \leq 0, \quad i=1, \cdots, m \& h_{i}(x)=0, \quad i=1, \cdots, l \& x \in X \end{array} \tag{1} \]

记可行集为:\(S=\left\{x \in X \mid g_{i}(x) \leq 0, i=1, \cdots, m ; h_{i}(x)=0, i=1, \cdots, l\right\}\)

注意这个\(X\)\(f(x),g_i(x),h_i(x)\)定义域,而不是可行域。这里不再要求函数是连续可微的,也可以是离散的,取决于定义域。

所以这个优化问题其实是:

\[\begin{array}{ll} \min & f(x) \\text { s.t. } & x \in S \end{array} \tag{2} \]

当这个原问题是非凸时,可以寻找一个与原问题紧密相关、简单的对偶问题。首先引入两个概念:

  1. 拉格朗日函数

\[L(x, \lambda, \mu)=f(x)+\sum_{i=1}^{m} \lambda_{i} g_{i}(x)+\sum_{i=1}^{l} \mu_{i} h_{i}(x) \]

  1. 拉格朗日对偶函数(简称对偶函数):

\[\begin{aligned} d(\lambda, \mu) &= \min\limits_{x \in X}L(x, \lambda, \mu) \ &=\min_{x \in X} \left\{f(x)+\sum_{i=1}^{m} \lambda_{i} g_{i}(x)+\sum_{i=1}^{l} \mu_{i} h_{i}(x) \right\} \end{aligned} \tag{3} \]

其中 \(\lambda,\mu\) 称为Lagrange乘子,这里的 \(x\) 取自定义域 \(X\)

对偶函数的两个性质:

  • 对偶函数是凹函数

  • 最优值的下界:当\(\lambda \geq 0\)时,对于\(\forall(\lambda,\mu)\),其对偶函数的值小于等于原函数最优值:\(d(\lambda,\mu)\leq p^*\) ,证明如下:

\[\begin{align} d(\lambda, \mu)&=\min_{x \in X} \left\{f(x)+\sum_{i=1}^{m} \lambda_{i} g_{i}(x)+\sum_{i=1}^{l} \mu_{i} h_{i}(x) \right\}\tag{4-1} \&\leq \min_{x \in S} \left\{f(x)+\sum_{i=1}^{m} \lambda_{i} g_{i}(x)+\sum_{i=1}^{l} \mu_{i} h_{i}(x) \right\}\tag{4-2} \& \leq \min_{x \in S}\left\{f(x)\right\} \tag{4-3} \end{align} \]

? 第2步到第3步是因为在可行集\(S\)上,\(h_i(x)=0\)\(g_i(x)\leq0\)

Lagrange 对偶问题

对偶函数可以提供原问题最优值 \(p^*\) 的一个下界,但是可以发现当 \(\lambda \geq 0\) 时,对于 \(\forall(\lambda,\mu)\) 都可以提供一个下界,这样满足的值有很多,我们希望可以找到最大的那个下界,即拉格朗日对偶问题。

则原优化问题的拉格朗日对偶问题(简称对偶问题):

\[\begin{array}{ll} \max & d(\lambda,\mu) \\text { s.t. } & \lambda_{i} \geq 0, i=1, \cdots, m \end{array} \tag{5} \]

\((3)\)式中的对偶函数带进来,可以写出对偶问题的完整形式:\(\max\limits_{\lambda \geq 0,\mu} \min\limits_{x \in X} \left\{f(x)+\sum\limits_{i=1}^{m} \lambda_{i} g_{i}(x)+\sum\limits_{i=1}^{l} \mu_{i} h_{i}(x) \right\}\)

原问题与对偶问题存在以下的关系:

\[\begin{align} \max\limits_{\lambda \geq 0,\mu} \min\limits_{x \in X} \left\{f(x)+\sum\limits_{i=1}^{m} \lambda_{i} g_{i}(x)+\sum\limits_{i=1}^{l} \mu_{i} h_{i}(x) \right\} \tag{Dual problem}\\min\limits_{x \in X} \max\limits_{\lambda \geq 0,\mu} \left\{f(x)+\sum\limits_{i=1}^{m} \lambda_{i} g_{i}(x)+\sum\limits_{i=1}^{l} \mu_{i} h_{i}(x) \right\} \tag{Primal problem}\\end{align} \]

证明如下:

技术图片

例:给出如下线性规划问题的对偶问题

\[\begin{array}{cl} \min & c^Tx \\mathrm{s.t.} & Ax=b \& x>0 \end{array} \tag{6} \]

其中,\(c \in R^{n}, A \in R^{m \times n}, b \in R^{m}\).

  1. 写出对偶函数为:

    \[\begin{align} d(\mu)&=\min_{x \geq 0} \left\{c^Tx+\mu^T(b-Ax)\right\} \&= \min_{x \geq 0} \left\{ (c-A^T\mu)^Tx+b^T\mu \right\} \&=\left\{\begin{array}{ll} b^T\mu, & \rm{if} \quad c-A^T\mu \geq0 \-\infty, & \rm{otherwise} \end{array}\right. \end{align} \]

  2. 所以对偶问题\(\max{d(\mu)}\)为:

    \[\begin{array}{cl} \max & b^T\mu \\mathrm{s.t.} & A^T\mu\leq c \\end{array} \]

弱对偶定理

\(p^*\) 是原问题的最优值,\(d^*\) 是对偶问题的最优值,则\(d^* \leq p^*\),即使原问题不是凸问题这个不等式也成立。这个是若对偶性

任取\(x \in S, (\lambda,\mu),\lambda \geq 0\),必定有\(d(\lambda, \mu)\leq f(x)\)。即\(d(\lambda, \mu)\leq d^* \leq p^* \leq f(x)\),因为\(d^*=\max(d(\lambda,\mu))\)\(p^*=\min(f(x))\)

强对偶定理

如果 \(d^*=p^*\) 则称强对偶性成立,强对偶的一个判断标准是Slater定理,对于下面的优化问题

\[\begin{array}{ll} \min & f(x) \\text { s.t. } & g_{i}(x) \leq 0, \quad i=1, \cdots, m \& h_{i}(x)=0, \quad i=1, \cdots, l \& x \in X \end{array} \]

当满足以下条件时强对偶成立:

  1. 问题是凸问题:定义域集合 \(X\) 为非空凸集,\(f(x)\)\(g_i(x),i=1,\cdots m\) 是凸函数,\(h_i(x),i=1,\cdots l\) 均为线性函数;

  2. Slater条件:存在一点 \(x \in relint X\) (指定义域\(X\)的相对内部) 使得

    \[\begin{array}{l} g_i(x)< 0, i=1,\cdots,m\h_i(x)=0,i=1,\cdots,l \end{array} \]

Slater定理是说,如果原问题是凸问题,而且至少存在一个绝对可行点「让所有不等式约束都不取等号的可行点」时,强对偶成立。


  1. KKT条件中的约束规范 ??

  2. KKT条件 ??

有约束优化问题

标签:create   master   最大的   规范   一点   href   near   变换   prim   

原文地址:https://www.cnblogs.com/MayeZhang/p/14343084.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有
迷上了代码!