常用的终止条件有:
- 绝对误差(可行域内,函数阈值):
∥ X k + 1 − X k ∥ ≤ ϵ 1 ∥ f ( X k + 1 − f ( X k ) ∥ ≤ ϵ 2 . \begin{aligned} &\left\|X_{k+1}-X_{k}\right\| \leq \epsilon_{1} \\ &\| f\left(X_{k+1}-f\left(X_{k}\right) \| \leq \epsilon_{2} .\right. \end{aligned} ∥Xk+1−Xk∥≤ϵ1∥f(Xk+1−f(Xk)∥≤ϵ2. - 相对误差:
∥ X k + 1 − X k ∥ ∥ X k ∥ ≤ ϵ 1 ∥ f ( X k + 1 − f ( X k ) ∥ f ( X k ) ≤ ϵ 2 \begin{aligned} &\frac{\left\|X_{k+1}-X_{k}\right\|}{\left\|X_{k}\right\|} \leq \epsilon_{1} \\ &\frac{\| f\left(X_{k+1}-f\left(X_{k}\right) \|\right.}{f\left(X_{k}\right)} \leq \epsilon_{2} \end{aligned} ∥Xk∥∥Xk+1−Xk∥≤ϵ1f(Xk)∥f(Xk+1−f(Xk)∥≤ϵ2 - 梯度:
∥ Δ f ( X k + 1 ) ∥ ≤ ϵ \left\|\Delta f\left(X_{k+1}\right)\right\| \leq \epsilon ∥Δf(Xk+1)∥≤ϵ
进化算法
- 基于个体的进化算法
* - 基于群体的进化算法