广义邻域搜索算法
传统邻域搜索算法:
即利用邻域结构进行逐步优化的局部搜索算法。
算法从一个初始解出发,然后利用状态发生器持续的在解x的邻域中搜索比它好的解,然后替代x成为新的当前解,直至算法结束。
广义邻域搜索算法:
算法从若干初始解出发,在算法参数控制下由当前状态的邻域中产生出若干个候选解,并以某种策略在当前解和候选解中确定新的当前状态。伴随控制参数的调节,重复执行上述搜索过程,直至满足算法终止准则,结束搜索过程并输出优化结果。
对传统算法加以改进得到广义邻域搜索算法:
改进途径1、采用并行搜索结构
改进途径2、设计复杂的邻域函数
改进邻域3、替换贪婪策略等
广义邻域搜索算法的栗子:模拟退火算法、遗传算法、进化规划、混沌搜索等,这些算法在优化流程上呈现出很大的共性。
广义邻域搜索算法的六要素:
1、搜索机制的选择(搜索解的方式、如何产生新的候选解的方式)
2、搜索方法的选择(即每代有多少解参与优化。并行搜索、串行搜索)
3、邻域函数的设计(如基于路径编码的TSP优化中可利用互换、逆序和插入等多种邻域结构)
4、状态更新方式的设计(指以何种策略在新旧状态中确定新的当前状态。基于确定性的容易陷入局部极小,基于随机性的探索性更高)
5、控制参数的修改准则和方式的设计(当前控制