【物流配送的车辆路径问题】

2023-11-12

物流配送的车辆路径问题

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
Two-echelon capacitated vehicle routing problem with grouping constraints and simultaneous pickup and delivery


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

具有分组约束和同时取货和交付的两级容量车辆路径问题


摘要

提示:这里可以添加本文要记录的大概内容:
本文研究了具有分组约束和同时取货和交付的两级容量车辆路径问题(2E-VRPGS),它是经典两级容量车辆路径问题(2E-VRP)的一个新变体。在2E-VRPGS中,同一行政区域的客户由同一颗卫星的车辆提供服务,以确保服务的一致性,在第二梯队中同时进行取货和送货。为了将这个问题解决到最优,我们将其制定为基于路径的模型,并开发了一个量身定制的分支砍价算法,该算法也可以精确解决文献中 2E-VRPGS 的两个密切相关的变体:2E -具有分组约束的 VRP (2EVRPG),以及具有同时取货和交付的 2E-VRP (2E-VRPS)。特别是,提出了一种新的标记算法中的优势规则,以及几个定制的有效不等式,通过利用问题特征有效地加速求解方法。为了评估所提出的算法在 2E-VRPG、2E-VRPS 和 2E-VRPGS 问题上的有效性,已经在三种类型的基准实例上进行了广泛的数值实验。 2E-VRPGS 的计算结果表明,我们的优势规则可以显着减少生成标签的数量,并且所有有效不等式族对加强基于路径的模型有很大影响。与现有的 2E-VRPG 精确算法相比,该算法具有很强的竞争力,并且从敏感性分析中得出了一些新的发现和管理见解。


提示:以下是本篇文章正文内容,下面案例可供参考

一、引言

在物流管理中,自从 Dantzig 和 Ramser (1959) 提出车辆路径问题 (VRP) 和许多其他变体以来,在过去的几十年里,它在文献中得到了广泛的研究。给定一组具有交付需求的客户和一组同质(容量)车辆,VRP 旨在确定一组以最小的行驶成本为客户服务的车辆路线,这样每个客户将被一个单一的访问车辆和车辆的容量限制得到尊重(Toth 和 Vigo,2014 年)。然而,这些运输活动往往会造成交通拥堵和空气污染和噪音等负面环境影响。因此,许多城市已经部署了防止大容量卡车进入市区的环保政策(Franceschetti 等,2017)。为了遵守这样的法律限制,越来越多的物流公司选择了新兴的两梯队运输系统,不同类型的车辆在不同的梯队上使用。受此启发,Crainic 等人。 (2009)提出了一个著名的两级容量车辆路线问题,从那时起,这个问题就得到了广泛的研究。 2E-VRP 要求为不同梯队的两种车辆建立一套最低成本的路线,由第一梯队的大容量车辆将货物从仓库运送到卫星,然后从卫星转移到在第二梯队中使用小容量车辆的客户(Crainic 等,2009;Cuda 等,2015)。

在很多实践中,客户通常既有提货需求,也有提货需求,车辆不仅需要将货物交付给客户,还需要从客户那里提取其他货物。以饮料运输为例,供应商每天定期将瓶装饮料提供给大量客户(餐厅、酒店、学校食堂等),并将前一天产生的空瓶带回,以供重复使用或回收。由于取货分离不仅会给客户带来不便,而且会阻碍协同取货业务实现的成本节约和效率提升,因此汽车同步取货在各种运输领域受到了业界和学术界的广泛关注。系统(例如,Fazi 等人,2020;Hu 等人,2015)。这种操作考虑了同一车辆同时进行的提货和提货活动,所有交付的货物都来自仓库,所有提货货物都运回仓库。同样,同步提货的活动也应符合许多城市的法律限制,从而形成一个全新的同步提货两级运输体系。尽管这样的运输系统实际上是相关的,但到目前为止,除了 Belgin 等人之外,没有人对其进行过研究。 (2018)和周等人。 (2022 年)。前者引入了同时提货和交付的 2E-VRP (2E-VRPS),允许车辆在两个梯队中同时提货和交付货物。后者提出了一种双梯队系统的替代运输模式,即在第一梯队中分离提货和交付,在第二梯队中合并。

