【论文阅读】(2003)The Granular Tabu Search and Its Application to the Vehicle-Routing Problem

文章介绍了粒度禁忌搜索(GTS)方法,这是一种针对图论和组合优化问题的强化/多样化工具,特别关注于车辆路径问题(VRP)。GTS通过使用严格限制的邻域,避免评估不太可能改善解决方案的移动,从而减少了计算时间。这种方法在VRP的计算测试中表现出色,能在较短时间内找到高质量的解决方案。文章还讨论了粒度邻域如何促进搜索多样化和效率提升。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


论文来源:(2003)The Granular Tabu Search and Its Application to the Vehicle-Routing Problem
作者:Paolo Toth 等人


摘要

我们描述了众所周知的禁忌搜索方法的一种新变体,称为粒度禁忌搜索(granular tabu search)

该方法使用有效的强化/多样化工具,可以成功应用于广泛的图论和组合优化问题。细粒度禁忌搜索基于严格限制邻域的使用,不包含仅涉及不太可能属于良好可行解决方案的元素的移动。这些受限邻域被称为粒度(granular),并且可以被视为禁忌搜索算法提出的候选列表策略的有效实现。

讨论了该方法在著名的对称容量和距离约束车辆路径问题上的计算测试结果,表明该方法能够在短时间内确定非常好的解决方案。


一、介绍

禁忌搜索是可用于解决优化问题的最广泛使用和有效的启发式方法之一。

禁忌搜索属于在过去二十年中提出的启发式搜索方法的广泛家族,称为元启发式。这个家族还包括其他著名的通用启发式范例,例如模拟退火和遗传算法。

由于找到的局部最优解相对于最优解的质量可能非常差,禁忌搜索以及其他基于局部搜索的元启发式算法采用特定策略来逃离局部最优解并继续搜索可能更好的解。

在每次迭代中,总是执行邻域的最佳移动,即使它没有改进,因此一旦达到局部最优,就允许一个人离开。但是,为了避免在下一次迭代时回到局部最优导致循环的发生,在这种扩展搜索策略中加入了短期记忆机制。

引入这种短期记忆的基本方法是所谓的禁忌表,它存储一些属性来标识产生最近访问的解决方案的移动。在检查当前邻域的过程中,所有具有与存储在禁忌列表中的属性相同的属性的移动都被视为禁忌并被丢弃。通常,禁忌搜索在给定数量的总体迭代或无改进迭代后停止。

在本文中,我们研究了一种通用且有效的搜索强化工具,它可以与禁忌搜索以及其他启发式和元启发式算法一起使用,并且可以应用于广泛的图论和优化问题。

该方法基于使用严格限制的邻域(称为粒度邻域),通过删除仅涉及不太可能属于高质量可行解决方案的元素的移动,从标准邻域获得。因此,细粒度的邻域导致较少的短视搜索,其中在每次迭代中实际上只评估可能有希望的移动。

在禁忌搜索的一般设置中,粒度邻域可被视为候选列表策略的实现(参见 Glover 和 Laguna 1997)。

事实上,搜索仅限于一组精英邻近解,并且用于选择它们的标准是预先固定的。不同的作者已经使用类似的想法来加速本地搜索算法。

例如,Johnson 和 McGeoch (1997) 描述了在 2-opt 和 3-opt 算法中使用邻居列表来解决旅行商问题。

由于检查颗粒邻域的时间可能比检查完整邻域的时间少得多,因此在每次迭代中都可以搜索更大的多个邻域,定义为不同粒度邻域的联合。这样,达到高质量解所需的时间往往比使用相应的完整邻域时所需的时间小得多。最后,多粒度邻域的结构可以在算法的演化过程中动态变化,以使搜索多样化。

为了提高阐述的清晰度,在本文中,我们通过将粒度禁忌搜索 (GTS) 方法应用于特定问题来详细描述该方法:著名的具有车辆容量和路线最大-的对称车辆路径问题 (VRP)长度约束是最重要也是最困难的组合优化问题之一。然而,如前所述,粒度邻域可应用于各种各样的问题,例如旅行商问题和其他路由、排序和网络设计问题,其中解决方案成本定义为所选的成本总和元素。 Toth 和 Vigo (1997) 提出了 GTS 的初步版本在约束有向生成树中的应用。


二、VRP 的局部搜索和元启发式

VRP 的局部搜索算法通常使用基于弧交换或客户移动的简单邻域,例如用于其他图论问题的算法。

特别是,给定当前解 s s s k k k-交换邻域由通过删除 s s s 中使用的 k k k 条弧并用定义新解的其他 k k k 条弧替换而获得的所有移动组成。

