一种车辆调度方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种车辆调度方法和装置。
背景技术
目前,针对有时间窗车辆路径问题(vehicle routing problems with timewindows,VRPTW)的研究已经较为成熟,它是指一定数量的客户,各自有不同数量的货物需求,配送中心向客户提供货物,由一个车队负责分送货物,组织适当的行车路线,目标是使得客户的需求得到满足,并能在客户的被访问的时间窗等条件的约束下,达到诸如路程最短、成本最小、耗费时间最少等目的。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:随着新能源技术的发展,带有充电要求和硬时间窗要求的车辆调度问题,已经成为实际中最常见的物流配送问题。传统的有时间窗车辆路径问题,所研究的是不包括充电功能的车辆调度,对于新能源车辆并不适用,目前也还未有能够对既有充电需要,又有硬时间窗要求的车辆调度的研究。
因此,亟需一种能够解决既有充电要求,又有硬时间窗要求的车辆调度问题的车辆调度方法和装置。
发明内容
有鉴于此,本发明实施例提供一种车辆调度方法和装置,能够解决既有充电要求,又有硬时间窗要求的车辆调度问题。
为实现上述目的,根据本发明实施例的一个方面,提供了一种车辆调度方法,包括:
步骤S1,从所有待配送的配送点中确定满足第一配送时间要求的第一待选配送点集合,在第一待选配送点集合中确定距离车辆出发点最近的配送点为配送车辆的第一站,确定满足该第一站配送要求的车辆为配送车辆,将该第一站记为已配送并作为当前出发点,执行步骤S2;
步骤S2,从所有待配送的配送点中确定满足第二配送时间要求的第二待选配送点集合,若第二待选配送点集合中存在满足预设配送条件的配送点,则执行步骤S3,若第二待选配送点集合中不存在满足预设配送条件的配送点,则执行步骤S4;
步骤S3,在所述满足预设抵达条件的配送点中,确定距离当前出发点最近的配送点为配送车辆从当前出发点出发的下一站,将该下一站记为已配送并作为当前出发点,执行步骤S2,其中,若配送车辆从当前出发点出发,行驶至下一站前不需要充电,则确定配送车辆由当前出发点出发直接行驶至下一站,若需要充电,则确定配送车辆由当前出发点出发,先行驶至距离当前出发点最近的充电站,再行驶至该下一站;
步骤S4,确定车辆返回点为配送车辆从当前出发点出发的下一站。
可选的,该方法还包括:
当确定车辆返回点为当前配送车辆从当前出发点出发的下一站后,将该当前配送车辆记为已调度,若还存在待配送的配送点,则执行步骤S1;
在步骤S1中,在车辆集合中,确定满足该第一站预设要求的未调度车辆为配送车辆。
可选的,确定配送点是否满足预设配送条件包括:
确定配送车辆从当前出发点出发,行驶至配送点后的抵达时间,若该抵达时间位于该配送点的时间窗内,则确定该配送点满足配送点时间窗要求;
根据配送车辆从当前出发点出发,行驶至配送点后的抵达时间,确定该配送车辆从当前出发点出发,行驶至配送点后,再行驶至车辆返回点的抵达时间,若该抵达时间位于该配送点的时间窗内,则确定该配送点满足返回点时间窗要求;
确定配送点的待配送物品的载容和载重是否分别小于等于配送车辆在当前出发点的剩余载容和载重,若是,则确定该配送点满足载容载重要求;
若配送点同时满足所述配送点时间窗要求、返回点时间窗要求和载容载重要求,则确定该配送点满足预设配送条件。
可选的,该方法还包括:
判断配送车辆从当前出发点出发,行驶至配送点后,再行驶至距离该配送点最近的充电站的剩余续航是否小于0,若小于,则确定配送车辆从当前出发点出发,行驶至下一站前需要充电,否则确定配送车辆从当前出发点出发,行驶至下一站前不需要充电;
当确定配送车辆从当前出发点出发,行驶至下一站前需要充电,确定配送车辆从当前出发点出发,行驶至配送点后的抵达时间为:从配送车辆在当前出发点出发的时间开始,经过配送车辆行驶时长与配送车辆在充电站的充电时长后的时间,其中配送车辆行驶时长为:配送车辆从当前出发点出发,行驶至距离当前出发点最近的充电站的时长与配送车辆从该充电站出发,行驶至配送点的时长的和。
可选的,所述从所有待配送的配送点中确定满足第一配送时间要求的第一待选配送点集合包括:
在所有待配送的配送点中确定最早配送点,该最早配送点的时间窗最晚时间在所有待配送的配送点的时间窗最晚时间中最早;
在所有待配送的配送点中确定时间窗最晚时间早于设定第一时间的配送点,以作为第一待选配送点集合,该设定第一时间为从所述最早配送点的时间窗最晚时间开始计时,经过设定第一时长后的时间。
可选的,所述从所有待配送的配送点中确定满足第二配送时间要求的第二待选配送点集合包括:
在所有待配送的配送点中确定最早配送点,该最早配送点的时间窗最晚时间在所有待配送的配送点的时间窗最晚时间中最早;
在所有待配送的配送点中确定时间窗最晚时间早于设定第二时间的配送点,以作为第二待选配送点集合,该设定第二时间为从所述最早配送点的时间窗最晚时间开始计时,经过设定第二时长后的时间。
为实现上述目的,根据本发明实施例的另一个方面,还提供了一种车辆调度装置,包括:
第一站确定模块,用于执行步骤S1,从所有待配送的配送点中确定满足第一配送时间要求的第一待选配送点集合,在第一待选配送点集合中确定距离车辆出发点最近的配送点为配送车辆的第一站,确定满足该第一站配送要求的车辆为配送车辆,将该第一站记为已配送并作为当前出发点,执行步骤S2;
下一站确定模块,用于执行步骤S2和步骤S3,
步骤S2,从所有待配送的配送点中确定满足第二配送时间要求的第二待选配送点集合,若第二待选配送点集合中存在满足预设配送条件的配送点,则执行步骤S3,若第二待选配送点集合中不存在满足预设配送条件的配送点,则执行步骤S4;
步骤S3,在所述满足预设抵达条件的配送点中,确定距离当前出发点最近的配送点为配送车辆从当前出发点出发的下一站,将该下一站记为已配送并作为当前出发点,执行步骤S2,其中,若配送车辆从当前出发点出发,行驶至下一站前不需要充电,则确定配送车辆由当前出发点出发直接行驶至下一站,若需要充电,则确定配送车辆由当前出发点出发,先行驶至距离当前出发点最近的充电站,再行驶至该下一站;
返回点确定模块,用于执行步骤S4,确定车辆返回点为配送车辆从当前出发点出发的下一站。
可选的,返回点确定模块进一步用于当确定车辆返回点为当前配送车辆从当前出发点出发的下一站后,将该当前配送车辆记为已调度,若还存在待配送的配送点,则执行步骤S1;
在步骤S1中,在车辆集合中,确定满足该第一站预设要求的未调度车辆为配送车辆。
可选的,下一站确定模块进一步用于确定配送车辆从当前出发点出发,行驶至配送点后的抵达时间,若该抵达时间位于该配送点的时间窗内,则确定该配送点满足配送点时间窗要求;
根据配送车辆从当前出发点出发,行驶至配送点后的抵达时间,确定该配送车辆从当前出发点出发,行驶至配送点后,再行驶至车辆返回点的抵达时间,若该抵达时间位于该配送点的时间窗内,则确定该配送点满足返回点时间窗要求;
确定配送点的待配送物品的载容和载重是否分别小于等于配送车辆在当前出发点的剩余载容和载重,若是,则确定该配送点满足载容载重要求;
若配送点同时满足所述配送点时间窗要求、返回点时间窗要求和载容载重要求,则确定该配送点满足预设配送条件。
可选的,下一站确定模块进一步用于判断配送车辆从当前出发点出发,行驶至配送点后,再行驶至距离该配送点最近的充电站的剩余续航是否小于0,若小于,则确定配送车辆从当前出发点出发,行驶至下一站前需要充电,否则确定配送车辆从当前出发点出发,行驶至下一站前不需要充电;
当确定配送车辆从当前出发点出发,行驶至下一站前需要充电,确定配送车辆从当前出发点出发,行驶至配送点后的抵达时间为:从配送车辆在当前出发点出发的时间开始,经过配送车辆行驶时长与配送车辆在充电站的充电时长后的时间,其中配送车辆行驶时长为:配送车辆从当前出发点出发,行驶至距离当前出发点最近的充电站的时长与配送车辆从该充电站出发,行驶至配送点的时长的和。
可选的,第一站确定模块进一步用于在所有待配送的配送点中确定最早配送点,该最早配送点的时间窗最晚时间在所有待配送的配送点的时间窗最晚时间中最早;
在所有待配送的配送点中确定时间窗最晚时间早于设定第一时间的配送点,以作为第一待选配送点集合,该设定第一时间为从所述最早配送点的时间窗最晚时间开始计时,经过设定第一时长后的时间。
可选的,下一站确定模块进一步用于在所有待配送的配送点中确定最早配送点,该最早配送点的时间窗最晚时间在所有待配送的配送点的时间窗最晚时间中最早;
在所有待配送的配送点中确定时间窗最晚时间早于设定第二时间的配送点,以作为第二待选配送点集合,该设定第二时间为从所述最早配送点的时间窗最晚时间开始计时,经过设定第二时长后的时间。
为实现上述目的,根据本发明实施例的另一个方面,还提供了一种车辆调度电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的车辆调度方法。
为实现上述目的,根据本发明实施例的另一个方面,还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的车辆调度方法。
本发明实施例提供的车辆调度方法和装置,能够解决既有充电要求,又有硬时间窗要求的车辆调度问题,在极短时间内得到较好的调度解。本方法基于商家服务窗口和车辆距离排序的贪婪方法,提出了基于时间窗参数和距离的排序规则,将最晚时间差作为参数进行调节,从而可以根据数据和现实情况设置不同参数。提出了基于贪婪的充电方法,当车辆在一个位置时,判断车辆剩余续航是否满足到达下一个商家后能继续到达距离该商家最近的充电站,是的话不需要充电,否则在目前位置最近的充电站进行充电。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例提供的车辆调度方法的主要流程的示意图;
图2是本发明实施例提供的车辆调度方法的一种实施方式的流程的示意图;确定该配送点满足预设配送条件
图3是本发明实施例提供的确定配送点是否满足预设配送条件的一种实施方式的流程的示意图;
图4是本发明实施例提供的车辆调度装置的主要模块的示意图;
图5是本发明实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本发明实施例提供一种车辆调度方法,本发明方法主要解决具有充电和服务窗口要求的车辆调度问题。本发明方法可以应用的场景如下:有若干种车辆,车辆个数不限,有一个配送中心。每天配送中心需要在指定的时间窗口期间将货物运送到每一个商家,到达商家后需要等到商家最早收货时间才能进行卸货,卸货时间信息已知。车辆有载容载重约束,即车辆任意时刻的载容载重不超过给定值。车辆有续航能力约束,即行驶过程中任意时刻车辆必须剩余续航大于等于0。目标是最小化所有使用车辆的等待成本,固定使用成本和行驶距离成本。
本发明通过一种快速启发式方法,解决以上场景车辆调度问题,目标是在极短时间内得到较好的调度解。问题有以下假设:最大车辆能够服务任一个商家;车辆在充满电出发时能够到达任一个商家且可以到达距离该商家最近的充电站。
如图1所示,本发明实施例提供的车辆调度方法包括:步骤S1至步骤S4。
步骤S1,从所有待配送的配送点中确定满足第一配送时间要求的第一待选配送点集合,在第一待选配送点集合中确定距离车辆出发点最近的配送点为配送车辆的第一站,确定满足该第一站配送要求的车辆为配送车辆,将该第一站记为已配送并作为当前出发点,执行步骤S2。
结合本发明的应用场景,待配送的配送点即未服务商家,车辆出发点即配送中心。
确定满足该第一站配送要求的车辆为配送车辆是指,选择满足第一站商家需要配送的物品的载容载重的车辆中,性价比最高的车辆。
其中,从所有待配送的配送点中确定满足第一配送时间要求的第一待选配送点集合的过程具体为:
在所有待配送的配送点中确定最早配送点,该最早配送点的时间窗最晚时间在所有待配送的配送点的时间窗最晚时间中最早。
在所有待配送的配送点中确定时间窗最晚时间早于设定第一时间的配送点,以作为第一待选配送点集合,该设定第一时间为从最早配送点的时间窗最晚时间开始计时,经过设定第一时长后的时间。
本步骤是考虑未服务商家的最晚时间,将未服务商家中最晚时间和最小的最晚时间相差不超过第一时长S1的商家取出,将这些商家与中心的距离进行比较,选择距离最小的商家。
步骤S2,从所有待配送的配送点中确定满足第二配送时间要求的第二待选配送点集合,若第二待选配送点集合中存在满足预设配送条件的配送点,则执行步骤S3,若第二待选配送点集合中不存在满足预设配送条件的配送点,则执行步骤S4。
其中,从所有待配送的配送点中确定满足第二配送时间要求的第二待选配送点集合的过程具体为:
在所有待配送的配送点中确定最早配送点,该最早配送点的时间窗最晚时间在所有待配送的配送点的时间窗最晚时间中最早。
在所有待配送的配送点中确定时间窗最晚时间早于设定第二时间的配送点,以作为第二待选配送点集合,该设定第二时间为从最早配送点的时间窗最晚时间开始计时,经过设定第二时长后的时间。
本步骤是考虑未服务商家的最晚时间,将未服务商家中最晚时间和最小的最晚时间相差不超过第二时长S2的商家取出,将这些商家与当前出发点进行比较,选择距离最小的商家。
步骤S3,在满足预设抵达条件的配送点中,确定距离当前出发点最近的配送点为配送车辆从当前出发点出发的下一站,将该下一站记为已配送并作为当前出发点,执行步骤S2。即确定下一站后,将出发点更新为该下一站再次执行步骤S2。
在本发明的一种实施方式中,若配送点同时满足配送点时间窗要求、返回点时间窗要求和载容载重要求,则确定该配送点满足预设配送条件。
其中,确定配送车辆从当前出发点出发,行驶至配送点后的抵达时间,若该抵达时间位于该配送点的时间窗内,则确定该配送点满足配送点时间窗要求。
根据配送车辆从当前出发点出发,行驶至配送点后的抵达时间,确定该配送车辆从当前出发点出发,行驶至配送点后,再行驶至车辆返回点的抵达时间,若该抵达时间位于该配送点的时间窗内,则确定该配送点满足返回点时间窗要求。
确定配送点的待配送物品的载容和载重是否分别小于等于配送车辆在当前出发点的剩余载容和载重,若是,则确定该配送点满足载容载重要求。
在确定配送车辆从当前出发点出发,行驶至配送点后的抵达时间时,需要先确定车辆从当前出发点出发后,是否需要先去充电站充电。
即判断配送车辆从当前出发点出发,行驶至配送点后,再行驶至距离该配送点最近的充电站的剩余续航是否小于0,若小于,则确定配送车辆从当前出发点出发,行驶至下一站前需要充电,否则确定配送车辆从当前出发点出发,行驶至下一站前不需要充电。
当确定配送车辆从当前出发点出发,行驶至下一站前需要充电,确定配送车辆从当前出发点出发,行驶至配送点后的抵达时间为:从配送车辆在当前出发点出发的时间开始,经过配送车辆行驶时长与配送车辆在充电站的充电时长后的时间,其中配送车辆行驶时长为:配送车辆从当前出发点出发,行驶至距离当前出发点最近的充电站的时长与配送车辆从该充电站出发,行驶至配送点的时长的和。
在本发明的一种实施方式中,如图2所示,本发明方法还包括下述步骤:
当步骤S4中确定车辆返回点为当前配送车辆从当前出发点出发的下一站后,将该当前配送车辆记为已调度,若还存在待配送的配送点,则执行步骤S1。
在步骤S1中,在车辆集合中,确定满足该第一站预设要求的未调度车辆为配送车辆。
即当对于当前车辆没有可服务的配送点时,调度车辆返回,然后重复执行本发明上述方法,选择剩余车辆对剩余未服务的商家进行配送,直至没有未服务的商家。
如图3所示,在本发明的一种实施方式中,确定商家是否满足预设配送条件的过程具体为:
首先,确定商家是否满足车辆载容载重要求,若不满足则返回0,确定商家不满足预设配送条件。
若商家满足车辆载容载重要求,则计算到达商家后行驶至商家最近充电站的剩余续航,若计算结果不小于0,表示不需要先充电,否则表示需要先充电。
当需要先充电时,计算充电后到达商家的时刻,若该时刻没有落在商家的时间窗,则返回0,确定商家不满足预设配送条件。
若该时刻落在商家的时间窗,则进一步计算经过充电后到达商家然后返回中心的时刻,若该时刻不大于中心的最晚时间,则返回1,确定商家满足预设配送条件,否则返回0,确定商家不满足预设配送条件。
当不需要先充电时,判断到达商家的时刻是否落在商家时间窗,若否,则返回0,确定商家不满足预设配送条件,若是,则进一步计算服务商家后,返回中心的时刻是否小于中心最晚时刻,若是则返回1,确定商家满足预设配送条件,否则返回0,确定商家不满足预设配送条件。
若配送车辆从当前出发点出发,行驶至下一站前不需要充电,则确定配送车辆由当前出发点出发直接行驶至下一站,若需要充电,则确定配送车辆由当前出发点出发,先行驶至距离当前出发点最近的充电站,再行驶至该下一站。
步骤S4,确定车辆返回点为配送车辆从当前出发点出发的下一站。即当没有满足条件的配送点时,调度车辆返回。在本发明中,车辆从中心出发,可以最终返回配送中心,车辆返回点即可以为车辆出发点。
在执行本发明上述步骤的过程,在每次确定下一站时,可将该下一站按序加入车辆服务序列,以得到车辆的调度路径,其中,对于需要先去充电站充电,再去下一站的情况,可在车辆服务序列中,将该充电站加入到该下一站之前。
作为本发明上述方法的一种实施方式,本发明方法包括下述步骤:
第一步,选择最具有竞争性的车辆进行配送。比如有两种车型小车和大车,若小车性价比较好,则选择小车,否则选择大车。
第二步,考虑未服务商家的最晚时间,如果是车辆当前服务商家数为0,将未服务商家中最晚时间和最小的最晚时间相差不超过S1的商家取出,将这些商家与中心的距离进行比较,选择距离最小的商家。
第三步,车辆更换,如果第一个商家的容量或重量超过了当前车辆的载容载重,将车辆类型进行更换具有次性价比的车辆类型,重复直到使得载容载重符合要求。
第四步,计算服务完成后的时间和剩余载容载重,剩余续航等。同第二步,将未服务商家中最晚时间中和最小的最晚时间相差不超过S2的商家(需满足载容载重要求)取出,将这些商家与车辆所在位置的距离进行比较,选择距离最小且符合载容载重要求的商家。
第五步,计算到达商家后再到该商家最近充电站的剩余续航。如果大于等于0,则直接重复第四步。否则,车辆行驶到当前位置最近的充电站进行充电,然后到达未服务商家的第一个商家。计算此时时间窗是否满足,若满足则加入到该车辆服务序列中,否则暂时丢弃该商家,考虑其他未服务商家序列。
第六步,重复第四步和第五步除非车辆不能服务商家。
第七步,判断车辆服务商家数是否为0,为0输出不存在可行解;为1则加入新车,重复第二步到第六步。
下面结合一具体场景对本发明方法做进一步的说明。本场景中,有两辆电车V1和V2,有一个配送中心0,10个商家的时间窗等信息如表1所示,电动车信息如表2所示,充电站有100个位置已知。车辆从配送中心出发服务商家,服务开始时间必须落在时间窗内,车辆行驶过程中必须保证续航大于等于0,卸货和充电时间均为0.5h,充电桩无限制。车辆有固定使用成本,充电有充电成本,行驶距离成本与提前到达商家的等待成本(24/h)车辆到达目标是最小化总成本。
表1:商家信息表
表2:电动车信息表
表3:距离表:假定距离为对称的
算法参数S1=S2=60(分钟),第一辆车的详细步骤:首先,将所有未服务商家按照最晚时间进行排序得到(4,7,1,9,6,5,2,10,3,8),其中最早的时间是商家4的10点,11点之前的商家有4和7,通过计算与中心的距离可以得到商家4较近,排在第一位,然后反向计算从中心出发的时间(使得正好落入时间窗最早时刻),更新车辆服务商家序列和剩余的未服务商家。此时12点之前的有7,1,9。此时考虑距离最近的为7,将7考虑是否满足时间窗载容载重续航等要求。计算发现符合,更新车辆服务商家和剩余未服务商家(1,9,6,5,2,10,3,8)。同理可以得到商家1距离7最近且可以落在时间窗,更新车辆服务商家和剩余未服务商家(9,6,5,2,10,3,8),此时未服务商家中6距离1最近,但是剩余续航小于dist(1,6)与商家5到它最近充电站的距离之和,所以车辆先到商家6最近的充电站进行充电,然后计算发现车辆可以服务商家6。同理可以证明车辆需在商家6最近的充电站充电之后才能到达下一个商家3,且商家3符合各种要求。此时车辆服务商家为(4,7,1,6,3),剩余未服务商家不能被该车服务。车辆1的服务序列可以表示为0-4-7-1-11-6-12-3-0。针对剩余未服务商家,重复以上步骤可以快速得到一个可行解。
本发明还提供一种车辆调度装置,如图4所示,该装置400包括:第一站确定模块401、下一站确定模块402、返回点确定模块403。
第一站确定模块401用于执行步骤S1,从所有待配送的配送点中确定满足第一配送时间要求的第一待选配送点集合,在第一待选配送点集合中确定距离车辆出发点最近的配送点为配送车辆的第一站,确定满足该第一站配送要求的车辆为配送车辆,将该第一站记为已配送并作为当前出发点,执行步骤S2;
下一站确定模块402用于执行步骤S2和步骤S3,
步骤S2,从所有待配送的配送点中确定满足第二配送时间要求的第二待选配送点集合,若第二待选配送点集合中存在满足预设配送条件的配送点,则执行步骤S3,若第二待选配送点集合中不存在满足预设配送条件的配送点,则执行步骤S4;
步骤S3,在满足预设抵达条件的配送点中,确定距离当前出发点最近的配送点为配送车辆从当前出发点出发的下一站,将该下一站记为已配送并作为当前出发点,执行步骤S2,其中,若配送车辆从当前出发点出发,行驶至下一站前不需要充电,则确定配送车辆由当前出发点出发直接行驶至下一站,若需要充电,则确定配送车辆由当前出发点出发,先行驶至距离当前出发点最近的充电站,再行驶至该下一站;
返回点确定模块403用于执行步骤S4,确定车辆返回点为配送车辆从当前出发点出发的下一站。
在本发明中,返回点确定模块进一步用于当确定车辆返回点为当前配送车辆从当前出发点出发的下一站后,将该当前配送车辆记为已调度,若还存在待配送的配送点,则执行步骤S1;
在步骤S1中,在车辆集合中,确定满足该第一站预设要求的未调度车辆为配送车辆。
在本发明中,下一站确定模块进一步用于确定配送车辆从当前出发点出发,行驶至配送点后的抵达时间,若该抵达时间位于该配送点的时间窗内,则确定该配送点满足配送点时间窗要求;
根据配送车辆从当前出发点出发,行驶至配送点后的抵达时间,确定该配送车辆从当前出发点出发,行驶至配送点后,再行驶至车辆返回点的抵达时间,若该抵达时间位于该配送点的时间窗内,则确定该配送点满足返回点时间窗要求;
确定配送点的待配送物品的载容和载重是否分别小于等于配送车辆在当前出发点的剩余载容和载重,若是,则确定该配送点满足载容载重要求;
若配送点同时满足配送点时间窗要求、返回点时间窗要求和载容载重要求,则确定该配送点满足预设配送条件。
在本发明中,下一站确定模块进一步用于判断配送车辆从当前出发点出发,行驶至配送点后,再行驶至距离该配送点最近的充电站的剩余续航是否小于0,若小于,则确定配送车辆从当前出发点出发,行驶至下一站前需要充电,否则确定配送车辆从当前出发点出发,行驶至下一站前不需要充电;
当确定配送车辆从当前出发点出发,行驶至下一站前需要充电,确定配送车辆从当前出发点出发,行驶至配送点后的抵达时间为:从配送车辆在当前出发点出发的时间开始,经过配送车辆行驶时长与配送车辆在充电站的充电时长后的时间,其中配送车辆行驶时长为:配送车辆从当前出发点出发,行驶至距离当前出发点最近的充电站的时长与配送车辆从该充电站出发,行驶至配送点的时长的和。
在本发明中,第一站确定模块进一步用于在所有待配送的配送点中确定最早配送点,该最早配送点的时间窗最晚时间在所有待配送的配送点的时间窗最晚时间中最早;
在所有待配送的配送点中确定时间窗最晚时间早于设定第一时间的配送点,以作为第一待选配送点集合,该设定第一时间为从最早配送点的时间窗最晚时间开始计时,经过设定第一时长后的时间。
在本发明中,下一站确定模块进一步用于在所有待配送的配送点中确定最早配送点,该最早配送点的时间窗最晚时间在所有待配送的配送点的时间窗最晚时间中最早;
在所有待配送的配送点中确定时间窗最晚时间早于设定第二时间的配送点,以作为第二待选配送点集合,该设定第二时间为从最早配送点的时间窗最晚时间开始计时,经过设定第二时长后的时间。
本发明实施例提供的车辆调度方法和装置,能够解决既有充电要求,又有硬时间窗要求的车辆调度问题,可以高效快速的得到一个车辆调度的可行解。本方法基于商家服务窗口和车辆距离排序的贪婪方法,提出了基于时间窗参数和距离的排序规则,将最晚时间差作为参数进行调节,从而可以根据数据和现实情况设置不同参数。提出了基于贪婪的充电方法,当车辆在一个位置时,判断车辆剩余续航是否满足到达下一个商家后能继续到达距离该商家最近的充电站,是的话不需要充电,否则在目前位置最近的充电站进行充电。
图5示出了可以应用本发明实施例的车辆调度方法或车辆调度装置的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对车辆进行调度的后台管理服务器。
需要说明的是,本发明实施例所提供的车辆调度方法一般由服务器505执行,相应地,车辆调度装置一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本发明实施例的终端设备的计算机系统600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括第一站确定模块、下一站确定模块和返回点确定模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
步骤S1,从所有待配送的配送点中确定满足第一配送时间要求的第一待选配送点集合,在第一待选配送点集合中确定距离车辆出发点最近的配送点为配送车辆的第一站,确定满足该第一站配送要求的车辆为配送车辆,将该第一站记为已配送并作为当前出发点,执行步骤S2;
步骤S2,从所有待配送的配送点中确定满足第二配送时间要求的第二待选配送点集合,若第二待选配送点集合中存在满足预设配送条件的配送点,则执行步骤S3,若第二待选配送点集合中不存在满足预设配送条件的配送点,则执行步骤S4;
步骤S3,在所述满足预设抵达条件的配送点中,确定距离当前出发点最近的配送点为配送车辆从当前出发点出发的下一站,将该下一站记为已配送并作为当前出发点,执行步骤S2,其中,若配送车辆从当前出发点出发,行驶至下一站前不需要充电,则确定配送车辆由当前出发点出发直接行驶至下一站,若需要充电,则确定配送车辆由当前出发点出发,先行驶至距离当前出发点最近的充电站,再行驶至该下一站;
步骤S4,确定车辆返回点为配送车辆从当前出发点出发的下一站。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。