随着经济的不断增长和客户需求的大幅增长,对于一些物流企业来说,卫星在二级运输系统中的暂存货物能力已经不能满足目前的需求。为适应大容量需求,需要重组原有的两级体系结构,建立大容量卫星以替代大量小容量卫星(刘等,2018)。此外,重组还可以大大降低现有大量小容量卫星带来的管理成本。为保证服务的一致性,新卫星运营商最好对原有客户进行管理,将同一颗小容量卫星或同一行政区域的客户分配到同一颗新的大容量卫星上。这种业务层面的操作会给2E-VRP带来一种新的约束,称为分组约束,即同组的客户由同一颗卫星服务。受此启发,刘等人。 (2018)提出了具有分组约束的2E-VRP(2E-VRPG)。此外,在一致性车辆路径问题(conVRPs)的研究中强调了始终保持服务质量。在 conVRPs 中,同一司机(车辆、路径)可以在多天的大约同一时间为每个客户提供服务(例如,Groër 等人,2009;Yao 等人,2021)。分组约束与conVRP的概念一致,但具体内容不同。

据我们所知,现有文献并没有将上述两个现实特征——同时取货和交付以及分组约束——在两级运输系统中结合起来考虑。为了缩小差距,我们在论文中讨论了一种称为 2E-VRP 的变体,它具有分组约束和同时取货和交付 (2E-VRPGS)。在这个问题中,取货和送货在第一梯队中是分开的,而它们在第二梯队中同时进行。在不失一般性的情况下,所提出的模型和求解方法可以扩展到处理在两个梯队中同时取货和交付的一般情况(参见第 2.2 节和第 5.3 节)。更重要的是,我们进一步分析了各种系统参数对新运输系统的影响,为物流企业提供了一些管理见解和有益建议。

二、文献综述

由于 2E-VRPGS 在文献中从未出现过,因此在本节中,我们将首先回顾两类相关的经典问题:同时提货和交付的车辆路径问题(VRPSPD)和 2E-VRP。此外,还将讨论 2E-VRPGS 最相关的两个问题,即 2E-VRPS 和 2E-VRPG。在过去十年中,关于同时取货和交付的优化问题的文献大量增加。然而,大多数论文主要研究的是单梯队运输系统,称为 VRPSPD。 VRPSPD 由 Min (1989) 首次引入,用于解决图书馆的图书分发和收藏问题,此后发展成为一个丰富而活跃的研究领域。与经典的VRP相比,这类问题更难处理,因为同时分发和收集使货物流高度复杂化。已经提出了许多启发式方法来解决它或其变体,包括由 Wang 等人开发的混合启发式算法。 (2013),Qu和Bard(2013)提出的自适应大邻域搜索,Avci和Topaloglu(2015)开发的自适应局部搜索算法,Nadizadeh和Kafash(2019)提出的贪心聚类方法。还对精确方法进行了一些尝试,例如 Subramanian 等人提出的分支切割算法。 (2011)和 Subramanian 等人提出的分支和切割和定价算法。 (2013 年)和曲和巴德(2015 年)。我们将感兴趣的读者推荐给 Koç 等人的评论论文。 (2020) 了解 VRPSPD 的更多算法和变体。我们的问题可以看作是经典的两级运输系统优化问题 2EVRP 的扩展,它考虑了同时取货和交付以及分组约束。关于 2E-VRP 的文献从城市物流的两级配送系统中的综合短期调度问题开始(Crainic 等,2009)。与经典 VRP 相比,两个层次之间的相互作用和相互依赖使 2E-VRP 更加复杂和具有挑战性。因此,大多数现有的关于 2E-VRP 的研究都在寻求启发式方法来解决这个问题。例如,为了解决经典的 2E-VRP,Perboli 等人。 (2011 年),Kergosien 等人。 (2013),曾等人。 (2014 年)和 Breunig 等人。除了启发式方法外,还研究了一些用于 2E-VRP 的精确方法。为了将经典的 2E-VRP 求解到最优,Gonzalez-Feliu (2008) 引入了一组覆盖公式并开发了一种基于列生成的方法,Perboli 和 Tadei (2010),Perboli 等人。 (2011) 提出了具有一些特定有效不等式家族的分支切割算法。巴尔达奇等人。 (2013)提出了一种具有多个边界程序的量身定制的精确方法。桑托斯等人。 (2013 年、2015 年)和 Marques 等人。 (2020)引入了分支和价格算法,其中所有第一梯队路线的集合都是已知的。后两种算法本质上是分支切割和定价算法,因为它们使用了一些有效的不等式来提高下限。

