前言
大家好,最近消失了一阵子。因为这两周一直在折腾一款产品。事情是这样的,此前搞算法一直是和命令行打交道基本上,搞得心烦,然后前阵子上头条偶然看到一些前端框架做的系统,感觉还挺好看的,也蛮有趣的。于是就跃跃欲试想尝试下新的东西,加上此前不是做了很多算法嘛,有了一定的基础积累,于是想着把算法和UI结合起来,搞款能用的算法产品试试。
问题背景
整个项目还是基于VRP的一个背景,处理的问题在涵盖经典VRPTW的基础上,还包括了处理以下约束的能力:
- 多时间窗(一般由于客户营业休息时间等安排,会允许出现多个配送时间窗)
- 多车型(涵盖冷链车型和常规车型,大型车辆和小型车辆等,能够进行混合配送)
- 交通管制约束(有些地方不允许大型的车辆进入,只能安排小型车进行配送)
- 时间窗为硬时间窗(早到等待,不允许晚到)
- 客户需求多样化(常规的货物,冷链配送要求的货物)
- 等等
算法性能
系统的核心算法引擎基于启发式算法开发,具有比较优秀的性能。不过口说无凭,将我们的算法和cplex进行对比,首先是小规模算例上的对比(规定了CPLEX求解时间上限为1小时):