首页 > 编程知识 正文

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

时间:2023-05-04 01:02:13 阅读:122931 作者:794

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

(解决合作问题的现有技术路线、挑战和不足。 打算采用的技术路线,合作引进这项技术的有益效果。 )

求解组合优化问题,可以利用各种数学方法找到离散事件的最佳组织、分组、排序、滤波等。 目前常用的优化算法可以分为四大类:

(1)精确算法。

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

常用的精确算法有分岔边界法、截断平面法、动态规划法等。

(2)近似算法。

近似算法是用近似方法求解优化问题的算法,通常与NP-hard问题有关,由于在多项式时间内不能有效准确求解最优解,所以可以考虑在多项式时间内求解有质量保证的近似解。

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

(3)启发式算法。

启发式是一种基于直观或经验结构的算法,可以在可接受的计算成本内尽可能接近最优解,得到相对较好的解,但无法预料得到的解和最优解的近似度。

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

(4)元启发式算法。

元启发式算法主要是指一种通用型启发式算法,是对启发式算法的改进,是随机算法和局部搜索算法的结合。 这类算法的优化机制不太依赖于算法的组织结构信息,可以广泛应用于函数组合优化和函数计算。

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

对于结构化组合优化问题,可以控制解空间的规模,使用严格的算法可以求得最优解。 但是,在企业实际面临的应用场景中,问题规模较大,求解最优解所需的计算量和存储空间增长速度非常快,容易发生“组合爆炸”。 由于近似算法在解决这些复杂的现实问题上难以实现,学术界和业界大多尝试用启发式算法(包括元启发式)进行处理。

根据公布的问题说明,本项目主要涉及车辆路径问题(vehicle routing problem )、可分割车辆路径问题(splitdeliveryvehicleroutingproblem )、集装箱装载问题(containenes )

(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)集装箱装载问题

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

未完。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。