也有许多关于 2E-VRP 变体的研究考虑了各种特征,例如时间同步、卫星的特殊性质、特定车辆的使用、取货和交付的需求以及时间窗口。例如,李等人。 (2016) 研究了同步线路传输系统中时间受限的 2E-VRP,并提出了 Clarke 和 Wright 储蓄启发式来解决它。李等人。 (2018)后来引入了具有实时转运能力的2E-VRP,并为其设计了两阶段启发式。随后,通过引入电动汽车和无人机,Breunig 等人。 (2019)和李等人。 (2020b) 分别提出了带时间窗和移动卫星的电动 2E-VRP 和 2E-VRP,并针对这些问题开发了大邻域搜索启发式算法。如前所述,Belgin 等人。 (2018 年)首先通过基于可变邻域下降和局部搜索的混合启发式方法研究了 2E-VRPS,其中拾取和交付活动在两个梯队中同时发生。此外,周等人。 (2022 年)解决了具有时间窗口的不同变体,在该变体中,同时取货和交付活动仅允许在第二梯队中通过可变邻域禁忌搜索进行。至于 2E-VRP 变体的确切算法,Jepsen 等人。 (2013)和刘等人。 (2018) 分别提出了 2E-VRP 和 2E-VRPG 的对称版本。为了解决最优问题,他们都提出了基于弧流模型的具有几个定制不等式族的分支切割算法。最近,Dellaert 等人研究了具有时间窗的 2E-VRP。 (2019) 和 Mhamedi 等人。 (2022 年)。他们分别提出了一种基于分支和价格的算法和一种基于分支和价格的算法来优化解决它。计算结果表明,后者具有更大的优势。此外,Marques 等人。 (2022 年)研究了 2E-VRP 的变体,具有在卫星上卸载和装载货物的优先约束。在此变体中,允许在卫星上存储和合并货物。连接卫星和客户的第二梯队的路线可能包括多次旅行并访问多个卫星。他们提出了一种分支砍价算法来有效地解决这个问题。表 1 总结了上述 2E-VRP 变体的精确方法和启发式方法。在表 1 中,我们根据以下假设对文献进行分类: (i) 车辆数量是否有限; (ii) 是否应支付卫星转运货物的手续费; (iii) 是否考虑时间窗; (iv) 哪个梯队允许同时进行取货和交付活动; (v) 是否考虑分组约束; (vi) 使用哪种算法。如前所述,2E-VRPS和2E-VRPG是与2E-VRPGS密切相关的两个问题。我们可以从表 1 中看到只有 Belgin 等人。 (2018)和周等人。 (2022) 研究了 2E-VRPS。由于问题的复杂性,他们都专注于启发式算法,到目前为止,还没有人研究过 2E-VRPGS 的任何精确方法。除此之外,虽然在实践中非常相关,但到目前为止,除了 Liu 等人之外没有其他人。 (2018)曾考虑过两级交通系统中的分组约束。遗憾的是,刘等人的研究。 (2018)忽略了客户的同时取货和交付请求,这在现实世界的物流运输系统中很常见。

三、贡献

提示:这里对文章进行总结:
基于现实世界的运输场景,本研究介绍了 2E-VRP 的一种新的实用变体,结合了分组约束和同时取货和交付 (2E-VRPGS)。确保卫星重组后的原始服务水平 运输研究 Part B 162 (2022) 261–291 264 J. Li et al.来自同一原行政区域的客户将由同一颗卫星的第二梯队车辆服务。该问题的目的是通过确定两个梯队的最佳车辆路线以及将客户群分配给卫星来最小化总运营成本,而不会违反(车辆和卫星的)容量限制。贡献总结如下:

本文首次同时考虑了 2E-VRP 中的分组约束和同时取货和交付。该问题被表述为一个基于紧密路径的模型,该模型在稍作修改后也能够形成2E-VRPG和2E-VRPS。

