将多个搬运任务分配至多个自动搬运车的方法及相关装置
技术领域
本申请涉及任务分配技术领域,特别是涉及将多个搬运任务分配至多个自动搬运车的方法及其相关装置。
背景技术
目前,在自动化物流中,常通过AGV(Automated Guided Vehicle,自动搬运车)来搬运物品。在将多个搬运任务分配给多个AGV时,一般需要通过很多次路径规划才能得到实际代价相对较小的分配方案,但是这样算法的实时性很难满足要求。
发明内容
本申请提供将多个搬运任务分配至多个自动搬运车的方法及其相关装置,可以减少路径规划次数,提高算法的实时性。
为解决技术问题,本申请提供一种将多个搬运任务分配至多个自动搬运车的方法,该方法包括:计算每个自动搬运车与各个搬运任务的目标点的坐标距离;根据所述坐标距离确定每个自动搬运车执行各个搬运任务的估计代价;基于所述估计代价将所述各个搬运任务一一预分配给对应的自动搬运车;计算所述预分配方案中各个自动搬运车执行预分配的搬运任务时所需要行驶的路径距离;根据所述路径距离计算所述预分配方案中各个自动搬运车执行预分配的搬运任务的实际代价;计算所述预分配方案中每一自动搬运车执行预分配的搬运任务的实际代价与估计代价的偏差;若存在一自动搬运车对应的偏差大于第一阈值,则调整所述预分配方案,以得到最终分配方案,最终分配方案的总实际代价小于预分配方案的总实际代价。
为解决技术问题,本申请提供一种将多个搬运任务分配至多个自动搬运车的装置,该将多个搬运任务分配至多个自动搬运车的装置包括处理器和存储器;存储器中存储有计算机程序,处理器用于执行计算机程序以实现如上述方法的步骤。
为解决技术问题,本申请提供一种计算机存储介质,其中存储有计算机程序,计算机程序被执行时实现将多个搬运任务分配至多个自动搬运车的方法中的步骤。
本申请的方法是:可以通过每个自动搬运车与各个搬运任务的坐标距离计算出每个自动搬运车执行各个搬运任务的估计代价,这样后续可以通过估计代价将搬运任务一一预分配给自动搬运车,从而在任务预分配完成前可以不需要计算出每个自动搬运车执行各个搬运任务时所需要行驶的路径距离,进而在任务预分配完成前可以不进行路径规划,可以减少路径规划次数,完成预分配后,计算预分配方案中各个自动搬运车执行预分配的搬运任务时所需要行驶的路径距离,然后可以根据路径距离计算出实际代价,并将实际代价与估计代价进行比较确认预分配方案是否合理,然后可以根据实际代价与估计代价的实际偏差情况确认是否需要对预分配方案进行调整,这样在确认预分配方案后才需要进行路径规划,可以减少路径规划次数。
附图说明
为了更清楚地说明本申请实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请将多个搬运任务分配至多个自动搬运车的方法第一实施方式的流程示意图;
图2是本申请将多个搬运任务分配至多个自动搬运车的方法第二实施方式的流程示意图;
图3为测试本申请的将多个搬运任务分配至多个自动搬运车的方法使用的地图Map1;
图4为测试本申请的将多个搬运任务分配至多个自动搬运车的方法使用的地图Map2;
图5为测试本申请的将多个搬运任务分配至多个自动搬运车的方法使用的地图Map3;
图6为测试本申请的将多个搬运任务分配至多个自动搬运车的方法结果示意图;
图7是本申请将多个搬运任务分配至多个自动搬运车的装置一实施方式的结构示意图;
图8是本申请计算机存储介质一实施方式的结构示意图。
具体实施方式
为使本领域的技术人员更好地理解本申请的技术方案,下面结合附图和具体实施方式对本申请所提供的将多个搬运任务分配至多个自动搬运车的方法及其相关装置做进一步详细描述。
具体请参阅图1,图1是本申请将多个搬运任务分配至多个自动搬运车的方法第一实施方式的流程示意图。本实施方式将多个搬运任务分配至多个自动搬运车的方法包括以下步骤。
S101:计算每个自动搬运车与各个搬运任务的目标点的坐标距离。
其中,坐标距离是指通过每个自动搬运车的坐标与各个搬运任务的目标点的坐标直接计算出来的距离,例如,可以是每个自动搬运车与各个搬运任务的目标点的笛卡尔距离、切比雪夫距离或曼哈顿距离。可以理解的是,在计算坐标距离之前,可以先获取每个自动搬运车的坐标与各个搬运任务的目标点的坐标。
在本实施例中,并不限定自动搬运车和搬运任务的数量。自动搬运车的数量可以小于、等于或大于搬运任务的数量,从而可以将任务分配列表中所有待分配任务作为此次待分配的搬运任务,这样的话,可以无需根据搬运任务进入任务分配列表的先后顺序进行任务分配,可以按照搬运任务的紧急程度将紧急程度相对较高的搬运任务优先分配出去,这样可以根据搬运任务的实际情况进行分配,优化分配方案。
S102:根据坐标距离确定每个自动搬运车执行各个搬运任务的估计代价。
在本实施例中,可以通过每个自动搬运车与各个搬运任务的坐标距离计算出每个自动搬运车执行各个搬运任务的估计代价,这样后续可以通过估计代价将搬运任务一一预分配给自动搬运车,从而在任务预分配完成前可以不需要计算出每个自动搬运车执行各个搬运任务时所需要行驶的路径距离,进而在任务预分配完成前可以不进行路径规划,可以减少路径规划次数。
具体地,可以通过各个自动搬运车与各个搬运任务的目标点的曼哈顿距离确定各个自动搬运车执行各个搬运任务的估计代价。这样,相比于欧式距离、切比雪夫距离等其他坐标距离,每个自动搬运车与各个搬运任务的曼哈顿距离更接近于每个自动搬运车执行各个搬运任务时所需要行驶的路径距离,从而通过曼哈顿距离计算出来的估计代价与通过路径距离计算出来的实际代价相差会更小,进而在预分配完成后可以降低对预分配方案进行调整的次数。
在另一实施例中,在确认每个自动搬运车执行各个搬运任务的估计代价之前,还可以获取每个自动搬运车的充电信息、各个搬运任务的等待时间信息和优先级信息。这样可以根据坐标距离、充电信息、等待时间信息和优先级信息确定每个自动搬运车执行各个搬运任务的估计代价,可以综合考虑搬运任务优先级信息、搬运任务等待时间信息、自动搬运车充电信息以及坐标距离来计算估计代价,使得计算得到的估计代价更符合实际需要。
具体地,可以根据每个自动搬运车的充电信息确定该充电信息对应的第一调整值。可以按照是否充电和/或剩余充电时间对自动搬运车的充电信息进行分类,每种类别的充电信息可以对应一个第一调整值。例如,充电信息可以分为正在充电和不在充电,正在充电对应的第一调整值可以为1000,而不在充电对应的调整值可以为0。在实际应用过程中,可以根据计算公式和/或运行地图大小和复杂程度、其它因素调整每种类别的充电信息对应的第一调整值。另外,还可以将充电信息和第一调整值的对应关系记录在第一对应表中。
并且,可以根据每个搬运任务的优先级信息确定该优先级信息对应的第二调整值。每种类别的优先级信息可以对应一个第二调整值。例如,搬运任务的优先级信息为高时,第二调整值为2000。又例如,搬运任务的优先级信息为低时,第二调整值为500。在实际应用过程中,可以根据计算公式和/或运行地图大小和复杂程度、其它因素调整每种类别的优先级信息对应的第二调整值。另外,可以将优先级信息和第二调整值的对应关系记录在第二对应表中。
可以理解的是,可以将每个搬运任务的等待时间信息转化为相应地距离值——第三调整值,这样可以将各种计算条件统一为同一单位的值,方便计算。当然,在其他实施例中,也可以将充电信息、等待时间信息、优先级信息和坐标距离均转化为时间值。每个搬运任务的等待时间信息可指每个搬运任务从第一次进入任务分配列表的时间点到第一时间点之间的时间量。例如,搬运任务A首次进入任务分配列表的时间为1:02:35,第一时间点可为1:05:56,那么搬运任务A的等待时间信息03:21。可以理解的是,在计算等待时间信息的过程中,所有搬运任务的第一时间点都是相同的,这样方便比较所有搬运任务等待时间的长短,进而可以便于根据搬运任务的实际情况进行分配。
具体地,可以通过下述估计代价计算公式计算出估计代价:估计代价=坐标距离+第一调整值-第二调整值-第三调整值。以此估计代价计算公式计算估计代价,需要注意的是,等待时间信息越大,第三调整值越大;正在充电对应的第一调整值比不在充电对应的第一调整值大,并且设备的充电信息中剩余充电时间越久,第一调整值也会相对较大;优先级信息越高,第二调整值越大,从而可使自动搬运车产生优先执行高优先级搬运任务的倾向。当然,估计代价计算公式也可以有其他表达方式。并且也可以根据实际情况增减估计代价的计算条件,例如可以只通过坐标距离计算出估计代价。
S103:基于估计代价将各个搬运任务一一预分配给对应的自动搬运车。
基于估计代价确认预分配方案。预分配方案中一个自动搬运车最多与一个搬运任务配对,一个搬运任务只进行一次分配,即将各个搬运任务一一预分配给对应的自动搬运车。
估计代价体现着自动搬运车执行搬运任务的代价多少,一般估计代价越高,自动搬运车执行搬运任务的代价越高。因此为使多个自动搬运车执行搬运任务所需要付出的总代价最小,使搬运任务的分配越合理,使得自动搬运车的搬运效率越高,可以使得多个自动搬运车执行搬运任务的总估价代价最低,即可以让预分配方案的总估计代价最小。
S104:计算预分配方案中各个自动搬运车执行预分配的搬运任务时所需要行驶的路径距离。
其中,完成预分配后,可以计算预分配方案中各个自动搬运车执行预分配的搬运任务时所需要行驶的路径距离,然后可以根据路径距离计算出实际代价,并将实际代价与估计代价进行比较确认预分配方案是否合理,然后可以根据实际代价与估计代价的实际偏差情况确认是否需要对预分配方案进行调整,这样在确认预分配方案后才需要进行路径规划,可以减少路径规划次数。
S105:根据路径距离计算预分配方案中各个自动搬运车执行预分配的搬运任务的实际代价。
将估计代价计算公式中的坐标距离替换为路径距离就可以得到实际代价计算公式。将路径距离代入实际代价计算公式就可以确认预分配方案中各个自动搬运车执行预分配的搬运任务的实际代价。
S106:计算预分配方案中每一自动搬运车执行预分配的搬运任务的实际代价与估计代价的偏差。
通过比较估计代价计算公式和实际代价计算公式可以看出:实际代价与估计代价的偏差是由路径距离与坐标距离的偏差带来的。路径距离和坐标距离的偏差越小,实际代价与估计代价的偏差也就越小,从而选择合适的坐标距离的计算公式,例如用曼哈顿距离计算公式计算坐标距离可以降低路径距离和坐标距离的偏差,可以降低对预分配方案进行调整的次数。
其中,可以将预分配方案中该自动搬运车执行预分配的搬运任务的实际代价与估计代价的偏差称为自动搬运车对应的偏差。
S107:若存在一自动搬运车对应的偏差大于第一阈值,则调整预分配方案,以得到最终分配方案。
在存在至少一个自动搬运车对应的偏差大于第一阈值,就调整预分配方案,以得到最终分配方案。最终分配方案的总实际代价小于预分配方案的实际代价。调整预分配方案的步骤可以包括:将第一自动搬运车与其他自动搬运车交换任务,以使得交换任务后的总实际代价小于交换任务前的总实际代价。可以理解的是,总实际代价为所有自动搬运车执行自身分配得到的搬运任务的总实际代价。其中,第一自动搬运车为第一自动搬运车。
具体地,在实际交换任务之前,可以计算第一自动搬运车与其他每个自动搬运车交换搬运任务后的总实际代价,然后将第一自动搬运车与最小总实际代价对应的自动搬运车交换搬运任务。
可以理解的是,在对预分配方案进行调整的过程中,每次计算总实际代价可能需要执行1-2次路径规划。其中,若第一自动搬运车的待交换对象未被分配任务,就需进行1次路径规划;若第一自动搬运车的待交换对象已被分配任务,需进行2次路径规划。假如总共有N辆自动搬运车,第一自动搬运车需要与所有其他自动搬运车进行交换尝试,并计算所有交换尝试后的总实际代价,这样总共就需要额外进行(N-1~2N-2)次路径规划。并且在最差的情况下,每台自动搬运车执行预分配的任务的实际代价与估计代价的偏差均大于第一阈值,即每台自动搬运车都需要与其他自动搬运车进行交换任务尝试,此时总共需要进行(N2-N~2N2-2N),算法时间复杂度为O(N2)。当然,可以理解的是,在最理想情况下,每台自动搬运车执行预分配的任务的实际代价与估计代价的偏差均小于第一阈值,可以不需要对预分配方案进行调整,可以将预分配方案作为最终分配方案,此时一共需要进行N次路径规划,算法时间复杂度为O(N)。
因此,为尽量减少路径规划次数,降低算法时间复杂度,可以在每次执行路径规划并计算出路径距离后,可以将通过路径距离计算得到的实际代价存储起来,以便下次需要用到通过该路径距离计算得到的实际代价时可以直接取用。例如,执行了自动搬运车A完成搬运任务1的路径规划,并通过规划出的路径计算出路径距离,进而计算并存储自动搬运车A完成搬运任务1的实际代价,此后如需使用自动搬运车A完成搬运任务1的实际代价就可直接取用,无需再次执行自动搬运车A完成搬运任务1的路径规划,可以减少路径规划次数。较为方便的是,可以建立实际代价矩阵,可以将计算过的实际代价填入到实际代价矩阵中,便于后续取用。
另外,还可以通过另外一种方式减少路径规划次数,在对预分配方案进行调整的过程中,第一自动搬运车没有必要与其他所有自动搬运车进行交换尝试,可以与第一自动搬运车耗费较少的估计代价能够执行的搬运任务对应的自动搬运车进行交换尝试,降低计算总实际代价的次数,从而减少路径规划次数。并且自动搬运车可以仅与满足第一条件的自动搬运车进行交换尝试。其中,自动搬运车预分配到的任务被第一自动搬运车执行所耗费的估计代价小于第一自动搬运车执行自身预分配的任务的实际代价时,该自动搬运车满足第一条件。更进一步地,当需要对第一自动搬运车预分配的任务进行重新分配时,可以先计算其他每个自动搬运车分配的搬运任务被第一自动搬运车执行所耗费的估计代价,从所有其他自动搬运车取所耗费的估计代价最小的k个自动搬运车,然后再将k个自动搬运车中满足第一条件的自动搬运车作为待交换对象,接着让第一自动搬运车与每个待交换对象进行交换尝试,最终将第一自动搬运车与最小总实际代价对应的自动搬运车交换搬运任务。按所耗费的估计代价大小从所有其他自动搬运车中取最小的k个自动搬运车,并将k个自动搬运车中满足第一条件的部分作为待交换对象,以与第一自动搬运车进行交换尝试,可以极大的降低运算量,减少路径规划次数,使算法的时间复杂度被降至线性级O(N)。通过这种方式确认第一自动搬运车的交换对象,在最差的情况下,每台自动搬运车执行预分配的任务的实际代价与估计代价的偏差均大于第一阈值,即每台自动搬运车都需要与其他自动搬运车进行交换任务尝试,每次交换任务均只需考虑估计代价最小的k个自动搬运车,这样只需要进行k*(N-1)+N次路径规划,时间复杂度被降低至O(N),即通过选择估计代价最小的k个自动搬运车作为第一自动搬运车的待交换对象,可以极大地减少路径规划次数,降低时间复杂度。可以理解的是,可以将其他每个自动搬运车分配的搬运任务被第一自动搬运车执行所耗费的估计代价按大小排序,这样便于取所耗费的估计代价最小的k个自动搬运车。
当然,在其他实施方式中,第一自动搬运车可以与执行第一自动搬运车预分配的任务的估计代价较小的自动搬运车进行交换尝试。并且,第一自动搬运车可以仅与满足第二条件的自动搬运车进行交换尝试。其中,自动搬运车执行第一自动搬运车预分配的任务的估计代价小于第一自动搬运车执行自身预分配的任务的实际代价时,该自动搬运车满足第二条件。当然,也可计算所有其他自动搬运车执行第一自动搬运车预分配的任务的估计代价,然后在所有其他自动搬运车取执行估计代价(代指“执行第一自动搬运车预分配的任务的估计代价”)最小的k个自动搬运车,并将k个自动搬运车中满足第二条件的自动搬运车作为待交换对象。
在本实施方式中,可以通过每个自动搬运车与各个搬运任务的坐标距离计算出每个自动搬运车执行各个搬运任务的估计代价,这样后续可以通过估计代价将搬运任务一一预分配给自动搬运车,从而在任务预分配完成前可以不需要计算出每个自动搬运车执行各个搬运任务时所需要行驶的路径距离,进而在任务预分配完成前可以不进行路径规划,可以减少路径规划次数,完成预分配后,可以计算预分配方案中各个自动搬运车执行预分配的搬运任务时所需要行驶的路径距离,然后可以根据路径距离计算出实际代价,并将实际代价与估计代价进行比较确认预分配方案是否合理,然后可以根据实际代价与估计代价的实际偏差情况确认是否需要对预分配方案进行调整,这样在确认预分配方案后才需要进行路径规划,可以减少路径规划次数。
具体请参阅图2,图2是本申请将多个搬运任务分配至多个自动搬运车的方法第二实施方式的流程示意图。本实施方式将多个搬运任务分配至多个自动搬运车的方法包括以下步骤。
S201:计算每个自动搬运车与各个搬运任务的目标点的坐标距离。
在此之前,可以对地图进行初始化,建立区域工作空间地图,更新自动搬运车信息与搬运任务的目标点信息,遍历每个搬运任务对应的所有目标点,根据每台自动搬运车的任务信息,更新目标点的已占用容量。
S202:根据坐标距离确定每个自动搬运车执行各个搬运任务的估计代价。
具体地,可以将每个自动搬运车执行各个搬运任务的目标点的估计代价记载到估计代价矩阵中。
例如,搬运任务的数量为T,自动搬运车的数量为N,构建的估计代价距离如下所示:
S203:将各个自动搬运车对应的估计代价最小的搬运任务分配给各个自动搬运车。
将各个自动搬运车对应的估计代价最小的搬运任务分配给各个自动搬运车,以得到首次分配方案。
可以通过构建的估计代价矩阵进行搬运任务的首次分配,可以提高分配的效率。
在得到首次分配方案后,可以确认首次分配方案中每个搬运任务被分配到的自动搬运车的数量,可以根据每个搬运任务被分配到的自动搬运车的数量计算每个自动搬运车执行各个搬运任务的预分配估计代价。可以将每个自动搬运车执行各个搬运任务的预分配估计代价记载到预分配估计代价矩阵中。
例如,搬运任务的数量为T,自动搬运车的数量为N,构建的预分配估计代价距离如下所示:
S204:判断是否存在搬运任务被分配到至少两个自动搬运车。
因为可能存在至少两个自动搬运车对应的估计代价最小的搬运任务相同的情况,所以将各个自动搬运车对应的估计代价最小的搬运任务分配给各个自动搬运车,可能会存在一个搬运任务被分配到至少两个自动搬运车的情况。因此需要判断是否存在搬运任务被分配到至少两个自动搬运车,存在搬运任务被分配到至少两个自动搬运车,进入步骤S205;不存在搬运任务被分配到至少两个自动搬运车,可以将首次分配方案作为预分配方案,进入步骤S207。
S205:将搬运任务分配给对应的估计代价最小的自动搬运车,取消对应的估计代价非最小的自动搬运车所分配的搬运任务。
存在一搬运任务被分配到至少两个自动搬运车时,可以将该搬运任务分配给至少两个自动搬运车中执行该搬运任务估计代价最小的自动搬运车,并取消至少两个自动搬运车中执行该搬运任务估计代价非最小的自动搬运车所分配的搬运任务。
例如,搬运任务1被分配到自动搬运车1、自动搬运车2和自动搬运车3。自动搬运车1、自动搬运车2和自动搬运车3执行搬运任务1的估计代价为15000、10000、20000。就可将搬运任务1分配到估计代价最小的自动搬运车——自动搬运车2,并取消自动搬运车1和自动搬运车3所分配的搬运任务,之后可以重新给自动搬运车1和自动搬运车3分配搬运任务。
在一种实现场景中,因为搬运任务总数可能会少于自动搬运车总数,所以取消对应的估计代价非最小的自动搬运车所分配的搬运任务后,可以判断所有搬运任务是否都已被分配给自动搬运车,如所有搬运任务全都被分配给自动搬运车,将取消对应的估计代价非最小的自动搬运车所分配的搬运任务后确定的分配方案作为预分配方案,并进入步骤S207;如有部分搬运任务未被分配给自动搬运车,则进入步骤S206。
S206:将未被分配的搬运任务中对应的估计代价最小的分配给被取消分配的自动搬运车。
取消对应的估计代价非最小的自动搬运车所分配的搬运任务后,可以为被取消分配的自动搬运车分配其他任务。具体地,可以为被取消分配的自动搬运车分配未被分配的搬运任务中对应的估计代价最小的。
其中,为被取消分配的自动搬运车分配未被分配的搬运任务中对应的估计代价最小的步骤,可以包括:获取搬运任务被分配的自动搬运车的数量,根据搬运任务被分配的自动搬运车的数量计算被取消分配的自动搬运车执行各个搬运任务的预分配估计代价,将各个被取消分配的自动搬运车对应的预分配估计代价最小的搬运任务分配给各个被取消分配的自动搬运车。另外,可以通过构建的预分配估计代价矩阵为被取消分配的自动搬运车分配未被分配的搬运任务中对应的估计代价最小,便于实现搬运任务和自动搬运车的一一对应,提高运算效率。
当然,也可以通过其他实现方式执行“为被取消分配的自动搬运车分配未被分配的搬运任务中对应的估计代价最小”的步骤。
在一种实现场景中,在搬运任务总数不小于自动搬运车总数时,因为通过搬运任务被分配的自动搬运车的数量计算出预分配估计代价,可以将各个被取消分配的自动搬运车对应的预分配估计代价最小的搬运任务分配给各个被取消分配的自动搬运车后的分配方案确定为预分配方案。
在另一种实现场景中,在搬运任务总数小于自动搬运车总数时,将各个被取消分配的自动搬运车对应的预分配估计代价最小的搬运任务分配给各个被取消分配的自动搬运车,之后可以包括:若还是存在搬运任务被分配到至少两个自动搬运车;则将搬运任务分配给对应的估计代价最小的自动搬运车;取消对应的估计代价非最小的自动搬运车所分配的搬运任务,以得到最终的预分配方案。
其中,根据搬运任务被分配的自动搬运车的数量计算被取消分配的自动搬运车执行各个搬运任务的预分配估计代价,可以包括:将搬运任务被分配的自动搬运车的数量与容量系数的乘积作为第一值,可以将被取消分配的自动搬运车执行各个搬运任务的估计代价与第一值的和作为被取消分配的自动搬运车执行各个搬运任务的预分配估计代价。其中,容量系数不小于第二阈值。第二阈值可以是2000、5000或10000,当然不限于此,第二阈值的值可以根据实际情况进行调整。通过设置第一值可以增加被取消分配的自动搬运车执行已被分配的搬运任务的预分配估计代价,从而使得未被分配的搬运任务相比于已被分配的搬运任务更容易被分配到被取消分配的自动运输车,从而可以尽量避免出现同一个搬运任务被分配到多个自动搬运车的情况。
通过步骤S204-S206可以基于估计代价得到所有自动搬运车完成搬运任务总估计代价相对较小的分配方案,并且可以实现搬运任务与自动搬运车的一一对应,可以得到任务分配的全局最优解。
S207:计算预分配方案中各个自动搬运车执行预分配的搬运任务时所需要行驶的路径距离;
S208:根据路径距离计算预分配方案中各个自动搬运车执行预分配的搬运任务的实际代价;
S209:计算预分配方案中每一自动搬运车执行预分配的搬运任务的实际代价与估计代价的偏差。
S210:确认是否存在一自动搬运车对应的偏差大于第一阈值。
若存在,进入步骤S211;若不存在,进入步骤S212。
S211:若存在一自动搬运车对应的偏差大于第一阈值,则调整预分配方案,得到最终分配方案。
S212:将预分配方案作为最终分配方案。
S213:按照最终分配方案为自动搬运车分配任务。
另外,在相同的实验条件下对上述实施方式的分配方案进行进一步测试,如图3、图4、图5和图6所示,选取三块不同的测试地图(Map1为小地图,Map2为大地图,Map3地图中存在相邻节点对角线连接的情况)。每次试验均与随机位置设置100台自动搬运车与100个搬运任务,测试不同调整预分配方案的方法下任务分配的总代价与时间成本。不同调整预分配方案的方法中,Max代表调整预分配方案时会将第一自动搬运车与所有其他自动搬运车尝试换车的方案;CTP代表从所有其他自动搬运车取最小的k个自动搬运车,并将k个自动搬运车中满足第一条件或第二条件的车辆作为待交换对象的方案。测试结果表明:CTP方案(即减少待交换对象的数量)对最终分配方案的总实际代价影响不大,但可以显著减少路径规划次数与算法的计算负担。尤其是在Map2等规模较大的地图中,单次路径规划时间成本较大,减少路径规划次数可以显著减少算法的负担。因此可以考虑降低待交换对象的数量。
上述将多个搬运任务分配至多个自动搬运车的方法一般由多个搬运任务分配至多个自动搬运车的装置实现,因而本申请还提出一种多个搬运任务分配至多个自动搬运车的装置。请参阅图7,图7是本申请多个搬运任务分配至多个自动搬运车的装置一实施方式的结构示意图。本多个搬运任务分配至多个自动搬运车的装置10包括处理器12和存储器11;存储器11中存储有计算机程序,处理器12用于执行计算机程序以实现如上述将多个搬运任务分配至多个自动搬运车的方法中的步骤。
上述将多个搬运任务分配至多个自动搬运车的方法的逻辑过程以计算机程序呈现,在计算机程序方面,若其作为独立的软件产品销售或使用时,其可存储在计算机存储介质中,因而本申请提出一种计算机存储介质。请参阅图8,图8是本申请计算机存储介质一实施方式的结构示意图,本实施方式计算机存储介质20中存储有计算机程序21,计算机程序被处理器执行时实现上述将多个搬运任务分配至多个自动搬运车的方法中的步骤。
该计算机存储介质20具体可以为U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory,)、磁碟或者光盘等可以存储计算机程序的介质,或者也可以为存储有该计算机程序的服务器,该服务器可将存储的计算机程序发送给其他设备运行,或者也可以自运行该存储的计算机程序。该计算机存储介质20从物理实体上来看,可以为多个实体的组合,例如多个服务器、服务器加存储器、或存储器加移动硬盘等多种组合方式。
以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。