CN106982139A - 一种基于多机器人多任务的指派问题的方法及装置、用户设备 - Google Patents
一种基于多机器人多任务的指派问题的方法及装置、用户设备 Download PDFInfo
- Publication number
- CN106982139A CN106982139A CN201710168909.1A CN201710168909A CN106982139A CN 106982139 A CN106982139 A CN 106982139A CN 201710168909 A CN201710168909 A CN 201710168909A CN 106982139 A CN106982139 A CN 106982139A
- Authority
- CN
- China
- Prior art keywords
- flow
- robot
- optimal solution
- task
- expense
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Feedback Control In General (AREA)
- Manipulator (AREA)
Abstract
本发明实施例公开了一种基于多机器人多任务的指派问题的方法及装置、用户设备,该方法包括,通过将多机器人多任务的指派问题抽象为最小投资问题来解决,根据最小成本网络流算法建模并求得最优解;对于一般情况,即需要解决的问题规模很大的情况下,通过一般的Greedy算法来获取最优解。本实施例中提出的方法能通过计算机程序来处理较大规模的指派问题,并且对比O(m!)的时间复杂度来说,大大降低了时间复杂度。
Description
技术领域
本发明涉及计算机软件领域,尤其涉及一种基于多机器人多任务的指派问题的方法及装置、用户设备。
背景技术
在生活中经常遇到这样的问题,某单位需完成n项任务,恰好有m个人可承担这些任务。由于每个人精力有限只能完成一定数量的任务。于是产生应指派哪些人去完成哪些任务,使完成n项任务的总效率最高,或所需总时间最小的问题。
以上所描述的就是指派问题,指派问题是运筹学中的一个经典问题。在企业中,通常需要为多个任务进行人员指派。或者说,一个复杂的任务可以分为多个子任务,需要为这些子任务进行人员指派。这类问题的经典解法是,考虑员工完成各项任务的时间或者完成任务的损耗,建立矩阵,利用匈牙利算法找出一个效益最大的人员指派。匈牙利算法的流程如下:
第一步,使指派问题的系数矩阵经变换,在各行各列中都出现0元素;
(1)从系数矩阵的每行元素减去该行的最小元素;
(2)再从所得系数矩阵的每列元素中减去该列的最小元素。
第二步,进行试指派.若此时得到的mPn,应回到第一步,重新对系数矩阵进行变换。但要把第一步的过程改为:
(1)从系数矩阵的每列元素减去该列的最小元素;
(2)再从所得系数矩阵的每行元素中减去该行的最小元素。这样做就使得新矩阵的0元素比较多些。
第三步,再进入第二步进行试指派就可以得到最优解,利用前面的性质可以证明这个最优解就是我们所要求的原问题的最优解。
匈牙利算法主要适用于问题规模不大时进行手工计算,难于编程在计算机上实现。指派问题有着十分广泛的应用,它可用于建立某些决策支持系统。
发明内容
本发明实施例公开了一种基于多机器人多任务的指派问题的方法及装置、用户设备,能通过计算机程序来处理较大规模的指派问题,并且能降低时间复杂度。
本发明实施例第一方面公开一种基于多机器人多任务的指派问题的方法,包括:
获取任务指派信息,其中,所述任务指派信息包括m个机器人,n项任务,每项任务至少需要p个机器人去完成,每个机器人最多完成q项任务;
判断所述任务指派信息中,机器人的移动距离是否为不依赖起点只依赖任务的情况;
如果判断出机器人的移动距离不依赖起点只依赖任务,则根据最小成本网络流算法建模;
根据所述最小成本网络流算法建模获取最优解。
作为一种可选的实施方式,在本发明实施例第一方面中,在判断所述任务指派信息中,机器人的移动距离是否为不依赖起点只依赖任务的情况的步骤之后,所述方法还包括:
如果判断出机器人的移动距离不是不依赖起点只依赖任务的情况时,则根据贪心算法获取最优解。
作为一种可选的实施方式,在本发明实施例第一方面中,所述根据最小成本网络流算法建模获取最优解的步骤包括:
获取当前网络最大流;
根据边费用判断是否能在流量平衡的前提下通过调整边流量,使总费用得以减少;
如果是,则对所述边流量进行调整,获取新的最大流,直至不能继续调整;
如果否,则当前网络最大流和对应的边费用即为最优解。
作为一种可选的实施方式,在本发明实施例第一方面中,所述根据最小成本网络流算法建模获取最优解的步骤包括:
获取初始流,所述初始流为所有流链中费用最小;
判断是否能寻找一条自源点至汇点的增流链,使得所述增流链为所有增流链中费用最小;
如果否,则所述初始流和对应的边费用即为最优解;
如果是,则将所述增流链作为新的初始流继续查找新的增流链,直至获取最优解。
作为一种可选的实施方式,在本发明实施例第一方面中,根据贪心算法获取最优解的步骤包括:
在未定序的机器人中,逐个获取机器人在未完成的任务节点中完成Q项任务需要走的最短路径,所述最短路径为对应机器人的定序;
当将一个机器人定序时,判断是否有任务节点已经被P个机器人执行;
如果是,则将该任务节点标记为已完成;
直到将所有机器人定序时,得到最优解。
本发明实施例第二方面公开一种基于多机器人多任务的指派问题的装置,包括:
任务指派信息获取模块,用于获取任务指派信息,其中,所述任务指派信息包括m个机器人,n项任务,每项任务至少需要p个机器人去完成,每个机器人最多完成q项任务;
判断模块,用于判断所述任务指派信息中,机器人的移动距离是否为不依赖起点只依赖任务的情况;
建模模块,用于当判断模块判断出机器人的移动距离不依赖起点只依赖任务,则根据最小成本网络流算法建模;
最优解获取模块,用于根据所述最小成本网络流算法建模获取最优解。
作为一种可选的实施方式,在本发明实施例第二方面中,所述最优解获取模块包括:
最大流获取单元,用于获取当前网络最大流;
判断单元,用于根据边费用判断是否能在流量平衡的前提下通过调整边流量,使总费用得以减少;
边流量调整单元,用于当判断模块判断出能在流量平衡的前提下通过调整边流量,使总费用得以减少时,对所述边流量进行调整,获取新的最大流;
最优解获取单元,当判断单元判断出不能在流量平衡的前提下通过调整边流量,使总费用得以减少时,当前网络最大流和对应的边费用即为最优解。
作为一种可选的实施方式,在本发明实施例第二方面中,所述最优解获取模块包括:
初始流获取单元,用于获取初始流,所述初始流为所有流链中费用最小;
判断单元,用于判断是否能寻找一条自源点至汇点的增流链,使得所述增流链为所有增流链中费用最小;
增流链查找单元,用于当判断单元判断出能寻找一条自源点至汇点的增流链,使得所述增流链为所有增流链中费用最小时,则将所述增流链作为新的初始流继续查找新的增流链,直至获取最优解;
最优解获取单元,当判断模块判断出不能寻找一条自源点至汇点的增流链,使得所述增流链为所有增流链中费用最小时,所述初始流和对应的边费用即为最优解。
作为一种可选的实施方式,在本发明实施例第二方面中,所述最优解获取模块还用于当判断模块判断出机器人的移动距离不是不依赖起点只依赖任务的情况时,根据贪心算法获取最优解;
其中,所述最优解获取模块包括:
定序单元,用于在未定序的机器人中,逐个获取机器人在未完成的任务节点中完成q项任务需要走的最短路径,所述最短路径为对应机器人的定序;
判断单元,用于当定序单元将一个机器人定序时,判断是否有任务节点已经被p个机器人执行;
标记单元,用于当判断单元判断出有任务节点已经被p个机器人执行时,将该任务节点标记为已完成;
最优解获取单元,用于当定序模块将所有机器人定序时,得到最优解。
本发明实施例第三方面公开一种用户设备,包括本发明实施例第二方面公开的所述基于多机器人多任务的指派问题的装置。
与现有技术相比,本发明实施例具备以下有益效果:
本发明实施例中,通过将多机器人多任务的指派问题抽象为最小投资问题来解决,根据最小成本网络流算法建模并求得最优解;对于一般情况,即需要解决的问题规模很大的情况下,通过一般的Greedy算法来获取最优解。本实施例中提出的方法能通过计算机程序来处理较大规模的指派问题,并且对比O(m!)的时间复杂度来说,大大降低了时间复杂度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种基于多机器人多任务的指派问题的方法的流程示意图;
图2是本发明实施例公开的另一种基于多机器人多任务的指派问题的方法的流程示意图;
图3是本发明实施例公开的另一种基于多机器人多任务的指派问题的方法的流程示意图;
图4是本发明实施例公开的一种基于多机器人多任务的指派问题的装置的逻辑结构示意图;
图5是本发明实施例公开的另一种基于多机器人多任务的指派问题的装置的逻辑结构示意图;
图6是本发明实施例公开的另一种基于多机器人多任务的指派问题的装置的逻辑结构示意图;
图7是本发明实施例公开的另一种基于多机器人多任务的指派问题的装置的逻辑结构示意图;
图8是本发明实施例中机器人的移动距离不依赖于起点而只依赖于任务的示意图;
图9是本发明实施例中基于最小成本网络流算法的示意图;
图10是本发明实施例中贪心指派算法示例图;
图11是本发明实施例公开的一种用户设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例公开了一种基于多机器人多任务的指派问题的方法及装置、用户设备,通过计算机程序来处理较大规模的指派问题,并且对比O(m!)的时间复杂度来说,大大降低了时间复杂度。
实施例一
请参阅图1,图1是本发明实施例公开的一种基于多机器人多任务的指派问题的方法的流程示意图。如图1所示,该基于多机器人多任务的指派问题的方法可以包括以下步骤:
101、获取任务指派信息;
获取任务指派信息,其中,该任务指派信息包括m个机器人,n项任务,每项任务至少需要p个机器人去完成,每个机器人最多完成q项任务;具体的,测度空间M上有一个点集,每两个点vi,vj之间定义了距离dij。在M中有n个不同的点上有任务,m个点上有机器人。每项任务至少需要p个机器人去完成,但为了不让每个机器人工作负载过大,要求每个机器人最多完成q项任务。机器人要参与完成任务,必须移动到现场,在一个点完成任务后再移动到下一个点(最多移动q个点)。要完成的任务没有优先级的区别。因此,每个机器人不但可以任意选择自己要完成的任务,而且可以任意选择完成的顺序和路径。每个机器人完成自己的工作后依优化的目标不同可以返回起始点也可以不返回起点,等待下一轮的工作。那么,优化的问题是:完成所有任务后,所有机器人移动的总距离最短,可以抽象为最小投资问题来解决。
102、判断任务指派信息中,机器人的移动距离是否为不依赖起点只依赖任务的情况;
对于最小投资问题,我们首先考虑这样的情况即机器人的移动的距离不依赖于起点,而只依赖于任务。比如完成一个任务要进行的投资,而不论前面的任务是如何完成的。图8显示的是满足这样条件的一个示例,图中两个机器人都要去完成位于点G的任务,机器人1无论从哪里走,完成任务都要55单位的投资,类似地机器人2无论怎么走完成同样的任务都要40单位的投资。
在获取任务指派信息后,首先判断任务指派信息中,机器人的移动距离是否为不依赖起点只依赖任务的情况,如果是,则执行步骤103,否则执行步骤105。
103、根据最小成本网络流算法建模;
如果步骤102中判断出任务指派信息中,机器人的移动距离为不依赖起点只依赖任务的情况,则,将本实施例中需要解决的问题进行优化后的问题是:在满足限制的条件下,投入总时间精力最小的分配方案。
具体的,在一个测度空间M上有一个点集,每两个点vi,vj之间定义了距离dij。现在M中有n个不同的点上有任务,m个点上有机器人,每个机器人Ai都附带一个向量,Vi=<ri1,...,rin>,rij,1≤i≤m,1≤j≤n表示Ai为完成j进行的投资。每个任务至少需要p个机器人去完成,每个机器人最多完成q项任务。即优化问题是:在满足限制条件下,完成所有任务后,机器人的投资总和最小。
本实施例中根据最小成本网络流算法进行建模,求得最优解。具体的:
为了处理的方便,本发明实施例对模型的条件进行了一些加强,主要在两个方面:一是对p,q的限制,我们假设是精确的p,q限制,没有最多和最少的要求,即每个任务要p个人才能完成,每个人最多干q项目任务。二是针对最短路径问题,假设没有两个机器人选择同一个任务集合。这两个限制对问题的本质没有影响。其次,在这两个限制条件下,我们先给出几个主要结果:
1.结果一:最小投资问题是P问题可以在O(mq(m+n)2)时间内求得最优解。
2.结果二:对多机器人指派问题一般形式的一个有效贪心(Greedy)算法。
对于这个问题,本实施例中总体思路是利用最小费用最大流网络来模型化这个问题并获得最优解。在一个网络中每段路径都有“容量”和”费用”两个限制的条件下,此类问题的研究试图寻找出:流量从起点到终点,如何选择路径、分配经过路径的流量,可以在流量最大的前提下,达到所用的费用最小的要求。
对于最小投资问题,我们构造如图9的网络流图,对每一个机器人节点,从源节点s流入q,边的费用是0,记为q/0.所以总的流入量是mq,费用是0。由于一个机器人完成某个任务所化的费用是一个固定值,无论他上一步任务在哪里,他到该任务的费用都等于他从出发点到该任务的费用(如图8所示),因此在流图中每个机器人i到每个任务j有一条容量为1边,表示该机器人可以完成那个任务,费用就是附带向量的相应元素rij。在第二层网络中,由于对每个机器人其流入量是q,而图中流出的管道(每个管道容量是1,即1/r11对应的管道)有m条,所以只能挑选其中的q流出。对于每一个任务节点,可以有多个管道流入,每一个管道流入量是1,因此,当流出量为p时,表示来自于p个机器人在完成这个任务,而第三层网络中总的流出到节点t的量为np,其中,n表示n个节点会有流入,也就是n个节点上会有任务。当mq≥np时,求出的最小费用网络流应该就对应我们要求的最优解,该解可以在O(mq(m+n)2)时间内求得。
104、根据最小成本网络流算法模型获取最优解;
建立模型后,根据最小成本网络流算法模型并获取最优解。解决最小成本最大流问题,一般有两条途径:一条途径是先用最大流算法算出最大流,然后根据边费用,检查是否能在流量平衡的前提下通过调整边流量,使总费用得以减少。只要有这个可能,就进行这样的调整。调整后,得到一个新的最大流。然后,在这个新流的基础上继续检查,调整。这样迭代下去,直至不能进行相应调整,便得到最小费用最大流。这一思路的特点是保持问题的可行性,即始终保持最大流,向最优推进。
另一条解决途径和前面介绍的最大流算法思路相类似,一般首先给出零流作为初始流。这个流的费用为零,当然是最小费用的。然后寻找一条源点至汇点的增流链,但要求这条增流链必须是所有增流链中费用最小的一条。如果能找出增流链,则在增流链上增流,得出新流。将这个流作为初始流看待,继续寻找增流链增流。这样迭代下去,直至找不出增流链,这时的流即为最小费用最大流。这一算法思路的特点是保持解的最优性,即每次得到的新流都是费用最小的流,而逐渐向可行解靠近,直至最大流时才是一个可行解。
105、根据贪心算法获取最优解;
对于一般情况,即如果步骤102中判断出任务指派信息中,机器人的移动距离不为不依赖起点只依赖任务的情况,则根据贪心算法获取最优解。
针对一般情况提出一个Greedy算法,这个算法具有最少的人员需求,但总的机器人移动距离与最优情况的差距还没找到,可以理解为接近最优解。算法的基本思想很简单,将所有的机器人排成一线,令每个机器人不断地沿q-length(即完成q个选择的任务走的路径)的最短路径找它要完成任务的节点。在找到一个节点后,将该节点计数。当q个节点处理过后,统一对任务图进行一次处理,即当某个任务有p个机器人工作时,将该任务标记为完成,节点连带其边从图中消去,消去后的图仍为全连接的减少任务后的任务图,基于此重新开始计算剩余每个机器人的q-length的最短路径,重复计算以上步骤直到所有机器人被处理完毕。图10是Greedy算法的一个例子,图中三个机器人以A,B,C的顺序沿选择的最短路径完成16个任务,每个任务最多两个机器人完成。特别注意的是B完成后,任务15的节点从图中消去,尽管C完成任务12后,按原图最短路劲也要完成15,但在新的减少任务后的任务图中,它下一个任务节点是1。总的机器人移动距离视为最优解。
在图1所描述的方法中,通过将多机器人多任务的指派问题抽象为最小投资问题来解决,根据最小成本网络流算法建模并求得最优解;对于一般情况,即需要解决的问题规模很大的情况下,通过一般的Greedy算法来获取最优解。本实施例中提出的方法能通过计算机程序来处理较大规模的指派问题,并且对比O(m!)的时间复杂度来说,大大降低了时间复杂度。
实施例二
请参阅图2,图2是本发明实施例公开的另一种基于多机器人多任务的指派问题的方法的流程示意图。如图2所示,该基于多机器人多任务的指派问题的方法可以包括以下步骤:
步骤201至步骤203同实施例一中步骤101至步骤103,此处不做赘述。
204、获取当前网络最大流;
获取当前网络最大流,首次获取时,先用最大流算法算出出最大流。
205、根据边费用判断是否能在流量平衡的前提下通过调整边流量,使总费用得以减少;
获取当前网络最大流后,再根据边费用,检查是否能在流量平衡的前提下通过调整边流量,使总费用得以减少,如果是,则执行步骤206,否则执行步骤207。
206、对边流量进行调整;
如果在步骤205中判断出能在流量平衡的前提下通过调整边流量,使总费用得以减少,则对边流量进行调整,调整后,得到一个新的最大流,再返回执行步骤204,在这个新流的基础上继续检查,调整。这样迭代下去,直至无调整可能,便得到最小费用最大流,即求得最优解。
207、求得最优解;
当调整到能在流量平衡的前提下通过调整边流量,使总费用得以减少的情况时,得到的最小费用最大流即为最优解。
208、判断是否将所有机器人定序;
对于一般情况,即如果步骤202中判断出任务指派信息中,机器人的移动距离不为不依赖起点只依赖任务的情况,则根据贪心算法获取最优解。
每个机器人执行任务时的q-length,即完成q个选择的任务走的路径的最短路径,即为该机器人的定序。先判断是否将所有机器人定序,如果是,则执行步骤207,求得最优解;如果否,则执行步骤209。
209、在未定序的机器人中,逐个获取机器人在未完成的任务节点中完成Q项任务需要走的最短路径;
如果步骤208中判断出未将所有机器人定序,则在未定序的机器人中,逐个获取机器人在未完成的任务节点中完成Q项任务需要走的最短路径。
210、当将一个机器人定序时,判断是否有任务节点已经被P个机器人执行;
对于O(m!)空间的搜索,我们建议用A*或Branch&Bound求最优,或用基因算法和模拟退火算法,比较一下解的质量和收敛速度。另外一个从性能上考虑还是基于Greedy算法来定序。
当将一个机器人定序时,判断是否有任务节点已经被P个机器人执行;具体的,在任务图中计算每个机器人的q-length的最短路径,然后,根据q-length的升序将所有的机器人排成一线,按此顺序一个一个走q-length的最短路,每走完一个就检查是否有任务被完成,没有就继续,如果有将该任务去掉,在减少任务后的任务图上重新计算剩余机器人的最短q-length,重复以上操作直到所有机器人定序完毕。图10是Greedy算法的一个例子,图中三个机器人以A,B,C的顺序沿选择的最短路径完成16个任务,每个任务最多两个机器人完成。特别注意的是B完成后,任务15的节点从图中消去,尽管C完成任务12后,按原图最短路劲也要完成15,但在新的减少任务后的任务图中,它下一个任务节点是1。总的机器人移动距离视为最优解。
211、将该任务节点标记为已完成;
当任务图中有任务已经被P个机器人执行时,将该任务节点标记为已完成。然后返回步骤208判断是否将所有机器人定序,直至所有机器人定序。
至于如何在完全图上求q-length最短路,可以基于广度优先搜索算法(Breadth-First-Search,BFS)来求解,具体的,针对一个机器人来说,每个机器人需要完成q项任务,那么找到这个机器人下一个要完成的任务的位置是算法的目的。初始化后,先遍历n个任务,而机器人要完成其中的q个任务,每一次i,k两个点的最短路等于i到k-1的最短路加上k-1到k的最短路,递归之后能得到这个机器人完成q个任务的最短路径,从而知道机器人下一个要走的任务结点。
下面是本实施例中例举的算法具体的伪代码:
由于是完全图,每一次递归都考虑了所有的节点。
其中,实施图2所描述的方法,将多机器人多任务的指派问题抽象为最小投资问题来解决,根据最小成本网络流算法建模并求得最优解;对于一般情况,即需要解决的问题规模很大的情况下,通过一般的Greedy算法来获取最优解。本实施例中提出的方法能通过计算机程序来处理较大规模的指派问题,并且对比O(m!)的时间复杂度来说,大大降低了时间复杂度。
实施例三
请参阅图3,图3是本发明实施例公开的另一种基于多机器人多任务的指派问题的方法的流程示意图。如图3所示,该基于多机器人多任务的指派问题的方法可以包括以下步骤:
步骤301至步骤303同实施例一中步骤101至步骤103,步骤308至步骤311同实施例二中步骤208至步骤211,此处不做赘述。
304、获取初始流;
获取零流作为初始流,这个流的费用为零,当然是最小费用的。
305、判断是否能寻找一条自源点至汇点的增流链,使得增流链为所有增流链中费用最小;
判断是否能寻找一条自源点至汇点的增流链,使得增流链为所有增流链中费用最小,如果是,则执行步骤306,否则执行步骤307。
306、将增流链作为新的初始流;
如果能寻找一条自源点至汇点的增流链,使得增流链为所有增流链中费用最小,则在增流链上增流,得出新流。返回步骤304,将这个流作为初始流看待,继续寻找增流链增流。这样迭代下去,直至找不出增流链。
307、求得最优解;
当不能再寻找条自源点至汇点的增流链,使得增流链为所有增流链中费用最小时,这时的流即为最小费用最大流,即求得最优解。
其中,实施图3所描述的方法,将多机器人多任务的指派问题抽象为最小投资问题来解决,根据最小成本网络流算法建模并求得最优解;对于一般情况,即需要解决的问题规模很大的情况下,通过一般的Greedy算法来获取最优解。本实施例中提出的方法能通过计算机程序来处理较大规模的指派问题,并且对比O(m!)的时间复杂度来说,大大降低了时间复杂度。
实施例四
请参阅图4,图4是本发明实施例公开的另一种基于多机器人多任务的指派问题的装置的逻辑结构示意图。如图4所示,该基于多机器人多任务的指派问题的装置可以包括:
任务指派信息获取模块401,用于获取任务指派信息,其中,任务指派信息包括m个机器人,n项任务,每个任务至少需要p个机器人去完成,每个机器人最多完成q项任务;具体的,测度空间M上有一个点集,每两个点vi,vj之间定义了距离dij。在M中有n个不同的点上有任务,m个点上有机器人。每项任务至少需要p个机器人去完成,但为了不让每个机器人工作负载过大,要求每个机器人最多完成q项任务。机器人要参与完成任务,必须移动到现场,在一个点完成任务后再移动到下一个点(最多移动q个点)。要完成的任务没有优先级的区别。因此,每个机器人不但可以任意选择自己要完成的任务,而且可以任意选择完成的顺序和路径。每个机器人完成自己的工作后依优化的目标不同可以返回起始点也可以不返回起点,等待下一轮的工作。那么,优化的问题是:完成所有任务后,所有机器人移动的总距离最短,可以抽象为最小投资问题来解决。
判断模块402,用于判断任务指派信息获取模块获取的任务指派信息中,机器人的移动距离是否为不依赖起点只依赖任务的情况;比如完成一个任务要进行的投资,而不论前面的任务是如何完成的。图8显示的是满足这样条件的一个示例,图中两个机器人都要去完成位于点G的任务,机器人1无论从哪里走,完成任务都要55单位的投资,类似地机器人2无论怎么走完成同样的任务都要40单位的投资。
建模模块403,用于当判断模块判断出机器人的移动距离不依赖起点只依赖任务,则根据最小成本网络流算法建模;具体如何建模详见实施例一的步骤103,此处不做赘述。
最优解获取模块404,用于根据最小成本网络流算法模型获取最优解;解决最小成本最大流问题,一般有两条途径:一条途径是先用最大流算法算出最大流,然后根据边费用,检查是否能在流量平衡的前提下通过调整边流量,使总费用得以减少。只要能进行调整,就进行这样的调整。调整后,得到一个新的最大流。然后,在这个新流的基础上继续检查,调整。这样迭代下去,直至不能再进行调整,便得到最小费用最大流。这一思路的特点是保持问题的可行性,即始终保持最大流,向最优推进。另一条解决途径和前面介绍的最大流算法思路相类似,一般首先给出零流作为初始流。这个流的费用为零,当然是最小费用的。然后寻找一条源点至汇点的增流链,但要求这条增流链必须是所有增流链中费用最小的一条。如果能找出增流链,则在增流链上增流,得出新流。将这个流作为初始流看待,继续寻找增流链增流。这样迭代下去,直至找不出增流链,这时的流即为最小费用最大流。这一算法思路的特点是保持解的最优性,即每次得到的新流都是费用最小的流,而逐渐向可行解靠近,直至最大流时才是一个可行解。
作为一种可选的实施方式,在图5所示的装置中,最优解获取模块包括:
最大流获取单元4041,用于获取当前网络最大流;
判断单元4042,用于根据边费用判断是否能在流量平衡的前提下通过调整边流量,使总费用得以减少;
边流量调整单元4043,用于当判断模块判断出能在流量平衡的前提下通过调整边流量,使总费用得以减少时,对所述边流量进行调整,获取新的最大流;
最优解获取单元4044,当判断单元判断出不能在流量平衡的前提下通过调整边流量,使总费用得以减少时,当前网络最大流和对应的边费用即为最优解。
作为一种可选的实施方式,在图6所示的装置中,最优解获取模块包括:
初始流获取单元4045,用于获取初始流,所述初始流为所有流链中费用最小;
判断单元4046,用于判断是否能寻找一条自源点至汇点的增流链,使得所述增流链为所有增流链中费用最小;
增流链查找单元4047,用于当判断单元判断出能寻找一条自源点至汇点的增流链,使得所述增流链为所有增流链中费用最小时,则将所述增流链作为新的初始流继续查找新的增流链,直至获取最优解;
最优解获取单元4048,当判断模块判断出不能寻找一条自源点至汇点的增流链,使得所述增流链为所有增流链中费用最小时,所述初始流和对应的边费用即为最优解。
作为一种可选的实施方式,在图7所示的装置中,最优解获取模块还用于当判断模块判断出机器人的移动距离不是不依赖起点只依赖任务的情况时,根据贪心算法获取最优解;其中,最优解获取模块包括:
定序单元4049,用于在未定序的机器人中,逐个获取机器人在未完成的任务节点中完成q项任务需要走的最短路径,所述最短路径为对应机器人的定序;
判断单元40410,用于当定序单元将一个机器人定序时,判断是否有任务节点已经被p个机器人执行;
标记单元40411,用于当判断单元判断出有任务节点已经被p个机器人执行时,将该任务节点标记为已完成;
最优解获取单元40412,用于当定序模块将所有机器人定序时,得到最优解。
本发明实施例中,任务指派信息获取模块获取指派信息,然后判断模块判断该任务指派信息中,机器人的移动距离是否为不依赖起点只依赖任务的情况;当机器人的移动距离为不依赖起点只依赖任务的情况时,建模模块根据最小成本网络流算法建模并由最优解获取模块获取最优解;当机器人的移动距离不为不依赖起点只依赖任务的情况时,最优解获取模块根据贪心算法获取最优解。本实施例中提出的方法能通过计算机程序来处理较大规模的指派问题,并且对比O(m!)的时间复杂度来说,大大降低了时间复杂度。
实施例五
请参阅图11,图11是本发明实施例公开的一种用户设备的结构示意图。其中,图11所示的用户设备包括图4~图7任意一种基于多机器人多任务的指派问题的装置。实施图11所示的用户设备,能够用计算机程序来替代手工计算,通过计算机程序来处理较大规模的指派问题,并且对比O(m!)的时间复杂度来说,大大降低了时间复杂度。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上对本发明实施例公开的一种基于多机器人多任务的指派问题的方法及装置、用户设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于多机器人多任务的指派问题的方法,其特征在于,包括:
获取任务指派信息,其中,所述任务指派信息包括m个机器人,n项任务,每项任务至少需要p个机器人去完成,每个机器人最多完成q项任务;
判断所述任务指派信息中,机器人的移动距离是否为不依赖起点只依赖任务的情况;
如果判断出机器人的移动距离不依赖起点只依赖任务,则根据最小成本网络流算法建模;
根据所述最小成本网络流算法建模获取最优解。
2.根据权利要求1所述的方法,其特征在于,所述判断任务指派信息中,机器人的移动距离是否为不依赖起点只依赖任务的情况的步骤之后还包括:
如果判断出机器人的移动距离不是不依赖起点只依赖任务的情况,则根据贪心算法获取最优解。
3.根据权利要求1所述的方法,其特征在于,所述根据最小成本网络流算法建模获取最优解的步骤包括:
获取当前网络最大流;
根据边费用判断是否能在流量平衡的前提下通过调整边流量,使总费用得以减少;
如果是,则对所述边流量进行调整,获取新的最大流,直至不能继续调整;
如果否,则当前网络最大流和对应的边费用即为最优解。
4.根据权利要求1所述的方法,其特征在于,所述根据最小成本网络流算法建模获取最优解的步骤包括:
获取初始流,所述初始流为所有流链中费用最小;
判断是否能寻找一条自源点至汇点的增流链,使得所述增流链为所有增流链中费用最小;
如果否,则所述初始流和对应的边费用即为最优解;
如果是,则将所述增流链作为新的初始流继续查找新的增流链,直至获取最优解。
5.根据权利要求2所述的方法,其特征在于,根据贪心算法获取最优解的步骤包括:
在未定序的机器人中,逐个获取机器人在未完成的任务节点中完成Q项任务需要走的最短路径,所述最短路径为对应机器人的定序;
当将一个机器人定序时,判断是否有任务节点已经被P个机器人执行;
如果是,则将该任务节点标记为已完成;
直到将所有机器人定序时,得到最优解。
6.一种基于多机器人多任务的指派问题的装置,其特征在于,包括:
任务指派信息获取模块,用于获取任务指派信息,其中,所述任务指派信息包括m个机器人,n项任务,每项任务至少需要p个机器人去完成,每个机器人最多完成q项任务;
判断模块,用于判断所述任务指派信息中,机器人的移动距离是否为不依赖起点只依赖任务的情况;
建模模块,用于当判断模块判断出机器人的移动距离不依赖起点只依赖任务,则根据最小成本网络流算法建模;
最优解获取模块,用于根据所述最小成本网络流算法建模获取最优解。
7.根据权利要求6所述的装置,其特征在于,所述最优解获取模块包括:
最大流获取单元,用于获取当前网络最大流;
判断单元,用于根据边费用判断是否能在流量平衡的前提下通过调整边流量,使总费用得以减少;
边流量调整单元,用于当判断模块判断出能在流量平衡的前提下通过调整边流量,使总费用得以减少时,对所述边流量进行调整,获取新的最大流;
最优解获取单元,当判断单元判断出不能在流量平衡的前提下通过调整边流量,使总费用得以减少时,当前网络最大流和对应的边费用即为最优解。
8.根据权利要求6所述的装置,其特征在于,所述最优解获取模块包括:
初始流获取单元,用于获取初始流,所述初始流为所有流链中费用最小;
判断单元,用于判断是否能寻找一条自源点至汇点的增流链,使得所述增流链为所有增流链中费用最小;
增流链查找单元,用于当判断单元判断出能寻找一条自源点至汇点的增流链,使得所述增流链为所有增流链中费用最小时,则将所述增流链作为新的初始流继续查找新的增流链,直至获取最优解;
最优解获取单元,当判断模块判断出不能寻找一条自源点至汇点的增流链,使得所述增流链为所有增流链中费用最小时,所述初始流和对应的边费用即为最优解。
9.根据权利要求1所述的装置,其特征在于,所述最优解获取模块还用于当判断模块判断出机器人的移动距离不是不依赖起点只依赖任务的情况时,根据贪心算法获取最优解;
其中,所述最优解获取模块包括:
定序单元,用于在未定序的机器人中,逐个获取机器人在未完成的任务节点中完成q项任务需要走的最短路径,所述最短路径为对应机器人的定序;
判断单元,用于当定序单元将一个机器人定序时,判断是否有任务节点已经被p个机器人执行;
标记单元,用于当判断单元判断出有任务节点已经被p个机器人执行时,将该任务节点标记为已完成;
最优解获取单元,用于当定序模块将所有机器人定序时,得到最优解。
10.一种用户设备,其特征在于,包括权利要求6~权利要求9任意一项所述的基于多机器人多任务的指派问题的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710168909.1A CN106982139B (zh) | 2017-03-21 | 2017-03-21 | 一种基于多机器人多任务的指派问题的方法及装置、用户设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710168909.1A CN106982139B (zh) | 2017-03-21 | 2017-03-21 | 一种基于多机器人多任务的指派问题的方法及装置、用户设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106982139A true CN106982139A (zh) | 2017-07-25 |
CN106982139B CN106982139B (zh) | 2020-08-25 |
Family
ID=59338897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710168909.1A Active CN106982139B (zh) | 2017-03-21 | 2017-03-21 | 一种基于多机器人多任务的指派问题的方法及装置、用户设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106982139B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108537619A (zh) * | 2018-03-05 | 2018-09-14 | 新智数字科技有限公司 | 一种基于最大流算法的任务分配方法、装置及设备 |
CN108804664A (zh) * | 2018-06-08 | 2018-11-13 | 北京搜狗科技发展有限公司 | 一种问题分发方法及相关装置 |
CN109426884A (zh) * | 2017-08-28 | 2019-03-05 | 杭州海康机器人技术有限公司 | 分配方案确定方法、装置及计算机可读存储介质 |
CN109426560A (zh) * | 2017-08-28 | 2019-03-05 | 杭州海康机器人技术有限公司 | 任务分配方法、装置及计算机可读存储介质 |
CN109447471A (zh) * | 2018-10-30 | 2019-03-08 | 北京理工大学 | 一种多机器人多区域协同搜索任务分配方法 |
CN110309993A (zh) * | 2018-03-27 | 2019-10-08 | 杭州海康机器人技术有限公司 | 一种自动导引运输车agv任务分配方法及装置 |
CN110516940A (zh) * | 2019-08-15 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 任务分配方法及装置 |
CN111291930A (zh) * | 2020-01-21 | 2020-06-16 | 北京猎户星空科技有限公司 | 任务分配方法、装置以及计算设备、存储介质 |
CN111582804A (zh) * | 2020-05-28 | 2020-08-25 | 中国人民解放军军事科学院国防科技创新研究院 | 一种无人驾驶运输装置的任务分配方法 |
CN112936300A (zh) * | 2021-01-27 | 2021-06-11 | 深圳市华成工业控制股份有限公司 | 冲压机器人通信方法及系统 |
CN112966976A (zh) * | 2021-03-31 | 2021-06-15 | 英特尔产品(成都)有限公司 | 用于调度生产设备的生产的方法和装置 |
CN114779795A (zh) * | 2022-06-21 | 2022-07-22 | 山东金宇信息科技集团有限公司 | 一种基于轨道机器人的事故疏通方法、设备及介质 |
WO2024078096A1 (zh) * | 2022-10-11 | 2024-04-18 | 华为技术有限公司 | 针对网络流问题的处理方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3582653B2 (ja) * | 2001-05-17 | 2004-10-27 | 松下電器産業株式会社 | 部品実装順序最適化方法、その装置及び部品実装機 |
CN106056214A (zh) * | 2016-05-18 | 2016-10-26 | 西北工业大学 | 一种面向移动群体感知的多任务工作者选择方法 |
-
2017
- 2017-03-21 CN CN201710168909.1A patent/CN106982139B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3582653B2 (ja) * | 2001-05-17 | 2004-10-27 | 松下電器産業株式会社 | 部品実装順序最適化方法、その装置及び部品実装機 |
CN106056214A (zh) * | 2016-05-18 | 2016-10-26 | 西北工业大学 | 一种面向移动群体感知的多任务工作者选择方法 |
Non-Patent Citations (3)
Title |
---|
LINZHI LUO, ET. AL.: "Multi-Robot Assignment Algorithm for Tasks with Set Precedence Constraints", 《2011 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION》 * |
卫三军: "自动化立体仓库作业优化与监控技术研究", 《中国优秀硕士学位论文全文数据库(电子期刊)·信息科技辑》 * |
章小卫: "基于MAS的应急系统任务调度问题研究", 《中国优秀硕士学位论文全文数据库(电子期刊)•信息科技辑》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109426884B (zh) * | 2017-08-28 | 2022-02-11 | 杭州海康机器人技术有限公司 | 分配方案确定方法、装置及计算机可读存储介质 |
CN109426884A (zh) * | 2017-08-28 | 2019-03-05 | 杭州海康机器人技术有限公司 | 分配方案确定方法、装置及计算机可读存储介质 |
CN109426560A (zh) * | 2017-08-28 | 2019-03-05 | 杭州海康机器人技术有限公司 | 任务分配方法、装置及计算机可读存储介质 |
CN108537619A (zh) * | 2018-03-05 | 2018-09-14 | 新智数字科技有限公司 | 一种基于最大流算法的任务分配方法、装置及设备 |
CN110309993A (zh) * | 2018-03-27 | 2019-10-08 | 杭州海康机器人技术有限公司 | 一种自动导引运输车agv任务分配方法及装置 |
CN110309993B (zh) * | 2018-03-27 | 2022-04-05 | 杭州海康机器人技术有限公司 | 一种自动导引运输车agv任务分配方法及装置 |
CN108804664A (zh) * | 2018-06-08 | 2018-11-13 | 北京搜狗科技发展有限公司 | 一种问题分发方法及相关装置 |
CN109447471A (zh) * | 2018-10-30 | 2019-03-08 | 北京理工大学 | 一种多机器人多区域协同搜索任务分配方法 |
CN109447471B (zh) * | 2018-10-30 | 2021-03-23 | 北京理工大学 | 一种多机器人多区域协同搜索任务分配方法 |
CN110516940A (zh) * | 2019-08-15 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 任务分配方法及装置 |
CN111291930A (zh) * | 2020-01-21 | 2020-06-16 | 北京猎户星空科技有限公司 | 任务分配方法、装置以及计算设备、存储介质 |
CN111582804A (zh) * | 2020-05-28 | 2020-08-25 | 中国人民解放军军事科学院国防科技创新研究院 | 一种无人驾驶运输装置的任务分配方法 |
CN112936300A (zh) * | 2021-01-27 | 2021-06-11 | 深圳市华成工业控制股份有限公司 | 冲压机器人通信方法及系统 |
CN112936300B (zh) * | 2021-01-27 | 2023-09-12 | 深圳市华成工业控制股份有限公司 | 冲压机器人通信方法及系统 |
CN112966976A (zh) * | 2021-03-31 | 2021-06-15 | 英特尔产品(成都)有限公司 | 用于调度生产设备的生产的方法和装置 |
CN114779795A (zh) * | 2022-06-21 | 2022-07-22 | 山东金宇信息科技集团有限公司 | 一种基于轨道机器人的事故疏通方法、设备及介质 |
CN114779795B (zh) * | 2022-06-21 | 2022-09-20 | 山东金宇信息科技集团有限公司 | 一种基于轨道机器人的事故疏通方法、设备及介质 |
WO2024078096A1 (zh) * | 2022-10-11 | 2024-04-18 | 华为技术有限公司 | 针对网络流问题的处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106982139B (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106982139A (zh) | 一种基于多机器人多任务的指派问题的方法及装置、用户设备 | |
Bertsimas et al. | Asymptotically optimal algorithms for job shop scheduling and packet routing | |
Bertsekas | Rollout algorithms for discrete optimization: A survey | |
Musharavati et al. | Enhanced simulated-annealing-based algorithms and their applications to process planning in reconfigurable manufacturing systems | |
Dobrev et al. | Online graph exploration with advice | |
US8250007B2 (en) | Method of generating precedence-preserving crossover and mutation operations in genetic algorithms | |
Iordache | Consultant-guided search: a new metaheuristic for combinatorial optimization problems | |
Christodoulou | Scheduling resource-constrained projects with ant colony optimization artificial agents | |
CN110134146A (zh) | 一种不确定环境下的分布式多无人机任务分配方法 | |
Foerster et al. | Lower and upper competitive bounds for online directed graph exploration | |
Shayanfar et al. | Prioritizing interrelated road projects using metaheuristics | |
CN106228265A (zh) | 基于改进粒子群优化的总拖期运输计划调度算法 | |
Davendra et al. | Complex network analysis of discrete self-organising migrating algorithm | |
Pathak et al. | Traveling salesman problem using bee colony with SPV | |
Christodoulou | Entropy-based heuristic for resource-constrained project scheduling | |
Marzouki et al. | Decentralized Tabu searches in multi agent system for distributed and flexible job shop scheduling problem | |
CN110233763B (zh) | 一种基于时序差分学习的虚拟网络嵌入算法 | |
US20060294073A1 (en) | Constrained exploration for search algorithms | |
Lančinskas et al. | Parallel optimization algorithm for competitive facility location | |
Megahed et al. | A combined interactive approach for solving E-convex multiobjective nonlinear programming problem | |
Zheng | Multi-mode discrete time-cost-environment trade-off problem of construction systems for large-scale hydroelectric projects | |
Salonga et al. | An unconstrained minimization technique using successive implementations of golden search algorithm | |
Singh | Mathematical Models, Heuristics and Algorithms for Efficient Analysis and Performance Evaluation of Job Shop Scheduling Systems Using Max-Plus Algebraic Techniques | |
CN116050499B (zh) | 一种模型并行训练中的自适应模型划分方法、系统及设备 | |
Eydi et al. | A multi-objective resource-constrained project scheduling problem with time lags and fuzzy activity durations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |