启发式算法 VS 元启发式算法

1. Definition

(1) 启发式算法(Heuristic Algorithm): In mathematical programming, a heuristic algorithm is a procedure that determines near-optimal solutions to an optimization problem. However, this is achieved by trading optimality, completeness, accuracy, or precision for speed.

(2) 元启发式算法(Meta-heuristic Algorithm): Metaheuristics are strategies that guide the search process. The goal is to efficiently explore the search space in order to find near–optimal solutions. Techniques which constitute metaheuristic algorithms range from simple local search procedures to complex learning processes

2. Differences between both

heuristics算法中不会存在“随机因素”。对于同样一个问题,只要给定了一个输入,那么算法执行的步骤就固定下来了,输出也因此固定。但是meta-heuristics就不一样了,里面包括了“随机因素”。就拿遗传算法来说,同样一个初始的种群(输入一致),运行两次(每次100代),得到的结果很可能是不同的。因为交叉、变异操作的对象是随机选择的。又比如模拟退火,按照metropolis准则跳出局部最优解时也是随机的,这也解释了为什么模拟退火可能得到全局最优解 (由于时间的问题,参考这篇论文(https://blog.csdn.net/weixin_43200997/article/details/120723283),后期有时间再整理一下)。
 

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