【智能优化算法】广义邻域搜索算法(综述)
广义邻域搜索算法
传统邻域搜索算法:
即利用邻域结构进行逐步优化的局部搜索算法。
算法从一个初始解出发,然后利用状态发生器持续的在解x的邻域中搜索比它好的解,然后替代x成为新的当前解,直至算法结束。
广义邻域搜索算法:
算法从若干初始解出发,在算法参数控制下由当前状态的邻域中产生出若干个候选解,并以某种策略在当前解和候选解中确定新的当前状态。伴随控制参数的调节,重复执行上述搜索过程,直至满足算法终止准则,结束搜索过程并输出优化结果。
对传统算法加以改进得到广义邻域搜索算法:
改进途径1、采用并行搜索结构
改进途径2、设计复杂的邻域函数
改进邻域3、替换贪婪策略等
广义邻域搜索算法的栗子:模拟退火算法、遗传算法、进化规划、混沌搜索等,这些算法在优化流程上呈现出很大的共性。
广义邻域搜索算法的六要素:
1、搜索机制的选择(搜索解的方式、如何产生新的候选解的方式)
2、搜索方法的选择(即每代有多少解参与优化。并行搜索、串行搜索)
3、邻域函数的设计(如基于路径编码的TSP优化中可利用互换、逆序和插入等多种邻域结构)
4、状态更新方式的设计(指以何种策略在新旧状态中确定新的当前状态。基于确定性的容易陷入局部极小,基于随机性的探索性更高)
5、控制参数的修改准则和方式的设计(当前控制参数难以使算法性能取得较大提高时,应考虑修改参数)
6、算法终止准测的设计(应兼顾算法的优化质量和搜索效率等多方面,如给定最大步数、最优解的最大凝滞步数和最小偏差阈值等)
广义邻域搜索算法的统一结构:
对优化过程作两方面分解处理:
方面1、基于优化空间的分层(原问题分解为子问题求解,最后将各子问题的解逆向综合为原问题的解)
方面2、基于优化进程的分层(进程层次分为若干阶段,各阶段采用不同的搜索算法或邻域函数进行优化)
目前混合算法的结构类型主要可归纳为串行、镶嵌、并行及混合结构。
串行结构:
镶嵌结构:
并行结构(又分为同步式并行、异步式并行、网络结构):
同步式:各子算法相对独立但与主过程的通讯必须同步
异步式:子算法与主过程的通讯不受其他子算法的限制
网络结构:各算法分别在独立的存储器上执行独立的搜索,算法间的通信是通过网络相互传递的
优化算法的性能评价指标:
1、优化性能指标(用以衡量算法对问题的最佳优化度,其值越小意味着算法的优化性能越好)
2、时间性能指标(用以衡量算法对问题解的搜索快慢程度即效率)
3、鲁棒性指标(用以衡量在随机初值下对最优解的逼近程度)
基于上述三个性能指标,优化算法的综合性能指标即为它们的加权组合。综合性能指标值越小表明算法的综合性能越好。