*本文主要记录和分享学习到的知识,算不上原创。

*参考文章见链接。

本文主要讲述启发式算法中的变邻域搜索(Variable neighborhood search)。变邻域搜索的特色在于邻域结构的可变性。变邻域搜索主要包括两个部分:shaking 和 Variable neighborhood descent。

目录

  VNS的思想  

  VNS的伪代码

VNS的思想

VNS combines the ided of local search and sysmatic change of neighbirhood, both in descent to local minima and in escape from the valleys which contain them.

比如在basic VNS中,(2b)是为了找到局部最优解--intensification,(2a)中切换邻域结构,相当于换了个地图进行搜索,是为了跳出局部最优解---diversification。

注:在(2b)中的local search不仅仅可以采用VND,还可以采用任何合适的local search方法用于求得局部最优解。

VNS的伪代码

deterministic variant of VNS: VND

MIP启发式算法:Variable neighborhood search-LMLPHP

Basic VNS

MIP启发式算法:Variable neighborhood search-LMLPHP

General VNS

MIP启发式算法:Variable neighborhood search-LMLPHP

VNS+CPLEX

MIP启发式算法:Variable neighborhood search-LMLPHP

where

MIP启发式算法:Variable neighborhood search-LMLPHP

05-11 11:30