凸优化学习
今天开始学习凸问题。
学习笔记
一、凸问题相关概念
1、什么是凸问题 Convex Problems \text{Convex Problems} Convex Problems
凸问题,即可以使用凸优化技术进行处理的一类具有良好性质的优化问题,形如:
min
f
0
(
x
)
s.t.
f
i
(
x
)
≤
0
,
i
=
1
⋯
m
h
i
(
x
)
=
0
,
i
=
1
⋯
p
\begin{aligned} \min& & \qquad &f_0(x)\\ \text{s.t.}& &\qquad &f_i(x)\le0,i=1\cdots m\\ & & &h_i(x)=0,i=1\cdots p \end{aligned}
mins.t.f0(x)fi(x)≤0,i=1⋯mhi(x)=0,i=1⋯p
其中目标函数和不等式约束函数为凸函数,等式约束函数为仿射函数,约束为凸集的优化问题称为凸问题。一般的优化问题也是这个形式,只是我们对目标函数和约束函数没有要求。
2、定义中涉及的概念
x
x
x:优化变量
Optimization Variable
\text{Optimization Variable}
Optimization Variable
f
0
f_0
f0:目标函数(损失函数)
Objective function/Cost function
\text{Objective function/Cost function}
Objective function/Cost function
f
i
(
x
)
≤
0
f_i(x)\le0
fi(x)≤0:不等式约束
Inequality Constraint
\text{Inequality Constraint}
Inequality Constraint
h
i
(
x
)
=
0
h_i(x)=0
hi(x)=0:等式约束
Equality Constraint
\text{Equality Constraint}
Equality Constraint
m
=
p
=
0
m=p=0
m=p=0:无约束
Unconstrained
\text{Unconstrained}
Unconstrained
3、优化问题的域 Domain \text{Domain} Domain
D = ⋂ i = 1 m dom f i ∩ ⋂ i = 1 p dom h i \text D =\bigcap_{i=1}^m\text{dom}f_i\cap\bigcap_{i=1}^p\text{dom}h_i D=i=1⋂mdomfi∩i=1⋂pdomhi
4、可行解集: feasible set \text{feasible set} feasible set
形如:
X
f
=
{
x
∣
x
∈
D
}
X_f=\lbrace x\mid x\in \text D\rbrace
Xf={x∣x∈D}
5、问题的最优值 Optional value \text{Optional value} Optional value
形如:
p
∗
=
inf
{
f
0
(
x
)
∣
x
∈
x
f
}
若
X
f
为
空
集
,
p
∗
=
+
∞
p^*=\inf \lbrace f_0(x)\mid x\in x_f\rbrace\\ 若X_f为空集,p^*=+\infty
p∗=inf{f0(x)∣x∈xf}若Xf为空集,p∗=+∞
6、问题的最优解 Optional point/solution \text{Optional point/solution} Optional point/solution
形如:
f
0
(
x
∗
)
=
p
∗
x
∗
∈
X
f
f_0(x^*)=p^*\qquad x^*\in X_f
f0(x∗)=p∗x∗∈Xf
7、问题的最优解集 Optional Set \text{Optional Set} Optional Set
形如:
X
o
p
t
=
{
x
∣
x
∈
X
f
,
f
0
(
x
)
=
p
∗
}
X_{opt}=\lbrace x\mid x\in X_f,f_0(x)=p^*\rbrace
Xopt={x∣x∈Xf,f0(x)=p∗}
8、问题的局部最优解
形如:
f
0
(
x
)
=
inf
{
f
0
(
z
)
∣
x
∈
X
f
}
∃
R
使
∥
z
−
x
∥
≤
R
f_0(x)=\inf \lbrace f_0(z)\mid x\in X_f\rbrace\\ \exist R使\|z-x\|\le R
f0(x)=inf{f0(z)∣x∈Xf}∃R使∥z−x∥≤R
9、几个集合的关系
个人思考
凸问题有了之前凸集、凸函数的铺垫,上手应该是很快的。但是要注意的是拿到一个优化问题首先应该看它的约束是否是凸集,然后再判断里面的函数是不是凸函数。
纸质笔记