元启发式如何跳出局部最优?
在使用启发式算法的时候,一个常见的问题是融入陷入局部最优,导致很长时间内算法的解难以得到改进,现总结一下几种常见的元启发式如何跳出局部最优。
一、跟算法内部设计无关: 使用多个初始解搜索;
二、跟算法内部设计有关:接受较差的解/扰动/交叉变异
SA: 若新解优于原解,接受,否,以一定概率/接受标准 exp((sol.Cost-newsol.Cost)/ck)接受较差解。
VND:纯静态算法,邻域只有一个的话,跟爬山无异;跟爬山相比多了邻域的个数。
VNS:shake策略,扰动初始解,shaking本质上来说也是邻域搜索的一种,但需要注意的是,shake强度不能太小,不然很容易被局部搜索拉回,且shake对解的扰动程度比local search要强;同时shake的强度不能太大,不然与random search无异。
GA:通过交叉/变异跳出局部最优;
- 交叉:需要两个父代的基因进行互换产生新的个体,改动程度比较大,类似于VNS当中的扰动,常见算子(OX、PMX、CX)
- 变异:针对单个个体按照一定概率对某些基因进行swap、insert等操作得到新的个体,类似于local search中的邻域算子;
ILS:同时使用shaking+SA的接受标准,使得算法的探索性更强,跳出局部最优的可能性更大。
Tabu:通过禁忌列表的设置保证跳出局部最优。
元启发式如何跳出局部最优?相关推荐
- 算法 - 局部最优的避免
文章目录 局部最优的产生 局部最优的避免 局部最优的判断 局部最优的产生 一般的启发式算法非常容易产生局部最优,或者说根本无法查证产生的最优解是否是全局的.这是因为对于大型系统或复杂的问题,一般的算法 ...
- 提醒一下技术人,你是不是陷入局部最优了
首先看一张函数图像: 很明显,这个函数最小值点在E点,而A.C.G是函数的局部极小值点.我读书期间学的数学专业,研究的方向就是最优化算法,说的直白点,就是找函数的最小值点,如果得找到了E点就说明成功了 ...
- 基于自然的灵感算法--元启发式
问题一:自然赋予的元启发式优化算法的分类 自然赋予的元启发式算法(模拟生物或者物理的现象去解决问题)有三大类也就是:基于进化,基于物理的,基于群体的 基于进化的主要是受达尔文的物种进化理论的启发,主要 ...
- 启发式和元启发式的区别
启发式策略(heuristic) 是一类在求解某个具体问题时,在可以接受的时间和空间内能给出其可行解,但又不保证求得最优解(以及可行解与最优解的偏离)的策略的总称.许多启发式算法是相当特殊的,依赖于某 ...
- 数据结构与算法_02_局部最优的贪心算法
数据结构与算法,系列文章传送地址,请点击本链接. 目录 一.贪心思想 二.解贪心算法的步骤 三.贪心算法存在的问题 四.贪心算法的案例 一.贪心思想 1.贪心算法(又称贪婪算法)是指,在对问题求解 ...
- 从贪心算法到暴力递归法——从局部最优到整体最优
从递归看动态规划 前情提要 最优问题的本质 目标函数 最优组合的求解策略 枚举 递归 斐波那契数列 问题描述 示例 解题思路 迭代 递归 深入理解递归 堆栈与递归的状态存储 递归与回溯 树形结构与深度 ...
- 关于λ-optimal的初始化解算法在(元)启发式中的应用
关于λ-optimal算法在启发式中初始化解的应用 TSP问题介绍 λ-optimal 定理与定义 算法描述与伪代码 算法的优化 参考文献 这里讨论组合优化中初始解的生成问题.组合优化问题,很多情况下 ...
- 贪心算法(局部最优)
1.概念: 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解.贪心算法不是对所有问题都能得到整体最优 ...
- 模拟退火算法是怎么跳出局部最小值
模拟退火算法确保求出的是全局最优值,不会陷入局部最小值 模拟退火算法新解的产生相当于一个找"邻居"的过程,目标函数很容易陷入局部最小值,但是通过以一定概率接受比当前解更差的新解使得 ...
最新文章
- [PYTHON] xml.etree.ElementTree 实例
- Redis分布式锁的正确实现方式(Java版)
- final+static
- 【白皮书】2020在线教育用户增长闭环白皮书.pdf(附下载链接)
- 2.8_single_cycle_link_list_单向循环链表
- 一段.net 发邮件的代码
- 面试官,你为什么老是问我”闭包“
- AcWing 788. 逆序对的数量
- java core 之 IO流
- CSS实现输入框的高亮效果-------Day50
- 使用计算机眼睛保护方法有哪些,​计算机族的“护眼诀窍”
- Cookie和Session的使用及其案例分析
- 解决系统提示:内存不能为“read”或written的办法
- QQ飞车手游S25赛季什么时候更新?S25赛季段位继承表图文一览
- IT女新加坡求职记(三篇)
- 自考《操作系统概论》
- 类和对象:类与对象定义
- yii2框架教程 入门篇(一)
- 0402/0603/0805/1206封装尺寸
- Unity实现多屏显示