由于 k k k-交换邻域的基数为 O ( n k ) O(n^k) O(nk),为了限制邻域检查所需的计算时间,在实际的局部搜索算法中仅使用较小的 k k k 值(即 k = 2 或 3 k = 2或3 k=23)。

图 1-3 显示了 k ≤ 4 k ≤ 4 k4 的交换邻域的示例,这些邻域通常用于 VRP 的本地搜索方法。在这些图中, π i \pi_i πi σ i \sigma_i σi 分别表示当前解中给定顶点 i ∈ V i ∈ V iV 之前和之后的顶点的索引。

图 1 说明了两个交换。

在这里插入图片描述

图 2 说明了三种交换的两种类型。第一个也称为客户插入,因为它将客户从当前位置删除并将其重新插入到相同或另一条路线的不同位置。

Or (1976) 通过考虑两个和三个连续客户的插入来概括插入移动,如图 2(b) 所示的两个客户 Or 交换。

在这里插入图片描述
最后,图 3 显示了一种特殊类型的四交换,称为交换交换,其中删除了两对连续的弧。

在这里插入图片描述

很容易看出,以上所有邻域的基数都是 O ( n 2 ) O(n^2) O(n2) ;事实上,虽然他们可能一次涉及两个以上的弧,在选择要删除的前两个弧之后,隐式定义其中一个或两个弧。与上述每个举措相关的新解决方案的可行性和成本可以在恒定时间内进行评估(例如,参见 Kindervater 和 Savelsbergh 1997 年以及 Vigo 1996 年)。因此,对这些基本邻域的完整探索可以在 O ( n 2 ) O(n^2) O(n2) 时间内完成。


三、颗粒状邻域

VRP 禁忌搜索方法需要大量计算时间的原因之一是这些方法通常需要执行数千次迭代才能获得高质量的解决方案。

每次迭代通常包括对上述交换邻域的探索,并且至少需要 O ( n 2 ) O(n^2) O(n2) 时间。

文献中提出了几种方法来减少局部搜索中邻域探索的计算时间,例如随机采样、候选列表策略和搜索的并行实现。

我们定义了候选列表策略的有效实现,这使得每次禁忌搜索迭代所需的计算时间大大减少。这一目标是通过使用邻域来实现的,这些邻域的检查时间比传统邻域要少得多,但不会显著影响所找到解决方案的质量。为此,我们建议通过丢弃大量无前途的移动并实际上仅探索其中的最有前途的一小部分。

在我们看来,这种选择有几个积极的方面。首先,它被发现是修改成功解决方案的“侵入性”最小的方法之一,同时保持其主要特征完整,特别是搜索中使用的邻域的基本结构。此外,它增加了所提出方法的适用性,并简化了其对禁忌搜索和其他元启发式方法被证明有效但在时间要求方面效率不高的其他问题的扩展。最后但并非最不重要的一点是,它允许人们以直接的方式评估所提出的方法相对于使用相同邻域的禁忌搜索算法的好处。

3.1 VRP 的简单粒度邻域

导致细粒度邻域从原始邻域开始的限制必须以有效的方式明确执行。为了进一步说明这个概念,让我们考虑 VRP 并展示如何为此问题定义简单的粒度邻域。

通常情况下,当 VRP 是在完全图上定义时,可以观察到“长”(即高成本)弧成为高质量解决方案的一部分的可能性很小。

例如,表 2 考虑了一些经典的欧几里德 VRP 测试问题。

在这里插入图片描述

在前五个问题中,客户在平面上均匀分布,而在后两个问题中,他们聚集在均匀分布的点周围。

对于每个问题,该表都会报告其名称、客户数量 n n n、可用车辆数量 K K K 以及最佳已知解决方案 z ∗ z^* z 的值。

此外,将最佳已知解中弧的平均成本 z ˉ ∗ = z ∗ / ( n + K ) \bar{z}^* = z^*/(n + K) zˉ=z/(n+K) 与完整图中的最小、最大和平均弧成本进行比较。

通过考虑与此类测试问题相关的电弧成本的分布,可以很容易地看出绝大多数电弧的成本大于 z ˉ ∗ \bar{z}^* zˉ

在几乎所有已知的 VRP 和 DVRP 测试问题中都可以观察到类似的行为。

因此,加快邻域搜索的一种可能方法是尽可能限制对尝试在当前解决方案中插入“长”弧的移动的评估

我们在开发用于 VRP 的细粒度邻域时遵循了这一基本理念。从原始完全图出发,定义一个新的稀疏图,此稀疏图包括应考虑包含在当前解决方案中的所有弧线:例如,所有“短”弧线和其他重要弧线的相关子集,例如那些与车站有关的弧线和那些属于最佳解决方案的弧线目前遇到过。