为了将 2E-VRPGS 求解到最优,开发了一种精确的分支砍价 (BCP) 算法。具体来说,在标签算法中提出了一种新的优势规则,以去除比标准标签更多的非潜在标签。此外,从文献中的经典不等式扩展而来的几个定制的有效不等式被提出。计算结果表明,所提出的支配性规则和有效不等式对算法都有积极的影响。

所提出的算法能够解决文献中两个最密切相关的 2E-VRPGS 变体,即 2E-VRPS 和 2E-VRPG。据我们所知,本文是第一个为 2E-VRPS 提供精确算法的论文,尽管它已经在文献中进行了研究。除此之外,数值实验表明,与现有的 2E-VRPG 上的精确算法相比,该算法具有很强的竞争力。

对新交通系统的一些敏感因素进行了综合系统分析。最后,我们为物流公司提供了一些有趣的发现和有意义​​的建议。
本文的其余部分安排如下。在第 2 节中,我们提供了 2E-VRPGS 的问题描述和基于路径的模型。还讨论了基于所提出的模型制定问题 2E-VRPG 和 2E-VRPS 的方法。第 3 节开发了具有新颖优势规则的列生成来解决基于路径的模型的 LP 松弛,然后第 4 节提出了四个有效不等式族来加强它。第 5 节设计了一个 BCP 算法来解决基于路径的模型,并且还描述了对解决 2E-VRPG 和 2E-VRPS 问题的建议算法的调整。在第 6 节中,对三种类型的实例进行了数值实验来评估算法的有效性,并系统地分析了支配规则的性能、有效不等式的性能以及系统参数的影响。最后,第 7 节总结了本文的主要发现和对未来研究方向的简要讨论。

在这里插入图片描述

四、问题的描述

2E-VRPGS 定义在有向图 G = (V , A) 上,其中 V 和 A 分别是节点集和弧集。节点集 V 由一个仓库 V0 ∶= {0}、一组卫星 VS 和一组客户 VC 组成,即 V = V0 ∪ VS ∪ VC 。每个卫星 s ∈ VS 有一个容量 Qs 和每单位货运的处理成本 hs。每个客户 i ∈ VC 都有一个交付需求 di 和一个提货需求 pi。此外,客户集 VC 由 l 个不相交的组组成,使得 VC = C1 ∪ C2 ∪⋯ ∪ Cl 和 Ci ∩ Cj = ∅ ∀i ≠ j。同一组的客户应由同一卫星的车辆提供服务。客户群的索引集用 L 表示,即 L = {1, 2, … , l}。弧集 A 由两种类型组成:连接基地和卫星的第一梯队弧,分组在集 A1 = {(i, j) ∣ i, j ∈ V0 ∪ VS , i ≠ j} 和第二梯队卫星和客户之间的弧,分组在集合 A2 = {(i, j) ∣ i, j ∈ VS ∪ VC , i ≠ j}∖{(i, j) ∣ i, j ∈ VS , i ≠ j}。每条弧 (i, j) ∈ A = A1 ∪ A2 与 cij 表示的旅行成本相关联。在车辆方面,每个梯队将使用同质的车队,但第一梯队和第二梯队的车辆容量可以不同,分别用 Q1 和 Q2 表示。每个梯队的可用车辆数量也是有限的。设Kd 1 和Kp 1 分别为可供配送和收集的第一梯队车辆集合,K2 为可用第二梯队车辆集合,Ts 为每颗卫星s ∈ 出发的可用第二梯队车辆集合VS 。第一梯队车辆分为两类:(i)一类车辆用于将货物从仓库运送到卫星,它们使用的路线称为配送路线; (ii) 使用另一类车辆将货物从卫星站运送到仓库,这些路线称为收集路线。 2E-VRPGS旨在确定一组路线,包括第一梯队配送路线、第一梯队收集路线和第二梯队路线。目标是在以下假设下最小化总运营成本,包括在卫星上的旅行成本和处理成本:

在第一梯队中,每颗卫星可以被访问一次以上,而在第二梯队中,每个客户只能被访问一次;

每辆第一梯队车辆至多分配一条配送路线或至多一条收集路线;
每条第一梯队路线的起点和终点都是站点;
每条第二梯队路线起点和终点都在同一个卫星上;
第一梯队和第二梯队车辆的容量不能被侵犯;
分配给卫星的总拾取负载和交付负载不能超过其容量;

