在解决问题时,需要找到可行的解决方案并改进,以此得到最优的全局解决方案。但是,由于资源有限,而且大多数优化问题都很复杂,因此很难找到非常精确的解决方案。而元启发优化算法可以通过提供近似解来解决这类问题。
元启发算法广泛应用于解决非线性非凸优化问题的各种应用。在组合优化中,在合理的运行时间内传统算法很难解决不确定的特定问题。因此,与优化算法、迭代方法和简单的贪婪启发式相比,元启发式通常可以用更少的计算量找到合适的解决方案。
元启发式可以在不同的领域发挥关键作用。本质上,许多优化问题是具有非线性约束的多目标函数。例如,大多数工程优化问题是高度非线性的,需要解决多目标问题。另一方面,人工智能和机器学习问题严重依赖大型数据集,很难制定优化问题来解决最优性。因此,元启发式算法在解决实际问题方面发挥着重要作用。
元启发式算法根据操作方式的不同进行分类,例如自然启发与非自然启发、基于种群与个体搜索、动态与静态目标函数、不同的邻域结构,内存使用与无内存方法等等。
常用的元启发式算法
1、遗传算法(GA)
遗传算法(GA)是一种元启发式算法,其灵感来源于自然选择和自然遗传学的进化过程。
2、模拟退火(SA)
模拟退火(SA)灵感来源于冶金中的加热和控制冷却操作的启发。
3、禁忌搜索(TS)
禁忌搜索(TS)是基于内存结构并使用局部搜索方法通过检查其邻居来找到潜在的解决方案。
4、群体智能算法
群体智能算法的灵感来自鸟群的社会行为、动物捕食狩猎、细菌生长和鱼群。常见的有蚁群算法、粒子群算法、蜂群算法、布谷鸟搜索算法等等。
5、可变邻域搜索(VNS)
可变邻域搜索(VNS)算法探索初始解决方案并改进。与禁忌搜索类似,局部搜索方法被反复应用并从解决方案中获得局部最优解。