声明:本文为作者学习笔记,学习所得随手而记,部分材料来源于网上学习,若侵权请联系作者。
最近在研究APS的自动排程,涉及到一些启发式算法的概念,查找资料,对启发式和元启发式的区别总结如下:
什么是启发式算法?
启发式算法(heuristic algorithm)是相对于最优化算法提出的。一个问题的最优算法求得该问题每个实例的最优解。启发式算法可以这样定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度一般不能被预计。
其实就是用迭代的算法,进行一定规模的测试,选出其中的最优解。
首先看看启发式和元启发式区别相关资料解释:
启发式是一种问题求解的方法,它基于经验和直觉,而不是严格的算法或学模型。
元启发式是一种启发式算法,它使用多个启发式算法来决问题。
以上说的有点含乎,那就看下面,纯属个人观点:
元启发式算法是启发式算法的升级版,不以一种规则执行,迭代过程中允许概率事件发生,跳出局部最优解,寻找整体最优解。
传统启发式算法包括:
1. 贪婪算法(Greedy Algorithms):
这种算法在每一步都选择当前看起来最有利的选项,而不考虑将来的影响。虽然贪婪算法简单且高效,但它们通常不能保证找到全局最优解,因为它们容易陷入局部最优解。
元启发式算法包括:
一、基于个体 (Single solution-based heuristics)
1. 禁忌搜索算法(Tabu Search)
是一种启发式搜索算法,用于解决组合优化问题,如旅行推销员问题(TSP)、排程问题和图着色问题等。它的目标是在搜索空间中寻找全局最优解或接近最优解的解决方案。禁忌搜索算法的核心思想是通过维护一个"禁忌表"来避免重复探索之前已经访问过的解决方案,从而避免陷入局部最优解。
2. 模拟退火算法(Simulated Annealing)
模拟退火算法是一种启发式算法,受到固体退火过程的启发。它通过随机搜索和接受概率控制来跳出局部最优解,并逐渐减小温度来提高搜索的质量。
二、基于群体(Population-based heuristics)
1. 遗传算法(Genetic Algorithms)
遗传算法是受到生物遗传学的启发,模拟了生物进化过程。它使用种群中的个体之间的基因组合和变异来搜索最佳解决方案。
2. 粒子群优化算法(Particle Swarm Optimization)
粒子群优化算法模仿了鸟群或鱼群的协同行为,通过模拟粒子在搜索空间中的移动来寻找最优解。
3. 蚁群算法(Ant Colony Optimization)
蚁群算法受到蚂蚁在寻找食物时的行为启发,蚂蚁通过释放信息素来引导其他蚂蚁找到最短路径。
4. 人工神经网络(Artificial Neural Network,简称ANN)
是一种受到生物神经系统启发的计算模型,用于机器学习和人工智能任务。ANN由大量的人工神经元(或称为节点)组成,这些神经元通过连接(或称为权重)相互关联,可以进行信息处理和模式识别。