Localizer++:一个用于本地搜索的开放库

文章·2001年10月具有19个读数
我们如何衡量“阅读”
每次查看出版物摘要(如标题、摘要和作者列表)、单击图表、查看或下载全文时,都会计算“已读”。了解更多
引用本出版物
摘要
局部搜索是解决大型组合优化问题的基本方法之一。然而,可用于促进局部搜索算法的设计和实现的支持相对较少。本文介绍了一个可扩展的面向对象的局部搜索库Localizer++。Localizer++既支持声明性抽象来描述邻域,也支持高级搜索构造来指定局部移动和元启发式。它还支持建模语言中常见的各种特性,其可扩展性允许轻松集成新的、用户定义的抽象。特别有趣的是Localizer++语句的简洁性和可读性以及Localizer++实现的精确性。

你想吗读剩下的这篇文章的?

请求全文PDF
广告
  • ... 不过,我们可以与另一种局部搜索方法进行比较:这个基准已经被定位系统用禁忌式的元启发式攻击了。航向信标[18,19,20]是一个通用的框架和语言,用于表达本地搜索策略,然后将这些策略编译成C++代码。在16x50秒的时间内,比较16x50秒的自适应处理器和系统实例。。。
    ... 这些程序是在PentiumIIi733MHz上执行的,内存为192 Mb,运行LinuxRedhat7.0。航向信标的时间来自[20]并在奔腾III-800上进行了测量,因此在与我们类似的机器(奔腾III-733)上也进行了测量,但是值得注意的是,在定位器中使用的方法是在每个迭代步骤中探索整个单值交换邻域(大小为n2,我们的结果与使用定位器系统获得的结果相比非常好),因为自适应搜索速度快两个数量级。此外,通过对各种参数(全局代价函数、禁忌保留期、重置级别和重置变量百分比等)的仔细调整,可以提高该方法的性能,使其真正具有自适应性。。。
    ... Ant-P解算器的计时(以秒为单位)取自[29],除以与处理器之间SPECint 95比率相对应的因子7。航向仪的时间再次来自[20]并在奔腾III-800上进行了测试,因此在性能略高于我们的机器上进行了测试。对于大小为NxN的问题,自适应搜索使用以下设置:Tabu termination等于2,当N/5个变量为Tabu时,重置10%的变量。。。
    文章
    全文可用
    本文提出了一种通用的、与领域无关的局部搜索方法,称为自适应搜索来解决约束满足问题(CSP)。我们设计了一种新的启发式算法,它利用了问题在约束和变量方面的结构,比全局代价函数更精确地指导搜索进行优化(例如违反约束的数量)。为了防止局部极小值和循环的停滞,我们还使用了禁忌搜索的自适应记忆。该方法具有通用性,可应用于大类约束(如线性和非线性算术约束、符号约束等),并能自然地处理过约束问题。对一些经典的CSP问题的初步结果显示了很好的性能。我们还将这种方法应用于音乐的计算机辅助创作领域,并给出了与当代音乐作曲家合作的音乐csp自适应搜索算法的实现结果。
  • ... 此外,进化算法的软件包种类繁多;参见Heitkötter和Beasley(2001)以及下面的第10章。另一方面,有一些方法可以为局部搜索算法设计特定领域(建模)语言,这些语言部分基于约束编程;见de Backer等人。1999年,Micheltenuck(1999年)和Labernau(1999年),以及Labernau,米歇尔和范亨廷里克(2001a),Nareyek(2001),以及第9章。。。
    ... 文献中还提出了一些其他的局部搜索系统或其他技术,例如LOCALIZER++(米歇尔和范亨廷里克(2001a)),HOTFRAME(),和算盘(Jünger and Thienel(1997))。在DiGaspero和Schaerf(2000)中提供了EASYLOCAL++和这些系统之间的比较。。。
    商业和工程中的许多决策问题都可以表述为优化问题。实践中的优化问题是多种多样的,通常是复杂的,并且随着时间的推移而发展,因此需要现成的优化软件包和优化软件库,它们为特定于应用程序的软件系统提供或多或少的适应性构建块,简要介绍优化软件是有用的。一般分类提供了可调用包、数值库和组件库之间的区别。在本介绍性章节中,我们讨论了相应库的一些一般方面,并概述了可用的库,这些库针对不同的优化方法提供了可重用的功能。为了实现更广泛的适用性,我们很少关注特定问题的软件,因此我们可以将重点放在一般方法上。
  • ... 文献中提出了几种PDM框架。其中大多数只关注EA(Arenas et al.,2002;Luke et al.,2002;Costa、Lopes和Silva,1999;Goodman,1994;Gagné、Parizeau和Dubreuil,2003)或LS(Di Gaspero and Schaerf,2001;Michel和Van Hentenryck,2001年). 只有很少的框架致力于EA和LS的设计(Alba和MALLBA Group,2002;Krasnogor和Smith,2000)。。。
    ... 同步迁移是基于孤岛模型实现的,也是一种可部署的处理器模型。现有的micheerfdi框架和现有的micheerf搜索框架亨登里克,2001年)不允许并行分布式实现。那些支持并行/分布的方法通常只针对一种解决方案。。。
    文章
    全文可用
    在本文中,我们提出了ParadisEO白盒面向对象的框架,致力于并行和分布式元启发式(PDM)的可重用设计。ParadisEO提供了广泛的功能,包括进化算法(EA)、局部搜索(LS)、最常见的并行和分布式模型以及杂交机制等。这种高内容和实用性鼓励了它在欧洲的应用。ParadisEO是基于对解决方法和它们要解决的问题进行明确的概念上的分离。这种分离为用户提供了最大限度的代码和设计重用。此外,与其他框架相比,框架提供的类的细粒度特性允许更高的灵活性。ParadisEO是提供最常见的并行和分布式模型的罕见框架之一。它们的实现在分布式内存机器和共享内存多处理器上都是可移植的,因为它使用标准库,如MPI、PVM和PThreads。模型可以以透明的方式利用,只需实例化它们相关的提供的类。他们在无线网络设计实际应用中的实验证明了它们的有效性。
  • ... 其次,除了OPL之外,它们不支持用户定义的搜索过程。最近,本地搜索技术还得到了LOCALIZER[46]和COMET等语言以及LOCALIZER等库的支持++[53],IN-COP[57],和EasyLocal++[26]。与上面提到的CLP工具一样,这些工具缺乏对并行和分布式计算的支持。。。
    ... 据我所知,没有库可以提供第3章或相关C++库[51]中描述的开放式搜索过程。LS的库包括定位器++[53],INCOP[57],和EasyLocal++[26]。INCOP和EasyLocal++使用继承来指定新的移动和元启发式,并提供一些内置的元启发式。。。
    文章
    离散组合优化问题是现代文明中普遍存在的问题。不幸的是,这些问题也很难解决,而且往往是NP难的。有两种技术被证明特别适合:约束编程和局部搜索。对这两个领域的研究基本上是独立进行的,它们尚未有效地结合到一个单一的框架中。此外,在现代并行硬件上开发组合优化的结构还没有取得足够的进展,使得并行优化算法难以编写。虽然并行化不能使NP-Hard问题在多项式时间内可解,但在许多实际问题中可以获得显著的性能增益。本文主张将搜索规范与搜索控制分离,并将其映射到底层硬件体系结构。通过分离这些正交元素,人们可以很容易地试验新的搜索算法,并从顺序结构转向并行或分布式体系结构。本文所描述的并行化针对的处理器数量不多(例如,多核台式机、工作站集群和中档超级计算机),这些处理器对于大多数用户来说都是容易获得的。代码示例显示了该方法对用户的有用性,而实验结果表明将其应用于实际困难问题的可行性。
  • ... 常数k是所有行、列和两条对角线的总和,可以很容易地计算出k=n(n2+1)/2。在我们的实现中,我们还没有对幻方问题进行建模和解决,但是其他研究人员之前的结果表明,使用局部搜索确实可以做到这一点[9,第四十一条]. ...
    ... Localizer[40]是一种成熟的本地搜索语言。多年来,这种语言已经演变成第一种本地化语言++[41],一个C++库,以及后来的Comet[42],再一次成为一种语言,但更多的是基于面向对象的语言,而不是原始语言。定位器的所有变体都是基于称为不变量的增量表达式。。。
  • ... 约束工具箱约束工具箱是一个库,其中提供了编程语言的约束建模和求解工具。这类工具箱的例子有:CPLEX[13]和Localizer++[14]. 它们有不同的缺点:不支持高级建模,宿主语言可能会施加一些限制。。。
    ... [12] 一。最后,一个包含移除条件、量词和约束求和的示例显示在equ中。[15]中,输入在equ中表示。[14]. ...
  • ... 文献中还提出了一些其他的局部搜索系统或其他技术,例如定位器++[6],热帧[3],算盘[5]。EasyLocal++与这些系统的比较见[2]。。。
    文章
    全文可用
    EasyLocal++是一个面向对象的框架,它可以帮助用户在C++中为各种问题设计和实现本地搜索算法。在本文中,我们通过展示EasyLocal++在开发一个实际调度问题(即courseTimeballing问题)的解算器方面的贡献,突出了EasyLocal++的可用性。课程代谢问题涉及硬约束和软约束,为了得到满意的解决,需要不同邻域关系的非平凡组合。我们使用EasyLocal++展示了实现的所有步骤,我们认为这非常简单。生成的代码是模块化的、小的、易于维护的。1
  • ... 不变量随后在[11,26]中使用。最近,基于约束的局部搜索方法(例如[3,8,14日,27]),其中约束增量地保持属性,如违反程度。彗星系统[12]进一步推动了这一想法,并引入了微分对象的概念,它可以被视为局部搜索的全局约束的对应物。。。
    文章
    全文可用
    用于邻域搜索的建模和编程工具通常支持不变量,即以声明方式指定的数据结构,并根据更改自动进行增量维护。本文研究有向无环图中最长路径的不变量,这是许多应用的基本抽象。提出了圆弧插入和删除的有界增量算法,分别在O(| | d | |+| d |)时间和O(| | d |)时间,其中| d |是输入和输出变化的度量。本文还展示了如何将该算法推广到调度应用程序中遇到的各种类型的多个插入/删除操作。初步实验结果表明,该算法在实际应用中表现良好。
  • ... 开发项目2001年(米歇尔范恩莱特),Localizer++Constructe une autre platforme C++pour l’implementation de métaheuristiques as base de solution unie très proche de EasyLocal++。在所有的杂交形式中,都有一个共同点,那就是支持在分销过程中对环境进行批准的合作模式。。。
    文章
    该公司生产的产品包括:一种用于生产、销售、销售、销售、销售、销售、销售、销售、销售、销售、销售、销售、销售、销售、销售、销售等。优化组合域与多智能体系统的交叉点。这是一个连续不断的命题,从模板形式上讲,这是一个平行的问题。在解决方案执行方法(robustes和自动适应)和优化组合réels的方法应用程序中,密切关系单元的概念不同。该项目介绍了并行化和变更策略的信息,即人口迁移的算法,考虑了解决方案的方法。总之,利用代理商的流动性和开发的最佳资源的计算,在联合国组织(实验室,企业)和优惠的过程中,计算的过程,以普沃瓦gérentuelles pannes dans n réseau的最佳资源。成功的解决方案解决了生产过程中出现的问题,解决了经济问题。在情报人工制品的分布和合理操作的基础上,对两个区域的可能提供的勘探工作代表的劳动。自动适应方法和计算力联合会,用于解决环境问题。
  • ... 然而,TSF只提供禁忌搜索和杂交,而可行,需要一个主要的工作从设计师。航向信标++[14]是用于本地搜索的可扩展约束库。它既支持描述邻域的声明性抽象,也支持高级搜索构造来指定本地移动和搜索过程。。。
    会议文献
    全文可用
    虽然元启发式算法对于解决大规模组合优化问题是有效的,但它们是根据特定问题进行耗时的试错算法设计的结果。因此,一个快速原型化算法的软件工具可以节省大量的资源。这项工作提出了一个通用的软件框架,通过抽象类和软件重用来减少开发时间,更重要的是,通过支持用户定义的策略和混合元启发式来帮助设计。最有趣的是,我们提出了一种新的方法来重新定义杂交,使用“请求和响应”隐喻,形成了杂交的抽象概念。不同的杂交方案现在可以形成最小的编码,这使我们提出的元启发式开发框架有其独特性。为了说明这一概念,我们限制了两种流行的元启发式蚁群优化和禁忌搜索,并通过各种混合模型的实现来演示MDF来解决旅行商问题。
  • ... 然而,从参考文献[22]来看,这个本地搜索库似乎不是一个像EASYLOCAL++(带反向控制)的框架,而是一个基本上由用户调用的工具箱。另一个编程本地搜索算法的软件工具是Localizer++[23],航向仪的演变。该系统包含一个用于本地搜索的C++库,该库提供了一组用于描述邻域的声明性抽象,以及用于简洁地指定局部移动和元启发式的高级搜索构造。。。
    文章
    局部搜索是搜索和优化问题的一种范式,最近被证明对大量的组合问题非常有效。尽管研究界对这一课题的兴趣与日俱增,但是仍然缺乏一种被广泛接受的局部搜索软件工具,我们提出了一种面向对象的局部搜索算法的设计和分析框架EASYLOCAL。组成框架的抽象类指定并实现算法的不变部分,并由提供问题相关部分的具体类专门化。该框架提供了算法的完整控制结构,用户只需编写特定于问题的代码。此外,该框架还提供了一些简化算法分析的工具,EASYLOCAL的体系结构为通过局部搜索解决组合问题提供了一个原则性的模块化,并通过导出一个简洁的应用程序概念方案来帮助用户。它还支持基本技术和/或邻域结构的组合设计,该框架已在一些应用领域进行了测试,并证明在算法实现方面具有足够的灵活性,可以解决各种调度问题。版权所有©2003 John Wiley&Sons,Ltd。
  • ... 文献中还提出了其他一些用于局部搜索或其他技术的系统,如Localizer++Laurent和VanHentenrick,2001年HotFrame Fink等人,1998年,ABACUS Jünger和Thienel,1997年。EasyLocal++与这些系统的比较见(Di Gaspero and Schaerf,2000)。。。
    全文可用
    EasyLocal++是一个面向对象的框架,它帮助用户在C++中设计和实现针对各种问题的局部搜索算法。 本文通过展示EasyLocal++在开发一个实际调度问题(即课程时间表问题)的解算器方面所做的贡献,来突出它的可用性。排课问题涉及到硬约束和软约束,为了得到满意的解,需要不同邻域关系的非平凡组合。我们使用EasyLocal++展示了实现的所有步骤,我们认为这非常简单。生成的代码是模块化的、小的、易于维护的。
  • ... 另一个编程本地搜索算法的软件工具是Localizer++[89],航向仪的演变。该系统包含一个用于本地搜索的C++库,该库提供了一组描述邻域的声明性抽象,以及用于简洁地指定局部移动和元启发式的高级搜索构造。。。
  • ... 因此,建立这样一个计算环境并保持其运行所需的努力是巨大的。另一方面,现有的(并行)启发式优化库,如EO[10]、JDEAL[6]、分布式BEAGLE[9]、DREAM project[3]、Easylocal++[7]或Localizer++[11]主要关注于一种特定的优化范式,如进化计算或局部搜索策略,往往对并行和分布式计算的支持不足。只有少数几个并行优化框架——ParadiseEO[5]可能是所有框架中发展最快的——能够处理不同类型的优化范式,以及各种并行计算架构。。。
    文章
    启发式优化技术被证明非常适合于解决各种各样的问题。然而,在实际应用中,如调度问题、路径规划等,这些算法的运行时间仍然很长,这主要是由于实际应用中涉及的问题实例相当多。因此,并行遗传算法等并行优化方法被广泛应用于克服这一缺陷。本文提出了一种新的并行启发式优化环境。与其他现有的网格计算或并行优化项目相比,HeuristicLab网格提供了以并行方式快速方便地使用现有优化算法和问题的可能性,而无需复杂的安装和维护。
  • ... –局部搜索算法的非统一视图:大多数现有框架只关注给定的局部搜索元启发式或局部搜索元启发式家族,如hillclimbing,例如EasyLocal++(Gaspero and Schaerf,2003),Localizer(Michel和Hentenryck,2001年),Opt4j(Lukasiewycz等人,2011),或禁忌搜索,例如OpenTS(COIN-or)。。。
    文章
    全文可用
    本文提出了一个通用的局部搜索元启发式算法的设计、分析和实现的软件框架:ParadisEO-MO。迄今为止,已经提出了大量基于单解的局部搜索元启发式算法,并试图统一现有的方法。在细粒度分解的基础上,提出了一个概念模型,并通过将一些最新的方法视为相同结构的简单变体进行了验证。然后将该模型并入ParadisEO MO软件框架中。这个框架已经证明了它的高效性和高度的灵活性,它能够解决许多来自科学和工业界的学术和现实世界的优化问题。
  • ... 因此,用户必须具备复杂的编程技能(Aggoun等人,2008;Hentenryck等人,2005;Rafeh,2008b)。约束编程库,如定位器++(Michel和Hentenryck,2001年)(通常是其他面向对象的编程语言)。与约束编程语言类似,它们不支持高级建模,而且,宿主语言可能会施加一些限制。。。
    文章
    局部搜索是解决组合优化问题的一种有效方法。然而,很少有工具能够为用户实现自己的本地搜索算法提供高级便利。本文介绍了一个新的用于局部搜索的C++库ZLoc。ZLoc支持许多建模语言中常见的高级特性,比如Zinc。它允许用户根据变量和约束来定义他们的模型,然后指定他们最喜欢的局部搜索方法来求解模型。
  • ... 发达国家米歇尔和范亨廷里克(2001),Localizer++Constructe une autre platforme C++pour l’implementation de métaheuristiques as base de solution unie très proche de EasyLocal++。在所有的杂交形式中,都有一个共同点,那就是支持在分销过程中对环境进行批准的合作模式。。。
    文章
    本文描述了我在CREAM3实验室的计算机科学和运筹学研究小组中与lisa4实验室合作,在Angers总理事会的支持下完成的博士工作。本文的工作同时涉及多智能体系统(MAS)、并行性和元启发式等领域,更准确地说是开发智能分布式计算系统,比较并行计算分布式存储体系结构(Networked PCs)中的不同信息交换策略。本文结合并行性、多智能体范式和元启发式等不同概念,为解决实际组合问题提供了一种高性能的方法。证明了在基于群体的算法中加入信息交换和并行化策略可以提高算法的性能。为了避免使用昂贵的并行计算设备,本文提出在易于使用的网络化pc机上实现并行计算模型,并提出了一个支持并行性的多agent框架。在该模型中,代理可以很容易地被编程为自主地启动动作的执行,并且可以在机器之间动态地移动以发现服务并与其他代理进行通信。为了评估所提出的方法,我们进行了不同类型的实验,主要针对车辆路径问题和工业调度问题来评估所开发的系统。结果表明了该方法的有效性。
  • ... 大多数现有框架[12,21],对于实现基于单一解决方案的方法,不允许并行分布式开发。那些支持并行/分布的方法通常只针对一种解决方案。。。
    文章
    全文可用
    本文主要研究解决大型组合优化问题,使用一个支持网格的框架ParadisEO-CMW(Condor和Master-Worker框架上的并行分布式EO)。后者是ParadisEO的扩展,ParadisEO是一个开源框架,最初旨在设计和部署工作站专用集群和网络上的并行混合元启发式算法。依靠Condor–MW框架,它可以在易失性的异构计算资源池上执行这些应用程序。本文将讨论其动机、体系结构和主要特性。该框架已经在一个实际问题上进行了实验:近红外光谱数据挖掘中的特征选择。它已经通过部署一个多层并行模型,进化算法来解决。实验已经在100多台原本用于教育的个人电脑上进行。无论是在实现的灵活性和易用性方面,还是在运行时提供的解决方案的效率、质量和健壮性方面,所获得的结果都是令人信服的。
  • 文章
    全文可用
    局部搜索是一种优化范式,最近在约束编程领域也引起了人们的兴趣,它是一种改进基于约束的搜索策略的方法。我们提出了EASYLOCAL,一个面向对象的框架,作为开发局部搜索算法的通用工具。组成框架的抽象类指定并实现算法的不变部分,并由提供问题相关部分的具体类专门化。EASYLOCAL的体系结构为通过局部搜索解决组合问题提供了一个原则性的模块化,并帮助用户获得一个简洁的应用程序概念方案。它还支持设计新的组合技术和邻域结构。
  • 会议文献
    本文介绍了在组合优化问题求解器的实现中的一些想法、概念和经验。我们一直在设计、实施和使用解决重要问题的解决方案,但令人痛苦的是,开发这些解决方案的过程根本不是最佳的。最常用的实践是基于反复试验,通常会产生大量的资源。显然,这是一个软件工程问题,那么寻找更好的方法来开发优化算法、求解器和元启发式算法也是我们的兴趣所在。当软件开发社区决定实施一个软件项目时,它有着广泛的方法。从更传统的泰勒式实践到敏捷方法。软件开发是一项知识密集型的活动,知识的创造和共享是软件开发过程的重要组成部分。本文对敏捷和泰勒式软件开发团队的知识共享方法进行了比较分析,这些团队对元启发式的开发充满了关注。
  • 会议文献
    全文可用
    我们提出了一个新的库INCOP,它提供了优化组合问题的不完全算法。该库提供模拟退火、禁忌搜索等局部搜索方法,以及基于群体的方法,与优胜者同行。已经编写了几个问题,包括约束满足问题、图着色、频率分配等。用户可以很容易地添加新的算法和编码新的问题。小区管理已经仔细研究过了。首先,原始的参数化移动选择允许我们轻松实现大多数现有的元启发式。其次,配置成本计算可以指定不同的增量级别,大大提高了效率。具有挑战性的flat300_28图形着色实例首次通过标准Metropolis算法被着色为30种颜色。
  • 会议文献
    用于邻域搜索的建模和编程工具通常支持不变量,即以声明方式指定的数据结构,并根据更改自动进行增量维护。本文研究有向无环图中最长路径的不变量,这是许多应用的基本抽象。它提出了圆弧插入和删除的有界增量算法,分别运行在O(#############################。本文还展示了如何将该算法推广到调度应用程序中遇到的各种类型的多个插入/删除操作。初步实验结果表明,该算法在实际应用中表现良好。
  • 会议文献
    全文可用
    我们提出了一种通用的、与领域无关的局部搜索方法,称为自适应搜索来解决约束满足问题(CSP)。我们设计了一种新的启发式算法,它利用了问题在约束和变量方面的结构,并且能够比全局代价函数更精确地指导搜索进行优化(例如违反约束的数量)。为了防止局部极小值和 循环的停滞,我们还使用了禁忌搜索的自适应记忆。这种方法是通用的,可以应用于一大类约束(如线性和非线性算术约束, 符号约束等),并能自然地处理过约束问题。对一些经典的CSP问题的初步结果显示了非常令人鼓舞的性能。
  • 并行进化算法并行局部搜索(PLSS)框架设计并行元启发式聚合 参考文献
  • 会议文献
    本文提出了一种局部搜索约束求解器,在该算法中,约束由等价型滤波器约束的图结构上的代价函数表示。类似的理论方法以前曾被用于对大量复杂的全局约束进行建模,这促使了这种模型在实践中的应用。在局部搜索环境中,我们将全局约束视为复杂的成本函数,使用变量、值和过滤约束的图形封装约束结构。这种表示为我们提供了一个声明性模型,该模型还可以用于有效地计算约束中变量的成本和冲突级别。我们可以用C++来实现这些系统的组合约束。我们证明了该方法在几个已知的全局约束下的可用性,并通过对两个问题的实验结果表明,基于图基的全局约束建模方法不仅在实际中是可行的,而且与现有的基于约束的局部搜索系统相比也具有竞争力。
ResearchGate无法解析此出版物的任何引用。