自动化码头的车队调度方法、系统、设备及存储介质技术方案

技术编号:19344572 阅读:24 留言:0更新日期:2018-11-07 14:47
本发明专利技术提供了自动化码头的车队调度方法、系统、设备及存储介质,该方法包括:获得基于当前车队和任务的c条任务序列[X1,X2,X3,X4……Xn,Y1,Y2,……Ym];基于任务序列随机挑选出d组任务序列组,每个任务序列组包括两条任务序列,将两条任务序列分别作为父代序列和母代序列生成至少一条新生的任务序列,淘汰评分排序末尾的多条任务序列,使得任务序列的总量保持在c条;重复执行上述步骤,然后至少根据每一条任务序列中单辆车辆行驶总时间的大小获得任务序列的时间评分T,并根据时间评分T的数值大小,从低到高排列任务序列;将评分最低的任务序列作为车队调度的最优解输出。

Fleet dispatching method, system, equipment and storage medium for automatic terminal

The invention provides a fleet scheduling method, system, equipment and storage medium for an automated wharf. The method includes: obtaining a C-BAR task sequence [X1, X2, X3, X4] based on the current fleet and task. Xn, Y1, Y2,... Ym]; Randomly select group D task sequence group based on task sequence, each task sequence group includes two task sequences, and generate at least one new task sequence as parent sequence and parent sequence respectively, eliminating the multi-task sequence at the end of scoring sequence, so that the total number of task sequence can be maintained at C. Repeat the above steps, and then get the time score T of task sequence at least according to the total driving time of each vehicle in each task sequence, and arrange the task sequence from low to high according to the value of time score T; and take the task sequence with the lowest score as the output of the optimal solution of fleet scheduling.

