运筹学-一些目前企业中使用的方法介绍(有用信息可以提取)

1.概述

起初菜鸟只有一个 VRP 算法,现在逐步落地了 VRP、Bin Packing、Scheduling、Batching、Container Loading 等算法场景。根据算法的具体做法可以分成两大类,Heuristic 和 Exact/Appx 算法。从一开始使用 Gurobi 去求解一些模型,到现在已经有了自己的算法品牌 GreedSolver。菜鸟也做了一些特定问题的 LP/MIP 的求解。另外针对菜鸟特有场景下的一些 Online/Offline Assignment 问题,也做了一些前沿的工作,包括通过机器学习的方法加速求解,例如 SCIP / OR Tools。

2.Greed Solver

在这里插入图片描述
针对上述运筹优化的问题,菜鸟自研了 Greed Solver 算法求解器,包括Serverless Cloud Computing 云计算平台,以及在线编辑 Studio。其中集成了很多的 Solver,能够求解例如大规模混合整数规划、非连续的线性规划、在线优化、鲁棒优化等问题。Solver 求解引擎对车辆路径规划、多维装箱、上架推荐、智能波次等问题都提供了支持。至此已创造了 40+ 项世界纪录

3. VRP算法

3.1 VRP问题概述

在这里插入图片描述
在这里插入图片描述
VRP 问题有非常多的变种,比如限制配送车辆容积的 CVRP、车辆完成配送任务之后回程取货的 VRPB、限制配送车辆容积和路径长度的 DCVRP、客户对货物的送达时间有时间窗要求的 VRPTW 等。这些不同种类的 VRP 问题在菜鸟场景里面都有遇到,且都需要去求解,所以需要建设一个能够解多变种的 VRP 问题的求解器
在这里插入图片描述
学术角度来讲,VRP 问题有三类解法,第一类是精确解的算法,例如分支定界、动态规划、约束规划;第二类是构造启发式算法第三类是最常见、最泛用的元启发式方法,例如,遗传算法、模拟退火算法、禁忌搜索算法等。
在这里插入图片描述

3.2 常用算法

3.2.1 ALNS算法

在这里插入图片描述
首先要介绍的是 ALNS 的算法。其优势是:易于拓展,能支持任意目标约束;能够控制搜索半径,平衡局部搜索和全局搜索;能够自适应地选择合适的算子,泛化能力强;算子可插拔,便于算法的升级拓展。
在这里插入图片描述

3.2.2 AGTS算法

在这里插入图片描述
近期我们提出了 Adaptive Geographic Tree Search Algorithm(AGTS)算法,利用几何信息去做优化。其基本思路是几何上的聚类。在实际问题中由于有山川、河流等因素的影响,VRP 需要处理的情况,并不是理想中的二维平面,而是二维平面中非凸的几何体/几何图形。针对这种几何图形,如果只简单地做初始解或者优化,很可能是错误的。如果只利用距离矩阵,就忽略了几何信息。而常见的一些几何上的聚类,比如 KMeans 聚类又没有考虑到空间上的限制条件。因此我们构建了 AGTS 算法框架,进行几何上的聚类,有了几何序列之后会得到一些解,再进行一些优化,再做 ALNS,最后会利用图论的方法再去做最终的优化。
在这里插入图片描述

4. 三维装箱算法

在这里插入图片描述
三维装箱问题是把用户一个订单下的所有商品装入到最适合的箱子中。优化目标包括箱子数量、配送成本,以及包材成本等。
在这里插入图片描述

4.1 装箱算法

在这里插入图片描述
在这里插入图片描述
Beam Search 算法是对 Maximal Rectangles 算法的改进。Maximal Rectangles 是经典的装箱算法,它是在每次放完物品后看一下剩余空间,把剩余的物品一个个放入剩余空间,是偏 greedy 的算法。
在这里插入图片描述
Beam Search 算法的主要思想是通过限制搜索树的宽度来减少搜索空间。每一层保留 Top-K 的 node,对每个 node 选择 K 个预估分数最高的放置方法,用更全局的预估分数的函数来衡量每个解的好坏。这里的分数预估是非常重要的,我们结合使用了多种预估分数的方法。并且将预估的分数和最终的结果进行了线性的拟合。
在这里插入图片描述
认为大部分物体都是比较规整的长方体,摆放时物品的面均平行或垂直于箱子的任意一面。物品的组装方式为自底向上两两贴着面合并,如上图所示,两个物品合并形成一个更大的长方体物品,无视其中浪费的空间,等价于断头台(Guillotine)约束。
在这里插入图片描述基于前述假设就可以求解精确解。
在这里插入图片描述
使用 data-driven 方式求解的动机为,通过历史数据的学习,能够从中抓取出一些有用的信息用于线上算法。同时其求解速度非常快。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值