凸优化学习
这一部分开始为算法打基础了,敏感性分析是指我们去分析当优化问题中的哪些变量改变后会引起优化速度的极大改变。
学习笔记
对于一个凸优化问题:
min
f
0
(
x
)
(P)
s.t.
f
i
(
x
)
≤
0
i
=
1
⋯
m
h
i
(
x
)
=
0
i
=
1
⋯
p
\begin{aligned} \min&& f_0(x)&\\ \text {(P)}\qquad\text{s.t.}&&f_i(x)&\le0\qquad i=1\cdots m\\ &&h_i(x)&=0\qquad i=1\cdots p\\ \end{aligned}\\
min(P)s.t.f0(x)fi(x)hi(x)≤0i=1⋯m=0i=1⋯p
设其干扰问题为:
min
f
0
(
x
)
s.t.
f
i
(
x
)
≤
u
i
i
=
1
⋯
m
h
i
(
x
)
=
w
i
i
=
1
⋯
p
\begin{aligned} \min&& f_0(x)&\\ \qquad\text{s.t.}&&f_i(x)&\le u_i\qquad i=1\cdots m\\ &&h_i(x)&=w_i\qquad i=1\cdots p\\ \end{aligned}\\
mins.t.f0(x)fi(x)hi(x)≤uii=1⋯m=wii=1⋯p
干扰问题最优值
p
∗
(
u
,
w
)
p^*(u,w)
p∗(u,w)是关于
u
,
w
u,w
u,w的函数。
易得性质:
{
1.
p
∗
(
0
,
0
)
=
p
∗
2.
p
∗
(
u
,
w
)
是
关
于
(
u
,
w
)
的
凸
函
数
3.
若
p
∗
=
d
∗
,
(
λ
∗
,
v
∗
)
为
对
偶
问
题
最
优
解
,
则
有
p
∗
(
u
,
w
)
≥
p
∗
(
0
,
0
)
−
λ
∗
T
u
−
v
∗
T
w
\begin{cases} 1.p^*(0,0)=p^*\\ 2.p^*(u,w)是关于(u,w)的凸函数\\ 3.若p^*=d^*,(\lambda^*,v^*)为对偶问题最优解,则有p^*(u,w)\ge p^*(0,0)-{\lambda^*}^Tu-{v^*}^Tw \end{cases}
⎩⎪⎨⎪⎧1.p∗(0,0)=p∗2.p∗(u,w)是关于(u,w)的凸函数3.若p∗=d∗,(λ∗,v∗)为对偶问题最优解,则有p∗(u,w)≥p∗(0,0)−λ∗Tu−v∗Tw
下面给出性质3的推导:
设
x
~
\tilde x
x~是干扰问题的最优解,有:
f
i
(
x
~
)
≤
u
i
i
=
1
⋯
m
h
i
(
x
~
)
=
w
i
i
=
1
⋯
p
p
∗
(
0
,
0
)
=
g
(
λ
∗
,
v
∗
)
≤
f
0
(
x
~
)
+
∑
i
=
1
m
λ
i
∗
f
i
(
x
~
)
+
∑
i
=
1
m
v
i
∗
h
i
(
x
~
)
≤
f
0
(
x
~
)
+
λ
∗
u
+
v
∗
w
=
p
∗
(
u
,
w
)
+
λ
∗
u
+
v
∗
w
\begin{aligned} f_i(\tilde x)&\le u_i\qquad i=1\cdots m\\ h_i(\tilde x)&=w_i\qquad i=1\cdots p\\ p^*(0,0)&=g(\lambda^*,v^*)\\ &\le f_0(\tilde x)+\sum_{i=1}^m\lambda_i^*f_i(\tilde x)+\sum_{i=1}^mv_i^*h_i(\tilde x)\\ &\le f_0(\tilde x)+\lambda^*u+v^*w\\ &=p^*(u,w)+\lambda^*u+v^*w \end{aligned}
fi(x~)hi(x~)p∗(0,0)≤uii=1⋯m=wii=1⋯p=g(λ∗,v∗)≤f0(x~)+i=1∑mλi∗fi(x~)+i=1∑mvi∗hi(x~)≤f0(x~)+λ∗u+v∗w=p∗(u,w)+λ∗u+v∗w
得到敏感性结论:
- 若
λ
i
∗
\lambda_i^*
λi∗很大,且加紧第
i
i
i次不等式约束,即
u
i
<
0
u_i<0
ui<0,则目标函数(代价函数)将变得很大,相应的性能会下降很多,故
λ
i
∗
\lambda_i^*
λi∗很大时不要加紧不等式约束。
经济学角度理解: λ i ∗ \lambda_i^* λi∗很大即原材料价格很高,大量购买原材料,且不能将产品卖完一定很亏。 - 若 v i ∗ v_i^* vi∗很大正值使 w i < 0 w_i<0 wi<0或 v i ∗ v_i^* vi∗绝对值很大负值使 w i > 0 w_i>0 wi>0,则最优值很大,相应风险很大。
- 若 λ i ∗ \lambda_i^* λi∗很小正值使 u i > 0 u_i>0 ui>0,则最优值下降不大,风险很小,此时没必要做出改变,性能不会有多大改变。
- 若 v i ∗ v_i^* vi∗很小正值使 u i > 0 u_i>0 ui>0或 v i ∗ v_i^* vi∗绝对值很小负值使 w i < 0 w_i<0 wi<0则最优值下降不大,风险很小,此时没必要做出改变,性能不会有多大改变。
个人思考
敏感性分析可以帮助我们调参时预估对性能的影响。
纸质笔记