根据决策变量是连续取值还是离散取值,可以将最优化问题分为:函数优化问题、组合优化问题。
函数优化问题
函数优化问题通常可以描述为定义域 S ∈ R n , f : S → R S \in R^n,\quad f:S\rightarrow R S∈Rn,f:S→R为n维实值函数,函数f在S域上全局最小化就是找到一个点 x ⃗ \vec{x} x使得目标函数 f ( x ⃗ ) f(\vec{x}) f(x) 最小。
算法性能比较,通常基于一些Benchmark的典型问题展开,常用Benchmark问题如下:
Sphere Model(球面模型)
球面模型是一个简单的单峰(unimodal)测试函数,通常用于评估优化算法在搜索空间中找到全局最小值的能力。它的数学表达式如下:
f 1 ( x ⃗ ) = ∑ i = 1 n x i 2 , ∣ x i ∣ ≤ 100 f_1(\vec{x})=\sum_{i=1}^{n}x_i^2,\quad |x_i|\leq100 f1(x)=i=1∑nxi2,∣xi∣≤100
其最优状态和最优值为 m i n ( f 1 ( x ⃗ ∗ ) ) = f 1 ( 0 , 0 , ⋯ , 0 ) = 0 min(f_1(\vec{x}^*))=f_1(0,0,\cdots,0)=0 min(f1(x∗))=f1(0,0,⋯,0)=0Schwefel’s Problem(Schwefel问题)
Schwefel问题是一个多峰(multimodal)测试函数,用于评估优化算法在存在多个局部最小值的情况下找到全局最小值的能力。它的数学表达式有多种变体,其中一种常见的形式是:
f 2 ( x ⃗ ) = ∑ i = 1 n ∣ x i ∣ + ∏ i = 1 n ∣ x i ∣ , ∣ x i ≤ 10 f_2(\vec{x})=\sum_{i=1}^{n}|x_i|+\prod_{i=1}^{n}|x_i|,\quad |x_i\leq10 f2(x)=i=1∑n∣xi∣+