⛄一、贪婪随机自适应搜索算法简介
1 贪婪随机自适应搜索算法
GRASP算法分两个阶段,构造阶段和局部搜索阶段[3]。在构造阶段,初始化可行解S和候选集C,并对候选集的每一个元素进行评估,判断是否可加入限制候选列表(Restricted Candidate List, RCL)。每次从RCL中随机选取一个值与可行解S进行比对,更新RCL的元素,并对包含的所有元素进行再次评估,直到满足条件时结束。
RCL规模大小也会影响此算法性能,规模过大会生成很多差别的解。RCL通常采用静态固定法和动态调整法来调整列表规模,体现了GRASP算法自适应功能。
在第一阶段会得到质量不高的可行解,因此在第二阶段,可行解需要以持续不断的迭代方式进行局部搜索,以求得最优解。若局部新优解S比目前的优解S更优的话,就更换S,直到找到最优解。选择相邻解在局部搜索阶段有两种方法:最优适应和首次适应。最优适应在所有相邻解被搜寻后,将更优相邻解替换为可行解;首次适应是当搜索到比可行解更优相邻解时进行替换后再次局部搜索,当循环达到满足给定的迭代