关键词不能为空

当前您在: 主页 > 英语 >

基于Local Search的算法赏析 (转载)

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-07 13:25
tags:

-

2021年2月7日发(作者:矬)


前言:很久没有写博文了,两个字


——“


穷忙< /p>



,这一段时间里收到了很多老师、学生和业

界人员的问题,


有些回答的稍显草率,


请谅解,

< p>
其中的一些问题


(比如


QCQP

< br>中的


semidefinite


的相关问题及讨论)很想 写写,但一想到写这些东西需要认真捋清思路、小心措辞、辅助


作图等,又想到自己


research


进展跟狗屎一样,就实在没有心情写了。其实,青 年教师的


科研压力不比在读博士生小,老师们应该都能理解,所以请学生们和业界人员原 谅我这一


段时间问题回答上的草率。





今天选择


Local


Search



LS


)这个话题,一来是最近看到很多


Papers


在使用这些方 法,


二来是看到最近优化软件


LocalSolver(


官网



中国代理商


)


火爆的不行。


LocalSolver


是基于


local search


方法


(而非


Branch and Cut


方法和


Constraint Program ming


方法)


求解


Mathemat ical


Programming


模型的,所以非线性算子(


floor, ceil, log, exp, pow, cos, sin, t an


)就完全不在话


下了,当您的


mo del


有大量非线性和非凸性的时候,您就别再一边又一边给杜老师发

< br>Email


了(杜老师,我用


Gurobi



CPLEX


怎么都不行?)


,也别苦逼地去尝试


IBM


ILOG


CP


Opitimizer


了,


因为


CP


虽然也能处理这些,


但毕竟设计的初衷不是为了求


Mathematical Model


的,所以这时候大胆尝试一下


LocalSolver


吧。我以后再也不会说:你的


Model


非线性和非< /p>


凸性都很强,有点没治


~


;我会说:


Pls Try LocalSolver


(对学术界免费开放)< /p>






Local


Search


详 细的基本知识我就不说了,说实在的,我掌握的也不是很系统,不过


LocalSolv er


团队提供了供课堂教学用的资料,


让老师教学生系统学习< /p>


LS


技术


(我在内蒙古

< br>大学还没有资格给研究生上课,


所以暂时不会把


LS


技术系统地带入课堂


,


这一点也令我有些< /p>


沮丧


)


,有需要教学的老师可向


LocalSolver


开发团队协商索要教学资料。下面我简单地把跟


Local


Search


紧密相关的 一些算法(这里,我无意全面地介绍跟


LS


相关的各种算法)介 绍


给大家,让大家对


LS


技术有个相对 直观和略显高级的理解,也能大致洞察清楚优化软件


LocalSolver

< p>
后面的东东,


主要包括:


Variable Neighborhood Descent(VND),Iterated Local Search


(ILS)



Variable


Neighborhood


Search


(VNS)



Variable


Neighborhood


Decompostion


Search


(VNDS)



Large Neighborhood Search (LNS)


等。算法详细的细节我不再披露 ,请大家


google


里找相应的


Pa pers


阅读,我只简单给出算法的主要伪代码(主要的来源是


Thomas Stutzle



2003

年一个暑期学校上的讲义即


Blum


Applied Soft Computing


上写的一篇综

述论文



,并着重分析各算法的核心思想以及各算法的区别 。



-------------------------- -----------


博主


2013



8



31


日 注:开始


--------------------------


Local Search


也是一种顺序化的搜索方法,


搜索路径形成一个轨迹,针对当前点(解)


< br>从其邻域


中试图找到一个更好的解来代替当前解(找不到时当然要停止搜索)




问题一


:基本的


Local Sear ch


常常能到达局部最优,若算法不再配备克服局部极优的机制,常常

< br>称这种


Local


Search



Hill

< p>
Climbing


(爬山法)


;若配备了


克服局部极优的机制,就形成更为


复杂的算法,如利用

< br>iteration


机制的


Iterated


Local


Search


算法,利用


memory(


记忆


)


机制的


reactive


search

< p>
optimization


算法,利用


memor y-less


stochastic


modificati on


机制的


Simulated


An nealing


算法。我们这里提到的


Local Search


主要指的是


Hill Climbing




问题二


:若定义邻居(邻域)的方法是最多不超过


k



Solution Component


发生改变(其余


n-k



component


不变)


,这种


Local


S earch


成为


k-OPT


。例子:< /p>


求解


TSP



2 -OPT


即是一



Local


Search


。在这一算法中,常常把定义邻居的交换两条弧的操作成 为


2-OPT


Swap,



用函数


2OptSwap(route,i,k)


。如对于解


A->B->C->D->E->F->G->H->A

< br>,指定


i=3,k=6


,即针


对 弧


C-D



G-H

进行交换,交换为


C-G



D-H ,



(A->B->C)


和(


H->A


)片段不变(也即


H->A->B-> C


不变)


,片段(


D->E->F-> G


)元素也不变,只是两个片段原来靠弧


C-D



G-H


连接,


现在靠弧


C-G



D-H


连 接


(两个片段连接的首尾交换了一下)



考虑到这里是有方向


的,


故将片段



D->E->F->G



在元素连接方 式不变的情况下方向变一下,


即为



G ->F->E->D




这就构造除了 新的邻居


A->B->C->G->F->E->D->H->A


。所以每次给定一个


i



k


的具体值,


2OptSwap(route,i,k)

< br>就会给出一个具体的邻居。这就有了下面的问题三。



问 题三:


对于当前解


S


,有很多邻居(对 于上面的


2-OPT


,每个不同的



组合都将是一个


邻居)



也即它的邻域中有很多解,


如何搜索它的邻域?也即,


如何在邻域中找到更好的解?


一种简单粗暴的思路是



系统化的搜索



利用两次


for


循环来枚举不同的



组合,


当在某


< p>


找到更好解时,替代当前解


S


,否则继续枚举


,

见下面的代码;


另一


种策略常常用到,即

< br>“


随机化的搜索



方法


,每次随机地选取


S


的一个邻居(即

< p>



,找到


更好 的解时替代当前解,否则继续随机选取


S


的一个邻居,当在给定 随机尝试次数内找不


到更好解时,算法停止。




--------------------------- ----------


博主


2013



8



31


日注 :结束


--------------------------





1. Variable Neighborhood Descent(VND)






每次在一个邻域

< p>
N_k


中找不到一个更好的解时,就仍然从当前解


s


出发,换一个领域结


构(常常是在一个更大的领域中)搜索, 看是否能找到更好的解;当找到一个更好的解


s’


时,


从这一新的解出发,


重新返回第一个领域结构开始搜索。


这里变换邻域结构时的初衷是


当前邻域结构找不到更好的解,而变换(常常为扩 大)邻域结构能带来找到更优解的希望,


但变换邻域结构时,要保持搜索的初始解(当前 解)不变。但值得注意的是:对不同领域结


构尝试搜索的算法可能不一样。



2. Iterated Local Search (ILS)





Local Search


是在一个领域结构(通常 较小,如


TSP


问题的


2-OPT



3-OPT


邻域,并行机


调度问题的


insert


邻域)中从一个最优解出发试 图找到最好的解,


local search


的搜索往往是

-


-


-


-


-


-


-


-



本文更新与2021-02-07 13:25,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/608481.html

基于Local Search的算法赏析 (转载)的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文