运筹优化学习04:禁忌搜索算法的历史

简介: 运筹优化学习04:禁忌搜索算法的历史

禁忌搜索算法的提出与学者们孜孜不倦的研究精确算法的努力一道发展起来的,启发式算法和精确算法同时汲取了人工智能和运筹学的成果精华;作为回馈,一些设计巧妙的算法也反过来推动了人工智能和运筹学的领域相关问题的解决。


禁忌搜索算法的一些特性正是基于这样的背景和视角,对其进行回顾有助于对其特征及影像有更深的理解。今天的研究者似乎忘记了人工智能和运筹学这两个领域曾经并驾齐驱,分享着许多相似的理念。但两个领域都需要针对一些具有挑战性的问题开发优秀的解决方案,而这些问题又分享着许多相似的特性。故在早期的启发式算法研究的早期,研究者们就意识到从人工智能和运筹学的视角进行算法改进;然而,在后来的发展过程两者出现了分歧,运筹学的研究者注重数学结果的收敛性,人工智能的研究者更注重符号化和定性分析。


这种分歧发展的初期,很少有人关注那些将打破传统数学上单调收敛准则的非传统的方法引入到优化领域;同时,将随机性和集成设计理念引入到启发式的算法的努力也在继续。这种既分裂又充满合并机遇的不幸局面持续了多年,直到1980s,才重新浮出水面,这也构成了禁忌搜索策略的源头。


对于禁忌搜索算法的发展经历了四个重要进展:集成逻辑重建和非单调决策规则的策略、对可行解的系统性破坏与修复、对最近和频率的记忆和结合解决方案的选择过程。


第一个进展源于车间调度问题的决策规则的研究,1960s的传统决策方法生成的车间调度方案包含多种决策准则,并将这些决策准则孤立的嵌入到局部决策过程中。Fisher和Thompson在1963年创造性的在每个决策节点上引入概率策略选择不同的决策准则,使用强化学习方法,根据多个方案运行后生成的解决方案质量,修正决策准则的选择概率【reinforcement learning to ament the probability of choosing the rules according to the schedules quality produced over muliple solutions run】。其采用智能选择策略从多种准则中获益的方法刺激了Glover(1963)一项对比性研究:探索将多种决策规则结合建立新的决策规则,这种理念被编织进禁忌搜索算法的各个环节。该方法首先根据通用的准则,对易受参数影响的各组分进行修正;然后,算法利用可变参数集生成一系列的试验解【trial solution】进行集成决策。决策并非终止于这些解的局部最优位置,它通过系统性的生成非单调的目标函数曲面继续根据隐含参数得到另外的试验解。这其中的两个核心理念:重建多种决策准则,其目的是生成这些规则孤立运行无法产生的新的决策规则;其二,搜索路径超越原来的局部最优位置;确保了该方法可以获得优于以往(包含决策准则随机性选择策略)方法的更优解。


第二个对禁忌搜索算法产生重要影响的进展来源于Glover在1966和1969两篇文献中提到的参考角多面体松弛(corner polyhedral relaxations)解决整数规划问题的研究。该方法赋予变量记忆创造新的约束以避免产生unproductive解决方案的能力,这些约束并不直接记录解决方案本身,而是记录其某些有限的特性;同时,也引入了利用成对儿的解决方案生成新的候选解的策略。这种采用级数简单求和的构成了Scatter search的起源【the mode of the joining used progression simple summations constituting a precursor of the scatter search approach 】。该方法并非终止于试验解的局部最优位置,而是当算法记忆能力和关联准则不允许任何变化来拓展序列时,选择局部的最优解。【but instead terminated the progression by selecteing the best local optimum when the memory and the approach associated bounding rules disallowed any variable from being used to extend the sequence.】


接着,Papadimitriou和Steiglitz(1982)提出了可变深度'variable depth'方法,这些方法强调设计一些能够跳出局部最优解的策略,虽然它并不一定通用;并总结了Kernighan和Lin(1970)提出的算法根据可变的搜索深度确定其终止条件的理念,认为算法在给定的可变深度内无法获得解的改善,将终止搜索。与此相反,Glover(1966)认为可变深度同样也可以生成新的试验解,跳出局部非最优位置,生成全局的最优解。


从禁忌搜索的视角来看,其核心的贡献是灵活的使用个体记忆能力,并与约束条件限制控制可行解的生成。事实上,这种算法并不是一种启发式算法,而是一种增强型收敛算法,这与启发式和精确算法程序的优化目标是一致的。


