zoukankan      html  css  js  c++  java
  • 有约束优化问题

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

    [egin{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} ag{1} ]

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

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

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

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

    [egin{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{egin{array}{l} g_{i}left(x^{*} ight) leq 0, i=1, cdots, m \ h_{i}left(x^{*} ight) =0, i=1, cdots, l \ lambda_{i}^* geq 0, i=1, cdots, m \ lambda_{i}^* g_{i}left(x^{*} ight) =0, i=1, cdots, m \ abla fleft(x^{*} ight)+sumlimits_{i=1}^{m} lambda_{i}^* abla g_{i}left(x^{*} ight)+sumlimits_{i=1}^{l} mu_{i}^* abla h_{i}left(x^{*} ight)=0 \ end{array} ight. ag{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对偶函数

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

    [egin{array}{ll} min & f(x) \ ext { 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} ag{1} ]

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

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

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

    [egin{array}{ll} min & f(x) \ ext { s.t. } & x in S end{array} ag{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. 拉格朗日对偶函数(简称对偶函数):

    [egin{aligned} d(lambda, mu) &= minlimits_{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) ight} end{aligned} ag{3} ]

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

    对偶函数的两个性质:

    • 对偶函数是凹函数

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

    [egin{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) ight} ag{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) ight} ag{4-2} \ & leq min_{x in S}left{f(x) ight} ag{4-3} end{align} ]

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

    Lagrange 对偶问题

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

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

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

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

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

    [egin{align} maxlimits_{lambda geq 0,mu} minlimits_{x in X} left{f(x)+sumlimits_{i=1}^{m} lambda_{i} g_{i}(x)+sumlimits_{i=1}^{l} mu_{i} h_{i}(x) ight} ag{Dual problem}\ minlimits_{x in X} maxlimits_{lambda geq 0,mu} left{f(x)+sumlimits_{i=1}^{m} lambda_{i} g_{i}(x)+sumlimits_{i=1}^{l} mu_{i} h_{i}(x) ight} ag{Primal problem}\ end{align} ]

    证明如下:

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

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

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

    1. 写出对偶函数为:

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

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

      [egin{array}{cl} max & b^Tmu \ mathrm{s.t.} & A^Tmuleq 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定理,对于下面的优化问题

    [egin{array}{ll} min & f(x) \ ext { 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)的相对内部) 使得

      [egin{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条件 ↩︎

  • 相关阅读:
    Js操作Select大全
    Mybatis 中获得 connection
    A②权限管理角色列表——ui效果;表格展开列;添加编辑删除自己写注意点;id的传参
    A③权限管理表格展开得权限思路;删除标签按钮实现思路
    报错记录:vue.runtime.esm.js?2b0e:619 [Vue warn]: Invalid prop: type check failed for prop "data". Expected Array, got Object
    表单校验小tip
    A①权限管理权限列表——git创新分支;请求数据带有参数type;权限等级tag标签;权限管理思路
    网页导航菜单弹出子菜单的制作
    细线表格的制作方法
    下拉的DIV+CSS+JS二级树型菜单,刷新无影响
  • 原文地址:https://www.cnblogs.com/MayeZhang/p/14343084.html
Copyright © 2011-2022 走看看