组合优化问题求解算法思路的整理(VRP、SDVRP,container loading)

一、技术背景与合作的必要性

(解决合作问题现有的技术路线、挑战与不足。 拟采用的技术路线,合作引进 这种技术的有益效果(缺)。)

求解组合优化问题可以通过利用各种数学方法,寻找离散事件的最优编排、分组、次 序或筛选等。目前常用的优化算法可以分为以下四类:

(1)精确算法。

精确算法是指能够求出问题最优解的算法。当问题的规模较小时,精确算法能够在可 接受的时间内得到最优解;当问题的规模较大时,精确算法一方面可以提供问题的可行 解,另一方面可以为启发式算法提供初始解,以便搜索到更好的解。

常用的精确算法有分支定界法、割平面法、动态规划法等。

(2)近似算法。

近似算法是指用近似方法来解决优化问题的算法,通常与 NP-hard 问题相关,由于无 法有效地在多项式时间内精确地求得最优解,所以考虑在多项式时间内求得一个有质量保 证的近似解。

贪婪算法、局部搜索算法、松弛算法、动态规划法等都可用于构建近似算法求解。

(3)启发式算法。

启发式算法是一种基于直观或经验构造的算法,能在可接受的计算成本内尽可能地逼 近最优解,得到一个相对优解,但无法预计所得解与最优解的近似程度。

启发式算法可分为传统启发式算法和元启发式算法,传统启发式算法包括构造性方 法、局部搜索算法、松弛方法、解空间缩减算法等。

(4)元启发式算法。

元启发式算法主要指一类通用型的启发式算法,它对启发式算法进行了改进,是随机 算法与局部搜索算法相结合的产物。这类算法的优化机理不过分依赖与算法的组织结构信 息,可以广泛地应用到函数的组合优化和函数计算中。

元启发式算法包括禁忌搜索算法、模拟退火算法、遗传算法、蚁群算法、粒子群算 法、人工神经网络等。


对于结构化的组合优化问题,其解空间的规模能够得到控制,使用精确算法可以求得 最优解。但是在企业实际面临的应用场景中,问题规模往往很大,求得最优解需要的计算 量与存储空间的增长速度非常快,易产生“组合爆炸”。而近似算法在求解这些复杂现实 问题时又难于实现,于是学界和业界多尝试通过启发式算法(含元启发式算法)进行处 理。

根据发布的问题描述,本项目主要涉及到了车辆路径问题(vehicle routing problem)、可拆分的车辆路径问题(split delivery vehicle routing problem)和集 装箱装载问题(container loading)。

(1)车辆路径问题

车辆路径问题一般定义为对一系列装货点和卸货点,组织适当的行车线路,使车辆有 序通过它们,在满足一定的约束条件(如车辆数量限制、车辆容量限制、提货卸货时间限 制等)下,达到一定的目标(如路线最短、时间最短、费用最少、车辆数尽量少等)。它是一个层次目标优化问题,文献中一般以车辆数最少作为首要优化的目标,在此基础上再 优化对应的车辆路径长度。

可以将本项目抽象成一个车辆路径问题求解,对多个提货点组织行车路线,在集装箱 车数目满足需求且尽可能少的情况下,使得车辆的行驶路线最短。从实际部署的算法和近 期发表在 KDD 的算法来看,公司无论在实际还是理论探索的过程中,也是主要采用了 VRP 及其层次目标优化的思想。参考美团外卖、菜鸟物流、达达-京东到家等企业公开的算 法,介绍以下几种求解 VRP 的启发式算法。

①模拟退火算法

模拟退火算法本质上是一种局部搜索算法,通过引入新的机制避免算法陷入局部最 优,即以概率的方式接受邻域中较差的解,以增强算法的多样性。从初始解开始,模拟退 火算法执行下列过程:

在算法的每一步迭代,随机产生一个邻居解s′ ∈ N(s)。若s′改进了当前解,则接受解 s′。若比当前解差,则以概率p接受解s′,概率值由目标函数值差值f(s ′ ) − f(s)和温度参数 T给出。同物理退火过程一样,温度T随着算法迭代逐渐减小,从而减小算法接受劣解的 概率。

②禁忌搜索算法

禁忌搜索算法是局部搜索算法的推广,其区别于其他现代启发式算法的显著特点是利 用记忆引导算法的搜索过程。为了回避局部邻域搜索陷入局部最优,禁忌搜索算法用一个 禁忌表记录下已经达到过的局部最优点,在下一次搜索中利用禁忌表中的信息不再或有选 择地搜索这些点,以此跳出局部最优点。正因如此,禁忌搜索算法也被称为动态邻域搜索 算法。

利用禁忌搜索算法求解时,首先按一定的规则或随机生成一个初始解作为当前解,然 后在当前解的邻域中搜索全部或部分解,比对禁忌表,取其中最好的符合禁忌规则的解作 为新的当前解,然后迭代这一步骤。这种算法允许一定的下山操作(使解的质量变差), 当达到指定的迭代步骤或最佳解不能进一步改善时,算法结束。

