本发明涉及仓储运输管理,尤其涉及一种基于实时任务队列和tsp问题,(traveling salesman problem)实现复杂环境下的运输分拨任务的调度方法及系统、存储介质。
背景技术:
1、在工厂或仓库的实际生产过程中,分拨任务是一种常见的运输任务:在一处取货,去多个地点放货,每个放货地点会取出货物中的一部分,部分场景中,放货结束后,需要归还料箱、货架、栈板等载货容器。
2、目前的仓储车调度系统中,大多分拨任务在创建时即确定了执行的顺序,不支持在运行时挂起、恢复放货任务,从而无法实现自动调整放货顺序,以及无法进行放货时自动等待。
3、因此在使用中,分拨任务的放货点可能暂时无法放货,需要仓储车调度系统安排正在分拨的仓储车先执行后续的放货任务,在没有其他可执行的放货任务时,才安排仓储车去等待,直到有可执行的放货任务。
4、例如,在产线物料分拨时,某些产线的生产速度临时变慢,导致物料需求降低,此时分拨物料的仓储车应该先去分拨其他需要物料的产线进行放货,等待产线的信号,收到可以放货的信号之后再去放货;如果可以执行的放货任务都执行完了,还有部分放货任务在等待信号,就需要仓储车去等待区域,等待放货信号。
5、可见现有方案,如果不安排仓储车在无法放货时去等待点等待,则会导致交通拥堵,甚至损坏设备;而如果不在放货点无法放货时安排仓储车执行后续任务,则会导致分拨效率降低和交通拥堵。因此本技术领域待一种技术方案来解决此类问题。
技术实现思路
1、为此,本发明的主要目的在于提供一种运输分拨任务调度方法及系统、存储介质,以在支持分拨任务任意时刻挂起、恢复分拨任务的同时,优化分拨任务队列减少分拨任务所需的执行时间。
2、为了实现上述目的,本发明提供了一种运输分拨任务调度方法,步骤包括:
3、步骤s100 按照取货l、直接卸货、等待w、等待放货点信号后执行卸货、归还容器r任务顺序建立任务队列tq;
4、步骤s200判断当前放货点状态是否需要等待放货点信号后执行卸货任务,以调整任务队列;
5、步骤s300 根据调整后的任务队列是否进行取货、等待、归还容器任务来变形为重排问题后,转换为标准tsp问题求解路径,并根据路径重排任务队列;
6、其中步骤s300中将重排问题转换为标准tsp方法并求解的步骤包括:
7、步骤s310当判断l为否、w为否、r为否时,变形为起点终点不限的路径问题,同时记给定点集合n1,边集合e1,边权重c1组成的图g1=(n1,e1,c1);
8、步骤s320 将g1=(n1,e1,c1)转换为g=(n,e,c)上的标准tsp问题,步骤包括:
9、在n1中添加辅助点p,设n=n1u {p};
10、对每个n1中的点,添加长度为0,和p连接的无向辅助边w,设
11、 ,其中cij表示点i和点j之间无向边的权重;
12、设e = e1+ w;
13、步骤s330求解g=(n,e,c)上的标准tsp问题,在解中去掉p得到路径。
14、在可能的优选实施方式中,步骤s200中调整任务队列的步骤包括:
15、步骤s210将newubefore和newuafter设为空;判断ubefore和uafter中所有的卸货任务,如果目前不能执行,将卸货任务加入newuafter、如果可以执行,将卸货任务加入newubefore;其中ubefore表示直接卸货任务,uafter表示等待放货点信号后执行的卸货任务,newubefore表示更新后的直接卸货任务,newuafter表示更新后的等待放货点信号后执行的卸货任务;
16、步骤s220判断若newuafter为空,则tq = {l, newubefore, r},否则tq = {l,newubefore, w, newuafter, r}以此调整任务队列。
17、在可能的优选实施方式中,其中步骤s300中将重排问题转换为标准tsp方法并求解的步骤包括:
18、步骤s311当判断l为是、w为否、r为是时,变形为起点终点固定的路径问题,同时记给定点集合n1,边集合e1,边权重c1组成的图g1=(n1,e1,c1);
19、步骤s321将g1=(n1,e1,c1)转换为g=(n,e,c)上的标准tsp问题,步骤包括:
20、在n1中添加辅助点p,设n=n1u {p};
21、添加长度为0,从终点e指向p和从p指向起点s的无向辅助边,即
22、;其中cij表示点i和点j之间无向边的权重;
23、步骤s331求解g=(n,e,c)上的标准tsp问题,在解中去掉p得到路径。
24、在可能的优选实施方式中,其中步骤s300中将重排问题转换为标准tsp方法并求解的步骤包括:
25、步骤s312当判断l为否、w为否、r为是时,变形为起点不限,终点e固定的路径问题,同时记给定点集合n1,边集合e1,边权重c1组成的图g1=(n1,e1,c1);
26、步骤s322将g1=(n1,e1,c1)转换为g=(n,e,c)上的标准tsp问题,步骤包括:
27、在n1中添加辅助点p,q ,设n=n1u {p,q};
28、在下列点对之间添加长度为0的无向边:
29、(e,p),(p,q), (n,q),其中n为n1中不为e的元素,即
30、,其中cij表示点i和点j之间无向边的权重;
31、步骤s332求解g=(n,e,c)上的标准tsp问题,在解中去掉p,q得到路径。
32、在可能的优选实施方式中,其中步骤s300中将重排问题转换为标准tsp方法并求解的步骤包括:
33、步骤s313当判断l为是、w为否、r为否时,变形为起点s固定,终点不限的路径问题,同时记给定点集合n1,边集合e1,边权重c1组成的图g1=(n1,e1,c1);
34、步骤s323将g1=(n1,e1,c1)转换为g=(n,e,c)上的标准tsp问题,步骤包括:
35、在n1中添加辅助点p,q ,设n=n1u {p,q};
36、在下列点对之间添加长度为0的无向边:
37、(s,p),(p,q), (n,q),其中n为n1中不为s的元素,即
38、 ,其中cij表示点i和点j之间无向边的权重;
39、步骤s333求解g=(n,e,c)上的标准tsp问题,在解中去掉p,q得到路径。
40、在可能的优选实施方式中,其中步骤s300中将重排问题转换为标准tsp方法并求解的步骤包括:
41、步骤s314当判断l为否、w为是、r为是/否时,变形为起点不限,终点从可用等待点中选一的路径问题,同时记给定点集合n1,边集合e1,边权重c1组成的图g1=(n1,e1,c1);
42、步骤s324将g1=(n1,e1,c1)转换为g=(n,e,c)上的标准gtsp问题,步骤包括:
43、在n1中添加辅助点p,设n=n1u {p};
44、对每个n1中的点,添加长度为0,和p连接的无向辅助边w,设
45、 ,其中cij表示点i和点j之间无向边的权重;
46、设e = e1+ w;
47、步骤s334将gtsp问题转化为tsp问题进行求解,在解中去掉p得到路径。
48、在可能的优选实施方式中,其中步骤s300中将重排问题转换为标准tsp方法并求解的步骤包括:
49、步骤s314当判断l为是、w为是、r为是/否时,变形为起点s固定,终点从可用等待点中选一的路径问题,同时记给定点集合n1,边集合e1,边权重c1组成的图g1=(n1,e1,c1);
50、步骤s324将g1=(n1,e1,c1)转换为g=(n,e,c)上的标准gtsp问题,步骤包括:
51、在n1中添加辅助点p,q ,设n=n1u {p,q};
52、在下列点对之间添加长度为0的无向边:
53、(s,p),(p,q), (n,q),其中n为n1中不为s的元素,即
54、 ,其中cij表示点i和点j之间无向边的权重;
55、步骤s334将gtsp问题转化为tsp问题进行求解,在解中去掉p,q得到路径。
56、对应上述方法,本发明另一方面,还提供了一种运输分拨任务调度系统,其包括:
57、存储单元,用于存储包括如上任一所述运输分拨任务调度方法步骤的程序,以供信号采集单元,处理单元,通信单元适时调取执行;
58、信号采集单元,用于采集当前放货点状态,并向处理单元反馈;
59、处理单元,用于建立任务队列,并根据当前放货点状态是否需要等待放货点信号后执行卸货任务,以调整任务队列,并判断任务队列是否进行取货、等待、归还容器任务来变形为重排问题后,转换为标准tsp问题求解路径,并根据路径重排任务队列;
60、通讯单元,用于将重排后的任务队列发送至运输端设备。
61、对应上述方法,本发明另一方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,其中所述计算机程序被处理器执行时,实现上述任一所述运输分拨任务调度方法的步骤。
62、通过本发明提供的该运输分拨任务调度方法及系统、存储介质,巧妙的将任务队列分为五个阶段来实现分拨单功能,从而使得分拨任务整体逻辑上能够支持分拨任务任意时刻挂起、恢复。此外本方案还进一步巧妙的将分拨任务队列重排问题转化为tsp问题,籍此在满足及时响应挂起任务的同时,使得分拨任务队列的运输线路最优化,从而避免交通拥堵,并有效提高分拨效率,减少分拨任务所需的执行时间。