仓库除了通过第三方物流向本省及周边省市发货外,在省城里也有一些客户,需要送货上门。因为暂时没有TMS支持,确定配送路线,并使用最少的车辆完成配送任务就是需要一个经常要决策的问题。
王二数学水平一般,在互联网上找了很多的配送优化算法,看到满篇的计算公式、表格,一个头两个大,太复杂了。最后觉得扫描法比较简便易用。
1、因为水西汽配的客户相对比较固定,所以在地图上标出所有配送地点及仓库的位置。
2、用一把直尺,以仓库为圆点,沿顺时针(或逆时针)方向旋转,直到与某配送地点相交。核算如果在某线路上增加该站点,是否会超过车辆的载货能力?如果没有,继续旋转直到与下一个配送地点相交。再次计算累计货运量是否超过车辆的运载能力。如果超过,就剔除最后的那个站点,并确定路线。
3、随后,从不包含在上一条路线中的站点开始,继续旋转直尺以寻找新路线。重复该过程直到所有配送地点都被安排到路线中。
4、根据道路情况(考虑堵车时点、单行道等因素),排定各路线上每个站点的顺序,使整个路线呈水滴状,以保证行车距离最短。当然,也可以使用旅行商问题模型来求解。
路线确定后安排车辆时,要保证各线路配送时点首尾相接。也就是说,如果完成一条路线后开始另一条线路,那么就可以分配同一部车负责第二条路线。因此,将所有运输路线首尾相连按顺序排列,使车辆的空闲时间最短,就可以决定所需车辆数,并使车辆数最少。
确定配送路线后,把车辆安排好班次,就决定了给客户的服务水平。对于所谓的最后一公里配送而言,主要是两种常见形式,一般戏称为公交车物流和出租车物流。
公交车物流:固定时间发车,要求客户在发车前一定时间内提交订单,仓库接单后备货。一般情况下,汽车配件能做到一天两班。因为线路固定,停靠点也固定,客户收货时间可以预期。这种方式配送成本相对较低,需要的车辆、人员也较少。
出租车物流:不管什么时间接到客户订单,马上备货发送。单独送货上门,成本比上一种高得多,需要的车辆、人员也多。一般在客户愿意承担运费的情况下可以采用,不然有可能造成配送的货值(如一条皮带),还不如配送费高的情况。当然,这种情况服务水平最高,批量大、毛利高的产品还是可以采用的。
上面提到的旅行商问题,即TSP问题(Traveling Salesman Problem),又称为旅行推销员问题、货郎担问题。其基本思想是:一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市,路径选择的目标是:求得的路径路程为所有路径中的最小值。
旅行商问题模型适用于对单一车辆配送路线进行优化,即从某设施出发,访问一定数量顾客后又回到原出发点。
解决旅行商问题的算法比较多,最常用的有贪心算法(又称贪婪算法),指在对问题求解时,总是做出在当前看来最好的选择。也就是说,不从整体最优上加以考虑,所做出的是在某种意义上的局部最优解。
贪心算法一般都是用计算机进行求解的,计算量比较大,特别是顾客比较多时。下面简单示例算法的思想。如图所示,要求车辆从仓库A出发,送货到B、C、D、E四个客户后再返回仓库A。任意两点间的距离已知(即直线上的数字),试求最佳配送路径。
1、选择距出发点最近的客户位置,由于D点距A点最近,故先选择D点;
2、从剩下的结点中,选择离当前已选择结点最近的客户,即找出离D点最近的点,这一点是C点;
3、如果所有位置都被选择了,则停止;否则继续上一步骤,下一个找到的点是E;
4、由于只剩下B点没有被选择,所以B点成为继E点之后的客户,然后返回A。
这样,最佳配送路线为A—D—C—E—B—A,总行驶距离=15+12+13+18+19=77。