客户会议室里,采购、业务和技术负责人并排坐着,前面几家供应商都讲完了。轮到你,对方开口:
"各家都说有智能调度,你们有什么特别?"
第一次被问的时候,我认真准备过答案——算得快、算法多、覆盖场景全。后来我发现没什么用。因为对方听到的词和我说出口的词是同一个,指的却不是同一件事。
现在被问到这句,我通常会先问回一句:你上一次看到的那场智能调度演示,是在你自己的数据上跑的吗?
一个词如果所有供应商都在用,它就从能力描述变成了入场券。今天说自家有智能调度,和说自家支持中文界面差不多——不是优势,是门槛。
麻烦在于,这四个字底下至少有着四件不同的事:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
单看每一项,都有真实价值。问题是一旦都用"智能调度"介绍,客户就没法比了——你拿静态排线的成熟度,去衡量别人的实时指派能力;或者反过来,用实时指派的响应速度,去否定别人真正做深的组合优化。
演示室里看不出来的三件事:
演示是必要环节,但演示环境有个共同点:它是被挑出来的最好赛场。约束最松、数据最干净、时间压力最小。有三样东西,演示几乎从来不会暴露:
第一,约束进没进去。 限行、限高、危化资质、司机工时、月台数量和作业时长、收货方预约制、指定承运商——这些东西每一条都能砍掉一大片可行解。演示里通常删到只剩最基本的几个。约束删得越干净,算法结果看起来越亮眼,因为还有很多它没有计算的隐性约束。
第二,时间尺度。 一个能在三十秒内给出解的产品,和一个算三到五分钟才出结果的产品,在会议室里都一样"智能",到了调度台前是两回事,但这背后考量的却是不同厂商的约束建模求解能力,30秒出结果,可能用的就不是算法,而是简单的规则堆砌。
第三,变化。 演示是静态的:一批订单、一批车、一次结果。真实是边算边变——车在路上,又来一单急的;司机临时请假;月台排队排到了两小时后。静态算得漂亮,和动态加单后依然能守得住项目的边际成本和收益,是两种能力。
如果把这三样一次性加回去,很多演示会露出真面目:不是算法不行,是它从来没有被要求在真实条件下工作过。
真正的分水岭:敢不敢说"排不了"
如果只留一条判断标准,我会选这条:
看它排不出来的时候说什么。
绕开约束去凑一个结果的算法,看上去永远最聪明。它永远不会告诉你"这单我今天送不到",它会给你一条能跑通的线路,只是那条线路在现实里需要司机连开十四个小时,或者需要一台根本不存在的车。这种失败不会出现在演示里,它只会出现在半个月后的执行报表上——准点率、投诉、还有调度员自己偷偷改回来的那半张表。
所以我更愿意相信一个会说"这个条件组合下无解,必须加运力,或者时间窗必须放宽"的系统。承认无解,意味着它真的在按约束求解;说不出无解,说明约束根本没进模型。
顺着这条标准,还有两件事值得看:
能不能复盘。 三个月前那批单它为什么这么派,还说不说得清。说不清的系统,调度员不会信;不信,就会在旁边另开一张 Excel——那张 Excel 才是它真实的处境。
能不能干预。 调度员改了一台车,系统是跟着重新优化,还是当没看见。这决定了它是工具,还是摆设。
那"你们有什么特别"该怎么答
我的建议是别答功能,答责任。
把问题换一下:不是"你有没有智能调度",而是"这个活儿,你打算负责到哪一步"。 是替你算出一条线就交差,还是算完还陪你应对执行里的偏离——插单怎么办、司机不来怎么办、算不出可行解的时候谁说话。这个问题的答案,各家会明显不一样,差异不用你费劲找,它自己会浮出来。
顺带说一句,这套标准不是用来筛别人的,它也会把自己筛进去。上面那三条,是这几年被真实项目逼出来的。
"智能"这个词已经被用到:谁都能说,说了也不算数。
剩下能比的只有一件很笨的事:把它放到你自己的数据、你自己的约束、你自己那些临时变化的场景里,看它能输出什么,以及输出不了的时候,它的反应。
真正的变化不是"能算"——能算已经很多年了。变化是有人开始愿意为执行负责,把算法从报告里搬到调度台上。

