IG算法由是Ruiz等提出的一种新型智能优化算法,该算法主要由邻域搜索、扰动算子和接受准则3个基本部分组成。IG算法提出后,以其参数少、易实现和效率高等特点引起了众多国内外学者的关注和研究,并在阻塞流水车间调度和二次多重背包问题等领域得到了理论研究和实践应用。
————————————————
算法初始化这两个解之后(通常由启发式规则实现),从当前解出发,考虑针对所解决问题设计的局部搜索方法,若局部搜索中有更好的解则贪婪地移动到那个解,局部搜索结束之后算法会采用类似模拟退火的接受准则以一定的概率接受比最好解更差的解,然后更新最好解,再对当前解采用破坏重建过程以跳出局部最优并准备下一次的迭代过程。该算法结构非常简单,参数较少,且求解效果好。
IG算法伪代码
初始化
初始解由NEH规则生成初始解,NEH算法伪代码如下:
领域搜索
插入领域搜索和交换领域搜索结合的随机领域搜索算法(Random Neigh-borhood Search,RNS)
- 每次从当前解中随机地选择一个订单,随机地选择插入邻域或者交换邻域进行搜索,
- 前者将其从原位置移除并插入到所有可能位置中的最优位置,后者将其与所有可能位置中最优位置的订单进行交换;
- 如果通过邻域搜索找到的新解优于当前解,则替换当前解并且继续搜索,否则结束搜索。
破坏-重构阶段:扰动算子-避免陷入局部最优
破坏和重建过程思想:
- 在破坏阶段,从当前解中随机选择若干订单并移除,得到两个部分序列:
- 由剩余订单组成的部分解、由移除订单按照移除顺序组成的部分序列;
- 在重建阶段,将部分序列中的订单逐一插入到部分解中所有可能位置的最优位置,从而最终得到一个扰动解。
接受准则
接受准则的作用是更新IG算法的当前解和最好解。由于扰动算子的扰动有时可能不是足够大,导致算法在后续局部搜索过程中又陷入到相同局部最优点。
基于遗传算法中的轮盘赌选择策略
在该接受准则中,需要构建一个精英表,该精英表储存了通过局部搜索找到的新解。RWS接受准则:通过局部搜索找到新解后,如果新解优于最好解,则更新最好解,且清空精英表;如果新解不在精英表中,则将新解添加到精英表的尾部;如果精英表的长度超过ω,则从表中删除最坏解;按照RWS策略从精英表中选择一个解为当前解。令精英表的长度为τ(τ≤ω),RWS策略的实现步骤如下
reference :
本文参考了CSDN博主「~晚风微凉~」的原创文章,
原文链接:https://blog.csdn.net/qq_51976555/article/details/123167039文章来源:https://uudwc.com/A/Weka
[1]张杨, 但斌, 高华丽. 基于改进迭代贪婪算法的产品服务系统订单调度优化[J/OL]. 计算机集成制造系统, 2020, 26(12): 3435-3446. 文章来源地址https://uudwc.com/A/Weka