迭代局部搜索(Iterated Local Search, ILS)

干货|迭代局部搜索算法(Iterated local search)探幽(附C++代码及注释)

迭代局部搜索

介绍
迭代局部搜索属于探索性局部搜索方法的一种。它在局部搜索得到的局部最优解上,加入了扰动,然后再重新进行局部搜索
搜索过程

  1. 初始状态:best_solution(最优解)、current_solution(当前解)。
  2. 从初始解(best_solution)中进行局部搜索,找到一个局部最优解s1(best_solution)。
  3. 扰动s1(best_solution),获得新的解s2(current_solution)。
  4. 从新解s2(current_solution)中进行局部搜索,再次找到一个局部最优解s3(best_solution)。
  5. 基于判断策略,对s3(current_solution)好坏进行判断。选择是否接受s3(current_solution)作为新的best_solution。
  6. 直到达到边界条件,不然跳回第二步一直循环搜索。
    伪代码
    ILS伪代码

    示意图
    ILS示意图

你可能感兴趣的:(迭代局部搜索(Iterated Local Search, ILS))