论文-禁忌搜索算法
基于禁忌搜索算法的车辆路径选择
摘要:本文从VRP的提出背景与求解方法出发,阐释了禁忌搜索算法的原理与影响算法性能的关键因素,进而将禁忌搜索算法的思想运用于解决车辆路径问题,在VRP问题初始解的基础上,用禁忌搜索算法优化车辆配送路线,设计出直观且策略易于理解的客户直接排列的解的表示方法,最后将该算法用C语言实现并用于求解VRP问题,测试结果表明该算法可行且解的质量较高。
关键词:车辆路径问题;禁忌搜索;邻域;禁忌表
1. 引言
物流配送过程的成本构成中,运输成本占到52%之多,如何安排运输车辆的行驶路径,使得配送车辆依照最短行驶路径或最短时间费用,在满足服务时间限制、车辆容量限制、行驶里程限制等约束条件下,依次服务于每个客户后返回起点,实现总运输成本的最小化,车辆路径问题正是基于这一需求而产生的。求解车辆路径问题(Vehicle Routing Problem简记VRP)的方法分为精确算法与启发式算法,精确算法随问题规模的增大,时间复杂度与空间复杂度呈指数增长,且VRP问题属于NP-hard问题,求解比较困难,因此启发式算法成为求解VRP问题的主要方法。禁忌搜索算法是启发式算法的一种,为求解VRP提供了新的工具。本文通过一种客户直接排列的解的表示方法,设计了一种求解车辆路径问题的新的禁忌搜索算法。
因此研究车辆路径问题,就是要研究如何安排运输车辆的行驶路线,使运输车辆依照最短的行驶路径或最短的时间费用,依次服务于每个客户后返回起点,总的运输成本实现最小。
2. 车辆路径问题的禁忌搜索算法
2.1 车辆路径问题的描述
车辆路径问题的研究目标是对一系列送货点或取货点,确定适当的配送车辆行驶路线,使车辆有序地通过它们,在满足一定的约束条件(如货物需求量、发送量交发货时间、车辆容量限制、行驶里程限制、时间限制等)下,达到一定的目标(如路程最短、费用最小、时间尽量少、使用车辆尽量少等)。参见下图2.1所示:其中0表示配送中心,1~8表示客户编号。
图2.1 车辆路径问题
在本文中为使得问题易于理解,将该问题描述为:有一定数量的客户,各自有不同数量的货物需求,且每个客户的位置和需求量一定,一个物流中心提供这些货物,并有一个车队负责分送货物,每台配送车辆的载重量一定,这里假设车辆的型号一致,即最大载重量和最远行驶里程数相同,要求合理安排车辆配送路线,使配送总路程最短,同时得满足一定的约束条件,即每条路线总需求量之和不得超过配送车辆的载重量、每条路线行驶的里程数不得超过配送车辆的最远里程数、每一客户需求必须满足且仅由一台车辆配送。
2.2 禁忌搜索算法描述
禁忌搜索算法思想最早由Glover在1986年提出的,是一种全局逐步寻优算法。其求解的过程是先求得一初始解,然后在邻域中搜索较佳解或是移动到较差的区域搜索该区域最佳解,并且记录曾经搜寻的路径,作为下次搜索的依据,以避免陷入局部最优解中。它引入了一个禁忌表记录下已经搜索过的局部最优点,在下一次搜索中利用禁忌表中的信息不再或者有选择地搜索这些点,以此来跳出局部最优点,从而实现全局优化。将禁忌搜索的思想条理化,可描述如下图2.2所示:
开始设置参数,产生初始解,置空禁忌表满足终止规则?输出优解结束生成当前解的邻域解,选出候选解满足藐视规则?判断候选解禁忌属性将非禁忌的最佳候选解作为当前解,用该解对应的对象替换最早进入禁忌表中的对象将满足藐视准则的解作为当前解,用其对应的对象替换最早进入禁忌表中的对象,更新最优解FFTT
图2.2 禁忌搜索算法框架
3车辆路径问题的禁忌搜索算法实现
3.1算法思路
本文先用插入式启发算法得到车辆路径问题的初始可行解,再利用禁忌搜索算法对初始解进行改造。具体步骤如下:
(1)构造初始解时,先用客户直接排列的解的表示方法,随机生成某一不重复的客户排列序列,然后按照车辆路径问题的约束条件,依次将解的元素(客户)划入各条配送路径中,由此产生车辆路径问题的初始解,计算出当前解的目标函数值,这里的目标函数值为各车辆配送路径的里程数总和。
(2)通过随机交换两客户位置来生成当前解的邻域解,则有C2n=n*(n-1)/2个客户直接排列序列,然后按照车辆路径问题的约束条件,依次将解的元素(客户)划入各条配送路径中,由此计算出各邻域解的目标函数值。
(3)根据藐视准则来评价当前解的邻域解,更新当前解与禁忌表。若候选解的目标值优于当前的最优目标值,不管其禁忌属性如何,更新为当前最优解并更新禁忌表,否则判别该方案的两个客户交换是否被禁忌:若被禁忌,选取次优解后继续该步骤;若未被禁忌,更新该解为当前解并更新禁忌表。
(4)若所有的候选对象均被禁忌,则根据队列FIFO原则,对禁忌表中队头元素取消其禁忌属性;禁忌表的更新为将其中所有的禁忌对象的禁忌长度减1,禁忌长度为0的对象取消其禁忌属性。
(5)重复迭代指定步长的(2)~(4),输出车辆配送方案的最终结果。
3.2 程序设计简介
算法中,无论是初始解的构造还是邻域内寻优,都涉及到对大量配送点进行的操作,如构造初始解时,针对车辆路径问题的约束条件将客户划分到不同的路径中;更新禁忌表时的将禁忌对象放入表中以及满足藐视准则时的禁忌对象的解禁。程序中针对该问题,采用了队列的形式,通过改进的队列基本操作来实现路径的分配与禁忌表的更新问题。下面给出定义的几个结构体:
(1)客户位置的无重复随机生成以及客户需求量的随机生成
实际配送系统中的客户的地理位置相对独立,且彼此之间服从独立均匀分布,为简易起见,程序中对客户的地理位置分布与客户的需求量只简单地使用C语言中的rand()函数进行随机分配,其中物流中心的地理位置默认为(0,0),为了保证生成的客户位置没有重复,用c_location[j].x==c_location[i].x && c_location[j].y==c_location[i].y语句来判定,其中c_location数组采用CPoint结构体,用于存储客户的位置,demand数组用于存储客户需求量,这两个数组均被定义为全局变量。
(2)客户随机序列的生成
算法中采用客户直接排列的解的表示方式,随机生成初始解,即无重复的客户随机排列序列数组A。
(3)初始解的车辆路径分配
将客户随机序列数组A中的各个值赋值到i_now数组中,i_now数组用于记录当前的最优解,定义车辆的最大负载量vehicle_Max,这里假设物流中心车辆的型号一致并且不考虑车辆的最大行驶距离。
(4)当前解的邻域结构
通过依次交换两客户位置来生成当前解的邻域解,则有C2n=n*(n-1)/2个客户直接排列序列。i_now的邻域解,用数组exchange_solution记录。用与初始分配方案相似的算法,可以求出exchange_solution数组中每一个车辆分配路线的车辆数以及车辆所行驶的总里程数,分别记录到数组N_num和s中。
(5)寻找当前解邻域结构的评价值最优方案 先从数组s中寻找到车辆行驶里程数最短的方案,记其下标为ibest,判断该方案是由当前解的哪两个客户交换得到的,记作i_x和i_y。根据禁忌准则对该局部最优解进行处理,可以替换为当前最优解的条件有二:(1)这两个元素的交换是可行的、未被禁忌的;(2)其解优于当前解,不管其是否禁忌均替换当前最优解,更新禁忌表,将禁忌表中各禁忌对象的禁忌步长减1,当禁忌步长为0时,取消禁忌对象的禁忌属性,而当替换方案中的所有对象均被禁忌后,根据FIFO原则,取消队头元素的禁忌属性。
4. 算例分析
这里用Microsoft Visual C++对车辆路径问题的禁忌搜索算法进行编程,通过对相对独立的随机分布在(0,100]平方公里范围内的指定客户数、且客户的需求为的(0,指定的客户数]范围内的随机数的VRP实例进行求解,进行了实验计算。
设在某物流中心有10台配送车辆,车辆的最大载重量均为10单位,在不考虑车辆一次配送的最大行驶距离的情况下,需要向10个客户运送货物,作者利用计算机随机产生了范围在0~100内的10个客户的位置坐标(坐标无重复情况)以及客户的货物需求量,其中物流中心的坐标默认为(0,0),各个客户的坐标位置与需求量如下图2.3所示,要求合理安排配送车辆的行车路径,使配送的总里程数最短。为简便起见,本文设各客户相互之间及物流中心与客户之间的距离均采用直线距离,该距离可根据客户和物流中心的坐标计算得到,如下图2.4所示。
图2.3 禁忌搜索算法相关信息
图2.4 客户地理位置分布情况及车辆路径分配
由算法的运行结果可知:初始解方案中所调派的车辆数为7、车辆所行驶的总里程数为731.46,车辆的配送方案为0-4-0、0-7-0、0-8-0、0-6-0、0-9-10-0、0-3-2-5-0、0-1-0,而用禁忌搜索算法对初始解进行改进后所得到的最终方案为:车辆数为6、车辆所行驶的总里程数为353.96,车辆的分配方案为0-1-7-0、0-4-0、0-6-0、0-8-0、0-10-3-2-0、0-5-9-0,车辆所行驶的总里程数得到很大程度的改善,且得到全局较优解所花费的时间仅为0.05s。
5 总结 本文基于车辆路径问题的简单描述,采用客户直接排列的解的表示方法,相比较现有研究成果将车辆路径问题描述为网络图问题的有向边排列方法,表示更加直观、算法策略更加简单并易于理解,而且算法在迭代过程中产生的解均为可行解,算法的收敛速度得到明显改善。实验的计算结果表明,用禁忌搜索算法求解车辆路径问题能够跳出局部最优解,实现全局最优化,所得到的最终解决方案相比较初始方案质量更优,寻优性能良好。
参考文献:
[1] 李军,郭耀辉.车辆优化调度理论与方法[M].北京:中国物资出版社,2001年.
[2] 郎茂祥,胡思继.车辆路径问题的禁忌搜索算法研究[J].管理工程学报,2004,18(1):81-84.
[3] 李松,李瑞彩,刘兴.基于改进禁忌搜索算法的车辆路径优化[J].铁道运输与经济,2008,30(5):91-94.
[4] 张强,荆刚,陈建岭.车辆路线问题研究现状及发展方向[J].交通科技,2004,23(1):60-62.
[5] 刘云忠,宣慧玉.车辆路径问题的模型及算法研究综述[J].管理工程学报,2005,19(1):124-130.
禁忌搜索算法解决赋权覆盖问题
龙源期刊网
禁忌搜索算法解决赋权覆盖问题
作者:陈小红 陈晓东
来源:《价值工程》2011年第26期
Tabu Search Algorithm of Weighted Coverage Graph
Chen Xiaohong;Chen Xiaodong
(①Xi'an Railway Vocational & Technical Institute,Xi'an 710014,China;②Xi'an Railway
Bureau Station of Xifeng Town,Xi'an 710608,China)
摘要: 赋权覆盖问题在顶点个数很大的情况下很难用普通算法来解决,这篇试图用禁忌搜索算法来解决该问题,提出相应的各种技术指标,设计相应的算法,在计算机容许范围内求出一个图的边覆盖和最小覆盖数,具有较高的实用价值。
Abstract: It's difficult to solve the weighted coverage graphswho have large number of
vertices.This paper tries to use a tabu search algorithm to solve it, puts forward a variety of technical
indicators,and designs the corresponding algorithm, calculates within the edge coverage of a graph
and the minimum coverage, which has a high practical value.
关键词: 图 集合 边覆盖
Key words: graph;set;edge coverage
基于禁忌搜索的蚁群优化算法
第50 卷第8期 2017年8月 通信技术 Communications Technology V01.50 No.8 Aug.2017
doi:10.3969/j.issn.1002-0802.2017.08.012
基于禁忌搜索的蚁群优化算法
张慕雪,张达敏,杨菊蜻,朱陈柔玲
(贵州大学大数据与信息lT程学院,贵州贵阳550025) 术
摘要:针对蚁群算法容易陷入局部最优、迭代次数多、稳定性不高的缺陷,提出一种基于禁忌
搜索的蚁群改进算法,对初始信息素浓度和信息素更新机制进行优化,并利用禁忌搜索算法的记
忆能力和藐视准则,使算法具有跳出局部最优解的能力,同时减少迭代次数。定义“算法相对稳
定性 并约定计算规则,用于比较不同算法的稳定性。将改进算法应用于不同城市规模的TSP问题,
实验表明,改进算法在寻优能力、迭代次数和稳定性方面的性能均有所提高。
关键词:蚁群算法;禁忌搜索;相对稳定性;TSP问题
中图分类号:TP393 文献标志码:A 文章编号:1002—0802(2017)一08—1658—06
Ant Colony Optimization Algorithm based on Tabu Search
ZHANG Mu-xue,ZHANG Da—min,YANG Ju-qing,ZHU Chen—rou-ling
(College of Big Data and Information Engineering,Guizhou University,Guiyang Guizhou 550025,China)
Abstract:Aiming at the problem that the ant colony algorithm is easy to fall into the local optimum,the number of iterations is high and the stability is fairly low,an ant colony improvement algorithm based on
基于禁忌搜索的认知无线电性能优化算法
Vol. 38 No. 2
Mar. 2020第
38卷第
2期
2020年
3月吉林大学学报(信息科学版)
Journal of Jilin University (Information Science Edition)
文章编号:1671 -5896 (2020 )02-0142-06
基于禁忌搜索的认知无线电性能优化算法
刘 苗I,姚 荣I,钟晓曦I,孙振兴"
(1.东北石油大学秦皇岛校区电气信息工程系,河北秦皇岛066004 ; 2.东北大学计算机科学与工程学院,沈阳110006)
摘要:传统的认知无线电
(CR: Cognitive Radio)优化算法大多是在牺牲认知用户带宽和数据传输率的前提下实
现频谱池干扰抑制的。为进一步提高频谱利用率,提出了基于禁忌搜索的优化算法。该算法采用禁忌搜索获
得产生最小
ICI( Inter-Carrier Interference)的最优小波滤波器。仿真结果表明’将该算法与屏蔽相邻子载波算
法、最佳失效子载波算法和基于遗传算法的
ICI抑制算法相比较,该优化算法能更好地减少系统
ICI能量,改
善系统
BER(Bit Error Rate)o而且,该优化算法不会占用认知用户带宽,也不用牺牲认知用户数据传输率。
关键词:认知无线电;小波;优化算法
中图分类号
:TN911.22 文献标识码:
A
Performance Optimizing Algorithm for Cognitive Radio Based on Tabu Search
LIU Miao1 , YAO Rong1 , ZHONG Xiaoxi1 , SUN Zhenxing1,2
(1. Department of Electrical Information Engineering, Northeast Petroleum University-Qinhuangdao, Qinhuangdao 066004 , China;
禁忌搜索和应用
目录
一、 摘要 ................................................................................................................................. 2
二、禁忌搜索简介 ................................................................................................................... 2
三、禁忌搜索的应用 ............................................................................................................... 2
1、 现实情况 ................................................................................................................... 2
2、 车辆路径问题的描述 ............................................................................................... 3
3、 算法思路 ................................................................................................................... 3
4、具体步骤 ..................................................................................................................... 3
基于禁忌搜索算法求解随机约束满足问题
Journal of Computer Applications ISSN 1001-9081 2019-12-10
计算机应用
,2019,39(12):3584 -3589 CODEN JYIIDU http://www. joca. cn
文章编号
:1001 -9081 (2019) 12-3584-06 DOI
: 10.11772/j. issn. 1001-9081.2019050834
基于禁忌搜索算法求解随机约束满足问题
李飞龙,赵春艳范如梦
(上海理工大学理学院,上海
200093)
(*通信作者电子邮箱
zhaocy@ usst. edu. cn)
摘 要:为了求解具有增长取值域的随机约束满足问题
(CSP),提出了 一种基于禁忌搜索并与模拟退火相结合的
算法。首先,利用禁忌搜索得到一组启发式的初始赋值,即由一个随机初始化的可行解通过邻域构造一组候选解,再
利用禁忌表使候选解向最小化目标函数值的方向移动;如果得到的最优赋值不是问题的解,就把它作为启发式的初
始赋值,再执行模拟退火对这组赋值进行修正直到得到全局最优解。数值实验结果表明,所提算法在接近问题的理
论相变阈值时仍然能有效地找到问题的解,与其他局部搜索算法相比,表现出了显著的优越性,可用于随机
CSP的算
法设计。
关键词:随机约束满足问题;
RB模型;相变现象;禁忌搜索;模拟退火;算法效率
中图分类号:
TP301.6 文献标志码:
A
Solving random constraint satisfaction problems based on
tabu search algorithm
LI Feilong, ZHAO Chunyan *, FAN Rumeng
(College of Science, University of Shanghai for Science and Technology, Shanghai 200093, China)
有限经济批量排产和运送问题的禁忌搜索算法
有限经济批量排产和运送问题的禁忌搜索算法
俞晶菁
【摘 要】In the paper,we investigate the taboo search algorithm for the
finite horizon economic lot and delivery scheduling in supply chains where
a single supplier produces multiple components on a flexible flow
line.Hypothesis all parameters,like module's demand rate and so on has
determinism,the main objective is to find a lot and delivery schedule that
would minimize the average of holding and the cost of delivery
scheduling.%探讨使用禁忌搜索算法解决一个简单的供应链经济批量排产和运送问题。其中供应商通过一个灵活的生产流水线生产多个组件并进行装配。假定所有参数,如组件的需求率等具有确定性,找到本研究的目标就是求解最优的生产批量和排序,使供应链的平均投入和运输费用最小。
【期刊名称】《交通科技与经济》
【年(卷),期】2012(000)001
【总页数】4页(P96-99)
【关键词】禁忌搜索;供应链;经济批量排序;有限范围
【作 者】俞晶菁
【作者单位】兰州交通大学交通运输学院,甘肃兰州730070
【正文语种】中 文
【中图分类】U491
当今供应链管理受到越来越多的关注,成为了各界讨论的热点之一。本文针对供应链中的有限经济批量排产问题和运送问题(The finite horizon economic lot and
delivery scheduling problem,ELDSP)进行了研究,本文考虑的供应链是这样的n个工件经过m个阶段的加工,产生的费用包括装配费用、运输费用和库存费用三个部分。ELDSP问题被证明是NP-hard问题,最近以来也有很多国外学者针对供应链中的经济批量排产问题和运送问题进行研究,本文通过禁忌搜索办法获得最优的供应链平均投入和运输费用。
车辆路径问题的禁忌搜索算法研究概要
管理工程学报
竺8,N。-l Joumal0f Indus耐al E”g岫e五ng,E“gineedng ManagemPnt2004年第l期————————————————————————————————————————————一.::
车辆路径问题的禁忌搜索算法研究
郎茂祥,胡思继
(北京交通大学交通运输学院,北京100044
摘要:论文在时车辆路径问题进行简单描述的基础上,通过设计一种新的解的表示方法构造了求解该问题的一种新的禁忌搜索算法,并进行了实验计算。计算结果表明,用本文谴计的禁忌搜索算击求解车辆路径问题.不但可以取得很好的计算结果,而且算法的计算效率较高,收敛速度较快,计算蛄果也较稳定。
关键词:车辆路径问题;禁忌搜索算法:悦化
中圈分类号:F502文献标识码:A文章编号:1004.6062(20040l一0081.04
O引言
车辆路径问题(vRP.hhicle Routlng I】roblem是由D8nk谊和R删er于1959年提出的”1。该问题一直是运筹学与组台优化领域的前沿与热点问题。在现实生产和生活中,邮政投递问题、飞机、铁路列车、术运船舶及公共汽车的调度问题、电力调度问题、管道铺设问题、计算机网络拓扑设计问题等都可以抽象为车辆路径问题。研究车辆路径问题具有重要的理论和现实意义。
车辆路径问题作为一个NP难题,随着客户数量的增加,可选的车辆路径方案数量将以指数速度急剧增长。因此,用启发式算法求解该问题就成为人们研究的一个重要方向。求解车辆路径问题的方法很多.常用的有旅行商法、动态规划法、节约法、扫描法”1、分区配送算法”1、方案评价法等。
禁忌搜索算法的出现.为求解车辆路径问题提供了新的T具。cendreau、Ji如ng、Barbar0Bo—u、蔡延光等都曾利用禁忌搜索算法求解车辆路径问题““1,并取得了一些研究成果。但现有研究成果多将车辆路径『口】题描述为一个网络图问题.因此在设计其禁忌搜索算法时多采用有向边排列的解的表示膏法,基于这种解的表示方法所构造的禁忌搜索算法具有以下缺点:(1由于解的表示不太直观,使得算法策略不仅较为复杂,而且不易理解;(2解中的元素较多,不仅占用的计算机存储量较大,而且求解时计算时间较长.搜索效率较低: (3算法迭代过程中产生的解中不可行解很多,从而大大影响r算法的收敛速度。为了克服现有禁忌搜索算法的缺点,本文在对车辆路径问题进行简单描述的基础上,提出丁一种新的解的表示方法一一客户直接排列的解的表示方法,并基于这种解的表示方法构造了求舸车辆路径问题的一种新的禁忌搜索算法.并通过实验计算证明了这种新的禁忌搜索算法的良好寻优|生能。
禁忌搜索算法详解转载
禁忌搜索算法详解转载
现代优化算法 之 禁忌搜索算法(含题⽬)
禁忌搜索算法的实现_Python禁忌搜索算法详解链接:
禁忌搜索是由局部搜索算法发展⽽来,爬⼭法是从通⽤局部搜索算法改进⽽来。在介绍禁忌搜索之前先来熟悉下爬⼭法和局部搜索算法。
局部搜索算法
算法的基本思想
在搜索过程中,始终选择当前点的邻居中与离⽬标最近者的⽅向搜索。
算法过程
(1)随机选择⼀个初始的可能解x0 ∈D,xb=x0,P=N(xb);
//D是问题的定义域, xb⽤于记录到⽬标位置的最优解,P为xb的邻域。
(2)如果不满⾜结束条件,则:
//结束条件为循环次数或P为空等
(3)Begin;
(4)选择P的⼀个⼦集P',xn为P’的最优解 ;
//P’可根据问题特点,选择适当⼤⼩的⼦集。可按概率选择
(5)如果f(xn)
//重新计算P,f(x)为指标函数
(6)否则P=P-P',转(2);
(7)End;
(8)输出计算结果;
(9)结束 ;
爬⼭法
算法的基本思想
将搜索过程⽐作爬⼭过程,在没有任何有关⼭顶的其他信息的情况下,沿着⾼度增加的⽅向爬。如果相邻状态没有⽐当前值更⾼,则算法停
⽌,认为当前值即为顶峰。
算法过程
(1) 设置初始状态n=s0为当前状态;
(2) 如果当前状态已达标,算法结束,搜索成功;
(3)获取当前状态n的若⼲个临近状态m,计算这些h(m), nextn=min{h(m)};
(4) IF h(n) < h(nextn)
THEN n:=nextn;
ELSE 取当前状态为最佳状态并退出;
(5) GOTO (2)步;
该算法在单峰的条件下,必能达到⼭顶。
显⽽易见爬⼭法对于复杂情况的求解会遇到以下问题:
(1)局部极值
(2)⼭脊:造成⼀系列的局部极值
(3)⾼原:平坦的局部极值区域——解决办法:继续侧向移动
⽬前有些改进的爬⼭法,⽐如随机爬⼭法、⾸选爬⼭法等等不再细说。
禁忌搜索算法
算法思想
标记已经解得的局部最优解或求解过程,并在进⼀步的迭代中避开这些局部最优解或求解过程。局部搜索的缺点在于,太过于对某⼀局部区
禁忌搜索算法求TSP问题
例 从北京(Pe)乘飞机到东京(T)、纽约(N)、墨西哥城(M)、伦敦(L)、巴黎(Pa)五城市做旅游,每城市恰去一次再回北京,应如何安排旅游线,使旅程最短?各城市之间的航线距离如下表:
L M N Pa Pe T
L 56 35 21 51 60
M 56 21 57 78 70
N 35 21 36 68 68
Pa 21 57 36 51 61
Pe 51 78 68 51 13
T 60 70 68 61 13
解:禁忌搜索算法解TSP问题的程序如下:
function main()
%禁忌搜索算法解TSP问题
%A为禁忌表,此题中设置为一个禁忌队列,长度为t
%t:禁忌表的长度
%x:一种可行解
%X:候选集
%fun():评价函数,这里以目标函数作为评价函数
%check(A,x)函数,检查x是否在禁忌表内
%find(x)函数,在领域中寻找候选集合
clc,clear
D=************
56 0 21 57 78 70
35 21 0 36 68 68
21 57 36 0 51 61
51 78 68 51 0 13
60 70 68 61 13 0];
t=20;
%-----------------------------
A=zeros(t,6);
p=1; %队列的队尾
%-----------------------------
x=1:6;
fmin=fun(D,x);
N=1;
while N<=10000
X=find(x);
[m,n]=size(X);
y=zeros(1,m);
for i=1:m
y(i)=fun(D,X(i,:));
end
[miny,minp]=sort(y);
w=X(minp(1),:); if miny(1)
禁忌搜索灰狼优化算法研究
收稿日期:2019-01-13摇摇摇摇摇摇修回日期:2019-05-15摇摇摇摇摇摇网络出版时间:2019-09-24基金项目:国家自然科学基金(61136002);陕西省科技计划工业公关项目(2014k06-36);陕西省教育科技计划项目(2013JK1128);西安市科技计划项目(CX12188(7))作者简介:郭玉纯(1992-),男,硕士研究生,研究方向为群体智能算法优化;曹小鹏,教授,博士,CCF会员(74354M),研究方向为软件工程。网络出版地址:/kcms/detail/61.1450.TP.20190924.1534.012.html禁忌搜索灰狼优化算法研究郭玉纯,曹小鹏,胡元娇(西安邮电大学计算机学院,陕西西安710121)摘摇要:灰狼优化算法是模拟灰狼捕食行为的新型智能优化算法。原始灰狼算法由于种群迭代更新始终靠近最优解,所以存在易陷入局部最优解以及早熟收敛过快的现象。为了解决该问题,提出了一种基于禁忌搜索的灰狼优化算法,在原始灰狼优化算法中引入禁忌表的策略。禁忌表可以记录若干次历史搜索记录,下轮算法迭代可通过检索禁忌表来避免迂回搜索。当算法多次迭代且无法进一步获得更优解时,对当前最优解再进行一轮禁忌搜索,使得算法在一定次数内避免再次回到历史搜索中,进而跳出局部最优。通过对8个Benchmark基准函数的寻优测试表明,改进后的算法与原始灰狼优化算法和粒子群算法相比,其全局搜索能力获得显著提高,收敛速度加快,收敛精度更高,寻优能力更佳。关键词:灰狼优化算法;禁忌搜索算法;局部搜索;局部最优中图分类号:TP301.6摇摇摇摇摇摇文献标识码:A摇摇摇摇摇摇文章编号:1673-629X(2019)12-0055-06doi:10.3969/j.issn.1673-629X.2019.12.010ResearchonTabuSearch-greyWolfOptimizationAlgorithmGUOYu-chun,CAOXiao-peng,HUYuan-jiao(SchoolofComputer,Xi爷anUniversityofPostsandTelecommunications,Xi爷an710121,China)Abstract:Grey-wolf-optimization(GWO)isanewintelligentoptimizationalgorithmwhichsimulatespredationbehaviorofgrewwolf.Theoriginalgreywolfalgorithmisalwaysclosetotheoptimalsolution,soitiseasytofallintothelocaloptimalsolutionwithtoofastprematureconvergence.Aimingattheseshortcomings,weproposeanimprovedGWObasedonthetabusearchwherethetabuliststrategyisintroducedintothebasicGWO.Tabulistcanrecordseveraltimesofhistoricalsearch,andthenextiterationcanavoidcircuitoussearchbysearchingtabulist.Whenthealgorithmiteratesformanytimesandcannotfurtherobtainabettersolution,anotherroundoftabusearchisconductedforthecurrentoptimalsolution,sothatthealgorithmcanavoidreturningtothehistoricalsearchagainwithinacertainnumberoftimes,andthenjumpoutofthelocaloptimal.Theoptimizationtestof8BenchmarkfunctionsshowsthattheimprovedGWOhasstrongerglobalsearchcapability,fasterconvergence,higherprecision,andbettersearchcapabilitycomparedwithbasicGWOalgorithmandPSOalgorithm.Keywords:grey-wolf-optimization;tabusearch;localsearch;localoptimum0摇引摇言2014年澳大利亚学者Mirjalili模仿狼群种群围攻、捕获猎物的过程提出了灰狼优化算法(grey-wolf-optimization,GWO)[1-3]。灰狼优化算法具有较好的计算鲁棒性和全局搜索能力,自该算法提出以来,在图像处理、图像分割[4],无人机三维航路规划[5],流水车间调度[6],TSP问题[7],均值聚类[8],互联电网负荷频率控制[9]等方面应用广泛。由于灰狼优化算法中灰狼种群始终向全局最优的前三个解靠近,导致其全局搜索能力较弱,对于一些复杂优化问题,如在解决高维度、多模态复杂函数优化问题时,容易陷入局部最优和出现早熟收敛的现象。针对以上问题,张贾奎等提出了一种基于Tent混沌序列的灰狼算法(TCGWO)[10],以改善算法的寻优性能;伍铁斌提出一种基于对数函数描述收敛因子的改进GWO算法[11],以避免算法出现早熟收敛;徐慧等提出了融合杜鹃搜索的灰狼优化算法[12],在全局搜索能力方面有较为显著的提升,将其应用于特征选择中,有效提高了网络入侵检测的性能。以上文献中提出的更新策略,虽然扩大了搜索空间,但是容易跳过全局最优,第29卷摇第12期2019年12月摇摇摇摇摇摇摇摇摇摇计算机技术与发展COMPUTERTECHNOLOGYANDDEVELOPMENT摇摇摇摇摇摇摇摇摇摇Vol.29摇No.12Dec.摇2019收敛速度也会变低。禁忌搜索通过禁忌表来记录若干次搜索历史,下轮迭代可通过检索禁忌表来避免回到历史搜索。文中通过引入禁忌搜索策略,通过对每次迭代产生的最优解琢、优解茁、次优解啄个体执行禁忌搜索,从而提高算法的全局搜索能力并在算法收敛后期跳出局部最优解,且收敛速度加快。基于此,提出一种禁忌搜索灰狼优化改进算法(tabusearch-greywolfoptimization,TS-GWO),并通过多组实验验证了该策略对算法寻优性能的改进。1摇算法描述1.1摇灰狼优化算法灰狼属于犬科动物,也被认为是食物链顶端的捕食者,一般种群中包含5-12头狼,它们拥有十分严格的社会统治等级制度。最高领导地位的头狼被叫作琢狼,负责决定捕猎的路线、休息地点、工作时间等;第二层级上的灰狼被称为茁狼,茁狼是琢狼的下级,它的主要工作是帮助琢狼进行决策以及领导其余灰狼活动,它也是下一任琢狼的最佳候选者;最低等级的灰狼就是棕狼,棕狼必须遵从其他领导阶层的灰狼;剩余灰狼则为啄狼,啄狼遵从琢狼和茁狼,领导棕狼,这个层次的狼包含了侦察狼,哨兵,经验者,猎手以及看护者等等。GWO是根据灰狼的社会等级和狩猎技巧进行数学建模,将最优解记为琢,将优解和次优解记为茁,啄;剩余的候选解则记为棕;琢、茁、啄指导狩猎,棕则追随三条头狼,灰狼种群捕猎的过程主要有以下几步:(1)包围猎物。灰狼包围猎物的数学模型描述如下:D寅=C寅·X寅p(t)-X寅(t)(1)X寅(t+1)=X寅p(t)-A寅·D寅(2)其中,t为当前迭代次数;A寅和C寅为向量;X寅p为猎物的位置向量;X寅t为灰狼的位置向量。A寅和C寅的计算公式如下:A寅=2a寅·r寅1-a寅(3)C寅=2·r寅2(4)其中,a寅是随迭代在[0,2]上线性减少的向量;r寅1和r寅2是[0,1]上的随机向量。(2)攻击猎物。琢狼引导茁狼、啄狼来进行猎物攻击。为了模拟灰狼捕猎,选取前三个最优解,其余灰狼根据琢、茁、啄更新自己的位置,式5~式7描述了这一过程。D寅琢=C寅1·X寅琢-X寅D寅茁=C寅2·X寅茁-X寅D寅啄=C寅3·X寅啄-Xìîíïïïïï寅(5)X寅1=X寅琢-A寅1·(D寅琢)X寅2=X寅茁-A寅2·(D寅茁)X寅3=X寅啄-A寅3·(D寅啄ìîíïïïï)(6)X寅(t+1)=X寅1+X寅2+X寅33(7)1.2摇禁忌搜索算法禁忌搜索算法(tabusearch,TS)是1986年由美国科罗拉多大学教授FredGlover提出的一种启发式随机搜索算法[13]。禁忌搜索算法的核心就是禁忌表的建立,从过去的搜索历史中总结经验和获取知识,避免重新回到原来的搜索历史中,通过禁忌表中记录过往搜索移动,对于禁忌表中的移动,在以后的若干次迭代中是被禁止的,以免回到原来的解。这种做法,有利于在搜索陷入局部最优的时候,重新回到局部最优点,可以跳出局部最优,进行下一轮迭代搜索。其次,当候选解高于以往任何一个最优解,可特赦。禁忌搜索算法的基本流程如下:Step1:初始化。初始解作为当前解、候选解,禁忌表为空;Step2:在当前解的邻域选取满足不受禁忌的候选集,选取候选集中适应度值最高的一个解作为最优候选解,替换当前解;Step3:若最优候选解的适应度值高于最优解,则替换最优解;Step4:更新禁忌表,将最优候选解加入禁忌表,替换最早进入禁忌表的解;Step5:判断是否满足算法停止条件,即满足收敛条件或者到达最大迭代次数,如果满足,则输出最优解,如不满足,继续返回Step2。禁忌搜索对初始解的要求很高,如果初始解过差,会降低收敛速度,并且容易进行无效搜索。2摇基于禁忌搜索的灰狼优化算法改进GWO算法在每一次迭代均根据灰狼首领的位置来更新所有种群个体位置,然后再计算所有种群个体的适应度值,选取最优的三个作为琢、茁、啄进行位置更新以及下一次迭代,直至满足收敛条件或者达到最大迭代次数。算法每次迭代不断接近最优解,在算法初期具有较快的收敛速度,在迭代后期若灰狼首领陷入了局部最优,则其余种群个体根据精英位置更新自·65·摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇计算机技术与发展摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇第29卷己位置,均围绕在局部最优点附近,也无法脱离局部最优。因此算法在迭代后期存在全局搜索能力差的缺点,容易陷入局部最优,收敛速度变慢。而禁忌搜索算法会标记已经得到的局部最优解或求解过程,并在进一步的迭代中避开这些局部最优解或求解过程,从而获得更多的搜索区域,避免迂回搜索,进而跳出局部最优解。为增强人工灰狼跳出局部最优解的能力,迫使狼群在不断逼近猎物的过程中,能随机地跳出局部最优,采取算法混合策略来进行算法优化,利用算法间的优势进行互补来弥补单一算法的不足,进而提升算法性能。灰狼种群根据狼群首领的位置来更新个体位置,对当前灰狼首领进行局部搜索,当其陷入局部最优时,引入禁忌表策略,对搜索历史进行记录,在后若干次的行动中禁止再回到该解位置。基于此文中提出一种基于禁忌搜索的灰狼优化改进算法,该策略主要是选取当前最优的三个解琢、茁、啄作为初始解进行局部的禁忌搜索,随机选取初始解邻域内的点作为候选解,进行禁忌搜索,每迭代一轮则判断是否优于当前最优解,若优于则更新最优解,并将该解加入禁忌表,否则只更新禁忌表,下一轮迭代开始前,首先判断当前候选解是否在禁忌表中,若存在,则跳过此次迭代。此时可以有效防止灰狼优化算法陷入局部最优,禁忌搜索完成后,根据选取的头狼位置更新种群个体位置,进行下一轮灰狼算法迭代。TS-GWO算法的流程如下:Step1:种群初始化,设定最大迭代次数、维度、解空间上下限等;Step2:计算每个种群个体的适应度值,从中选取最优的三个解作为第一代琢,茁,啄;Step3:计算参数a,A寅,C寅;Step4:以琢,茁,啄的位置通过式1、式2计算X1,X2,X3,通过式7计算每个灰狼的位置;Step5:计算每个灰狼的适应度值,选取前三作为琢,茁,啄,以琢,茁,啄为当前解;Step6:在当前解的设定邻域里随机选取候选解集合;Step7:判断当前候选解是否存在于禁忌表中,若存在则跳过此次迭代;Step8:计算候选解的适应度值,若当前候选解的适应度值高于最优解,则替换最优解;Step9:更新禁忌表,将最优候选解加入禁忌表,替换最早进入禁忌表的解;Step10:判断当前解是否满足禁忌搜索收敛条件即达到最大禁忌迭代次数或达到收敛条件,若满足则跳转至Step11,否则跳转至Step6;Step11:判断是否达到灰狼优化算法最大迭代次数,若满足则跳转至Step12,否则跳转至Step3进行下一次迭代;Step12:输出最优解。3摇实验设计与仿真分析3.1摇测试函数与对比算法为了验证TS-GWO算法的性能,选取了八个测试函数进行实验仿真,并与原始PSO[14]、GWO算法进行比较,表1给出了测试函数的基本信息。文中采用平台MATLAB2016ra进行实验。为了更好地评价算法的寻优能力以及收敛精度,采用每组测试函数50次独立执行的结果,通过最优适应度(bestfitness,BF)、平均适应度值(meanbestfitness,MBF)以及标准差(standarddeviation,SD)[15]统计学指标对算法进行评价。其中函数F1-F5为单峰基准函数,在定义区间内存在全局最优值,使用智能优化算法可寻找全局最优解;函数F6-F8为多峰基准函数,在定义区间内含有多个局部最优解,在算法迭代过程中,容易陷入局部最优以及产生局部震荡,可用来测试算法避免早熟收敛和脱离局部最优的能力以及对其余空间的搜索能力。选择TS-GWO与GWO、PSO算法对上述8个基准测试函数进行实验,参数设置如下:种群规模N=50,最大迭代次数t=1000,维度dim=30,禁忌搜索的禁忌迭代次数TS-t=200,禁忌表长度为6-13之间的随机数,邻域集合大小为5。PSO参数设置如下:c1=2、c2=2、w=1.0。表1摇测试函数函数名函数表达式维度范围全局最小值F1f1(x)=移ni-1X2i30[-100,100]0F2f2(x)=移ni-1Xi+仪ni-1Xi30[-10,10]0F3f3(x)=移ni-1移ij-1X()j230[-100,100]0F4f4(x)=maxiXi,1臆i臆{}n30[-100,100]0·75·摇第12期摇摇摇摇摇摇摇摇摇摇摇摇摇郭玉纯等:禁忌搜索灰狼优化算法研究
