机器学习笔记之最优化理论与方法——最优化问题概述
引言
从本节开始,将对最优化理论与方法进行简单认识。
什么是最优化问题
无论是最优化理论还是最优化方法,讨论的对象都是最优化问题。
关于最优化问题的一种简单描述:最优化问题本质上属于决策问题。
- 例如路径选择问题:确定达到目的地最佳路径的计量标准。其中问题的目标可能包含:路径距离最短、行驶费用最少等等。
- 再例如车辆调度问题:通过制定行车路线,使车辆再满足一定约束条件下,有序通过一系列装货点和卸货点,以达到如最短路程、耗时最少、费用最小等目标。
也就是说,我们需要从若干个可执行策略中挑出一个/若干个策略,从而使待处理问题的目标达到最优。
具体的说,一个最优化问题会包含如下三个部分:
- 决策变量:在执行策略过程中需要做决定的信息。例如车辆调度问题中的路径选择。
- 目标函数:在制定策略之前,需要明确要优化的目标。而目标函数是对目标的计量方式进行表达。目标函数可能不止一个,不同角度的目标可能对应不同的目标函数。例如上述车辆调度问题中的最短路程、耗时最小、费用最小。它们都可以作为目标,从而制定相应的目标函数。
- 约束条件:由可行策略组成的集合,通常使用等式/不等式进行描述。
最优化问题的基本形式
关于最优化问题的数学符号表达如下:
{ min or max f ( x ) x = ( x 1 , ⋯ , x p ) T s.t. { g i ( x ) ≤ 0 i = 1 , 2 , ⋯ , m h j ( x ) = 0 j = 1 , 2 , ⋯ , l x ∈ X \begin{cases} \begin{aligned} & \min \text{ or } \max f(x) \quad x = (x_1,\cdots,x_p)^T \\ & \text{s.t. } \begin{cases} g_i(x) \leq 0 \quad i=1,2,\cdots,m \\ h_j(x) = 0 \quad j = 1,2,\cdots,l \\ \end{cases} \\ & x \in \mathcal X \end{aligned} \end{cases} ⎩
⎨
⎧min or maxf(x)x=(x1,⋯,xp)Ts.t. {
gi(x)≤0i=1,2,⋯,mhj(x)=0j=1,2,⋯,lx∈X
-
其中 x i ( i = 1 , 2 , ⋯ , p ) x_i(i=1,2,\cdots,p) xi(i=1,2,⋯,p)是决策变量;而 x x x则表示由若干决策变量组成的决策向量。
-
而目标函数作为目标的计量方式,它必然与决策向量相关。它具体描述为关于决策向量的一个函数:
也就是说,一旦得到一个/一组确定的决策
x x x,必然会得到目标相应的计量结果
f ( x ) f(x) f(x)。
f ( x ) = f ( x 1 , x 2 , ⋯ , x p ) f(x) = f(x_1,x_2,\cdots,x_p) f(x)=f(x1,x2,⋯,xp)
而 min f ( x ) \min f(x) minf(x)与 max f ( x ) \max f(x) maxf(x)分别表示对目标函数最小化或最大化,根据实际情况而定。 -
而 g i ( x ) g_i(x) gi(x)同样是关于决策向量 x x x的一个函数。在执行决策的过程中,可能存在相关资源的限制。而 g i ( x ) ≤ 0 g_i(x) \leq 0 gi(x)≤0则是一种不等式相关的条件限制,称作不等式约束。
同理, h j ( x ) = 0 h_j(x) = 0 hj(x)=0则是一种等式相关的条件限制,被称作等式约束。
这里的
i , j i,j i,j描述不等式/等式约束的编号,对应的
m , l m,l m,l描述不等式/等式约束的数量。
-
而 x ∈ X x \in \mathcal X x∈X则表示决策向量 x x x的定义域空间 X \mathcal X X。通常情况下,对 X \mathcal X X的描述比较简单、宽泛。例如: X ∈ R p \mathcal X \in \mathbb R^p X∈Rp,即 x x x是一个实数向量; X ∈ R + p \mathcal X \in \mathbb R_+^p X∈R+p,即 x x x是一个非负的实数向量; X ∈ Z p \mathcal X \in \mathcal Z^p X∈Zp,即 x x x是一个整数向量等等。根据具体的实际问题具体设置。
虽然 X \mathcal X X描述了 x x x的基本性质,但并不代表 X \mathcal X X内的所有值 x x x都可以取到。观察如下集合:
S = { x ∈ X ∣ g i ( x ) ≤ 0 , i = 1 , 2 , ⋯ , m ; h j ( x ) = 0 , j = 1 , 2 , ⋯ , l } \mathcal S = \{x \in \mathcal X \mid g_i(x) \leq 0,i=1,2,\cdots,m;h_j(x) = 0,j=1,2,\cdots,l\} S={
x∈X∣gi(x)≤0,i=1,2,⋯,m;hj(x)=0,j=1,2,⋯,l}
这个集合 S \mathcal S S同样是描述决策向量 x x x的集合,但不同于 X \mathcal X X的是,它被称作上述优化问题的可行域。也就是说,决策向量 x x x可在可行域 S \mathcal S S内进行取值。而 x ∈ S x \in \mathcal S