图 1 说明了一个 2E-VRPGS 实例,其中三颗卫星和五组客户被椭圆包围。每个客户旁边的元组依次包含其交付需求和取货需求的值(这也适用于图 2 和图 3 中的后面的元组)。车辆通过弧线时的负载由箭头旁边的数字表示。图1中,一级配送路线2条(虚线箭头)、一级收集路线2条、二级路线5条(实线箭头)。

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【物流配送的车辆路径问题】 的相关文章

  • 让所有GUI都自动化-PyAutoGUI(GUI自动化工具)

    目录 1 前言 2 简介 3 安装 4 常用函数 5 保护措施 6 鼠标函数 7 键盘函数 8 消息弹窗函数 9 截屏函数 10 示例 1 前言 在使用 Selenium 进行自动化测试时 鼠标事件可以用 ActionChains 类 键盘
  • 深度学习三:分类问题之概率生成模型

    分类问题 概率生成模型 课程例子 通过宝可梦的一些属性能不能预测出这个宝可梦属于哪个类型 用于分类的训练集数据 一直宝可梦的属性和他所属于的种类 如果考虑用线性回归的方式来做这件事情 如果输入数据 通过函数得到的值接近1 我们就说这只宝可梦
  • 自定义类型<结构体>

    目录 1 结构的基础知识 2 结构的声明 3 特殊的声明 4 结构的自引用 5 结构体变量的定义和初始化 6 结构体内存对齐 7 修改默认对齐数 8 结构体传参 1 结构的基础知识 我们之前简单介绍过结构体 可以保存不同数据类型 我们基本数
  • 模拟电路设计(34)---脉宽调制型开关电路

    在开关稳压电源中 直流变换器中的功率晶体管工作在开关状态 目前开关电源的工作频率在几百kHz 有些甚至已经到了MHz量级 如下图所示是DC DC开关变换器的原理框图 DC DC开关变换器的原理框图 开关电源的实现方式有很多种 如最传统的脉宽
  • N32应用笔记1:keil新建工程,编译与烧录

    N32应用笔记1 keil新建工程 编译与烧录 本文目的 前置准备 N32简介 N32G452VEL7简介 我的印象 工程建立流程 1 固件包下载和安装 2 新建工程文件的文件夹 3 keil MDK新建工程 4 向工程分组添加必要的文件

