变 邻域搜索 算法 简介

19
变变变变变变变变变 2014/5/16 变变变

Upload: erek

Post on 21-Mar-2016

195 views

Category:

Documents


2 download

DESCRIPTION

变 邻域搜索 算法 简介. 2014/5/16 曾文彬. 框架. 起源 基本概念 邻域搜索 变邻域搜索 举例. 起源. Hansen 和 Mladenovic ’于 1997 年 首次提出了变邻域搜索算法, 然后 在 2001 年 系统 而全面 地在欧洲运筹学杂志( European Journal of Operational Research , EJOR )上发表了 特邀综述,分析了 VNS 的改进 版,针对 具体问题与经典算法对比分析。. 基本概念. 1. 邻域 —— 以一点为中心的任何开区间称为点的邻域 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 变 邻域搜索 算法 简介

变邻域搜索算法简介2014/5/16

曾文彬

Page 2: 变 邻域搜索 算法 简介

框架• 起源• 基本概念• 邻域搜索• 变邻域搜索• 举例

Page 3: 变 邻域搜索 算法 简介

起源• Hansen 和 Mladenovic’ 于 1997 年首次提出了变邻域搜索算法, 然后在 2001 年系统而全面地在欧洲运筹学杂志( European

Journal of Operational Research , EJOR )上发表了特邀综述,分析了 VNS 的改进版,针对具体问题与经典算法对比分析。

Page 4: 变 邻域搜索 算法 简介

基本概念1. 邻域——以一点为中心的任何开区间称为点的邻域

2. 起点——在可行区间内选取的初始解3. 邻域结构——邻域内用来搜索的方法

Page 5: 变 邻域搜索 算法 简介

基础——邻域搜索邻域搜索算法的基本步骤如下:

步骤 1 随机或者依照某种规则选定一个初始的可行解 0x ;令 0x 为当前最优解

0bestx x ,令 T为最优解的邻域 bestT N x 。

步骤 2 当 \ bestT x ,即找出 T 中的最优解时,或满足调度规则等其他停止

运算准则时,输出计算结果,运算终止;否则,从 T中随机选一个集合 S,得到

S中最好的解 nowx ;若 nowx 比 bestx 要好,即 now bestf x f x ,则令 nowx 为当前最

优解, best nowx x ,令 T为最优解的邻域 bestT N x ;否则,在邻域 T中去掉

集合 S, \T T S ;重复步骤 2。

Page 6: 变 邻域搜索 算法 简介

邻域搜索算法搜索过程示意图

Page 7: 变 邻域搜索 算法 简介

邻域搜索算法概要• 邻域搜索算法的计算结果主要依赖• 起点的选取和邻域的结构。

• 同一个起点或邻域结构,都会得到不同的计算结果。• 如果初始点的选择足够多,可以计算出全局最优解

Page 8: 变 邻域搜索 算法 简介

变邻域搜索算法• 变邻域搜索算法( Variable Neighborhood Search,VNS )是一种新的元启发式算法• 已成功地用于解决优化问题,

• 对于大规模组合优化问题效果良好。• 对 VNS 的扩展研究层出不穷,并将其成功地应用到

• 旅行商问题、车辆路径问题、调度、图着色等问题中。

Page 9: 变 邻域搜索 算法 简介

基本思想 变邻域搜索基于邻域搜索的衍生改进而来,它源于以下三个邻域搜索的基本性质:• 一个解在一种邻域结构下是局部最优解,但它在另一种邻域结构下则不一定是局部最优解。• 如果一个解在所有可能的邻域结构下都是局部最优解,那么它就是问题的全局最优解。• 任意两个局部最优解之间都存在着至少一个邻域结构,即两个局部最优解之间是有关联的,一个局部最优解可以通过该邻域结构到达另一局部最优解。

Page 10: 变 邻域搜索 算法 简介

在邻域收索算法的基础上, VNS 的发展就是在搜索过程中不断的进行邻域变换。 邻域的变换是通过扰动过程来进行的,目的是在某一邻域的局部最优解一定距离的地方选取一个可行解,使其作为新一轮邻域搜索的起点。通过不断的选取新一轮邻域的起点来进行迭代搜索,能有效避免局部最优解的困扰。

Page 11: 变 邻域搜索 算法 简介

初始化,选择邻域结构集 max( 1, 2, . . . , )kN k k

若满足停止条件,则结束算法;否则,令 1k

若 maxk k ,则返回步骤 2;否则执行下一步

步骤 4

步骤 5

更新,若局部最优解 "x 优于当前解x,则更新当前解,令 "x x 并返回步骤 4;否则改变邻域结构,令 1k k 并返回步骤 3

Page 12: 变 邻域搜索 算法 简介

邻域结构的设计• 1.交换邻域结构(SWAP)指的是通过交换操作能够直接到达的邻域结构。交换操作指的是,

在当前解(排序)的基础上,随机产生两个位置,对换这两个位置的工件。若假设随机产生的两个位置分别为a和b,则交换操作的具体过程如下图所示:

Page 13: 变 邻域搜索 算法 简介

• 2.插入邻域结构(INSERT)指的是通过插入操作能够直接到达的邻域结构。插入操作指的是,在当前解(排序)的基础上,随机产生两个位置,位置较靠后的工件插入到位置较靠前的位置中,两位置之间的工件依此后移一个位置。若假设随机产生的两个位置分别为a和b,则插入操作的具体过程如下图所示:

Page 14: 变 邻域搜索 算法 简介

VNS 的分析 变邻域搜索算法的提出者 Hansen 和 Mladenovic 归纳总结出了启发式或元启发式算法应具有的八个理想属性,分别是:• 简易性:算法应该基于简单明了的原理,并具有广泛的实用性;• 精确性:算法的每一个步骤都应该能够用精确地数学语言进行表达,而不依赖于算法产生的原型;• 一致性:在解决所有特定问题时都需要按照算法的基本原则和步骤;

Page 15: 变 邻域搜索 算法 简介

• 功效性:针对特殊问题的算法应该能够求得大部分问题实例的全局最优解或近似最优解,甚至在实际中能够求得已知大多数解的问题的现有最优解;• 时效性:算法应该在适当的时间内得出特定问题的全局最优解或近似最优解;• 鲁棒性:算法在不同的实例中应该有一致的表现,即算法在不同的情况下的表现要稳定;• 人性化:算法应该易于定义,可以被明确的表述出来,且要易于理解和应用,所以算法包含的参数应该尽可能的少• 创新性:可以将策略机制引入到算法中,改进算法的有效性和时效性。

Page 16: 变 邻域搜索 算法 简介

• 变邻域搜索算法作为一种新颖且有前途的元启发式算法,具有很高的全局最优性,尤其适合求解复杂的大规模组合优化问题。算法操控所需的参数少,算法的原理也较为简单,具有突出的人性化和易适性

Page 17: 变 邻域搜索 算法 简介

构造变邻域搜索算法时需注意的问题

Page 18: 变 邻域搜索 算法 简介
Page 19: 变 邻域搜索 算法 简介

谢谢