第三个进展与精确方法求解整数规划问题类似,它建立在利用单纯形法进行线性规划问题的基础上,使用割平面技术生成满足变量整数要求的新约束。传统隐含割平面法的线性规划设计往往起始于一个初始可行解,然后在保持解可行的情况下逐渐搜索到问题的最优解。然而,组合优化较线性规划面临不同的拓扑挑战,其初解可能是非凸的甚至是不连续的。得益于Glover(1968)创造的pseudo primal-dual method,该方法故意地破坏然后重建可行解,使得对解空间进行切割成为可能;总能重建的可行规则允许确保了算法在最优解位置收敛【finite convergence to optimality was assured by rules that allowed feasibility conditions always to be recovered with a net advance 】。持续的访问可行解和不可行解的被吸纳作为禁忌搜索的核心准则。


第四个进展得益于Glover于1965年介绍的求解整数规划问题的代理约束方法【surrogate constraint method】,这些方法基于组合约束生成父约束中并未包含的相关信息的新约束。这些近期的和频繁出现的记忆信息随后被启发式和精确算法吸收并用以探索新的信息。Glover(1977)将代理约束整合到启发式算法中来求解整数规划,这一洞见对当时的人工智能和运筹学分化观点产生了不小的冲击。


长期以来,算法一直是优化方法家族中比较受人尊敬的一方,它可在有限的步骤中测量出最优解。那些仅仅声称自己很聪明而不夸耀支持定理和证明的方法被给予了较低的地位。算法是在学术研究的高层次的分析纯度中构想出来的,启发式方法是研究者在黑暗的角落里通过设计各种权宜之计才实现的。[然而,我们逐渐认识到]算法并非总是成功的,它们的启发式同族应该有机会证明它们的能力。毕竟,算法只是一种严格遵循epsilons和delta数学规则的精确启发式方法,甚至可以说,算法表现出某种强迫性的一面,既它剥夺了接受偶然性不稳定或最终收敛异常的自由。(不幸的是,收敛到最优有时仅仅具有宗教意义:在这个世界上似乎不可能发生)启发式方法,健壮而充满活力,可能在地形太崎岖或算法变化太大的情况下具有特殊优势。事实上,那些喜欢模糊区别的人认为,有启发式的能力的算法也是值得一试的。


Algorithms have long constituted the more respectable side of the family [of optimization methods], asuring an optimal solution in a finite number of steps. Methods that merely claim to be clever, and do not boast enourage of supporting theorems and proofs, are accorded a lower status. Algorithms are conceived in analytic purity in the high eitadels of academic research,heuristics are midwifed by expediency  in the  dark  corners  of the practitioner's lair.  [Yet we are coming to recognize that] algorithms are notalways successful, and their heuristic cousins deserve a chance to prove their mettel.... Algorithms, after all, are merely fastidious heuristics inwhich epsilons and deltas abide by the dictates of mathematical etiquette. It may even be said that algorithms exhibit a somewhat compulsive aspect, being denied the freedom that would allow an occasional inconstancy or an exception to ultimate convergence. (Unfortunately, ultimate convergence sometimes acquires a religious significance: it seems not to happen in this world.) The heuristic approach, robust and boisterous, may have special advantages in terrain too rugged or varied for algorithms. In fact, those whoare fond of blurring distinctions suggest that an algorithm worth its salt is one with heuristic power.'


Ironically, in spite of the suggestion made in this quote a reconciliaion of view points was imminent, widespread recognition of the relevance  of heuristics within optimization was not to occur in the mainstream of the OR field for nearly  a decade more.  The irony is heightened by the fact that the paper containing preceding quote introduced several conections that have become part of tabu search and which likewise were not to be pursued by  researchers until the mid  1980s. Regardless of the fashions that may capture the attention of researchers in OR or Al,then or now, the theme that (good) algorithms and heuristics are intimately related continues to be a basic part of the perspective that  underlies tabu search. Manifestations of this perspective occur throughout this book, and particularly in the application of tabu search to the general area of integer programming


尽管近几十年内,在运筹学主流领域并不会广泛的报道启发式算法获得巨大成就,但观点的协调是迫在眉睫的。更讽刺的是,精确算法和启发式算法的之间的某些关联构成了禁忌搜索算法的一部分,无论人工智能还是运筹学的研究者是否注意到这种趋势,精确算法和启发式算法仍然是禁忌搜索紧密相关的重要基础。