紧急搜索具有局部搜索方法的优点,计算的复杂度比较低,结构相对简单。由于它通 过随机初始化和邻域搜索的方法逐步寻优,因此能够克服搜索空间指数增长的问题,适用 于 NP 完全问题的求解,同时采取禁忌规则克服了局部搜索算法易陷入局部最优点的缺 陷,是求解组合优化问题的为数不多的有效算法之一。

③遗传算法

遗传算法是模仿自然界生物进化机制发展起来的随机全局搜索和优化方法,本质是一 种高效、并行、全局搜索的方法。它能在搜索过程中自动获取和积累有关搜索空间的知 识,并自适应地控制种群逐次产生一个近似最优的方案。这个过程导致种群个体的进化, 得到的新个体比原个体更能适应环境。

在遗传算法的实现过程中,首先对问题的潜在解进行数字化编码,然后用随机数初始 化一个种群,种群里面的个体就是这些数字化的编码。接下来通过适当解码后,用适应性 函数对每一个基因个体做一次适应度评估,用选择函数按照某种规定择优选择。让个体基 因交叉变异,然后产生子代。遗传算法不能保证获得问题的最优解,但其最大的优点在于 不必了解和操心如何寻找最优解,而是关注如何否定一些表现不好的个体。
④蚁群优化算法
蚁群算法是受到蚂蚁群觅食行为启发而提出的算法。生物学研究表明,一群相互协作 的蚂蚁能够找到食物和巢穴之间的最短路径,而单只蚂蚁则不能。生物学家经过大量细致 的研究和观察发现,蚂蚁个体之间的行为是相互影响的:蚂蚁在运动过程中,能够在它所 经过的路径上留下一种称为信息素的物质,这是蚂蚁个体之间信息交流的载体。蚂蚁在运 动过程中能够感知这种物质,并且习惯于追踪信息素爬行,爬行过程中还会释放信息素。 某一条路径上走过的蚂蚁越多,后来者选择该路径的可能性越大。蚂蚁个体之间就是通过 这种间接的通信机制,实现协同搜索最短路径的目的。

这个过程的本质特征可以概括为:a.路径概率选择机制——信息素浓度越高的路径被 选中的概率越大;b.信息素更新机制——路径越短,路径上的信息素浓度增长越快;c.协 同工作机制——蚂蚁个体通过信息素进行信息交流。这些特点恰恰与元启发算法的特点相 一致,在蚁群优化算法中,觅食的蚂蚁由人工蚁替代,蚂蚁释放的信息素由人工信息素替 代,蚂蚁爬行和信息素的蒸发不再是连续不断的,而是在离散的时空中进行。

(2)可拆分的车辆路径问题

可拆分的车辆路径问题是传统车辆路径问题的一种衍生问题,把传统 VRP 中每个顾客 点被且仅被一辆配送车服务的约束松弛成每个顾客点可以被一个或多个运送车辆服务的情 况。对应到本项目要解决的问题,就是一个提货点的货物可以被拆分成多块,分别被不同 的集装箱车服务。这样使得提货点的需求超过集装箱车允许载重的情况得以满足,而且通 过合理的拆分可以有效减少车辆的空载率,提高每辆集装箱车的运送效力,进而减少总的 集装箱车使用量和缩短总配送路径。

因此,对于 SDVRP 问题,我们不仅要考虑车辆的行驶路径,还要考虑提货点的拆分问 题。求解 SDVRP 的算法主要利用已有求解 VRP 的算法框架,通过引入需求拆分算子进行求 解。比如可以使用本地搜索算法,将提货点进行两种类型的移动:第一种移动方式是 ksplit 交换方式,将要访问的提货点分到不同的路径中,以此达到使集装箱车有更多的剩 余容量服务其他提货点的目的;第二种移动方式是路径叠加,将一个可以由多辆车装载的 提货点从所有路径中移除出来产生一条新的路径。可以通过提货点的移除和插入,或者采 用插入法和交换法获取邻域解,来设计禁忌算法求解。可以将模因算法及种群管理的策略 融合进传统的遗传算法中,同时在此基础上引入本地搜索算法作为增强,通过距离测算对 种群多样化进行控制来求解。可以首先对提货点进行聚类,聚类的过程中对提货点的需求 进行拆分,然后对每个聚类求解旅行商问题路径。此外,研究学者还提出了混合启发式算 法进行 SDVRP 的研究,为企业在实际应用中快速高效地解决此类问题提供了理论支撑和设 计启发。

(3)集装箱装载问题

集装箱装载问题是复杂的离散组合最优化问题,经典的装箱问题要求把一定数量的物 品放入容量相同的一些箱子中,使得每个箱子中的物品大小之和不超过箱子容量并使所适 用的箱子数目最少。在求解装箱问题时,需要考虑的约束通常包括方向约束、承载约束、 稳定性约束、货物装载顺序约束、载重约束等。


未完。

猜你喜欢

转载自blog.csdn.net/qq_32732581/article/details/84442393
今日推荐