【技术实现步骤摘要】
自动化码头的车队调度方法、系统、设备及存储介质
本专利技术涉及车队调度领域,具体地说,涉及自动化码头的车队调度方法、系统、设备及存储介质。
技术介绍
目前多个代理人的多任务分配问题是世界公认的非确定性多项式难度问题(NP-hard),即在多项式时间内无法得到最优解。因此目前传统的可获得最优解的算法往往只能适用于较小的数据规模。在较大数据规模下,目前主流的算法大多都聚焦于近似解上,不同算法间比拼的也多是近似解的质量。尤其是在码头,涉及到多种不同车辆、设备一起协同工作,计算量极大,并且经常会有突发任务,在短时间内根本无法得到最优解。因此,本专利技术提供了一种自动化码头的车队调度方法、系统、设备及存储介质。
技术实现思路
针对现有技术中的问题,本专利技术的目的在于提供自动化码头的车队调度方法、系统、设备及存储介质,能够实现在大地图、多车辆、多任务的条件下,以较少的计算机资源与计算时间为代价,获得近似与最优解的集装箱运输作业分配方案。本专利技术的实施例提供一种自动化码头的车队调度方法,包括以下步骤:S101、获得基于当前车队和任务的c条任务序列[X1,X2,X3,X4……Xn,Y1,Y2,……Ym],c为自然数,每一条任务序列包括第一部分序列[X1,X2,X3,X4……Xn]和第二部分序列[Y1,Y2,……Ym],n和m均为自然数,n≤m;所述第一部分中包含依次排列的多个数值各不相同的任务序号,每个所述任务序号各自代表一件任务,所述第二部分中包含依次排列的多个元素[Ym],每个所述元素[Ym]的值代表分配给车队其中一车辆的任务数量,分配给所述车辆的任务序号[Xn]为自所述第一部分的头部起第(a+1)个任务序号[Xa+1]到第(a+b)个任务序号[Xa+b]之间的b个任务序号[Xn],a的值等于所述车辆对应的元素[Ym]之前的所有元素[Y1,Y2,……Ym-1]的值的总和,b的值等于所述车辆对应的元素[Ym]的值,a和b均为自然数;S102、基于所述任务序列随机挑选出d组任务序列组,每个所述任务序列组包括两条任务序列,将所述两条任务序列分别作为父代序列和母代序列生成至少一条新生的任务序列,每条所述新生的任务序列中第一部分与所述父代序列、母代序列第一部分序列均不同,每条所述新生的任务序列中第二部分的元素值的总和与所有所述任务序列的第二部分的元素值的总和均相等,步骤S102中包括以下步骤:S1021、选择所述任务序列组中的一个任务序列作为父代序列[X11,X12,X13,X14……X1n,Y11,Y12,……Y1m],另一个任务序列作为母代序列[X21,X22,X23,X24……X2n,Y21,Y22,……Y2m];S1022、生成第一随机元素集合[Z1,Z2,……Zm],所述第一随机元素集合中个每个元素[Zm]分别对应所述父代序列的第二部分中一个所述元素,并且,所述随机元素集合中元素的值小于等于所述父代序列的中对应的元素的值;S1023、根据所述第一随机元素集合[Z1,Z2,……Zm]中每个元素[Zm]与所述元素的对应顺序在所述父代序列的第一部分中每个所述车辆的任务序号中各自随机截取连续的m段任务序列片段,每段所述任务序列片段中元素的个数分别等于对应的所述第一随机元素集合[Z1,Z2,……Zm]中元素[Zm]的值;S1024、生成第二随机元素集合[W1,W2,……Wm],所述第一随机元素集合中每个元素[Wm]分别对应所述父代序列的第二部分中一个所述元素,并且,所述第一随机元素集合[Z1,Z2,……Zm]的所有元素值与第二随机元素集合[W1,W2,……Wm]的所有元素值的总和等于所述父代序列中第二部分的所有元素值的总和;S1025、在所述母代序列的第一部分中删除了与所述任务序列片段中出现的元素值相同的各元素之后得到临时任务序列;S1026、根据所述第二随机元素集合[W1,W2,……Wm]中每个元素[Wm]的排列顺序生成m段补充序列片段,每段所述补充序列片段中元素的个数分别等于对应的所述第一随机元素集合[W1,W2,……Wm]中每个元素[Wm]的值,所述补充序列片段中元素的值依次等于所述临时任务序列中个元素的值;S1027、将m段所述任务序列片段和m段所述补充序列片段依序间隔排列得到的包含n个第一元素的第一序列,将所述第一随机元素集合[Z1,Z2,……Zm]中每个元素[Zm]的值与所述第二随机元素集合[W1,W2,……Wm]中按顺序对应的每个元素[Wm]的值分别求和后依序排列得到的序列[Z1+W1,Z2+W2,……Zm+Wm]得到包含m个第二元素的第二序列;S1028、获得第一新生任务序列,所述第一新生任务序列的第一部分为所述步骤S1027中得到的第一序列,所述第一新生任务序列的第二部分为所述步骤S1027中得到的第二序列;S103、将所有的任务序列分别进行评分排序,淘汰排序末尾的多条任务序列,使得任务序列的总量保持在c条;S104、将步骤S102至步骤S103重复执行e次,e为自然数,10≤e≤10000;S105、至少根据每一条任务序列中单辆车辆行驶总时间的大小获得所述任务序列的时间评分T,并根据所述时间评分T的数值大小,从低到高排列所述任务序列;以及S106、将评分最低的任务序列作为车队调度的最优解输出。优选地,所述步骤S1027中,顺序对应一组所述任务序列片段和所述补充序列片段排列时,将所述任务序列片段排列在所述补充序列片段之前,按此顺序将所有所述任务序列片段和所有所述补充序列片段依序间隔排列得到第一序列。优选地,所述步骤S1027中,顺序对应一组所述任务序列片段和所述补充序列片段排列时,将所述补充序列片段排列在所述任务序列片段之前,按此顺序将所有所述任务序列片段和所有所述补充序列片段依序间隔排列得到第一序列。优选地,所述步骤S1028中还包括将所述第一新生任务序列的第一部分中的任意两个元素进行位置互换。优选地,所述步骤S1028中还包括将所述第一新生任务序列的第二部分中的任意两个元素进行位置互换。优选地,在所述步骤S102中、所述步骤S1028之后还包括以下步骤:S1029、将[X11,X12,X13,X14……X1n,Y11,Y12,……Y1m]作为母代序列,[X21,X22,X23,X24……X2n,Y21,Y22,……Y2m]作为父代序列,再次执行步骤S1022至步骤S1027,得到包含n个第一元素的第一序列和包含m个第二元素的第二序列;获得第二新生任务序列,所述第二新生任务序列的第一部分为所述步骤S1029中得到的第一序列,所述第二新生任务序列的第二部分为所述步骤S1029中得到的第二序列。优选地,所述步骤S1029中还包括将所述第二新生任务序列的第一部分中的任意两个元素进行位置互换。优选地,所述步骤S1029中还包括将所述第二新生任务序列的第二部分中的任意两个元素进行位置互换。优选地,所述步骤S105包括以下步骤:S1051、计算每一条任务序列中单辆车辆行驶总时间,公式如下:其中,Ttravel为单辆车辆行驶总时间,tij为车辆从i点行驶至j点所需的时间,P为车辆起始位置点,JiS为第i个任务的起始点,JiF为第i个任务的结束点,i和n都为自然数;S1052、计算每一条任务序列中单辆跨运车等待总时间,公本文档来自技高网...