Fisher H, Thompson GL (1963) Probabilistic learning combinations of local job-shopscheduling rules. In: Muth JF, Thompson GL (eds), Prentice-Hail, pp.225-251.


Kernighan B W , Lin S . An Efficient Heuristic Procedure for Partitioning Graphs[J]. Bell System Technical Journal, 1970, 49(2):291-307.


Papadimitriou C H, Steiglitz K. Combinatorial optimization : algorithms and complexity[J]. IEEE Transactions on Acoustics Speech & Signal Processing, 1982, 32(6):1258-1259.


相关文章
|
10天前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
143 80
|
3天前
|
机器学习/深度学习 算法
基于遗传优化的双BP神经网络金融序列预测算法matlab仿真
本项目基于遗传优化的双BP神经网络实现金融序列预测,使用MATLAB2022A进行仿真。算法通过两个初始学习率不同的BP神经网络(e1, e2)协同工作,结合遗传算法优化,提高预测精度。实验展示了三个算法的误差对比结果,验证了该方法的有效性。
|
6天前
|
机器学习/深度学习 数据采集 算法
基于PSO粒子群优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目展示了基于PSO优化的CNN-GRU-SAM网络在时间序列预测中的应用。算法通过卷积层、GRU层、自注意力机制层提取特征,结合粒子群优化提升预测准确性。完整程序运行效果无水印,提供Matlab2022a版本代码,含详细中文注释和操作视频。适用于金融市场、气象预报等领域,有效处理非线性数据,提高预测稳定性和效率。
|
7天前
|
机器学习/深度学习 算法 索引
单目标问题的烟花优化算法求解matlab仿真,对比PSO和GA
本项目使用FW烟花优化算法求解单目标问题,并在MATLAB2022A中实现仿真,对比PSO和GA的性能。核心代码展示了适应度计算、火花生成及位置约束等关键步骤。最终通过收敛曲线对比三种算法的优化效果。烟花优化算法模拟烟花爆炸过程,探索搜索空间,寻找全局最优解,适用于复杂非线性问题。PSO和GA则分别适合快速收敛和大解空间的问题。参数调整和算法特性分析显示了各自的优势与局限。
|
10天前
|
缓存 算法 搜索推荐
Java中的算法优化与复杂度分析
在Java开发中,理解和优化算法的时间复杂度和空间复杂度是提升程序性能的关键。通过合理选择数据结构、避免重复计算、应用分治法等策略,可以显著提高算法效率。在实际开发中,应该根据具体需求和场景,选择合适的优化方法,从而编写出高效、可靠的代码。
25 6
|
16天前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
52 3
|
16天前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
40 2
|
2天前
|
算法
基于梯度流的扩散映射卡尔曼滤波算法的信号预处理matlab仿真
本项目基于梯度流的扩散映射卡尔曼滤波算法(GFDMKF),用于信号预处理的MATLAB仿真。通过设置不同噪声大小,测试滤波效果。核心代码实现数据加载、含噪信号生成、扩散映射构建及DMK滤波器应用,并展示含噪与无噪信号及滤波结果的对比图。GFDMKF结合非线性流形学习与经典卡尔曼滤波,提高对非线性高维信号的滤波和跟踪性能。 **主要步骤:** 1. 加载数据并生成含噪测量值。 2. 使用扩散映射捕捉低维流形结构。 3. 应用DMK滤波器进行状态估计。 4. 绘制不同SNR下的轨迹示例。
|
29天前
|
算法
基于WOA算法的SVDD参数寻优matlab仿真
该程序利用鲸鱼优化算法(WOA)对支持向量数据描述(SVDD)模型的参数进行优化,以提高数据分类的准确性。通过MATLAB2022A实现,展示了不同信噪比(SNR)下模型的分类误差。WOA通过模拟鲸鱼捕食行为,动态调整SVDD参数,如惩罚因子C和核函数参数γ,以寻找最优参数组合,增强模型的鲁棒性和泛化能力。
|
15天前
|
供应链 算法 调度
排队算法的matlab仿真,带GUI界面
该程序使用MATLAB 2022A版本实现排队算法的仿真,并带有GUI界面。程序支持单队列单服务台、单队列多服务台和多队列多服务台三种排队方式。核心函数`func_mms2`通过模拟到达时间和服务时间,计算阻塞率和利用率。排队论研究系统中顾客和服务台的交互行为,广泛应用于通信网络、生产调度和服务行业等领域,旨在优化系统性能,减少等待时间,提高资源利用率。

热门文章

最新文章