正如稍后将讨论的那样,粒度邻域的搜索仅考虑由属于稀疏图的弧生成的移动,即涉及至少一个“好”弧的移动。请注意,这并不意味着“长”弧永远不会插入当前解决方案,而是不考虑仅涉及“长”弧的移动

在我们的实现中,我们采用了一个非常简单的过滤规则来定义“短”弧。弧很短,如果其成本不大于粒度阈值,则属于稀疏图。

在这里插入图片描述
其中 β \beta β 是合适的正稀疏化参数, z ′ z' z 是由任何快速传统启发式确定的启发式解决方案的值:在我们的计算测试中,我们使用 Clarke 和 Wright (1964) 的著名算法。所得到的粒状邻域可以被视为由去除了长弧的稀疏图引起的原始邻域的“缩放”。

我们的计算经验证实了我们最初的假设。使用基本邻域的粒度版本的基本禁忌搜索算法(第 4 节中描述)能够在与构造性启发式算法相当的运行时间内确定高质量的解决方案。

图 4 通过显示基本禁忌搜索算法的典型行为(在 10,000 次迭代内获得的解决方案的质量方面)进一步说明了这些结果,该算法使用由稀疏化参数 1 的不同值(范围从 0.5 到 5.0)定义的粒度邻域。也许令人惊讶的是,解决方案质量不是稀疏化参数(即整体计算工作量)的单调递增函数。事实上,考虑在第 5 节文献中的基准问题,通常使用 1.0 和 2.5 之间的 1 个值获得最佳结果,该值选择完整图的大约 10–20% 的弧

在这里插入图片描述
在某些特定情况下,不同的过滤规则可能比上述简单的基于成本的过滤规则更适合。例如,当考虑高度集群的实例时,可能最好采用更传统的基于顶点的过滤规则,该规则为每个顶点选择与其相关的 h 个最短弧。另一种可能性是将 arc reduced costs 提供的规则信息合并到可用的下限计算中。

通过这种方式,我们可以避免将不会改进当前已知最佳解决方案的弧包含到解决方案中。

3.2 高效搜索和多样化

粒度范式的关键因素是,通过明确考虑与邻域相关的稀疏图,可以以非常自然的方式有效地实现粒度邻域的搜索。如前所述,弧集包括所有“短”弧,例如成本不大于粒度阈值的弧,以及其他重要弧的集合 I I I,例如与仓库或所属相关的弧高质量的解决方案:

