启发式算法与元启发式算法的区别

启发式算法

启发式算法(Heuristic Algorigthm)是一种基于直观或经验构造的算法,在可接受的花费(指计算时间、计算空间等)给出待解决优化问题的每一实例的一个可行解,该可行解与与最优解的偏离程度一般不可以事先预计。

启发式算法特指使用贪婪策略和随机化贪婪策略构造可行解的算法。也就是说,启发式算法针对具体问题可行集进行一定步数的可行解构造,反映出来就是problem dependent

元启发式算法

元启发式算法(MetaHeuristic Algorigthm)是启发式算法的改进,它是problem independent

它是随机算法与局部搜索算法相结合的产物,通常包括随机策略。常见的启发式算法包括遗传算法、模拟退火算法、禁忌搜索算法及神经网络算法等。新兴的元启发式算法有:粒子群优化算法、差分进化算法,蚁群优化算法、萤火虫算法、布谷鸟算法、和声搜索算法、差分进化算法、随机蛙跳算法、细菌觅食算法、蝙蝠算法的算法等。

区别:

启发式算法与元启发式算法的区别主要在于是否存在“随机因素”,是否“problem dependent”。

对一个同一个问题,heuristics算法中不会存在“随机因素”,只要给定了一个输入,那么算法执行的步骤就固定下来了,输出也因此固定;但是meta-heuristics就不一样了,由于内部通常包含“随机因素”,对于同一个问题的多次求解结果可能是不相同的。

你可能感兴趣的:(优化算法,启发式算法,算法)