【技术保护点】
1.一种自动化码头的车队调度方法,其特征在于,包括以下步骤:S101、获得基于当前车队和任务的c条任务序列[X1,X2,X3,X4……Xn,Y1,Y2,……Ym],c为自然数,每一条任务序列包括第一部分序列[X1,X2,X3,X4……Xn]和第二部分序列[Y1,Y2,……Ym],n和m均为自然数,n≤m;所述第一部分中包含依次排列的多个数值各不相同的任务序号,每个所述任务序号各自代表一件任务,所述第二部分中包含依次排列的多个元素[Ym],每个所述元素[Ym]的值代表分配给车队其中一车辆的任务数量,分配给所述车辆的任务序号[Xn]为自所述第一部分的头部起第(a+1)个任务序号[Xa+1]到第(a+b)个任务序号[Xa+b]之间的b个任务序号[Xn],a的值等于所述车辆对应的元素[Ym]之前的所有元素[Y1,Y2,……Ym‑1]的值的总和,b的值等于所述车辆对应的元素[Ym]的值,a和b均为自然数;S102、基于所述任务序列随机挑选出d组任务序列组,每个所述任务序列组包括两条任务序列,将所述两条任务序列分别作为父代序列和母代序列生成至少一条新生的任务序列,每条所述新生的任务序列中第一部分与所述父代序列、母代序列第一部分序列均不同,每条所述新生的任务序列中第二部分的元素值的总和与所有所述任务序列的第二部分的元素值的总和均相等,步骤S102中包括以下步骤:S1021、选择所述任务序列组中的一个任务序列作为父代序列[X11,X12,X13,X14……X1n,Y11,Y12,……Y1m],另一个任务序列作为母代序列[X21,X22,X23,X24……X2n,Y21,Y22,……Y2m];S1022、生成第一随机元素集合[Z1,Z2,……Zm],所述第一随机元素集合中个每个元素[Zm]分别对应所述父代序列的第二部分中一个所述元素,并且,所述随机元素集合中元素的值小于等于所述父代序列的中对应的元素的值;S1023、根据所述第一随机元素集合[Z1,Z2,……Zm]中每个元素[Zm]与所述元素的对应顺序在所述父代序列的第一部分中每个所述车辆的任务序号中各自随机截取连续的m段任务序列片段,每段所述任务序列片段中元素的个数分别等于对应的所述第一随机元素集合[Z1,Z2,……Zm]中元素[Zm]的值;S1024、生成第二随机元素集合[W1,W2,……Wm],所述第一随机元素集合中每个元素[Wm]分别对应所述父代序列的第二部分中一个所述元素,并且,所述第一随机元素集合[Z1,Z2,……Zm]的所有元素值与第二随机元素集合[W1,W2,……Wm]的所有元素值的总和等于所述父代序列中第二部分的所有元素值的总和;S1025、在所述母代序列的第一部分中删除了与所述任务序列片段中出现的元素值相同的各元素之后得到临时任务序列;S1026、根据所述第二随机元素集合[W1,W2,……Wm]中每个元素[Wm]的排列顺序生成m段补充序列片段,每段所述补充序列片段中元素的个数分别等于对应的所述第一随机元素集合[W1,W2,……Wm]中每个元素[Wm]的值,所述补充序列片段中元素的值依次等于所述临时任务序列中个元素的值;S1027、将m段所述任务序列片段和m段所述补充序列片段依序间隔排列得到的包含n个第一元素的第一序列,将所述第一随机元素集合[Z1,Z2,……Zm]中每个元素[Zm]的值与所述第二随机元素集合[W1,W2,……Wm]中按顺序对应的每个元素[Wm]的值分别求和后依序排列得到的序列[Z1+W1,Z2+W2,……Zm+Wm]得到包含m个第二元素的第二序列;S1028、获得第一新生任务序列,所述第一新生任务序列的第一部分为所述步骤S1027中得到的第一序列,所述第一新生任务序列的第二部分为所述步骤S1027中得到的第二序列;S103、将所有的任务序列分别进行评分排序,淘汰排序末尾的多条任务序列,使得任务序列的总量保持在c条;S104、将步骤S102至步骤S103重复执行e次,e为自然数,10≤e≤10000;S105、至少根据每一条任务序列中单辆车辆行驶总时间的大小获得所述任务序列的时间评分T,并根据所述时间评分T的数值大小,从低到高排列所述任务序列;以及S106、将评分最低的任务序列作为车队调度的最优解输出。...