在这里插入图片描述
此外,对于VRP,基本动作的评估可以在恒定时间内进行,从而导致整体时间复杂度为 O ( ∣ A ′ ∣ ) O(|A'|) O(A)

与粒度范式相关的另一个重要问题是,动态修改与粒度邻域相关的稀疏图结构提供了一种在搜索过程中包括强化和多样化的简单方法。例如,通过修改稀疏化参数 β \beta β,改变稀疏图中当前包含的弧数,从而在搜索结束时得到一个可能不同的新解。

为此,禁忌搜索算法可能会在长强化步骤之间交替,与小的 β \beta β 值相关联,以及短的多样化步骤,其中 β \beta β 显着增加并且可能修改移动的评估以有利于可能包含新的(更长)的解决方案中的弧。


四、VRP 的细粒度禁忌搜索算法

在本节中,我们将简要讨论用于 VRP 和 DVRP 的基本粒度禁忌搜索 (GTS) 算法。

我们的主要目的是测试禁忌搜索方法中粒度邻域范式的影响。因此,我们实现了一种禁忌搜索算法,该算法探索作为粒状邻域并集而获得的多重邻域,并且包括在 VRP 禁忌搜索的早期工作中提出的一些主要特征,例如 Taillard (1993) 和 Gendreau 等人人(1994 年)。

GTS 算法使用 Clarke 和 Wright (1964) 著名的 saving 启发式获得的解决方案进行初始化。由于这种启发式方法不能保证确定具有规定车辆数量的解决方案,因此每当初始解决方案使用超过 K 辆车时,就会删除负载较少的路线,并将它们包含的客户插入到相对于路线的最佳位置剩余 K 条路线之一的成本。请注意,最终的初始解决方案可能不可行,违反了车辆容量或最大路线长度约束。

在搜索过程中允许访问不可行的解决方案,并且像往常一样,通过将惩罚 α C \alpha_C αC 乘以超载路线的超负荷之和加上惩罚 α D \alpha_D αD 乘以不可行路线相对于最大长度约束的超长(参见 Gendreau 等人1994)。惩罚 α C \alpha_C αC α D \alpha_D αD 的值在 [ α m i n , α m a x ] [\alpha_{min},\alpha_{max}] [αmin,αmax] 范围内的搜索期间动态更新。

特别是,每 n i n_i ni 次迭代,如果所有先前 n i n_i ni 访问的解决方案在容量约束方面都是可行的,则 α C \alpha_C αC 设置为 m a x { α m i n , α C / 2 } max\{\alpha_{min},\alpha_{C}/2\} max{αmin,αC/2},而如果所有都不可行,则设置为 m i n { α m a x , α C / 2 } min\{\alpha_{max},\alpha_{C}/2\} min{αmax,αC/2} α D \alpha_D αD 的更新规则类似。在我们的计算测试中, α m i n = 1 \alpha_{min} = 1 αmin=1 α m a x = 6400 \alpha_{max} = 6400 αmax=6400 α C \alpha_C αC α D \alpha_D αD 初始设置为 100 100 100,并且 n i = 10 n_i = 10 ni=10

GTS 算法使用基于第 2 节中描述的四个基本邻域的多粒度邻域。颗粒邻域是通过考虑由所有低于当前粒度阈值的弧定义的稀疏图中的弧,加上所有入射到仓库的弧,以及那些属于找到的最佳解决方案和当前解决方案的弧。每次迭代之后,由执行的移动插入的弧被添加到稀疏图中。

稀疏图每 2 n 2n 2n 次迭代从头开始重建。我们使用稀疏因子 β = 1.25 \beta = 1.25 β=1.25,这在计算上给出了最佳性能。然而,对于欧几里得 VRP 和 DVRP 实例,1 到 2 之间的 β \beta β 值通常是合适的。

如果一个移动尝试重新插入在先前移动之一中删除的弧线,则该移动被视为禁忌。每次执行的移动的禁忌期限 t t t 是区间 [ t m i n , t m a x ] [t_{min},t_{max}] [tmin,tmax] 内的整数均匀分布随机变量。我们使用 t m i n = 5 t_{min} = 5 tmin=5 t m a x = 10 t_{max} = 10 tmax=10,如 Gendreau 等人 (1994) 中所述。

最后,我们使用了上一节中描述的基于粒度的多样化。每当第nd次迭代后当前最佳解没有得到改善时,将稀疏因子增加到1d,确定新的稀疏图,并从找到的最佳解开始进行 n h n_h nh 次迭代。然后,将稀疏因子重置为原始值并继续搜索。我们使用 n d = 15 n n_d = 15n nd=15n β d = 1.75 \beta_d = 1.75 βd=1.75 n h = n n_h = n nh=n

当我们采用以前工作提出的特征时,例如动态更新不可行惩罚和禁忌任期定义,我们使用相应论文中给出的参数值。

其余参数的值通过实验确定为允许解决方案质量和计算工作量之间的最佳折衷。


五、计算结果

在这里插入图片描述

表 4 比较了 GTS(标记为 GTS 的列)在 14 个经典 VRP 和 DVRP 测试实例上获得的结果

在这里插入图片描述

表 5 考虑了 Fisher (1994) 描述的三个真实世界的欧几里得 VRP 实例,并将 GTS 获得的结果与 Xu 和 Kelly (1996) (XK) 的禁忌搜索算法的结果进行了比较。

在这里插入图片描述

表 6 考虑了 Golden 等人 (1998) 提出的二十个新的大规模 VRP 和 DVRP 实例。

在这里插入图片描述

表 7 显示,GTS 在几秒钟内获得了与最佳已知解决方案相差 5% 以内的解决方案,而与最佳解决方案相差 1% 的解决方案通常在总计算时间的 10-25% 内获得。

在这里插入图片描述


六、总结

  • 在本文中,我们提出并测试了候选列表策略的有效实现,该策略可在禁忌搜索算法中用于各种图论和组合优化问题。

  • 所提出的方法称为粒度禁忌搜索,应用于众所周知的对称容量和距离约束的车辆路径问题,文献中已经提出了几种禁忌搜索算法。这些算法能够获得高质量的解决方案,但通常需要大量的计算时间来解决大型实例。

  • 细粒度禁忌搜索基于细粒度邻域的使用,其中包括少量“有希望”的着法。我们提出了一种简单的策略来从标准邻域中获取粒度邻域,并讨论了它们的有效搜索。

  • 我们的计算测试显示了使用适当的候选列表策略的重要性及其对创建更好方法的影响:在文献中的标准测试实例上,粒度禁忌搜索能够在很短的计算时间内确定非常好的解决方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WSKH0929

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值