感谢小董同学在我正在研究学习车辆调度优化时分享的这个报告会,了解了现在的车辆调度比较前沿的落地项目。
到达徐汇校区中院报告会现场时发现学生们的积极性也都是很高啊,早已把会场的座位占满了,还好本人在这方面也不是太专业,所以找个角落就够了。随着报告的开始,也大致了解到了这个项目的背景:京东物流事业部发起了一次运筹优化的挑战赛,目的当然也是发掘国内最优秀的优化领域专家们共同为京东所面临到的业务场景难题,发起报告的袁博士来自上汽已经独立出来的人工智能研究院,3年内主攻来自集团内部的各种运筹物流优化项目,在这次比赛中率队夺得了第二名,比第一名最后的结果上也就差了500元。
这个项目最大的挑战和难度在报告过程中也被反复提到:其实就是5分钟算完(1000+客户门点)以及若干多个充电点(用的是新能源车)。
首先报告对问题进行了分析,也就明白对于这类问题主要分析的内容是约束,目标,以及决策:
约束:
每个客户只能被访问一次
开始服务客户的时刻满足时间窗的要求
每辆车须满足最大容量(体积和重量)限制
每辆车的电量满足最大行驶里程限制
使用车辆(大、小)两种车型总数不超过规定值
目标:
使用成本,运输成本,等待成本和充电成本总和最小
决策:
访问客户的车型
访问客户的顺序
车辆何时回车场或(哪个)充电站
车辆首次出发时间
分析后呢,当然就是对算法建模的核心思想和流程:
之后就是一堆函数和我仅仅通过最近的一点点学习了解到的算法皮毛,主要还是一些启发式算法:比如路径间2-opt,swap, relocation,什么惩罚,各种removal,随机,greedy,deep greedy等的算法,总之一大堆在场所有人都频频点头而我几乎不懂的术语,哈哈哈。
不过我自己的体会就是,其实真正结合到落地,其实也主要是看如何分解问题(分解成若干个子问题再进行求解),利用一些其实非常基本和经典的算法来解决问题。真正高级的一些算法因为需要计算的时间等问题其实也就被淘汰了。
再来看看袁博士用面向对象的方法进行工程化开发的设计(坐得远,手机又低端,所以效果就这样了:)):
最后呢,这个解决方案其实还是能很稳定的5个给定的数据集合内达到了预期的结果,最终获得的名次也仅仅比清华的教授团队差了几百块钱。
有句话虽然是笑话,但是我觉得还是很经典的:其实吧,前三名的套路基本是一样的:) 只是在某个步骤上进行了一点进一步的精细化操作。
总体感觉这个报告还是非常专业的,我大概是全场唯一的一个小白了,也期待看到听报告的学生们未来为我们的物流事业更上一层楼贡献自己的力量:)
网友评论