【技术特征摘要】
1.一种自动化码头的车队调度方法,其特征在于,包括以下步骤:S101、获得基于当前车队和任务的c条任务序列[X1,X2,X3,X4……Xn,Y1,Y2,……Ym],c为自然数,每一条任务序列包括第一部分序列[X1,X2,X3,X4……Xn]和第二部分序列[Y1,Y2,……Ym],n和m均为自然数,n≤m;所述第一部分中包含依次排列的多个数值各不相同的任务序号,每个所述任务序号各自代表一件任务,所述第二部分中包含依次排列的多个元素[Ym],每个所述元素[Ym]的值代表分配给车队其中一车辆的任务数量,分配给所述车辆的任务序号[Xn]为自所述第一部分的头部起第(a+1)个任务序号[Xa+1]到第(a+b)个任务序号[Xa+b]之间的b个任务序号[Xn],a的值等于所述车辆对应的元素[Ym]之前的所有元素[Y1,Y2,……Ym-1]的值的总和,b的值等于所述车辆对应的元素[Ym]的值,a和b均为自然数;S102、基于所述任务序列随机挑选出d组任务序列组,每个所述任务序列组包括两条任务序列,将所述两条任务序列分别作为父代序列和母代序列生成至少一条新生的任务序列,每条所述新生的任务序列中第一部分与所述父代序列、母代序列第一部分序列均不同,每条所述新生的任务序列中第二部分的元素值的总和与所有所述任务序列的第二部分的元素值的总和均相等,步骤S102中包括以下步骤:S1021、选择所述任务序列组中的一个任务序列作为父代序列[X11,X12,X13,X14……X1n,Y11,Y12,……Y1m],另一个任务序列作为母代序列[X21,X22,X23,X24……X2n,Y21,Y22,……Y2m];S1022、生成第一随机元素集合[Z1,Z2,……Zm],所述第一随机元素集合中个每个元素[Zm]分别对应所述父代序列的第二部分中一个所述元素,并且,所述随机元素集合中元素的值小于等于所述父代序列的中对应的元素的值;S1023、根据所述第一随机元素集合[Z1,Z2,……Zm]中每个元素[Zm]与所述元素的对应顺序在所述父代序列的第一部分中每个所述车辆的任务序号中各自随机截取连续的m段任务序列片段,每段所述任务序列片段中元素的个数分别等于对应的所述第一随机元素集合[Z1,Z2,……Zm]中元素[Zm]的值;S1024、生成第二随机元素集合[W1,W2,……Wm],所述第一随机元素集合中每个元素[Wm]分别对应所述父代序列的第二部分中一个所述元素,并且,所述第一随机元素集合[Z1,Z2,……Zm]的所有元素值与第二随机元素集合[W1,W2,……Wm]的所有元素值的总和等于所述父代序列中第二部分的所有元素值的总和;S1025、在所述母代序列的第一部分中删除了与所述任务序列片段中出现的元素值相同的各元素之后得到临时任务序列;S1026、根据所述第二随机元素集合[W1,W2,……Wm]中每个元素[Wm]的排列顺序生成m段补充序列片段,每段所述补充序列片段中元素的个数分别等于对应的所述第一随机元素集合[W1,W2,……Wm]中每个元素[Wm]的值,所述补充序列片段中元素的值依次等于所述临时任务序列中个元素的值;S1027、将m段所述任务序列片段和m段所述补充序列片段依序间隔排列得到的包含n个第一元素的第一序列,将所述第一随机元素集合[Z1,Z2,……Zm]中每个元素[Zm]的值与所述第二随机元素集合[W1,W2,……Wm]中按顺序对应的每个元素[Wm]的值分别求和后依序排列得到的序列[Z1+W1,Z2+W2,……Zm+Wm]得到包含m个第二元素的第二序列;S1028、获得第一新生任务序列,所述第一新生任务序列的第一部分为所述步骤S1027中得到的第一序列,所述第一新生任务序列的第二部分为所述步骤S1027中得到的第二序列;S103、将所有的任务序列分别进行评分排序,淘汰排序末尾的多条任务序列,使得任务序列的总量保持在c条;S104、将步骤S102至步骤S103重复执行e次,e为自然数,10≤e≤10000;S105、至少根据每一条任务序列中单辆车辆行驶总时间的大小获得所述任务序列的时间评分T,并根据所述时间评分T的数值大小,从低到高排列所述任务序列;以及S106、将评分最低的任务序列作为车队调度的最优解输出。2.根据权利要求1所述的自动化码头的车队调度方法,其特征在于:所述步骤S1027中,顺序对应一组所述任务序列片段和所述补充序列片段排列时,将所述任务序列片段排列在所述补充序列片段之前,按此顺序将所有所述任务序列片段和所有所述补充序列片段依序间隔排列得到第一序列。3.根据权利要求1所述的自动化码头的车队调度方法,其特征在于:所述步骤S1027中,顺序对应一组所述任务序列片段和所述补充序列片段排列时,将所述补充序列片段排列在所述任务序列片段之前,按此顺序将所有所述任务序列片段和所有所述补充序列片段依序间隔排列得到第一序列。4.根据权利要求1所述的自动化码头的车队调度方法,其特征在于:所述步骤S1028中还包括将所述第一新生任务序列的第一部分中的任意两个元素进行位置互换。5.根据权利要求1所述的自动化码头的车队调度方法,其特征在于:所述步骤S1028中还包括将所述第一新生任务序列的第二部分中的任意两个元素进行位置互换。6.根据权利要求1所述的自动化码头的车队调度方法,其特征在于:在所述步骤S102中、所述步骤S1028之后还包括以下步骤:S1029、将[X11,X12,X13,X14……X1n,Y11,Y12,……Y1m]作为母代序列,[X21,X22,X23,X24……X2n,Y21,Y22,……Y2m]作为父代序列,再次执行步骤S1022至步骤S1027,得到包含n个第一元素的第一序列和包含m个第二元素的第二序列;获得第二新生任务序列,所述第二新生任务序列的第一部分为所述步骤S1029中得到的第一序列,所述第二新生任务序列的第二部分为所述步骤S1029中得到的第二序列。7.根据权利要求6所述的自动化码头的车队调度方法,其特征在于:所述步骤S1029中还包括将所述第二新生任务序列的第一部分中的任意两个元素进行位置互换。8.根据权利要求6所述的自动化码头的车队调度方法,其特征在于:所述步骤S1029中还包括将所述第二新生任务序列的第二部分中的任意两个元素进行位置互换。9.根据权利要求1所述的自动化码头的车队调度方法,其特征在于:所述步骤S105包括以下步骤:S1051、计算每一条任务序列中单辆车辆行驶总时间,公式如下:其中,Ttravel为单辆车辆行驶总时间,tij为车辆从i点行驶至j点所需的时间,P为车辆起始位置点,JiS为第i个任务的起始点,JiF为第i个任务的结束点;S1052、计算每一条任务序列中单辆跨运车等待总时间,公式如下:其中,TSC_wait为单辆跨运车等待总时间,TiS为第i个任务的开始时间,TiF为第i个任务的结束时间;S1053、计算每一条任务序列中单个桥吊等待总时间,公式如下:TQC_wait=TQC_F-TQC_S-n×△tQC;其中,TQC_wait:单个桥吊等待总时间,TQC_F:单个桥吊执行最后一个任务的时间,TQC_S:单个桥吊开始执行任务的时间,n:单个桥吊执行任务个数,△tQC:桥吊执行单个任务所需的时间;S1054、计算每一条任务序列中单辆集卡等待总时间,公式如下:Ttruck_wait=Ttruck_F-Ttruck_S-m×△ttruck;其中,Ttruck_wait:单辆集卡等待总时间,Ttruck_F:单个集卡执行最后一个任务的时间,Ttruck_S:单个集卡开始执行任务的时间,m:单个集卡执行任务个数,△ttruck:集卡执行单...

【专利技术属性】
技术研发人员:谭黎敏张波顾文超俞铭琪夏辰吕灏江旭辉
申请(专利权)人:上海西井信息科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1