单模函数
注意符号是小于等于,可以取等于号。
拟凸函数
凸函数
例子1
根据上面的性质判断,这个函数同时是拟凸函数、单模函数,但不是凸函数。
例子2
根据上面的性质判断,函数是单模函数、拟凸函数,但并不是凸函数。
设
f
(
x
)
=
g
(
x
)
+
h
(
x
)
f(x) = g(x) + h(x)
f(x)=g(x)+h(x)其中
g
(
x
)
g(x)
g(x)是一个凸函数
h
(
x
)
h(x)
h(x)是一个线性函数(下面我们可以看出,线性函数也是凸函数)。
因此有以下性质
g
(
λ
x
+
(
1
?
λ
)
y
)
<
=
λ
g
(
x
)
+
(
1
?
λ
)
g
(
y
)
g(\lambda x+(1-\lambda )y) <=\lambda g(x) + (1-\lambda)g(y)
g(λx+(1?λ)y)<=λg(x)+(1?λ)g(y)以及
h
(
λ
x
+
(
1
?
λ
)
y
)
<
=
λ
h
(
x
)
+
(
1
?
λ
)
h
(
y
)
h(\lambda x+(1-\lambda )y) <= \lambda h(x) + (1-\lambda)h(y)
h(λx+(1?λ)y)<=λh(x)+(1?λ)h(y)
开始证明:
f
(
λ
x
+
(
1
?
λ
)
y
)
=
g
(
λ
x
+
(
1
?
λ
)
y
)
+
h
(
λ
x
+
(
1
?
λ
)
y
)
<
=
λ
g
(
x
)
+
(
1
?
λ
)
g
(
y
)
+
λ
h
(
x
)
+
(
1
?
λ
)
h
(
y
)
=
λ
(
g
(
x
)
+
h
(
x
)
)
+
(
1
?
λ
)
(
g
(
y
)
+
h
(
y
)
)
=
λ
(
f
(
x
)
)
+
(
1
?
λ
)
(
f
(
y
)
)
f(\lambda x+(1-\lambda )y) \\ \qquad \qquad \qquad = g(\lambda x+(1-\lambda )y) + h(\lambda x+(1-\lambda )y) \\ \qquad \qquad \qquad \qquad \quad <=\lambda g(x) + (1-\lambda)g(y) +\lambda h(x) + (1-\lambda)h(y) \\ \qquad \qquad \qquad = \lambda (g(x)+h(x)) + (1-\lambda)(g(y)+h(y)) \\ = \lambda (f(x)) + (1-\lambda)(f(y))
f(λx+(1?λ)y)=g(λx+(1?λ)y)+h(λx+(1?λ)y)<=λg(x)+(1?λ)g(y)+λh(x)+(1?λ)h(y)=λ(g(x)+h(x))+(1?λ)(g(y)+h(y))=λ(f(x))+(1?λ)(f(y))得证
其他如凸函数于凸函数的和仍为凸函数,也是如此证明。
负梯度方向是从当前来看函数值下降最快的方向,所以V1是负梯度方向,而梯度方向与负梯度方向相反。所以V5是梯度方向。(梯度方向与负梯度方向垂直于等值线的切线)
目标函数:最小化
Minimize
c
?
x
\text{Minimize} \quad \mathbf{c}^\top \mathbf{x}
Minimizec?x
约束条件:
Subject?to
A
x
=
b
x
≥
0
\begin{align*} \text{Subject to} \quad & \mathbf{Ax} = \mathbf{b} \\ & \mathbf{x} \geq \mathbf{0} \end{align*}
Subject?to?Ax=bx≥0?
其中,
接下来以几个例子说明常见的标准化方法
m
a
x
7
x
1
+
2
x
2
?
2
x
3
+
8
s
.
t
.
x
1
?
2
x
2
+
3
x
3
?
8
x
4
<
=
6
x
1
?
x
3
<
=
5
0
<
=
x
1
<
=
9
x
2
<
=
1
max \qquad 7x_1 + 2x_2 - 2x_3 + 8 \\s.t. \qquad x_1-2x_2+3x_3-8x_4<=6 \\ \qquad x_1 - x_3<=5 \\ \qquad 0<=x_1<=9 \\ \qquad x_2<=1
max7x1?+2x2??2x3?+8s.t.x1??2x2?+3x3??8x4?<=6x1??x3?<=50<=x1?<=9x2?<=1
有待更新
有待更新
多维无约束优化(牛顿法、BFGS、DFP、Levenberg-Marquardt)
Nelder-Mead方法在优化过程中不需要用到导数,但是在优化变量个数较多时相对没那么高效。
什么是最速下降法?最速下降法的步聚是什么?最速下降法是不是一定能够最快搜索到最优解?如果是请阐述原因,如果不是,请说明什么情况下不能,可以采用什么方法更高效,为什么?
最速下降法用于寻找多元函数的局部最小值。它的核心思想是沿着目标函数的梯度方向迭代地调整参数值,以达到逐渐接近最优解的目的。
步骤:
最速下降法的步骤通常是沿着梯度方向最陡峭的下降方向更新参数。但它不一定能够最快地搜索到最优解。这是因为最速下降法可能会受到以下几个限制或问题的影响:
在存在这些问题的情况下,可以考虑使用其他更高效的优化算法,例如:
因此,最速下降法并不总是能够最快搜索到最优解,特别是在目标函数复杂、非凸或存在不良条件数的情况下。针对不同的问题,需要综合考虑目标函数的特性,并根据实际情况选择合适的优化算法。
max
?
x
∈
R
3
4
x
1
+
5
x
2
?
6
x
3
?s.t.?
log
?
∣
2
x
1
+
7
x
2
+
5
x
3
∣
?
1
x
1
,
x
2
,
x
3
?
0
\begin{aligned} & \max _{x \in \mathbb{R}^3} 4 x_1+5 x_2-6 x_3 \\ & \text { s.t. } \log \left|2 x_1+7 x_2+5 x_3\right| \leqslant 1 \\ & x_1, x_2, x_3 \geqslant 0 \\ \end{aligned}
?x∈R3max?4x1?+5x2??6x3??s.t.?log∣2x1?+7x2?+5x3?∣?1x1?,x2?,x3??0?
约束可以逐步简化
先简化为
∣
2
x
1
+
7
x
2
+
5
x
3
∣
?
e
\left|2 x_1+7 x_2+5 x_3\right| \leqslant e
∣2x1?+7x2?+5x3?∣?e
在简化为
2
x
1
+
7
x
2
+
5
x
3
?
e
?
2
x
1
?
7
x
2
?
5
x
3
?
e
2 x_1+7 x_2+5 x_3 \leqslant e \\ -2 x_1-7 x_2-5 x_3 \leqslant e
2x1?+7x2?+5x3??e?2x1??7x2??5x3??e
这样约束就变为了一个线性化约束,可以在化为标准型之后用单纯性法求解,也可以用内点法求解。
单纯形法在有限步会求得最终结果,而内点法收敛条件为
∣
f
(
x
?
)
?
f
(
x
k
)
∣
?
ε
f
\left|f\left(x^*\right)-f\left(x_k\right)\right|\leqslant \varepsilon_f
∣f(x?)?f(xk?)∣?εf?
min
?
x
∈
R
3
max
?
(
cosh
?
(
x
1
+
x
2
+
x
3
)
,
(
5
x
1
?
6
x
2
+
7
x
3
+
6
)
2
)
?s.t.?
∥
x
∥
2
?
10
R
e
m
a
r
k
:
cosh
?
x
=
e
x
+
e
?
x
2
\begin{aligned} & \min _{x \in \mathbb{R}^3} \max \left(\cosh \left(x_1+x_2+x_3\right),\left(5 x_1-6 x_2+7 x_3+6\right)^2\right) \\ & \text { s.t. }\|x\|_2 \leqslant 10 \end{aligned} \\Remark: \cosh x=\frac{e^x+e^{-x}}{2}
?x∈R3min?max(cosh(x1?+x2?+x3?),(5x1??6x2?+7x3?+6)2)?s.t.?∥x∥2??10?Remark:coshx=2ex+e?x?
问题仍然可以做简化令
t
>
=
cosh
?
(
x
1
+
x
2
+
x
3
)
t
>
=
(
5
x
1
?
6
x
2
+
7
x
3
+
6
)
2
t >= \cosh \left(x_1+x_2+x_3\right)\\ t>=\left(5 x_1-6 x_2+7 x_3+6\right)^2
t>=cosh(x1?+x2?+x3?)t>=(5x1??6x2?+7x3?+6)2化为
min
?
x
∈
R
3
t
?s.t.?
∥
x
∥
2
?
10
t
>
=
cosh
?
(
x
1
+
x
2
+
x
3
)
t
>
=
(
5
x
1
?
6
x
2
+
7
x
3
+
6
)
2
\begin{aligned} & \min _{x \in \mathbb{R}^3} t \\ & \text { s.t. }\|x\|_2 \leqslant 10\\ & t >= \cosh \left(x_1+x_2+x_3\right)\\& t>=\left(5 x_1-6 x_2+7 x_3+6\right)^2 \end{aligned}
?x∈R3min?t?s.t.?∥x∥2??10t>=cosh(x1?+x2?+x3?)t>=(5x1??6x2?+7x3?+6)2?
问题变为了常见的含约束凸优化问题,可以用切平面法、椭球法、内点法
收敛条件:
∣
f
(
x
?
)
?
f
(
x
k
)
∣
?
ε
f
,
g
(
x
k
)
?
ε
g
∥
x
?
?
x
k
∥
2
?
ε
x
?(for?ellipsoid)?
\begin{aligned} \left|f\left(x^*\right)-f\left(x_k\right)\right| & \leqslant \varepsilon_f, \quad g\left(x_k\right) \leqslant \varepsilon_g \\ \left\|x^*-x_k\right\|_2 & \leqslant \varepsilon_x \quad \text { (for ellipsoid) } \end{aligned}
∣f(x?)?f(xk?)∣∥x??xk?∥2???εf?,g(xk?)?εg??εx??(for?ellipsoid)??
max
?
x
∈
R
2
e
?
x
1
2
?
x
2
2
(
x
1
2
+
x
1
x
2
+
6
x
1
)
\max _{x \in \mathbb{R}^2} e^{-x_1^2-x_2^2}\left(x_1^2+x_1 x_2+6 x_1\right)
x∈R2max?e?x12??x22?(x12?+x1?x2?+6x1?)
无约束非线性问题,用LM,牛顿法,那几种共轭梯度法,最速下降法,方向+一维搜索法,NM法等
LM,牛顿法,那几种共轭梯度法,最速下降法,方向+一维搜索法收敛条件:
∥
?
f
(
x
k
)
∥
2
?
ε
?
\left\|\nabla f\left(x_k\right)\right\|_2 \leqslant \varepsilon_{\nabla}
∥?f(xk?)∥2??ε??
NM法收敛条件:
∣
f
(
x
?
)
?
f
(
x
k
)
∣
?
ε
f
,
∥
x
?
?
x
k
∥
2
?
ε
x
\begin{aligned} \left|f\left(x^*\right)-f\left(x_k\right)\right| & \leqslant \varepsilon_f,\\ \left\|x^*-x_k\right\|_2 & \leqslant \varepsilon_x \end{aligned}
∣f(x?)?f(xk?)∣∥x??xk?∥2???εf?,?εx??
max
?
x
∈
R
3
x
1
x
2
x
3
1
+
x
1
6
+
x
2
4
+
x
3
2
?s.t.?
x
1
+
x
2
+
x
3
=
1
\begin{aligned} & \max _{x \in \mathbb{R}^3} \frac{x_1 x_2 x_3}{1+x_1^6+x_2^4+x_3^2} \\ & \text { s.t. } x_1+x_2+x_3=1 \end{aligned}
?x∈R3max?1+x16?+x24?+x32?x1?x2?x3???s.t.?x1?+x2?+x3?=1?
由于有多个局部最优点,使用模拟退火算法、遗传算法、以及多起点优化算法(每个起点可分别用内点法之类的优化算法)。
模拟退火算法、遗传算法在达到最大迭代次数之后算法退出。