对偶Duality
Lagrange dual problem拉格朗日对偶问题
拉格朗日函数
传统的最优化形式[ min f 0 ( x ) \min{f_0(x)} minf0(x)],不仅要求 x ∈ D x\isin D x∈D,且要求 x x x满足约束条件 f i ( x ) ≤ 0 ( i = 1 , . . , m ) 或 者 h i ( x ) = 0 ( i = 1 , . . , p ) f_i(x)\leq 0(i=1,..,m)或者h_i(x)=0(i=1,..,p) fi(x)≤0(i=1,..,m)或者hi(x)=0(i=1,..,p)
因为满足约束条件不好解,所有引入拉格朗日乘子,形成了
拉格朗日函数
L
(
x
,
λ
,
ν
)
=
f
0
(
x
)
+
∑
i
=
1
m
λ
i
f
i
(
x
)
+
∑
i
=
1
p
ν
i
h
i
(
x
)
L(x,\lambda,\nu)=f_0(x)+\sum\limits_{i=1}^m\lambda_if_i(x)+\sum\limits_{i=1}^p\nu_ih_i(x)
L(x,λ,ν)=f0(x)+i=1∑mλifi(x)+i=1∑pνihi(x)
- 形式=目标函数+带权约束函数
- x ∈ D = R n , λ ∈ R m , ν ∈ R p , L ∈ R n × R m × R p , 且 对 λ 和 ν 无 限 值 , d o m L = D × R m × R p x\isin D=R^n,\lambda\isin R^m,\nu\isin R^p,L\isin R^n\times R^m \times R^p,且对\lambda和\nu无限值,domL=D\times R^m \times R^p x∈D=Rn,λ∈Rm,ν∈Rp,L∈Rn×Rm×Rp,且对λ和ν无限值,domL=D×Rm×Rp
- 于是 λ i ∽ f i ≤ 0 , ν i ∽ h i = 0 \lambda_i\backsim f_i\leq0,\nu_i\backsim h_i=0 λi∽fi≤0,νi∽hi=0
拉格朗日对偶问题
最优化形式:求极值时,求导数为0的点还要满足约束条件;
拉格朗日形式:求极值时,约束条件就包含在定义域D内
D
=
d
o
m
f
0
⋂
∩
i
=
1
m
d
o
m
f
i
⋂
∩
i
=
1
p
d
o
m
h
i
D=domf_0\bigcap\cap_{i=1}^mdomf_i\bigcap\cap_{i=1}^pdomh_i
D=domf0⋂∩i=1mdomfi⋂∩i=1pdomhi
- 线性函数: s u p / i n f 是 保 凹 函 数 , m a x / m i n 是 保 凸 函 数 sup/inf是保凹函数,max/min是保凸函数 sup/inf是保凹函数,max/min是保凸函数
- g : R m × R p → R g:R^m\times R^p\rightarrow R g:Rm×Rp→R
- 对偶形式就是函数g关于L取到下确界的过程,无论L是否是凸函数,g必定是凹函数
- 因为 f 0 + ∑ λ i f i + ∑ ν i h i f_0+\sum\lambda_i f_i+\sum\nu_ih_i f0+∑λifi+∑νihi对 λ \lambda λ是线性函数,可以是保凸,也可以是保凹,加上 inf \inf inf是保凹函数,所以除非L对 ( x , λ , ν ) (x,\lambda,\nu) (x,λ,ν)都是凸函数,否则g对 ( λ , ν ) (\lambda,\nu) (λ,ν)只是是凹函数
拉格朗日对偶形式
g
(
λ
,
ν
)
=
inf
x
∈
D
L
(
x
,
λ
,
ν
)
=
inf
x
∈
D
(
f
0
(
x
)
+
∑
i
=
1
m
λ
i
f
i
(
x
)
+
∑
i
=
1
p
ν
i
h
i
(
x
)
)
g(\lambda,\nu)=\inf\limits_{x\isin D}{L(x,\lambda,\nu)}=\inf\limits_{x\isin D}{(f_0(x)+\sum\limits_{i=1}^m\lambda_if_i(x)+\sum\limits_{i=1}^p\nu_ih_i(x))}
g(λ,ν)=x∈DinfL(x,λ,ν)=x∈Dinf(f0(x)+i=1∑mλifi(x)+i=1∑pνihi(x))
- g ( λ , ν ) g(\lambda,\nu) g(λ,ν)是凹函数,极大值唯一,可能无下界(对某些取值的乘子 λ , ν \lambda,\nu λ,ν, g g g取到 − ∞ -\infty −∞)
- 下界(lower bound) 的性质:
i
f
λ
≥
0
⟹
p
∗
≥
g
(
λ
,
ν
)
if\quad \lambda\geq0\implies p^*\geq g(\lambda,\nu)
ifλ≥0⟹p∗≥g(λ,ν)
证明:
若 x ~ \tilde{x} x~是在可行域内(既是定义域D内又符合约束条件),且 λ ≥ 0 \lambda\geq 0 λ≥0
那么就有: f 0 ( x ~ ) ≥ L ( x ~ , λ , ν ) ≥ inf x ∈ D L ( x , λ , ν ) ≥ g ( λ , ν ) f_0(\tilde{x})\geq L(\tilde{x},\lambda,\nu)\geq\inf\limits_{x\isin D}{L(x,\lambda,\nu)}\geq g(\lambda,\nu) f0(x~)≥L(x~,λ,ν)≥x∈DinfL(x,λ,ν)≥g(λ,ν)
对偶函数的例子
拉格朗日对偶函数的出现,是因为满足定义域之后仍然受到约束条件,这种情况下极值不一定取得到,于是换成求极值的界(bound)
最小二范数的线性方程Least-norm solution of linear equations
- 问题描述及转变:
{ m i n x T x s . t . A x = b ⟺ L ( x , ν ) = x T x + ν T ( A x − b ) \begin{cases}min\quad x^Tx\\ s.t.\quad Ax=b\end{cases}\iff L(x,\nu)=x^Tx+\nu^T(Ax-b) {minxTxs.t.Ax=b⟺L(x,ν)=xTx+νT(Ax−b) - 令拉格朗日函数 L ( x , ν ) 对 x L(x,\nu)对x L(x,ν)对x的导数为0: ∇ x L ( x , ν ) = 2 x + A T ν = 0 ⟹ x = − ( 1 / 2 ) A T ν \nabla_xL(x,\nu)=2x+A^T\nu=0\implies x=-(1/2)A^T\nu ∇xL(x,ν)=2x+ATν=0⟹x=−(1/2)ATν
- 将极值点 x x x代入回拉格朗日对偶函数 g ( ν ) g(\nu) g(ν): g ( ν ) = inf x ∈ D L ( x , ν ) = L ( − ( 1 / 2 ) A T ν , ν ) = − ( 1 / 4 ) ν T A A T ν − b T ν g(\nu)=\inf\limits_{x\isin D}{L(x,\nu)}=L(-(1/2)A^T\nu,\nu)=-(1/4)\nu^TAA^T\nu-b^T\nu g(ν)=x∈DinfL(x,ν)=L(−(1/2)ATν,ν)=−(1/4)νTAATν−bTν,对于 ν \nu ν是个凹函数
- 于是得到下界的性质(对于所有的 ν \nu ν): p ∗ ≥ − ( 1 / 4 ) ν T A A T ν − b T ν p^*\geq -(1/4)\nu^TAA^T\nu-b^T\nu p∗≥−(1/4)νTAATν−bTν
标准的线性规划standard form LP
- 问题描述及转变:
{ m i n c T x s . t . A x = b ( x ≥ 0 ) ⟺ L ( x , λ , ν ) = c T x + ν T ( A x − b ) − λ T x = − b T ν + ( c + A T ν − λ ) T x \begin{cases}min\quad c^Tx\\ s.t.\quad Ax=b(x\geq0)\end{cases}\iff L(x,\lambda,\nu)=c^Tx+\nu^T(Ax-b)-\lambda^Tx=-b^T\nu+(c+A^T\nu-\lambda)^Tx {mincTxs.t.Ax=b(x≥0)⟺L(x,λ,ν)=cTx+νT(Ax−b)−λTx=−bTν+(c+ATν−λ)Tx - 拉格朗日函数
L
(
x
,
ν
)
是
x
L(x,\nu)是x
L(x,ν)是x的仿射函数(线性),所以导数和自变量无关,只需要讨论斜率即可
g ( λ , ν ) = inf x ∈ D L ( x , λ , ν ) = { − b T ν A T ν − λ + c = 0 [ x ≥ 0 ] − ∞ o t h e r w i s e g(\lambda,\nu)=\inf\limits_{x\isin D}{L(x,\lambda,\nu)}=\begin{cases}-b^T\nu\quad A^T\nu-\lambda+c=0[x\geq0]\\ -\infty\quad otherwise\end{cases} g(λ,ν)=x∈DinfL(x,λ,ν)={−bTνATν−λ+c=0[x≥0]−∞otherwise - 对于仿射的定义域 { ( λ , ν ) ∣ A T ν − λ + c = 0 } \{(\lambda,\nu)|A^T\nu-\lambda+c=0\} {(λ,ν)∣ATν−λ+c=0}来讲,线性函数 g g g也是个凹函数
- 于是得到下界的性质(对于所有的 ν \nu ν): p ∗ ≥ − b T ν [ i f A T ν + c = λ ≥ 0 ] p^*\geq -b^T\nu[if\quad A^T\nu+c=\lambda\geq0] p∗≥−bTν[ifATν+c=λ≥0]
等式约束的范数极小化Equality constrained norm minimization
- 引入对偶范数和共轭函数
对偶范数的定义: ∣ ∣ ν ∣ ∣ ∗ = sup ∣ ∣ u ∣ ∣ ≤ 1 u T ν ||\nu||_*=\sup_{||u||\leq1}{u^T\nu} ∣∣ν∣∣∗=sup∣∣u∣∣≤1uTν
范数函数的定义: f ( x ) = ∣ ∣ x ∣ ∣ = x T x f(x)=||x||=x^Tx f(x)=∣∣x∣∣=xTx
一般原函数是以x为自变量,求y值;共轭函数是以斜率为自变量,求y轴上截距值【见第三章】
共轭函数: f ∗ ( y ) = sup x ( y T x − f ( x ) ) = sup x ( y T x − ∣ ∣ x ∣ ∣ ) f^*(y)=\sup_x{(y^Tx-f(x))}=\sup_x{(y^Tx-||x||)} f∗(y)=supx(yTx−f(x))=supx(yTx−∣∣x∣∣)(凸函数)
证明: i f ∣ ∣ y ∣ ∣ ∗ ≤ 1 , t h e n inf x ( ∣ ∣ x ∣ ∣ − y T x ) = 0 if\quad ||y||_*\leq1,then\quad \inf_x{(||x||-y^Tx)}=0 if∣∣y∣∣∗≤1,theninfx(∣∣x∣∣−yTx)=0-
i
f
∣
∣
y
∣
∣
∗
≤
1
,
∀
∣
∣
z
∣
∣
≤
1
⟹
y
T
z
≤
1
if\quad||y||_*\leq1,\forall ||z||\leq1\implies y^Tz\leq 1
if∣∣y∣∣∗≤1,∀∣∣z∣∣≤1⟹yTz≤1
所以: ( y T x − ∣ ∣ x ∣ ∣ ) = ∣ ∣ x ∣ ∣ ( y T x ∣ ∣ x ∣ ∣ − 1 ) ≤ 0 (y^Tx-||x||)=||x||(y^T\frac{x}{||x||}-1)\leq0 (yTx−∣∣x∣∣)=∣∣x∣∣(yT∣∣x∣∣x−1)≤0
等号在 x = 0 x=0 x=0时, f ∗ ( y ) = 0 f^*(y)=0 f∗(y)=0 -
i
f
∣
∣
y
∣
∣
∗
>
1
,
令
x
=
t
u
(
∃
∣
∣
u
∣
∣
≤
1
)
⟹
u
T
y
=
∣
∣
y
∣
∣
∗
>
1
if\quad||y||_*>1,令x=tu(\exist\space||u||\leq1)\implies u^Ty=||y||_*>1
if∣∣y∣∣∗>1,令x=tu(∃ ∣∣u∣∣≤1)⟹uTy=∣∣y∣∣∗>1
所以: ( ∣ ∣ x ∣ ∣ − y T x ) = t ( ∣ ∣ u ∣ ∣ − y T u ) = t ( ∣ ∣ u ∣ ∣ − ∣ ∣ y ∣ ∣ ∗ ) → t → ∞ − ∞ (||x||-y^Tx)=t(||u||-y^Tu)=t(||u||-||y||_*)\xrightarrow{t\rightarrow\infty} -\infty (∣∣x∣∣−yTx)=t(∣∣u∣∣−yTu)=t(∣∣u∣∣−∣∣y∣∣∗)t→∞−∞ - f ∗ ( y ) = sup x ( y T x − ∣ ∣ x ∣ ∣ ) = { 0 ∣ ∣ y ∣ ∣ ∗ ≤ 1 + ∞ ∣ ∣ y ∣ ∣ ∗ > 1 f^*(y)=\sup_x{(y^Tx-||x||)}=\begin{cases}0\quad ||y||_*\leq1 \\ +\infty\quad ||y||_*>1\end{cases} f∗(y)=supx(yTx−∣∣x∣∣)={0∣∣y∣∣∗≤1+∞∣∣y∣∣∗>1
-
i
f
∣
∣
y
∣
∣
∗
≤
1
,
∀
∣
∣
z
∣
∣
≤
1
⟹
y
T
z
≤
1
if\quad||y||_*\leq1,\forall ||z||\leq1\implies y^Tz\leq 1
if∣∣y∣∣∗≤1,∀∣∣z∣∣≤1⟹yTz≤1
- 问题描述及转变:
{ m i n ∣ ∣ x ∣ ∣ s . t . A x = b ⟺ g ( ν ) = inf x ∈ D L ( x , ν ) = inf x ∈ D ( ∣ ∣ x ∣ ∣ + ν T ( b − A x ) ) \begin{cases}min\quad ||x||\\ s.t.\quad Ax=b\end{cases}\iff g(\nu)=\inf\limits_{x\isin D}{L(x,\nu)}=\inf\limits_{x\isin D}{(||x||+\nu^T(b-Ax))} {min∣∣x∣∣s.t.Ax=b⟺g(ν)=x∈DinfL(x,ν)=x∈Dinf(∣∣x∣∣+νT(b−Ax))
若采用 A x − b Ax-b Ax−b进行处理也是可以的,那么最后的结果也是 − b T ν -b^T\nu −bTν,这个符号不影响这个下确界的确定,求解的本质是为了找到 ν \nu ν的取值范围 - 分类讨论斜率的临界条件得到:
g ( ν ) = ν T b = b T ν inf x ∈ D ( ∣ ∣ x ∣ ∣ − ν T A x + b T ν ) = { b T ν ∣ ∣ A T ν ∣ ∣ ∗ ≤ 1 ⟺ ( 1 − ∣ ∣ A T ν ∣ ∣ ∗ ) ≥ 0 [ x = 0 ] − ∞ o t h e r w i s e g(\nu)\xlongequal{\nu^Tb=b^T\nu}\inf\limits_{x\isin D}{(||x||-\nu^TAx+b^T\nu)}=\begin{cases}b^T\nu\quad ||A^T\nu||_*\leq1\iff(1-||A^T\nu||_*)\geq0[x=0]\\ -\infty\quad otherwise\end{cases} g(ν)νTb=bTνx∈Dinf(∣∣x∣∣−νTAx+bTν)={bTν∣∣ATν∣∣∗≤1⟺(1−∣∣ATν∣∣∗)≥0[x=0]−∞otherwise - 于是得到下界的性质(对于所有的 ν \nu ν): p ∗ ≥ b T ν [ i f ∣ ∣ A T ν ∣ ∣ ∗ ≤ 1 ] p^*\geq b^T\nu[if\quad ||A^T\nu||_*\leq1] p∗≥bTν[if∣∣ATν∣∣∗≤1]
双向划分问题Two-way partitioning
- 问题描述及转变:
{ m i n x T W x s . t . x i 2 = 1 ( i = 1 , . . , n ) ⟺ g ( ν ) = inf x ∈ D ( x T W x + ∑ i = 1 n ν i ( x i 2 − 1 ) ) \begin{cases}min\quad x^TWx\\ s.t.\quad x_i^2=1(i=1,..,n)\end{cases}\iff g(\nu)=\inf\limits_{x\isin D}{(x^TWx+\sum\limits_{i=1}^n{\nu_i(x_i^2-1)})} {minxTWxs.t.xi2=1(i=1,..,n)⟺g(ν)=x∈Dinf(xTWx+i=1∑nνi(xi2−1))- 这是一个非凸问题,可行域集里有 2 n 2^n 2n个离散点(每个点取1或者-1)
- x T W x = ∑ i , j x i W i j x j , W i j 表 示 i 和 j x^TWx=\sum\limits_{i,j}{x_iW_{ij}x_j},W_{ij}表示i和j xTWx=i,j∑xiWijxj,Wij表示i和j分到相同标记的代价
- d i a g ( ν ) 是 ν 里 元 素 的 对 角 阵 , 可 取 ν = − λ m i n ( W ) ∗ 1 diag(\nu)是\nu里元素的对角阵,可取\nu=-\lambda_{min}(W)*1 diag(ν)是ν里元素的对角阵,可取ν=−λmin(W)∗1
- 分类讨论对称矩阵得到:
g ( ν ) = 1 T ∈ R n ( 横 向 量 ) inf x ∈ D ( x T ( W + d i a g ( ν ) ) x − 1 T ν ) = { − 1 T ν W + d i a g ( ν ) ≥ 0 − ∞ o t h e r w i s e g(\nu)\xlongequal{1^T\isin R^n(横向量)}\inf\limits_{x\isin D}{(x^T(W+diag(\nu))x-1^T\nu)}=\begin{cases}-1^T\nu\quad W+diag(\nu)\geq0\\ -\infty\quad otherwise\end{cases} g(ν)1T∈Rn(横向量)x∈Dinf(xT(W+diag(ν))x−1Tν)={−1TνW+diag(ν)≥0−∞otherwise - 于是得到下界的性质(对于所有的
ν
\nu
ν):
p
∗
≥
−
1
T
ν
[
i
f
W
+
d
i
a
g
(
ν
)
≥
0
]
p^*\geq -1^T\nu[if\quad W+diag(\nu)\geq0]
p∗≥−1Tν[ifW+diag(ν)≥0]
例如: ν = − λ m i n ( W ) ∗ 1 ⟹ p ∗ ≥ n λ m i n ( W ) \nu=-\lambda_{min}(W)*1\implies p^*\geq n\lambda_{min}(W) ν=−λmin(W)∗1⟹p∗≥nλmin(W)
拉格朗日对偶和共轭函数
- 问题描述及转变:
{ m i n f 0 ( x ) s . t . A x ≤ b , C x = d ⟺ g ( λ , ν ) = inf x ∈ d o m f 0 ( f 0 ( x ) + ( A T λ + C T ν ) T x − b T λ − d T ν ) \begin{cases}min\quad f_0(x) \\ s.t.\quad Ax\leq b,Cx=d\end{cases}\iff g(\lambda,\nu)=\inf\limits_{x\isin domf_0}{(f_0(x)+(A^T\lambda+C^T\nu)^Tx-b^T\lambda-d^T\nu)} {minf0(x)s.t.Ax≤b,Cx=d⟺g(λ,ν)=x∈domf0inf(f0(x)+(ATλ+CTν)Tx−bTλ−dTν) - 引入共轭函数
g ( λ , ν ) = − sup x ∈ d o m f 0 ( [ − ( A T λ + C T ν ) T ] x − f 0 ( x ) ) − b T λ − d T ν g(\lambda,\nu)=-\sup\limits_{x\isin domf_0}{([-(A^T\lambda+C^T\nu)^T]x-f_0(x))}-b^T\lambda-d^T\nu g(λ,ν)=−x∈domf0sup([−(ATλ+CTν)T]x−f0(x))−bTλ−dTν
其中共轭函数 f ∗ ( y ) = sup x ∈ d o m f 0 ( y T x − f ( x ) ) f^*(y)=\sup\limits_{x\isin domf_0}{(y^Tx-f(x))} f∗(y)=x∈domf0sup(yTx−f(x))
这里认为 y = − ( A T λ + C T ν ) y=-(A^T\lambda+C^T\nu) y=−(ATλ+CTν)
所以 g ( λ , ν ) = − f 0 ∗ ( − A T λ − C T ν ) − b T λ − d T ν g(\lambda,\nu)=-f_0^*(-A^T\lambda-C^T\nu)-b^T\lambda-d^T\nu g(λ,ν)=−f0∗(−ATλ−CTν)−bTλ−dTν - 例子:熵求极值
- f ( x ) = x log ( x ) , 设 F ( x , y ) = y T x − x log x f(x)=x\log{(x)},设F(x,y)=y^Tx-x\log{x} f(x)=xlog(x),设F(x,y)=yTx−xlogx
- 对x求导,并令导数值为0
∂ x F ( x , y ) = y − ( log x + x ∗ 1 x ) = y − 1 − log x = 0 \partial_xF(x,y)=y-(\log{x}+\frac{x*1}{x})=y-1-\log{x}=0 ∂xF(x,y)=y−(logx+xx∗1)=y−1−logx=0 - 得到极值点 x = e y − 1 x=e^{y-1} x=ey−1
- 于是代入到
F
F
F得到:
F ∗ ( x , y ) = y e y − 1 − e y − 1 log ( e y − 1 ) = y e y − 1 − ( y − 1 ) e y − 1 = e y − 1 ( 仅 含 y 的 函 数 ) F^*(x,y)=ye^{y-1}-e^{y-1}\log{(e^{y-1})}=ye^{y-1}-(y-1)e^{y-1}=e^{y-1}(仅含y的函数) F∗(x,y)=yey−1−ey−1log(ey−1)=yey−1−(y−1)ey−1=ey−1(仅含y的函数) - 推广到: f 0 ( x ) = ∑ i = 1 n x i log x i ⟹ f 0 ∗ ( y ) = ∑ i = 1 n e y i − 1 f_0(x)=\sum\limits_{i=1}^nx_i\log{x_i}\implies f_0^*(y)=\sum\limits_{i=1}^n{e^{y_i-1}} f0(x)=i=1∑nxilogxi⟹f0∗(y)=i=1∑neyi−1
对偶问题
目的:当 λ ≥ 0 \lambda\geq0 λ≥0时,求解原问题的最优解 p ∗ p^* p∗可能很难,于是转化为求解拉格朗日对偶问题的极值 d ∗ d^* d∗,这样比较容易求得次优解 d ∗ d^* d∗,因为 p ∗ ≥ d ∗ p^*\geq d^* p∗≥d∗,要使得 d ∗ d^* d∗不断逼近 p ∗ p^* p∗,所以将对 d ∗ = g ( λ , ν ) d^*=g(\lambda,\nu) d∗=g(λ,ν)不断取较大值(唯一最大值)。
- 拉格朗日对偶问题
{ max g ( λ , ν ) s . t . λ ≥ 0 \begin{cases}\max\quad{g(\lambda,\nu)}\\s.t.\quad \lambda\geq 0\end{cases} {maxg(λ,ν)s.t.λ≥0
max是保凸运算, λ ≥ 0 \lambda\geq0 λ≥0是凸集,所以对偶问题变成凸问题 - 从拉格朗日对偶函数中,找到 p ∗ p^* p∗的最好下界
- 这转变为凸优化问题,最优值用 d ∗ d^* d∗表示
- λ ≥ 0 \lambda\geq0 λ≥0时, ( λ , ν ) ∈ d o m g (\lambda,\nu)\isin domg (λ,ν)∈domg
- 当 g g g有其他限制的时候,需要显式化对偶问题的条件
- 例子:标准LP问题
{ m i n c T x s . t . A x = b ( x ≥ 0 ) ⟺ { m a x − b T ν s . t . A T ν + c ≥ 0 \begin{cases}min\quad c^Tx\\ s.t.\quad Ax=b(x\geq0)\end{cases}\iff \begin{cases}max\quad -b^T\nu\\ s.t.\quad A^T\nu+c\geq0\end{cases} {mincTxs.t.Ax=b(x≥0)⟺{max−bTνs.t.ATν+c≥0
弱对偶和强对偶
- 弱对偶:
d
∗
≤
p
∗
d^*\leq p^*
d∗≤p∗
无论是否凸问题,这个不等式都成立
可以找到一个平凡nontrivial下确界 - 强对偶:
d
∗
=
p
∗
d^*=p^*
d∗=p∗
一般问题不成立,但是对凸问题一般成立
找到规范约束条件,保证凸问题中强对偶成立
几何解释geometric interpretation
简单的,只考虑单限制条件(仅
f
1
(
x
)
≤
0
f_1(x)\leq0
f1(x)≤0)的LP问题
设
g
(
λ
)
=
inf
(
u
,
t
)
∈
G
(
t
+
λ
u
)
,
G
=
{
(
f
1
(
x
)
,
f
0
(
x
)
)
∣
x
∈
D
}
,
t
∽
f
0
,
u
∽
f
1
≤
0
g(\lambda)=\inf\limits_{(u,t)\isin G}{(t+\lambda u)},G=\{(f_1(x),f_0(x))|x\isin D\},t\backsim f_0,u\backsim f_1\leq 0
g(λ)=(u,t)∈Ginf(t+λu),G={(f1(x),f0(x))∣x∈D},t∽f0,u∽f1≤0
- 定义域G内只有 u ≤ 0 u\leq0 u≤0的部分可以取
- 超平面 g ( λ ) = λ u + t 与 t g(\lambda)=\lambda u+t与t g(λ)=λu+t与t轴相交的点值就是 g ( λ ) ( 潜 在 的 d ∗ ) g(\lambda)(潜在的d^*) g(λ)(潜在的d∗)
- 函数的自变量就是斜率
λ
\lambda
λ,利用超平面的平移得到
g
(
λ
)
(
潜
在
的
d
∗
)
g(\lambda)(潜在的d^*)
g(λ)(潜在的d∗),所以
λ
\lambda
λ只能往
g
(
λ
)
≤
p
∗
g(\lambda)\leq p^*
g(λ)≤p∗的方向取
- 考虑何时
p
∗
=
d
∗
p^*=d^*
p∗=d∗?
- 画出定义域G的凸包,得到凸集的定义域,那么有可能得到强对偶条件
- G可以进行延拓:点集变化的方向不影响最终结果值
G ′ = A = { ( u , t ) ∣ f 1 ( x ) ≤ u , f 0 ( x ) ≤ t , x ∈ D } G'=A=\{(u,t)|f_1(x)\leq u,f_0(x)\leq t,x\isin D\} G′=A={(u,t)∣f1(x)≤u,f0(x)≤t,x∈D}- u ∽ f 1 < 0 u\backsim f_1<0 u∽f1<0才对结果有影响,所以 u 往 u > 0 u往u>0 u往u>0方向延拓没有影响
- t ∽ f 0 取 i n f t\backsim f_0取inf t∽f0取inf,所以 t 往 t > 0 t往t>0 t往t>0方向延拓没有影响
- 画出定义域G的凸包,得到凸集的定义域,那么有可能得到强对偶条件
分割约束条件Slater’s constraint qualification
最优化问题(
min
f
0
s
.
t
f
i
≤
0
,
i
=
1
,
.
.
,
m
,
A
x
=
b
\min{f_0}\quad s.t\space f_i\leq 0,i=1,..,m,Ax=b
minf0s.t fi≤0,i=1,..,m,Ax=b)
能够保证强对偶成立,需要满足严格可行域(相对内点)的要求:
∃
x
∈
i
n
t
D
:
f
i
(
x
)
<
0
,
i
=
1
,
.
.
,
m
,
A
x
=
b
\exist x\isin intD:f_i(x)<0,i=1,..,m,Ax=b
∃x∈intD:fi(x)<0,i=1,..,m,Ax=b
- 若 p ∗ > − ∞ p^*>-\infty p∗>−∞,那么总能保证对偶问题的最优解 p ∗ p^* p∗可取到
- 相对内点( R e l i n t D ∽ RelintD\backsim RelintD∽相对仿射弧的内点 { x ∈ A f f C ∣ B ( x , r ) ∩ A f f C ∈ C , r > 0 } \{x\isin Aff_C|B(x,r)\cap Aff_C\isin C,r>0\} {x∈AffC∣B(x,r)∩AffC∈C,r>0})可以取代定义域 i n t D intD intD【这里仍有存疑】
- 线性不等式可以不必 f i ( x ) < 0 f_i(x)<0 fi(x)<0
- 存在多种其他规范约束条件
结论:Slater规范约束条件 ⟺ \iff ⟺强对偶
不等约束的LP问题
Primal-P原问题:
{
min
c
T
x
s
.
t
.
A
x
≤
b
\begin{cases}\min\space{c^Tx}\\s.t.\space Ax\leq b\end{cases}
{min cTxs.t. Ax≤b
dual-F对偶函数:
g
(
λ
)
=
inf
x
(
c
+
A
T
λ
)
T
x
−
b
T
λ
=
{
−
b
T
λ
A
T
λ
+
c
=
0
−
∞
o
t
h
e
r
w
i
s
e
g(\lambda)=\inf\limits_x{(c+A^T\lambda)^Tx-b^T\lambda}=\begin{cases}-b^T\lambda\quad A^T\lambda+c=0\\ -\infty\quad otherwise\end{cases}
g(λ)=xinf(c+ATλ)Tx−bTλ={−bTλATλ+c=0−∞otherwise
dual-P对偶问题:
{
max
−
b
T
λ
s
.
t
.
A
T
λ
+
c
=
0
,
λ
≥
0
\begin{cases}\max\space{-b^T\lambda}\\s.t.\space A^T\lambda+c=0,\lambda\geq0\end{cases}
{max −bTλs.t. ATλ+c=0,λ≥0
若某些
x
~
使
得
A
x
~
<
b
\tilde{x}使得A\tilde{x}<b
x~使得Ax~<b,根据Slater条件可知
p
∗
=
d
∗
p^*=d^*
p∗=d∗
或者当原问题和对偶问题都不可解时,也有
p
∗
=
d
∗
p^*=d^*
p∗=d∗
二次规划问题
假设
P
∈
S
+
+
n
P\isin S_{++}^n
P∈S++n正定对称矩阵
Primal-P原问题:
{
min
x
T
P
x
s
.
t
.
A
x
≤
b
\begin{cases}\min\space{x^TPx}\\s.t.\space Ax\leq b\end{cases}
{min xTPxs.t. Ax≤b
dual-F对偶函数:
g
(
λ
)
=
inf
x
(
x
T
P
x
+
λ
T
(
A
x
−
b
)
)
=
−
1
4
λ
T
A
P
−
1
A
T
λ
−
b
T
λ
g(\lambda)=\inf\limits_x{(x^TPx+\lambda^T(Ax-b))}=-\frac{1}{4}\lambda^TAP^{-1}A^T\lambda-b^T\lambda
g(λ)=xinf(xTPx+λT(Ax−b))=−41λTAP−1ATλ−bTλ
dual-P对偶问题:
{
max
−
1
4
λ
T
A
P
−
1
A
T
λ
−
b
T
λ
s
.
t
.
λ
≥
0
\begin{cases}\max\space{-\frac{1}{4}\lambda^TAP^{-1}A^T\lambda-b^T\lambda}\\s.t.\space \lambda\geq0\end{cases}
{max −41λTAP−1ATλ−bTλs.t. λ≥0
若某些
x
~
使
得
A
x
~
<
b
\tilde{x}使得A\tilde{x}<b
x~使得Ax~<b,根据Slater条件可知
p
∗
=
d
∗
p^*=d^*
p∗=d∗
事实上,总存在
p
∗
=
d
∗
p^*=d^*
p∗=d∗
KKT条件与广义不等式
互补松弛性complementary slackness
假设强对偶成立
p
∗
=
d
∗
p^*=d^*
p∗=d∗,
x
∗
x^*
x∗是原问题的最优解,
(
λ
∗
,
ν
∗
)
(\lambda^*,\nu^*)
(λ∗,ν∗)是对偶问题的最优解
p
∗
=
f
0
(
x
∗
)
=
d
∗
=
g
(
λ
∗
,
ν
∗
)
=
inf
x
(
f
0
(
x
)
+
∑
i
=
1
m
λ
i
∗
f
i
(
x
∗
)
+
∑
i
=
1
p
ν
i
∗
h
i
(
x
∗
)
)
p^*=f_0(x^*)=d^*=g(\lambda^*,\nu^*)=\inf\limits_x{(f_0(x)+\sum\limits_{i=1}^m\lambda_i^*f_i(x^*)+\sum\limits_{i=1}^p\nu_i^*h_i(x^*))}
p∗=f0(x∗)=d∗=g(λ∗,ν∗)=xinf(f0(x)+i=1∑mλi∗fi(x∗)+i=1∑pνi∗hi(x∗))
≤
f
0
(
x
∗
)
+
∑
i
=
1
m
λ
i
∗
f
i
(
x
∗
)
+
∑
i
=
1
p
ν
i
∗
h
i
(
x
∗
)
\leq f_0(x^*)+\sum\limits_{i=1}^m\lambda_i^*f_i(x^*)+\sum\limits_{i=1}^p\nu_i^*h_i(x^*)
≤f0(x∗)+i=1∑mλi∗fi(x∗)+i=1∑pνi∗hi(x∗)
→
h
i
=
0
,
λ
i
f
i
<
0
≤
f
0
(
x
∗
)
\xrightarrow{h_i=0,\lambda_if_i<0}\leq f_0(x^*)
hi=0,λifi<0≤f0(x∗)
- 所以 x ∗ 是 L ( x , λ ∗ , ν ∗ ) x^*是L(x,\lambda^*,\nu^*) x∗是L(x,λ∗,ν∗)的极小值点
- 互补松弛性条件:
λ
i
∗
f
i
(
x
∗
)
=
0
,
i
=
1
,
.
.
.
,
m
\lambda_i^*f_i(x^*)=0,i=1,...,m
λi∗fi(x∗)=0,i=1,...,m
- λ i ∗ > 0 ⟹ f i ( x ∗ ) = 0 \lambda_i^*>0\implies f_i(x^*)=0 λi∗>0⟹fi(x∗)=0(说明边界可取)
- f i ( x ∗ ) < 0 ⟹ λ i ∗ = 0 f_i(x^*)<0\implies \lambda_i^*=0 fi(x∗)<0⟹λi∗=0(限制条件 f i f_i fi可不存在)
KKT条件optimality conditions
当限制条件 f i , h i f_i,h_i fi,hi可导时,满足以下四个条件就是KKT条件
- 原问题 f i ( x ) ≤ 0 , i = 1 , . . . , m ; h i ( x ) = 0 , i = 1 , . . , p f_i(x)\leq 0,i=1,...,m;h_i(x)=0,i=1,..,p fi(x)≤0,i=1,...,m;hi(x)=0,i=1,..,p
- 具有互补松弛性: λ i f i ( x ) = 0 , i = 1 , . . , m \lambda_if_i(x)=0,i=1,..,m λifi(x)=0,i=1,..,m
- 拉格朗日函数对x的导数为0: ∇ f 0 ( x ) + ∑ i = 1 m λ i ∇ f i ( x ) + ∑ i = 1 p ν i ∇ h i ( x ) = 0 \nabla f_0(x)+\sum\limits_{i=1}^m\lambda_i\nabla f_i(x)+\sum\limits_{i=1}^p\nu_i\nabla h_i(x)=0 ∇f0(x)+i=1∑mλi∇fi(x)+i=1∑pνi∇hi(x)=0
- 对偶问题约束: λ ≥ 0 \lambda\geq0 λ≥0
KKT条件是一般对偶问题的必要条件:
强对偶,且
x
,
λ
,
ν
x,\lambda,\nu
x,λ,ν都是最优
⟹
\implies
⟹满足KKT条件
凸问题的KKT条件
若是凸问题,那么 x ~ , λ ~ , ν ~ \tilde{x},\tilde{\lambda},\tilde{\nu} x~,λ~,ν~满足KKT条件 ⟺ \iff ⟺强对偶成立且 x ~ , λ ~ , ν ~ \tilde{x},\tilde{\lambda},\tilde{\nu} x~,λ~,ν~是凸问题最优解
- 若 λ ≥ 0 \lambda\geq0 λ≥0,那么 L ( x , λ ~ , ν ~ ) L(x,\tilde{\lambda},\tilde{\nu}) L(x,λ~,ν~)是凸函数
- x ~ \tilde{x} x~在原可行域内,且是L函数的一个极值点,所以 g ( λ ~ , ν ~ ) = L ( x , λ ~ , ν ~ ) g(\tilde{\lambda},\tilde{\nu})=L(x,\tilde{\lambda},\tilde{\nu}) g(λ~,ν~)=L(x,λ~,ν~)
- 因为满足互补松弛性,所以
f
0
(
x
~
)
=
g
(
λ
~
,
ν
~
)
f_0(\tilde{x})=g(\tilde{\lambda},\tilde{\nu})
f0(x~)=g(λ~,ν~)
所以有 f 0 ( x ) ≥ p ∗ ≥ g ( λ ~ , ν ~ ) f_0(x)\geq p^*\geq g(\tilde{\lambda},\tilde{\nu}) f0(x)≥p∗≥g(λ~,ν~)
当不等式变成等式时,就是原问题最优解和对偶问题最优解一致的情况 d ∗ = p ∗ d^*=p^* d∗=p∗
二次规划
设
P
∈
S
+
n
,
{
min
1
2
x
T
P
x
+
q
T
x
+
r
s
.
t
.
A
x
=
b
P\isin S_+^n,\begin{cases}\min\space{\frac{1}{2}x^TPx+q^Tx+r}\\s.t.\space Ax=b\end{cases}
P∈S+n,{min 21xTPx+qTx+rs.t. Ax=b
L
=
1
2
x
T
P
x
+
q
T
x
+
r
+
ν
(
A
x
−
b
)
L=\frac{1}{2}x^TPx+q^Tx+r+\nu(Ax-b)
L=21xTPx+qTx+r+ν(Ax−b)
KKT条件:拉格朗日函数L求导极值+限制条件
{
P
x
∗
+
q
+
A
T
ν
∗
=
0
A
x
∗
=
b
\begin{cases}{Px^*+q+A^T\nu^*=0}\\ Ax^*=b\end{cases}
{Px∗+q+ATν∗=0Ax∗=b
[
P
A
T
A
0
]
[
x
∗
ν
∗
]
=
[
−
q
b
]
\begin{bmatrix} P & A^T \\ A & 0 \end{bmatrix}\begin{bmatrix} x^* \\ \nu^* \end{bmatrix}=\begin{bmatrix} -q\\b \end{bmatrix}
[PAAT0][x∗ν∗]=[−qb]
注水问题
设
α
i
>
0
,
λ
∈
R
n
,
ν
∈
R
,
{
min
−
∑
i
=
1
n
log
(
x
i
+
α
i
)
s
.
t
.
x
≥
0
,
1
T
x
=
1
\alpha_i>0,\lambda\isin R^n,\nu\isin R,\begin{cases}\min{-\sum\limits_{i=1}^n{\log{(x_i+\alpha_i)}}}\\s.t.\space x\geq0,1^Tx=1\end{cases}
αi>0,λ∈Rn,ν∈R,⎩⎨⎧min−i=1∑nlog(xi+αi)s.t. x≥0,1Tx=1
L
=
−
log
(
x
+
α
)
+
λ
(
−
x
)
+
ν
(
1
T
x
−
1
)
L=-{\log{(x+\alpha)}}+\lambda(-x)+\nu(1^Tx-1)
L=−log(x+α)+λ(−x)+ν(1Tx−1)
−
l
o
g
-log
−log是凸函数,KKT条件:互补松弛性+拉格朗日函数求导极值
- x ≥ 0 , 1 T x = 1 , λ i ≥ 0 , λ i x i = 0 , i = 1 , . . , m x\geq0,1^Tx=1,\lambda_i\geq0,\lambda_ix_i=0,i=1,..,m x≥0,1Tx=1,λi≥0,λixi=0,i=1,..,m
-
−
1
x
+
α
−
λ
+
ν
=
0
⟹
λ
=
ν
−
1
x
+
α
≥
0
-\frac{1}{x+\alpha}-\lambda+\nu=0\implies\lambda=\nu-\frac{1}{x+\alpha}\geq0
−x+α1−λ+ν=0⟹λ=ν−x+α1≥0
- ν < 1 α : x = 1 ν − α > 0 , λ = 0 \nu<\frac{1}{\alpha}:x=\frac{1}{\nu}-\alpha>0,\lambda=0 ν<α1:x=ν1−α>0,λ=0
- ν ≥ 1 α : x = 0 , λ = ν − 1 α \nu\geq\frac{1}{\alpha}:x=0,\lambda=\nu-\frac{1}{\alpha} ν≥α1:x=0,λ=ν−α1
- 解 x ~ , { x i = { 1 / ν − α i α i ≤ 1 / ν 0 α i > 1 / ν = max ( 0 , 1 / v − α i ) 1 T x = ∑ i = 1 n max ( 0 , 1 / ν − α i ) = 1 \tilde{x},\begin{cases}x_i=\begin{cases}1/\nu-\alpha_i & \alpha_i\leq 1/\nu\\0&\alpha_i>1/\nu\end{cases}=\max{(0,1/v-\alpha_i)}\\ 1^Tx=\sum\limits_{i=1}^n\max{(0,1/\nu-\alpha_i)}=1\end{cases} x~,⎩⎪⎪⎪⎨⎪⎪⎪⎧xi={1/ν−αi0αi≤1/ναi>1/ν=max(0,1/v−αi)1Tx=i=1∑nmax(0,1/ν−αi)=1
扰动与敏感性分析Perturbation and sensitivity analysis
扰动后的原问题和对偶问题
{
m
i
n
f
0
(
x
)
s
.
t
.
f
i
(
x
)
≤
u
i
,
i
=
1
,
.
.
.
,
m
h
i
(
x
)
=
v
i
,
i
=
1
,
.
.
,
p
⟹
{
m
a
x
g
(
λ
,
ν
)
−
u
T
λ
−
v
T
ν
s
.
t
.
λ
≥
0
\begin{cases}min\quad f_0(x)\\ s.t.\\f_i(x)\leq u_i,i=1,...,m\\h_i(x)=v_i,i=1,..,p\end{cases}\implies\begin{cases}max\quad g(\lambda,\nu)-u^T\lambda-v^T\nu\\ s.t.\quad \lambda\geq0\end{cases}
⎩⎪⎪⎪⎨⎪⎪⎪⎧minf0(x)s.t.fi(x)≤ui,i=1,...,mhi(x)=vi,i=1,..,p⟹{maxg(λ,ν)−uTλ−vTνs.t.λ≥0
- x是原变量,u,v是参数
- p ∗ ( u , v ) p^*(u,v) p∗(u,v)为扰动后的极小值
全局分析
假设不受扰动的问题满足强对偶条件,且
λ
∗
,
ν
∗
\lambda^*,\nu^*
λ∗,ν∗是未扰动问题的最优解
对扰动问题应用弱对偶条件
g
=
d
∗
≤
p
∗
g=d^*\leq p^*
g=d∗≤p∗:
p
∗
(
u
,
v
)
≥
g
(
λ
∗
,
ν
∗
)
−
u
T
λ
∗
−
v
T
ν
∗
=
p
∗
(
0
,
0
)
−
u
T
λ
∗
−
v
T
ν
∗
p^*(u,v)\geq g(\lambda^*,\nu^*)-u^T\lambda^*-v^T\nu^*=p^*(0,0)-u^T\lambda^*-v^T\nu^*
p∗(u,v)≥g(λ∗,ν∗)−uTλ∗−vTν∗=p∗(0,0)−uTλ∗−vTν∗
由
λ
∗
,
ν
∗
\lambda^*,\nu^*
λ∗,ν∗大小及
u
,
v
u,v
u,v正负性可定性分析最优值的大小变化
- 当 u i < 0 , λ ∗ → + ∞ u_i<0,\lambda^*\rightarrow+\infty ui<0,λ∗→+∞,那么 p ∗ p^* p∗会增大很多
- 当 u i > 0 , λ ∗ → 0 u_i>0,\lambda^*\rightarrow 0 ui>0,λ∗→0,那么 p ∗ p^* p∗不会下降很多
- 当 { ν i → + ∞ , v i < 0 ν i → − ∞ , v i > 0 \begin{cases}\nu_i\rightarrow+\infty,v_i<0\\\nu_i\rightarrow-\infty,v_i>0\end{cases} {νi→+∞,vi<0νi→−∞,vi>0,那么 p ∗ p^* p∗会增大很多
- 当 { ν i → + 0 , v i > 0 ν i → − 0 , v i < 0 \begin{cases}\nu_i\rightarrow+0,v_i>0\\\nu_i\rightarrow-0,v_i<0\end{cases} {νi→+0,vi>0νi→−0,vi<0,那么 p ∗ p^* p∗不会下降很多
局部分析
假设
p
∗
(
u
,
v
)
在
(
0
,
0
)
p^*(u,v)在(0,0)
p∗(u,v)在(0,0)处可导
λ
i
∗
=
−
∂
p
∗
(
0
,
0
)
∂
u
i
\lambda_i^*=-\frac{\partial{p^*(0,0)}}{\partial{u_i}}
λi∗=−∂ui∂p∗(0,0),
ν
i
∗
=
−
∂
p
∗
(
0
,
0
)
∂
v
i
\nu_i^*=-\frac{\partial{p^*(0,0)}}{\partial{v_i}}
νi∗=−∂vi∂p∗(0,0)(通过左右夹逼证明)
类似这样的图像(只有一个
f
i
f_i
fi不等式约束的优化问题)
对偶问题等价变形
对原问题进行简单的等价变形可能会得到非常不一样的对偶问题,应用在传统的对偶问题难求解的情况下
引入新变量和等式约束
假设原问题是
m
i
n
(
f
0
(
A
x
+
b
)
)
min(f_0(Ax+b))
min(f0(Ax+b)),那么对偶问题是
g
=
i
n
f
(
L
(
x
)
)
=
i
n
f
(
f
0
(
A
x
+
b
)
)
=
p
∗
g=inf(L(x))=inf(f_0(Ax+b))=p^*
g=inf(L(x))=inf(f0(Ax+b))=p∗
虽有强对偶条件,但是没有用
- 转换原问题和对偶问题
{ min f 0 ( y ) s . t . A x + b − y = 0 ⟹ { max b T ν s . t . A T ν = 0 , ∣ ∣ ν ∣ ∣ ∗ ≤ 1 \begin{cases}\min\space{f_0(y)}\\s.t.\space Ax+b-y=0\end{cases}\implies\begin{cases}\max\space{b^T\nu}\\s.t.\space A^T\nu=0,||\nu||_*\leq1\end{cases} {min f0(y)s.t. Ax+b−y=0⟹{max bTνs.t. ATν=0,∣∣ν∣∣∗≤1
对偶函数: g ( ν ) = inf x , y ( f 0 ( y ) + ν T ( A x + b − y ) ) g(\nu)=\inf\limits_{x,y}{(f_0(y)+\nu^T(Ax+b-y))} g(ν)=x,yinf(f0(y)+νT(Ax+b−y))
= inf x , y ( f 0 ( y ) − ν T y + ν T A x + b T ν ) = { − f 0 ∗ ( ν ) + b T ν A T ν = 0 − ∞ o t h e r w i s e =\inf\limits_{x,y}{(f_0(y)-\nu^Ty+\nu^TAx+b^T\nu)}=\begin{cases}-f_0^*(\nu)+b^T\nu& A^T\nu=0\\ -\infty&otherwise\end{cases} =x,yinf(f0(y)−νTy+νTAx+bTν)={−f0∗(ν)+bTν−∞ATν=0otherwise - 例:范数逼近
{ min ∣ ∣ y ∣ ∣ s . t . A x − b = y ⟹ { max b T ν − f 0 ∗ ( ν ) s . t . A T ν = 0 \begin{cases}\min\space{||y||}\\s.t.\space Ax-b=y\end{cases}\implies\begin{cases}\max\space{b^T\nu-f_0^*(\nu)}\\s.t.\space A^T\nu=0\end{cases} {min ∣∣y∣∣s.t. Ax−b=y⟹{max bTν−f0∗(ν)s.t. ATν=0
对偶函数: g ( ν ) = inf x , y ( ∣ ∣ y ∣ ∣ + ν T ( y + b − A x ) ) g(\nu)=\inf\limits_{x,y}{(||y||+\nu^T(y+b-Ax))} g(ν)=x,yinf(∣∣y∣∣+νT(y+b−Ax))
= inf x , y ( ∣ ∣ y ∣ ∣ + ν T y − ν T A x + b T ν ) = { b T ν + inf y ( ∣ ∣ y ∣ ∣ + ν T y ) A T ν = 0 − ∞ o t h e r w i s e =\inf\limits_{x,y}{(||y||+\nu^Ty-\nu^TAx+b^T\nu)}=\begin{cases}b^T\nu+\inf\limits_{y}{(||y||+\nu^Ty)}& A^T\nu=0\\ -\infty&otherwise\end{cases} =x,yinf(∣∣y∣∣+νTy−νTAx+bTν)={bTν+yinf(∣∣y∣∣+νTy)−∞ATν=0otherwise
= { b T ν A T ν = 0 , ∣ ∣ ν ∣ ∣ ∗ ≤ 1 − ∞ o t h e r w i s e =\begin{cases}b^T\nu& A^T\nu=0,||\nu||_*\leq1\\ -\infty&otherwise\end{cases} ={bTν−∞ATν=0,∣∣ν∣∣∗≤1otherwise
隐式约束或者显式约束
例子是定义域带限制的线性规划
{
min
c
T
x
s
.
t
.
A
x
=
b
,
−
1
≤
x
≤
1
⟹
{
max
−
b
T
ν
−
1
T
λ
1
−
1
T
λ
2
s
.
t
.
{
c
+
A
T
ν
+
λ
1
−
λ
2
=
0
λ
1
≥
0
,
λ
2
≥
0
\begin{cases}\min\space{c^Tx}\\s.t.\space Ax=b,-1\leq x\leq1\end{cases}\implies\begin{cases}\max\space{-b^T\nu-1^T\lambda_1-1^T\lambda_2}\\s.t.\space\begin{cases}c+A^T\nu+\lambda_1-\lambda_2=0\\ \lambda_1\geq0,\lambda_2\geq0\end{cases}\end{cases}
{min cTxs.t. Ax=b,−1≤x≤1⟹⎩⎪⎨⎪⎧max −bTν−1Tλ1−1Tλ2s.t. {c+ATν+λ1−λ2=0λ1≥0,λ2≥0
- 转换原函数
{ min f 0 ( x ) = { c T x − 1 ≤ x ≤ 1 ∞ o t h e r w i s e s . t . A x = b \begin{cases}\min\space{f_0(x)=\begin{cases}c^Tx&-1\leq x\leq1\\\infty&otherwise\end{cases}}\\s.t.\space Ax=b\end{cases} ⎩⎪⎨⎪⎧min f0(x)={cTx∞−1≤x≤1otherwises.t. Ax=b - 对偶函数
g ( ν ) = inf − 1 ≤ x ≤ 1 ( c T x + ν T ( A x − b ) ) = − b T ν − ∣ ∣ A T ν + c ∣ ∣ 1 g(\nu)=\inf\limits_{-1\leq x\leq1}{(c^Tx+\nu^T(Ax-b))}=-b^T\nu-||A^T\nu+c||_1 g(ν)=−1≤x≤1inf(cTx+νT(Ax−b))=−bTν−∣∣ATν+c∣∣1 - 所以对偶问题
max ( − b T ν − ∣ ∣ A T ν + c ∣ ∣ 1 ) \max{(-b^T\nu-||A^T\nu+c||_1)} max(−bTν−∣∣ATν+c∣∣1)
转换目标/限制函数
e.g.将 f 0 ( x ) 用 递 增 的 凸 函 数 ϕ 替 换 : ϕ ( f 0 ( x ) ) f_0(x)用递增的凸函数\phi替换:\phi(f_0(x)) f0(x)用递增的凸函数ϕ替换:ϕ(f0(x))
带广义不等式的问题
{ min f 0 ( x ) s . t { f i ( x ) ⪯ K i 0 , i = 1 , . . . , m h i ( x ) = 0 , i = 1 , . . . , p o n R k i \begin{cases}\min{f_0(x)}\\s.t\quad\begin{cases}f_i(x)\preceq_{K_i}0,i=1,...,m\\ h_i(x)=0,i=1,...,p\end{cases}\end{cases}\quad on\space R^{k_i} ⎩⎪⎨⎪⎧minf0(x)s.t{fi(x)⪯Ki0,i=1,...,mhi(x)=0,i=1,...,pon Rki
- λ i ∈ R k i ∽ f i ( x ) ⪯ K i 0 \lambda_i\isin R^{k_i}\backsim f_i(x)\preceq_{K_i}0 λi∈Rki∽fi(x)⪯Ki0
- 拉格朗日函数L:
R
n
×
R
k
1
×
.
.
.
×
R
k
m
×
R
p
→
R
R^n\times R^{k_1}\times ...\times R^{k_m}\times R^p\rightarrow R
Rn×Rk1×...×Rkm×Rp→R
L ( x , λ 1 , . . , λ m , ν ) = f 0 ( x ) + ∑ i = 1 m λ i T f i ( x ) + ∑ i = 1 p ν i h i ( x ) L(x,\lambda_1,..,\lambda_m,\nu)=f_0(x)+\sum\limits_{i=1}^m\lambda_i^Tf_i(x)+\sum\limits_{i=1}^p\nu_ih_i(x) L(x,λ1,..,λm,ν)=f0(x)+i=1∑mλiTfi(x)+i=1∑pνihi(x) - 对偶函数g:
R
k
1
×
.
.
.
×
R
k
m
×
R
p
→
R
R^{k_1}\times ...\times R^{k_m}\times R^p\rightarrow R
Rk1×...×Rkm×Rp→R
g ( λ 1 , . . , λ m , ν ) = inf x ∈ D L ( x , λ 1 , . . , λ m , ν ) g(\lambda_1,..,\lambda_m,\nu)=\inf\limits_{x\isin D}L(x,\lambda_1,..,\lambda_m,\nu) g(λ1,..,λm,ν)=x∈DinfL(x,λ1,..,λm,ν) - 下确界的性质: λ i ⪰ K i ∗ 0 ⟹ g ( λ 1 , . . , λ m , ν ) ≤ p ∗ \lambda_i\succeq_{K_i^*}0\implies g(\lambda_1,..,\lambda_m,\nu)\leq p^* λi⪰Ki∗0⟹g(λ1,..,λm,ν)≤p∗
- 对偶问题:满足弱对偶(一般问题)
d
∗
≤
p
∗
d^*\leq p^*
d∗≤p∗;或者强对偶(带规范约束条件的凸问题->Slater/原问题的内点集)
d
∗
=
p
∗
d^*=p^*
d∗=p∗
{ max g ( λ 1 , . . , λ m , ν ) s . t . λ i ⪰ K i ∗ 0 , i = 1 , . . . , m \begin{cases}\max{g(\lambda_1,..,\lambda_m,\nu)}\\ s.t.\quad \lambda_i\succeq_{K_i^*}0,i=1,...,m\end{cases} {maxg(λ1,..,λm,ν)s.t.λi⪰Ki∗0,i=1,...,m
总结
- 拉格朗日对偶函数
- 定义:将标准形式的优化问题转成对偶问题考虑
将优化问题转化为线性函数, x x x满足定义域 D = d o m f 0 ⋂ ∩ i = 1 m d o m f i ⋂ ∩ i = 1 p d o m h i D=domf_0\bigcap\cap_{i=1}^mdomf_i\bigcap\cap_{i=1}^pdomh_i D=domf0⋂∩i=1mdomfi⋂∩i=1pdomhi之后,不需要再考虑限制条件
拉格朗日函数: L ( x , λ , ν ) = f 0 ( x ) + ∑ i = 1 m λ i f i ( x ) + ∑ i = 1 p ν i h i ( x ) L(x,\lambda,\nu)=f_0(x)+\sum\limits_{i=1}^m\lambda_if_i(x)+\sum\limits_{i=1}^p\nu_ih_i(x) L(x,λ,ν)=f0(x)+i=1∑mλifi(x)+i=1∑pνihi(x)
拉格朗日对偶形式: g ( λ , ν ) = inf x L ( x , λ , ν ) g(\lambda,\nu)=\inf\limits_x{L(x,\lambda,\nu)} g(λ,ν)=xinfL(x,λ,ν) - 最优值的下界:对偶函数构成了原问题最优值的下确界
对偶形式是为了求出一个极值的下界lower bound: i f λ ≥ 0 ⟹ p ∗ ≥ g ( λ , ν ) if\quad \lambda\geq0\implies p^*\geq g(\lambda,\nu) ifλ≥0⟹p∗≥g(λ,ν) - 对偶函数的例子
- 线性方程组的最小二乘解
g ( ν ) = inf x ∈ D L ( x , ν ) = inf ( x T x + ν T ( A x − b ) ) = − ( 1 / 4 ) ν T A A T ν − b T ν g(\nu)=\inf\limits_{x\isin D}{L(x,\nu)=\inf{(x^Tx+\nu^T(Ax-b)})}=-(1/4)\nu^TAA^T\nu-b^T\nu g(ν)=x∈DinfL(x,ν)=inf(xTx+νT(Ax−b))=−(1/4)νTAATν−bTν - 标准形式的线性规划
g ( λ , ν ) = inf x ∈ D L ( x , λ , ν ) = inf ( c T x + ν T ( A x − b ) − λ T x ) g(\lambda,\nu)=\inf\limits_{x\isin D}{L(x,\lambda,\nu)}=\inf{(c^Tx+\nu^T(Ax-b)-\lambda^Tx)} g(λ,ν)=x∈DinfL(x,λ,ν)=inf(cTx+νT(Ax−b)−λTx)
= inf ( − b T ν + ( c + A T ν − λ ) T x ) = { − b T ν A T ν − λ + c = 0 − ∞ o t h e r w i s e =\inf{(-b^T\nu+(c+A^T\nu-\lambda)^Tx)}=\begin{cases}-b^T\nu\quad A^T\nu-\lambda+c=0\\ -\infty\quad otherwise\end{cases} =inf(−bTν+(c+ATν−λ)Tx)={−bTνATν−λ+c=0−∞otherwise - 等式约束条件下的范数极小化
g ( ν ) = inf x ∈ D L ( x , ν ) = inf x ∈ D ( ∣ ∣ x ∣ ∣ + ν T ( b − A x ) ) = { b T ν ∣ ∣ A T ν ∣ ∣ ∗ ≤ 1 − ∞ o t h e r w i s e g(\nu)=\inf\limits_{x\isin D}{L(x,\nu)}=\inf\limits_{x\isin D}{(||x||+\nu^T(b-Ax))}=\begin{cases}b^T\nu\quad ||A^T\nu||_*\leq1\\ -\infty\quad otherwise\end{cases} g(ν)=x∈DinfL(x,ν)=x∈Dinf(∣∣x∣∣+νT(b−Ax))={bTν∣∣ATν∣∣∗≤1−∞otherwise - 双向划分问题
g ( ν ) = 1 T ∈ R n ( 横 向 量 ) inf x ∈ D ( x T ( W + d i a g ( ν ) ) x − 1 T ν ) = { − 1 T ν W + d i a g ( ν ) ≥ 0 − ∞ o t h e r w i s e g(\nu)\xlongequal{1^T\isin R^n(横向量)}\inf\limits_{x\isin D}{(x^T(W+diag(\nu))x-1^T\nu)}=\begin{cases}-1^T\nu\quad W+diag(\nu)\geq0\\ -\infty\quad otherwise\end{cases} g(ν)1T∈Rn(横向量)x∈Dinf(xT(W+diag(ν))x−1Tν)={−1TνW+diag(ν)≥0−∞otherwise
- 线性方程组的最小二乘解
- 拉格朗日对偶函数与共轭函数
g ( λ , ν ) = inf x ∈ d o m f 0 ( f 0 ( x ) + ( A T λ + C T ν ) T x − b T λ − d T ν ) g(\lambda,\nu)=\inf\limits_{x\isin domf_0}{(f_0(x)+(A^T\lambda+C^T\nu)^Tx-b^T\lambda-d^T\nu)} g(λ,ν)=x∈domf0inf(f0(x)+(ATλ+CTν)Tx−bTλ−dTν)
= − sup x ∈ d o m f 0 ( [ − ( A T λ + C T ν ) T ] x − f 0 ( x ) ) − b T λ − d T ν =-\sup\limits_{x\isin domf_0}{([-(A^T\lambda+C^T\nu)^T]x-f_0(x))}-b^T\lambda-d^T\nu =−x∈domf0sup([−(ATλ+CTν)T]x−f0(x))−bTλ−dTν
= − f 0 ∗ ( − A T λ − C T ν ) − b T λ − d T ν =-f_0^*(-A^T\lambda-C^T\nu)-b^T\lambda-d^T\nu =−f0∗(−ATλ−CTν)−bTλ−dTν
- 定义:将标准形式的优化问题转成对偶问题考虑
- 对偶问题
- 对偶问题定义
对偶函数: g ( λ , ν ) = inf x ∈ D L ( x , λ , ν ) = inf x ∈ D ( f 0 ( x ) + ∑ i = 1 m λ i f i ( x ) + ∑ i = 1 p ν i h i ( x ) ) g(\lambda,\nu)=\inf\limits_{x\isin D}{L(x,\lambda,\nu)}=\inf\limits_{x\isin D}{(f_0(x)+\sum\limits_{i=1}^m\lambda_if_i(x)+\sum\limits_{i=1}^p\nu_ih_i(x))} g(λ,ν)=x∈DinfL(x,λ,ν)=x∈Dinf(f0(x)+i=1∑mλifi(x)+i=1∑pνihi(x))
对偶问题:凸优化问题 { max g ( λ , ν ) s . t . λ ≥ 0 \begin{cases}\max\quad{g(\lambda,\nu)}\\s.t.\quad \lambda\geq 0\end{cases} {maxg(λ,ν)s.t.λ≥0 - 弱对偶与强对偶
弱对偶: d ∗ ≤ p ∗ d^*\leq p^* d∗≤p∗;强对偶: d ∗ = p ∗ d^*=p^* d∗=p∗ - 图形解释:通过单限制条件(仅 f 1 ( x ) ≤ 0 f_1(x)\leq0 f1(x)≤0)的LP问题来对弱对偶和强对偶问题进行直观阐述
- Slater约束准则:Slater条件严格可行与对于仿射函数约束的改善
Slater规范约束条件 ⟺ \iff ⟺强对偶- 例:不等约束的LP问题
{ min c T x s . t . A x ≤ b ⟹ { max − b T λ s . t . A T λ + c = 0 , λ ≥ 0 \begin{cases}\min\space{c^Tx}\\s.t.\space Ax\leq b\end{cases}\implies\begin{cases}\max\space{-b^T\lambda}\\s.t.\space A^T\lambda+c=0,\lambda\geq0\end{cases} {min cTxs.t. Ax≤b⟹{max −bTλs.t. ATλ+c=0,λ≥0
某些 x ~ 使 得 A x ~ < b \tilde{x}使得A\tilde{x}<b x~使得Ax~<b,根据Slater条件可知 p ∗ = d ∗ p^*=d^* p∗=d∗ - 例:二次规划问题
{ min x T P x s . t . A x ≤ b ⟹ { max − 1 4 λ T A P − 1 A T λ − b T λ s . t . λ ≥ 0 \begin{cases}\min\space{x^TPx}\\s.t.\space Ax\leq b\end{cases}\implies\begin{cases}\max\space{-\frac{1}{4}\lambda^TAP^{-1}A^T\lambda-b^T\lambda}\\s.t.\space \lambda\geq0\end{cases} {min xTPxs.t. Ax≤b⟹{max −41λTAP−1ATλ−bTλs.t. λ≥0
若某些 x ~ 使 得 A x ~ < b \tilde{x}使得A\tilde{x}<b x~使得Ax~<b,根据Slater条件可知 p ∗ = d ∗ p^*=d^* p∗=d∗
- 例:不等约束的LP问题
- 对偶问题定义
- KKT条件与广义不等式
- 互补松弛性:
λ
i
∗
f
i
(
x
∗
)
=
0
,
i
=
1
,
.
.
.
,
m
\lambda_i^*f_i(x^*)=0,i=1,...,m
λi∗fi(x∗)=0,i=1,...,m
- λ i ∗ > 0 ⟹ f i ( x ∗ ) = 0 \lambda_i^*>0\implies f_i(x^*)=0 λi∗>0⟹fi(x∗)=0(说明边界可取)
- f i ( x ∗ ) < 0 ⟹ λ i ∗ = 0 f_i(x^*)<0\implies \lambda_i^*=0 fi(x∗)<0⟹λi∗=0(限制条件 f i f_i fi可不存在)
- KKT条件:强对偶成立且函数可微时,原函数与对偶函数限制条件+互补松弛性+函数 L ( x , λ i ∗ , ν i ∗ ) L(x,\lambda_i^*,\nu_i^*) L(x,λi∗,νi∗)在极值点 x ∗ x^* x∗导数为0,即构成KKT条件
- 对于凸问题,
x
∗
,
(
λ
∗
,
ν
∗
)
x^*,(\lambda^*,\nu^*)
x∗,(λ∗,ν∗)满足KKT条件
⟺
\iff
⟺强对偶成立且
x
∗
,
(
λ
∗
,
ν
∗
)
x^*,(\lambda^*,\nu^*)
x∗,(λ∗,ν∗)是最优解
- 例:QP问题
{ P x ∗ + q + A T ν ∗ = 0 A x ∗ = b \begin{cases}{Px^*+q+A^T\nu^*=0}\\ Ax^*=b\end{cases} {Px∗+q+ATν∗=0Ax∗=b - 例:注水
{ λ i ≥ 0 , λ i x i = 0 − 1 x i + α i − λ i + ν i = 0 1 T x = 1 \begin{cases}\lambda_i\geq0,\lambda_ix_i=0\\-\frac{1}{x_i+\alpha_i}-\lambda_i+\nu_i=0\\1^Tx=1\end{cases} ⎩⎪⎨⎪⎧λi≥0,λixi=0−xi+αi1−λi+νi=01Tx=1
- 例:QP问题
- 扰动与敏感性分析:对原问题的约束条件做扰动,判断对
p
∗
p^*
p∗的影响,
p
∗
(
u
,
v
)
p^*(u,v)
p∗(u,v)为扰动后的极小值
- 全局分析
全局有 p ∗ ( u , v ) ≥ p ∗ ( 0 , 0 ) − u T λ ∗ − v T ν ∗ p^*(u,v)\geq p^*(0,0)-u^T\lambda^*-v^T\nu^* p∗(u,v)≥p∗(0,0)−uTλ∗−vTν∗,由 λ ∗ , ν ∗ \lambda^*,\nu^* λ∗,ν∗大小及 u , v u,v u,v正负性可定性分析最优值的大小变化 - 局部分析
( λ ∗ , ν ∗ ) (\lambda^*,\nu^*) (λ∗,ν∗)与 p ∗ p^* p∗在 u = 0 , v = 0 u=0,v=0 u=0,v=0处的梯度有关
- 全局分析
- 对原问题进行简单的等价变形可能会得到非常不一样的对偶问题
- 引入新变量和相应等式约束
m i n ( f 0 ( A x + b ) ) ⟹ { min f 0 ( y ) s . t . A x + b − y = 0 min(f_0(Ax+b))\implies\begin{cases}\min\space{f_0(y)}\\s.t.\space Ax+b-y=0\end{cases} min(f0(Ax+b))⟹{min f0(y)s.t. Ax+b−y=0
⟹ { max b T ν s . t . A T ν = 0 , ∣ ∣ ν ∣ ∣ ∗ ≤ 1 \implies\begin{cases}\max\space{b^T\nu}\\s.t.\space A^T\nu=0,||\nu||_*\leq1\end{cases} ⟹{max bTνs.t. ATν=0,∣∣ν∣∣∗≤1 - 进行隐式约束:将约束条件加到目标函数中,约束被违背时,函数值为无穷大
{ min c T x s . t . A x = b , − 1 ≤ x ≤ 1 \begin{cases}\min\space{c^Tx}\\s.t.\space Ax=b,-1\leq x\leq1\end{cases} {min cTxs.t. Ax=b,−1≤x≤1
⟹ { max − b T ν − 1 T λ 1 − 1 T λ 2 s . t . { c + A T ν + λ 1 − λ 2 = 0 λ 1 ≥ 0 , λ 2 ≥ 0 \implies\begin{cases}\max\space{-b^T\nu-1^T\lambda_1-1^T\lambda_2}\\s.t.\space\begin{cases}c+A^T\nu+\lambda_1-\lambda_2=0\\ \lambda_1\geq0,\lambda_2\geq0\end{cases}\end{cases} ⟹⎩⎪⎨⎪⎧max −bTν−1Tλ1−1Tλ2s.t. {c+ATν+λ1−λ2=0λ1≥0,λ2≥0
- 引入新变量和相应等式约束
- 广义不等式:类似原问题只含数值不等式的情形
{ min f 0 ( x ) s . t { f i ( x ) ⪯ K i 0 , i = 1 , . . . , m h i ( x ) = 0 , i = 1 , . . . , p o n R k i \begin{cases}\min{f_0(x)}\\s.t\quad\begin{cases}f_i(x)\preceq_{K_i}0,i=1,...,m\\ h_i(x)=0,i=1,...,p\end{cases}\end{cases}\quad on\space R^{k_i} ⎩⎪⎨⎪⎧minf0(x)s.t{fi(x)⪯Ki0,i=1,...,mhi(x)=0,i=1,...,pon Rki
⟹ { max g ( λ 1 , . . , λ m , ν ) s . t . λ i ⪰ K i ∗ 0 , i = 1 , . . . , m \implies\begin{cases}\max{g(\lambda_1,..,\lambda_m,\nu)}\\ s.t.\quad \lambda_i\succeq_{K_i^*}0,i=1,...,m\end{cases} ⟹{maxg(λ1,..,λm,ν)s.t.λi⪰Ki∗0,i=1,...,m
- 互补松弛性:
λ
i
∗
f
i
(
x
∗
)
=
0
,
i
=
1
,
.
.
.
,
m
\lambda_i^*f_i(x^*)=0,i=1,...,m
λi∗fi(x∗)=0,i=1,...,m
Reference