随机推荐

  • windows网络编程-结构体说明

    1 sockaddr in struct sockaddr in short sin family u short sin port 端口 struct in addr sin addr IP地址 long类型 4字节 char sin z
  • 7 SpringBoot整合RocketMQ发送单向消息

    发送单向消息是指producer向 broker 发送消息 执行 API 时直接返回 不等待broker 服务器的结果 这种方式主要用在不特别关心发送结果的场景 举例 日志发送 RocketMQTemplate给我们提供了sendOneWa
  • 通过Hyperic-hq产品的基础包sigar.jar来实现服务器状态数据的获取

    通过Hyperic hq产品的基础包sigar jar来实现服务器状态数据的获取 Sigar jar包是通过本地方法来调用操作系统API来获取系统相关数据 Windows操作系统下Sigar jar依赖sigar amd64 winnt d
  • 安卓培训开发!通宵都要看完这个Android关键技术点,看这一篇就够了!

    前言 上回承诺过大家 一定会出 HTTP 的系列文章 今天终于整理完成了 作为一个 web 开发 HTTP 几乎是天天要打交道的东西 但我发现大部分人对 HTTP 只是浅尝辄止 对更多的细节及原理就了解不深了 在面试的时候感觉非常吃力 这篇
  • C/C++文件操作、输入输出备忘

    1 C 文件操作 1 1 普通ascii字符 1 cin gt gt 结束条件 Enter Space Tab键 读取结束条件 while cin gt gt value cin gt gt 后便可以跟整型 浮点型 字符串 string c
  • TensorFlow中读取图像数据的三种方式

    Update on 2019 06 18 从tesorflow1 11之后 大概是这个版本号 谷歌推出了tf data模块来读取数据 甚至在tensorflow2 0中 取消了数据队列管道 所以我建议大家学习tf data模块 未来我也会做
  • JavaWeb——Servlet详解

    文章目录 什么是Servlet Servlet及其子类 Servlet中常用方法 init service distory Servlet的生命周期 Servlet初始化时机 钝化和活化 Http协议 Session 会话跟踪技术 常用AP
  • Content-encoding: gzip 请求接口响应结果带有乱码解决办法

    问题 在请求接口时 接口响应结果乱码 通过平常的编码格式转化来解码不能解决 观察接口的响应内容编码为Content encoding gzip 解决办法 public static String uncompressString Strin
  • PostgreSQL 系统参数调整及并行设置(转)

    转自 https yq aliyun com teams 5 OS 准备 yum y install coreutils glib2 lrzsz sysstat e4fsprogs xfsprogs ntp readline devel z
  • 如何写好代码?

    想要的都拥有 失去的都释怀 2020鼠于你 文章目录 1 写代码容易吗 2 设计模式 3 软件生命周期 4 技术业务架构 5 轮子 6 开源 7 真相 1 写代码容易吗 代码容易写 也不容易写 但做人不能一直太中立 那我选择好代码不容易写吧
  • 【Linux】make和makefile详解

    在linux系统上编译大一点的项目时 会用到make makefile文件 1 make与makefile 利用make工具 我们可以将大型的开发项目分解成为多个更易于管理的模块 对于一个包括几百个源文件的应用程序 使用make和makef
  • 卷积神经网络之计算机视觉

    深度学习给机器视觉带来了巨大的进步 深度学习和机器视觉能够帮助机器分清汽车和周围的行人 并且帮助汽车避开他们 机器视觉而且能够使得人脸识别更加高效和精准 计算机视觉标志着新兴应用的产生 通过这些工具 你能产生新的产品和应用 其次即使你未在机
  • 区块链技术栈-脚本系统

    脚本系统 脚本系统在区块链中是个比较抽象的概念 也是其中一个很重要的功能 可以说区块链系统之所以能形成一个有价值的网络 依靠的就是脚本系统 他就像是一个发动机一样 驱动着区块链系统不断进行着各种数据的收发 所谓脚本 就是指一组程序规则 在区
  • 使用scroll-view实现tabs(增加动画过渡效果)

    文章目录 前情提要 组件 scroll view 小程序项目 app json pages index index wxml pages index index wxss pages index index js 相关链接 前情提要 组件
  • IDEA操作技巧:一些常用且实用的插件

    CodeGlance 可帮助我们快速定位代码 下载之后会在IDEA的编辑区右侧显示一个代码进度条 设置方式 打开设置可以看到有一个codeGlance栏 点击可以进行设置 BackgroundImage 用于设置IDEA的背景图片 设置方式
  • Probabilistic Anchor Assignment with IoU Prediction for Object Detection论文阅读翻译 - 2020ECCV

    Probabilistic Anchor Assignment with IoU Prediction for Object Detection论文阅读翻译 目录 Probabilistic Anchor Assignment with I
  • 西门子plc s7-200写的先进先出范例 用fifo

    本人最近写了一个五台锅炉共用一个冷却水泵的程序 开始打算用时间戳来记录每台锅炉需要冷却的时间 然后用时间进行排序 但是后来无意中发现fifo可以实现表的先进先出的功能 就抱着学习的目的 用fifo写了本程序 第一步 先要建立一个表如下图 上
  • 分布式三高商城系统前言

    商城系统前言 前言 本商城致力于为中大型企业打造一个功能完整 易于维护的微服务B2B2C电商商城系统 采用主流的微服务技术实现 完全从零开始带领大家完成一个商城系统 包括基础的项目环境搭建 后端业务代码编写 前端页面等 微服务设计 mall
  • 多租户SaaS管理系统框架设计:多租户,多组织,用户区别

    数商云 已认证的官方帐号 转载自 多租户SaaS管理系统框架设计 多租户 多组织 用户区别 知乎 今天谈下云平台下的多租户架构 不论是在公有云还是私有云平台 是设计一个面向最终组织或用户的SaaS应用还是面向业务系统的PaaS平台 多租户都
  • 【物流配送的车辆路径问题】

    物流配送的车辆路径问题 提示 这里可以添加系列文章的所有文章的目录 目录需要自己手动添加 Two echelon capacitated vehicle routing problem with grouping constraints a