CN111832725A - 一种基于改进遗传算法的多机器人多任务分配方法及装置 - Google Patents
一种基于改进遗传算法的多机器人多任务分配方法及装置 Download PDFInfo
- Publication number
- CN111832725A CN111832725A CN201910300086.2A CN201910300086A CN111832725A CN 111832725 A CN111832725 A CN 111832725A CN 201910300086 A CN201910300086 A CN 201910300086A CN 111832725 A CN111832725 A CN 111832725A
- Authority
- CN
- China
- Prior art keywords
- chromosome
- population
- chromosomes
- parent
- robot
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Development Economics (AREA)
- Molecular Biology (AREA)
- Educational Administration (AREA)
- Genetics & Genomics (AREA)
- Game Theory and Decision Science (AREA)
- Physiology (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
本发明涉及机器人任务分配算法技术领域,提供了一种基于改进遗传算法的多机器人多任务分配方法及装置,方法包括,建立消耗代价模型;构建初始种群;以当前初始种群中的染色体作为父代染色体进行基因交叉处理,形成第二种群;淘汰第二种群中一半染色体,形成第三种群;对第三种群进行变异处理,生成第四种群并作为新的初始种群;根据消耗代价模型计算第四种群中每个染色体的代价值,获取代价值最小的染色体,重复迭代,直至满足收敛条件,输出最佳分配方案。本发明在交叉过程中保证交叉后的基因无冲突,交叉后同时保留父代及子代而不直接淘汰父代种群,能最大程度的保留最佳个体,无需大量的计算量,有效降低了计算量的开销。
Description
技术领域
本发明属于机器人任务分配算法技术领域,具体地说,涉及一种基于改进遗传算法的多机器人多任务分配方法及装置。
背景技术
目前,随着多机器人技术的发展,多机器人技术已经被越来越广泛地应用在工业、军事、物流仓储等各个行业中,在多机器人技术中,多机器人执行任务要比传统的单机器人执行任务效率更高,完成效果更好。多机器人技术中,多机器人多任务分配问题一直是很大一个难点,多机器人多任务问题可以理解为同时有多个机器人、多项任务,如何将它们配对,使得各机器人完成各个任务的整体代价最小。
目前常用的分配方法包括全排列枚举法及蚁群算法,但是,全排列枚举法需要将m项任务m台机器人的所有配对方式都列举出来,然后针对每一种配对方式算出对应的代价,选择代价最小的分配方案,采用此方法,算法时间复杂度高,用时长,并不适用于大规模的多机器人多任务分配;
蚁群算法适合于“图”上的搜索问题,计算开销巨大,更适合于单机器人多任务问题的求解,用在多机器人多任务分配问题上效率极低,且蚁群算法容易陷入局部最优,并不是全局最优,即并不是全部方案中的最佳方案。
发明内容
针对现有技术中上述的不足,本发明的目的在于提供一种基于改进遗传算法的多机器人多任务分配方法及装置,本发明通过改进的遗传算法,对个体执行交叉、变异,能最大程度保留最优个体,能有效的保证输出的分配方案为最佳分配方案。
为了达到上述目的,本发明采用的解决方案是:
具体的,一种基于改进遗传算法的多机器人多任务分配方法,包括:
S1.建立机器人执行对应任务的消耗代价模型;
S2.构建初始种群,所述初始种群中包括N个染色体,N为偶数;所述初始种群中的每个染色体均包括与机器人数量对应的任务,且每个任务由不同的机器人完成;
S3.以当前初始种群中的染色体作为父代染色体进行基因交叉处理,生成与所述父代染色体一一对应的子代染色体并将所有父代染色体与所有所述子代染色体合并形成第二种群;
S4.通过预设淘汰方法淘汰掉所述第二种群中一半染色体,形成第三种群;
S5.对所述第三种群进行变异处理,生成第四种群,并以第四种群作为新的初始种群;
S6.根据所述消耗代价模型计算所述第四种群中每个染色体的代价值,获取代价值最小的染色体,执行步骤S3,直至满足收敛条件,输出最佳分配方案。
其中,任务属于集合M={M1,M2,......,Mj},机器人属于集合Rob={Rob1,Rob2,......,Robi}。
进一步的,所述初始种群的构建包括,通过遗传算法编码规则对所述染色体进行编码,生成随机规模的所述初始种群;所述染色体由任务及机器人组成,其中,染色体第一行为所有任务按顺序全排列,第二行为根据机器人集合为每个任务随机分配对应的机器人,且每个机器人至少被选择一次。
进一步的,所述基因交叉处理为两点定位基因段交叉处理,具体过程为:
随机选择一对未进行交叉处理的所述父代染色体进行交叉,分别记为第一父代染色体和第二父代染色体;
随机选取所述第一父代染色体的两个交叉点,以两个交叉点之间的基因段作为待交叉基因段,查找所述第二父代染色体中与第一父代染色体待交叉基因段的第二行相同的基因,将第一父代染色体的待交叉基因段中的基因第二行与与其第二行相同的第二父代染色体中对应基因的第二行进行相互替换,将第一父代染色体待交叉基因段中所有基因第二行替换与第二父代染色体对应的基因第二行全部替换后,第一父代染色体生成它的子代染色体第一子代染色体,第二父代染色体生成它的子代染色体第二子代染色体;
重复上述过程,直至所有父代染色体均生成对应的子代染色体。
进一步的,所述基因交叉处理为循环交叉处理,具体过程为:
随机选择一对未进行交叉处理的所述父代染色体进行交叉,分别记为第三父代染色体和第四父代染色体;
随机在所述第三父代染色体上选取两个交叉点,并在所述第四父代染色体上的相同位置选择两个对应的交叉点,使得第三父代染色体的待交叉基因段与第四父代染色体的待交叉基因段的第一行相同;
将第三父代染色体的待交叉基因段与第四父代染色体的待交叉基因段中第一行相同的两个基因的第二行进行相互替换,并建立对应的映射关系,直至第三父代染色体的待交叉基因段与第四父代染色体的待交叉基因段的第二行全部替换完成,生成对应的映射关系集,第三父代染色体生成其子代染色体第三子代染色体,第四父代染色体生成其子代染色体第四子代染色体;
分别对第三子代染色体及第四子代染色体进行冲突检测,若第三子代染色体或第四子代染色体中存在相同的第二行,则根据所述映射关系集对相同的第二行进行替换,直至不存在相同的第二行;
重复上述过程,直至所有父代染色体均生成对应的子代染色体。
进一步的,所述步骤S4包括:
根据所述消耗代价模型获取所述第二种群中所有所述父代染色体及所述子代染色体的适应度,并按预设淘汰方法淘汰适应度低的一半染色体,形成第三种群;其中,所述消耗代价模型得到的代价值越小,适应度越高,反之,适应度越低。
进一步的,所述步骤S5具体过程为:
通过所述消耗代价模型得到所述第三种群中所有染色体的代价值并获取所有代价值中的最小值,随机选择所述第三种群中的染色体并将其代价值与得到的最小值进行比较,若大于最小值,则发生变异,若等于最小值,则不发生变异,形成第四种群,并以第四种群作为新的初始种群。
进一步的,变异具体过程为,在待发生变异的染色体上随机选择两个变异点,将两个变异点的基因第二行进行相互替换,完成变异。
进一步的,所述收敛条件为,获取到的代价值最小的染色体为相同染色体的次数达到预设次数时,满足收敛条件,停止迭代。
具体的,一种基于改进遗传算法的多机器人多任务分配装置,包括:
计算模块,用于建立机器人执行对应任务的消耗代价模型并执行代价值的计算;
种群构建模块,用于构建初始种群,所述初始种群中包括N个染色体,N为偶数,初始种群中的每个染色体均包括与机器人数量对应的任务,且每个任务由不同的机器人完成;
交叉处理模块,用于以当前初始种群中的染色体作为父代染色体进行基因交叉处理,生成与所述父代染色体一一对应的子代染色体并将所有父代染色体与所有所述子代染色体合并形成第二种群;
淘汰模块,用于通过预设淘汰方法淘汰掉所述第二种群中一半染色体,形成第三种群;
变异模块,用于对所述第三种群进行变异处理,生成第四种群,其中,第四种群作为下一次迭代的新的初始种群;
判断模块,用于判断系统是否满足收敛条件;
输出模块,用于系统当满足收敛条件时输出最佳分配方案。
本发明的有益效果是:
通过对种群中的个体采用不重复的编码模式,交叉过程中保证交叉后的基因无冲突,交叉后同时保留父代及子代,再根据适应度进行淘汰而不直接淘汰父代种群,使得能够最大程度的保留最佳个体,有效提高了输出的方案为最佳分配方案的概率,同时,初始种群通过迭代更新,与现有技术相比,无需大量的计算量,有效降低了计算量的开销。
附图说明
图1为本发明较佳实施例1提供的一种基于改进遗传算法的多机器人多任务分配方法流程图;
图2为本发明较佳实施例1提供的两点定位交叉处理示意图;
图3为本发明较佳实施例1提供的变异处理示意图;
图4为本发明较佳实施例1提供的一种基于改进遗传算法的多机器人多任务分配装置结构示意框图;
图5为本发明较佳实施例2提供的循环交叉处理示意图;
图6为本发明较佳实施例2提供的基因冲突检测示意图。
附图标记说明:100-分配装置本体;101-计算模块;102-种群构建模块;103-交叉处理模块,104-淘汰模块,105-变异模块,106-判断模块,107-输出模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述。实施例中未注明具体条件者,按照常规条件或制造商建议的条件进行。所用试剂或仪器未注明生产厂商者,均为可以通过市售购买获得的常规产品。
下面对本发明实施例提供的一种基于改进遗传算法的多机器人多任务分配方法及装置进行具体说明。
实施例1
参照图1,一种基于改进遗传算法的多机器人多任务分配方法,包括:
S1.建立机器人执行对应任务的消耗代价模型作为目标函数;
目标函数为,Mj表示有j项任务,Robi表示有i个机器人,任务属于集合M={M1,M2,......,Mj},机器人属于集合Rob={Rob1,Rob2,......,Robi},每项任务对应一个机器人,n表示一共有n对任务与对应机器人的组合,i=j=n,i、j及n均为大于1的正整数。
S2.构建初始种群,初始种群中包括N个染色体,N为偶数,保证对染色体执行交叉处理时能使得所有父代染色体都能进行交叉处理;初始种群中的每个染色体均包括与机器人数量对应的任务,且每个任务由不同的机器人完成。
初始种群的具体构建方法包括,通过遗传算法编码规则对染色体进行编码,本实施例采用实数编码,以j项任务的序号为基准生成1至j的实数代表该任务对应的机器人序号,如数组[1,3,2,4,5]代表第一项任务由1号机器人完成,第二项任务由第三台机器人完成,以此类推,即每个染色体可看作包括两行数据,第一行为任务,第二行为机器人,每个染色体包括多个基因,每个基因包括一个任务及对应的机器人,按此编码规则生成包括随机偶数个数的染色体的初始种群;具体的,每个染色体均由任务及机器人组成,其中,染色体第一行为所有任务按顺序全排列,第二行为根据机器人集合为每个任务随机分配对应的机器人,且每个机器人至少被选择一次,由于i=j,则初始种群中的每个染色体实际上就是一个多机器人多任务的一个分配方案。
构建好初始种群后,初始化参数,参数包括迭代次数m,交叉概率Pc及变异概率PM,迭代次数m,交叉概率Pc及变异概率PM均可根据实际情况进行设定、调整。
S3.以当前初始种群中的染色体作为父代染色体进行基因交叉处理,生成与父代染色体一一对应的子代染色体并将所有父代染色体与所有子代染色体合并形成第二种群。
本实施例中,基因交叉处理采用两点定位基因段交叉处理方法,具体过程如下:
随机选择一对未进行交叉处理的父代染色体进行交叉,分别记为第一父代染色体和第二父代染色体,参照图2,第一父代染色体为[1,2,3,4,5,6,7,8,9,10],第二父代染色体为[3,5,2,4,10,8,9,7,1,6];
随机选取第一父代染色体的两个交叉点,以两个交叉点之间的基因段作为待交叉基因段,本实施例以第一父代染色体的5,6,7,8,9为待交叉基因段。查找第二父代染色体中与第一父代染色体待交叉基因段的第二行相同的基因,即找到第二父代染色体中的5,8,9,7,6,需要注意的是,由于任务序号是按顺序排列,则,第一父代染色体的5,6,7,8,9对应的第一行实际是5,6,7,8,9,第二父代染色体的5,8,9,7,6对应的第一行实际是2,6,7,8,10。
将第一父代染色体的待交叉基因段中的基因第二行与与其第二行相同的第二父代染色体中对应基因的第二行按第一行的排列顺序进行依次相互替换,即将第一父代染色体第二行的5与第二父代染色体第二行的5互换,将第一父代染色体第二行的6与第二父代染色体第二行的8互换,将第一父代染色体第二行的7与第二父代染色体第二行的9互换,以此类推,直至将第一父代染色体待交叉基因段中所有基因第二行替换与第二父代染色体对应的基因第二行全部替换后,第一父代染色体生成它的子代染色体第一子代染色体,第二父代染色体生成它的子代染色体第二子代染色体,其中,第一子代染色体为[1,2,3,4,5,8,9,7,6,10],第二子代染色体为[3,5,2,4,10,6,7,8,1,9];
重复上述过程,直至所有父代染色体均生成对应的子代染色体。
S4.通过预设淘汰方法淘汰掉第二种群中一半染色体,形成第三种群;具体过程为,根据消耗代价模型获取第二种群中所有父代染色体及子代染色体的适应度,并按预设淘汰方法淘汰适应度低的一半染色体,形成第三种群,这里的预设淘汰方法采用随机竞争法,由于随机竞争法为本领域技术人员惯用技术手段,也不是本发明的主要发明点,这里不再赘述;其中,消耗代价模型得到的代价值越小,适应度越高,反之,适应度越低,需要注意的是,根据目标函数,这里每个染色体的代价值实际上为一个染色体中每个机器人执行对应任务的消耗代价之和。
本实施例的淘汰方法不同于现有遗传算法的淘汰方法,无需直接淘汰父代种群,而是对合并后的种群进行淘汰,这样能够最大程度的保留最佳个体,有利于提高输出最佳分配方案的精度。
S5.对第三种群进行变异处理,生成第四种群,并以第四种群作为新的初始种群;变异行为是一种扩大算法全局搜索能力的行为,变异行为是一种偶然不定向的行为,好的变异行为会让个体更加优秀,不好的变异会导致优秀个体的基因被破坏。通常来讲,变异分为两种,一种是外部变异,一种是内部变异。外部变异指的是引入外部基因,本发明采取的是内部变异,即内部基因的重组。通常来讲,变异通过变异概率PM来控制,通过生成随机数与变异概率PM来比较从而判定是否变异,但这种是否变异的判定方式并不能保证最优个体不被破坏,本发明的变异具体过程如下:
通过消耗代价模型得到第三种群中所有染色体的代价值并获取所有代价值中的最小值,随机选择第三种群中的染色体并将其代价值与得到的最小值进行比较,若大于最小值,则发生变异,若等于最小值,则说明该染色体为当代种群的最优个体,则不发生变异,从而能够最大程度保证优质个体不被破坏。变异完成后的种群为第四种群,并以第四种群作为新的初始种群。
变异的具体过程为,在待发生变异的染色体上随机选择两个变异点,将两个变异点的基因第二行进行相互替换,完成变异,参照图3,以第二子代染色体[3,5,2,4,10,6,7,8,1,9]为例,随机选择第二行为2和7的两个基因点进行变异,将2和7互换,则变异后的第二子代染色体为[3,5,7,4,10,6,2,8,1,9]。
S6.根据消耗代价模型计算第四种群中每个染色体的代价值,获取代价值最小的染色体,判断是否满足收敛条件,若未达到,执行S3,直至满足收敛条件,结束迭代,输出最佳分配方案;若达到设定的最高迭代次数时仍未满足收敛条件,结束迭代。
收敛条件为,获取到的代价值最小的染色体为相同染色体的次数达到预设次数时,满足收敛条件,停止迭代,例如,在经过多次迭代后,获取的代价值最小的染色体为相同染色体的次数达到预设次数,如5次时,认为满足收敛条件,停止迭代,输出该染色体为最佳分配方案。
参照图4,一种基于改进遗传算法的多机器人多任务分配装置,包括,分配装置本体100,分配装置本体100包括:
计算模块101,用于建立机器人执行对应任务的消耗代价模型并执行与消耗代价值相关的计算;
种群构建模块102,用于构建初始种群,初始种群中包括N个染色体,N为偶数,初始种群中的每个染色体均包括与机器人数量对应的任务,且每个任务由不同的机器人完成;
交叉处理模块103,用于以当前初始种群中的染色体作为父代染色体进行基因交叉处理,生成与父代染色体一一对应的子代染色体并将所有父代染色体与所有子代染色体合并形成第二种群;
淘汰模块104,用于通过预设淘汰方法淘汰掉第二种群中一半染色体,形成第三种群;
变异模块105,用于对第三种群进行变异处理,生成第四种群,其中,第四种群作为下一次迭代的新的初始种群;
判断模块106,用于判断系统是否满足收敛条件;
输出模块107,用于系统当满足收敛条件时输出最佳分配方案。
系统工作时,先通过计算模块101建立机器人执行对应任务的消耗代价模型;
再通过种群构建模块102构建初始种群,初始种群中包括随机偶数个数的染色体;交叉处理模块103以当前初始种群中的染色体作为父代染色体进行基因交叉处理并生成与父代染色体一一对应的子代染色体,并将所有父代染色体与所有子代染色体合并形成第二种群;计算模块101对第二种群中所有染色体的代价值进行计算,淘汰模块104采取随机竞争法对第二种群中所有染色体进行两两配对,并按代价值的大小进行淘汰,若代价值小则淘汰,直至淘汰掉第二种群的一半染色体后,形成第三种群;变异模块105对第三种群进行变异处理,生成第四种群,并以第四种群作为下一次迭代的新的初始种群,计算模块101对第四种群中的所有染色体进行消耗代价值的计算,得到代价值最小的染色体;重复迭代过程,判断模块106判断获取的代价值最小的染色体为相同染色体的次数是否达到预设次数,如达到,则认为满足收敛条件,停止迭代,输出模块107输出该染色体为最佳分配方案。
实施例2
本实施例与实施例1的不同之处在于,基因交叉处理为循环交叉处理方法,具体过程为:
参照图5,随机选择一对未进行交叉处理的父代染色体进行交叉,分别记为第三父代染色体和第四父代染色体,以第三父代染色体为[1,2,3,4,5,6,7,8,9],第四父代染色体为[5,4,6,9,2,1,7,8,3]例;
随机在第三父代染色体上选取两个交叉点,本实施例选择第三父代染色体的3,4,5,6为待交叉基因段,同时,在第四父代染色体上的相同位置选择两个对应的交叉点,使得第三父代染色体的待交叉基因段与第四父代染色体的待交叉基因段的第一行相同,即第四父代染色体的待交叉基因段为6,9,2,1;
将第三父代染色体的待交叉基因段与第四父代染色体的待交叉基因段中第一行相同的两个基因的第二行进行相互替换,并建立对应的映射关系,即第三父代染色体的3与第四父代染色体的6互换,建立3到6的映射关系,第三父代染色体的4与第四父代染色体的9互换,建立4到9的映射关系,以此类推,直至第三父代染色体的待交叉基因段与第四父代染色体的待交叉基因段的第二行全部替换完成,生成对应的映射关系集,第三父代染色体生成其子代染色体第三子代染色体,第三子代染色体为[1,2,6,9,2,1,7,8,9],第四父代染色体生成其子代染色体第四子代染色体,第四子代染色体为[5,4,3,4,5,6,7,8,3],映射关系集包括3-6,4-9,5-2,6-1;
分别对第三子代染色体及第四子代染色体进行冲突检测,若第三子代染色体或第四子代染色体中存在相同的第二行,则根据映射关系集对相同的第二行进行替换,直至不存在相同的第二行,例如,第三子代染色体为[1,2,6,9,2,1,7,8,9],其中包括两个1,则根据映射关系集的6-1的映射,将第三子代染色体待交叉基因段外的1替换为6,此时,第三子代染色体包括两个6,再根据3-6,将其替换为3,其替换过程为1-6-3,同理,将第三子代染色体待交叉基因段外的2替换为5,以此类推,直至第三子代染色体没有基因冲突为止,则最后所有的冲突基因都会经过映射,保证形成的新一对子代基因没有冲突,参照图6,按上述规则,最终得到的第三子代染色体为[3,5,6,9,2,1,7,8,4],最终得到的第四子代染色体为[2,9,3,4,5,6,7,8,1];
重复上述过程,直至所有父代染色体均生成对应的子代染色体。
综上所述,本发明通过对种群中的个体采用不重复的编码模式,交叉过程中保证交叉后的基因无冲突,交叉后同时保留父代及子代,再根据适应度进行淘汰而不直接淘汰父代种群,使得能够最大程度的保留最佳个体,有效提高了输出的方案为最佳分配方案的概率,同时,初始种群通过迭代更新,与现有技术相比,无需大量的计算量,有效降低了计算量的开销,有效提高了多机器人多任务分配的计算准确率及效率。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于改进遗传算法的多机器人多任务分配方法,其特征在于,包括:
S1.建立机器人执行对应任务的消耗代价模型;
S2.构建初始种群,所述初始种群中包括N个染色体,N为偶数;所述初始种群中的每个染色体均包括与机器人数量对应的任务,且每个任务由不同的机器人完成;
S3.以当前初始种群中的染色体作为父代染色体进行基因交叉处理,生成与所述父代染色体一一对应的子代染色体并将所有父代染色体与所有所述子代染色体合并形成第二种群;
S4.通过预设淘汰方法淘汰掉所述第二种群中一半染色体,形成第三种群;
S5.对所述第三种群进行变异处理,生成第四种群,并以第四种群作为新的初始种群;
S6.根据所述消耗代价模型计算所述第四种群中每个染色体的代价值,获取代价值最小的染色体,执行步骤S3,直至满足收敛条件,输出最佳分配方案。
3.根据权利要求2所述的一种基于改进遗传算法的多机器人多任务分配方法,其特征在于,所述初始种群的构建包括,通过遗传算法编码规则对所述染色体进行编码,生成随机规模的所述初始种群;所述染色体由任务及机器人组成,其中,染色体第一行为所有任务按顺序全排列,第二行为根据机器人集合为每个任务随机分配对应的机器人,且每个机器人至少被选择一次。
4.根据权利要求2所述的一种基于改进遗传算法的多机器人多任务分配方法,其特征在于,所述基因交叉处理为两点定位基因段交叉处理,具体过程为:
随机选择一对未进行交叉处理的所述父代染色体进行交叉,分别记为第一父代染色体和第二父代染色体;
随机选取所述第一父代染色体的两个交叉点,以两个交叉点之间的基因段作为待交叉基因段,查找所述第二父代染色体中与第一父代染色体待交叉基因段的第二行相同的基因,将第一父代染色体的待交叉基因段中的基因第二行与与其第二行相同的第二父代染色体中对应基因的第二行进行相互替换,将第一父代染色体待交叉基因段中所有基因第二行替换与第二父代染色体对应的基因第二行全部替换后,第一父代染色体生成它的子代染色体第一子代染色体,第二父代染色体生成它的子代染色体第二子代染色体;
重复上述过程,直至所有父代染色体均生成对应的子代染色体。
5.根据权利要求2所述的一种基于改进遗传算法的多机器人多任务分配方法,其特征在于,所述基因交叉处理为循环交叉处理,具体过程为:
随机选择一对未进行交叉处理的所述父代染色体进行交叉,分别记为第三父代染色体和第四父代染色体;
随机在所述第三父代染色体上选取两个交叉点,并在所述第四父代染色体上的相同位置选择两个对应的交叉点,使得第三父代染色体的待交叉基因段与第四父代染色体的待交叉基因段的第一行相同;
将第三父代染色体的待交叉基因段与第四父代染色体的待交叉基因段中第一行相同的两个基因的第二行进行相互替换,并建立对应的映射关系,直至第三父代染色体的待交叉基因段与第四父代染色体的待交叉基因段的第二行全部替换完成,生成对应的映射关系集,第三父代染色体生成其子代染色体第三子代染色体,第四父代染色体生成其子代染色体第四子代染色体;
分别对第三子代染色体及第四子代染色体进行冲突检测,若第三子代染色体或第四子代染色体中存在相同的第二行,则根据所述映射关系集对相同的第二行进行替换,直至不存在相同的第二行;
重复上述过程,直至所有父代染色体均生成对应的子代染色体。
6.根据权利要求1所述的一种基于改进遗传算法的多机器人多任务分配方法,其特征在于,所述步骤S4包括:
根据所述消耗代价模型获取所述第二种群中所有所述父代染色体及所述子代染色体的适应度,并按预设淘汰方法淘汰适应度低的一半染色体,形成第三种群;其中,所述消耗代价模型得到的代价值越小,适应度越高,反之,适应度越低。
7.根据权利要求1所述的一种基于改进遗传算法的多机器人多任务分配方法,其特征在于,所述步骤S5具体过程为:
通过所述消耗代价模型得到所述第三种群中所有染色体的代价值并获取所有代价值中的最小值,随机选择所述第三种群中的染色体并将其代价值与得到的最小值进行比较,若大于最小值,则发生变异,若等于最小值,则不发生变异,形成第四种群,并以第四种群作为新的初始种群。
8.根据权利要求7所述的一种基于改进遗传算法的多机器人多任务分配方法,其特征在于,变异具体过程为,在待发生变异的染色体上随机选择两个变异点,将两个变异点的基因第二行进行相互替换,完成变异。
9.根据权利要求1所述的一种基于改进遗传算法的多机器人多任务分配方法,其特征在于,所述收敛条件为,获取到的代价值最小的染色体为相同染色体的次数达到预设次数时,满足收敛条件,停止迭代。
10.一种基于改进遗传算法的多机器人多任务分配装置,应用如权利要求1~9任意一项所述的一种基于改进遗传算法的多机器人多任务分配方法,其特征在于,包括:
计算模块,用于建立机器人执行对应任务的消耗代价模型并执行代价值的计算;
种群构建模块,用于构建初始种群,所述初始种群中包括N个染色体,N为偶数,初始种群中的每个染色体均包括与机器人数量对应的任务,且每个任务由不同的机器人完成;
交叉处理模块,用于以当前初始种群中的染色体作为父代染色体进行基因交叉处理,生成与所述父代染色体一一对应的子代染色体并将所有父代染色体与所有所述子代染色体合并形成第二种群;
淘汰模块,用于通过预设淘汰方法淘汰掉所述第二种群中一半染色体,形成第三种群;
变异模块,用于对所述第三种群进行变异处理,生成第四种群,其中,第四种群作为下一次迭代的新的初始种群;
判断模块,用于判断系统是否满足收敛条件;
输出模块,用于系统当满足收敛条件时输出最佳分配方案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910300086.2A CN111832725B (zh) | 2019-04-15 | 2019-04-15 | 一种基于改进遗传算法的多机器人多任务分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910300086.2A CN111832725B (zh) | 2019-04-15 | 2019-04-15 | 一种基于改进遗传算法的多机器人多任务分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111832725A true CN111832725A (zh) | 2020-10-27 |
CN111832725B CN111832725B (zh) | 2023-05-26 |
Family
ID=72914242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910300086.2A Active CN111832725B (zh) | 2019-04-15 | 2019-04-15 | 一种基于改进遗传算法的多机器人多任务分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111832725B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113177704A (zh) * | 2021-04-21 | 2021-07-27 | 北航歌尔(潍坊)智能机器人有限公司 | 自动引导车的任务分配方法、装置及计算机存储介质 |
CN113592393A (zh) * | 2021-07-21 | 2021-11-02 | 上海发网供应链管理有限公司 | 一种基于遗传算法的快速分拣线初始上架算法 |
CN114493181A (zh) * | 2022-01-04 | 2022-05-13 | 西安电子科技大学 | 一种智能仓储环境下的多负载agv任务调度方法 |
CN114925941A (zh) * | 2022-07-21 | 2022-08-19 | 深圳市信润富联数字科技有限公司 | 群智感知任务分配方法、装置、设备及存储介质 |
CN116922402A (zh) * | 2023-09-19 | 2023-10-24 | 杭州芯控智能科技有限公司 | 基于遗传算法的多机械臂多任务分配方法、系统和介质 |
CN117547830A (zh) * | 2024-01-11 | 2024-02-13 | 腾讯科技(深圳)有限公司 | 组合处理方法、装置、计算机、存储介质及程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193661A (zh) * | 2010-03-01 | 2011-09-21 | 北京魔力科技有限公司 | 一种智能定位校准方法 |
CN103716867A (zh) * | 2013-10-25 | 2014-04-09 | 华南理工大学 | 基于事件驱动的无线传感器网络多目标实时跟踪系统 |
CN104811491A (zh) * | 2015-04-17 | 2015-07-29 | 华南理工大学 | 一种基于遗传算法的云计算资源调度方法 |
CN107103164A (zh) * | 2017-05-27 | 2017-08-29 | 合肥工业大学 | 无人机执行多任务的分配方法及装置 |
CN107169608A (zh) * | 2017-05-27 | 2017-09-15 | 合肥工业大学 | 多无人机执行多任务的分配方法及装置 |
CN108846480A (zh) * | 2018-06-15 | 2018-11-20 | 广东工业大学 | 一种基于遗传算法的多规格一维套料方法及装置 |
CN109144102A (zh) * | 2018-09-19 | 2019-01-04 | 沈阳航空航天大学 | 一种基于改进蝙蝠算法的无人机航路规划方法 |
-
2019
- 2019-04-15 CN CN201910300086.2A patent/CN111832725B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193661A (zh) * | 2010-03-01 | 2011-09-21 | 北京魔力科技有限公司 | 一种智能定位校准方法 |
CN103716867A (zh) * | 2013-10-25 | 2014-04-09 | 华南理工大学 | 基于事件驱动的无线传感器网络多目标实时跟踪系统 |
CN104811491A (zh) * | 2015-04-17 | 2015-07-29 | 华南理工大学 | 一种基于遗传算法的云计算资源调度方法 |
CN107103164A (zh) * | 2017-05-27 | 2017-08-29 | 合肥工业大学 | 无人机执行多任务的分配方法及装置 |
CN107169608A (zh) * | 2017-05-27 | 2017-09-15 | 合肥工业大学 | 多无人机执行多任务的分配方法及装置 |
CN108846480A (zh) * | 2018-06-15 | 2018-11-20 | 广东工业大学 | 一种基于遗传算法的多规格一维套料方法及装置 |
CN109144102A (zh) * | 2018-09-19 | 2019-01-04 | 沈阳航空航天大学 | 一种基于改进蝙蝠算法的无人机航路规划方法 |
Non-Patent Citations (5)
Title |
---|
付强: "空天高速飞行器多传感器协同跟踪任务规划研究" * |
王宇: "多机器人多任务分配及路径规划研究" * |
王满;胡亚兰;张建龙;: "颅内血肿穿刺的两点定位法" * |
瞿红梅;薛莹莹;陈伟;: "基于改进遗传算法的道路施工设备编配建模研究" * |
闫玉铎: "面向陆军分队级CGF的武器目标分配问题研究" * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113177704A (zh) * | 2021-04-21 | 2021-07-27 | 北航歌尔(潍坊)智能机器人有限公司 | 自动引导车的任务分配方法、装置及计算机存储介质 |
CN113592393A (zh) * | 2021-07-21 | 2021-11-02 | 上海发网供应链管理有限公司 | 一种基于遗传算法的快速分拣线初始上架算法 |
CN114493181A (zh) * | 2022-01-04 | 2022-05-13 | 西安电子科技大学 | 一种智能仓储环境下的多负载agv任务调度方法 |
CN114493181B (zh) * | 2022-01-04 | 2024-05-03 | 西安电子科技大学 | 一种智能仓储环境下的多负载agv任务调度方法 |
CN114925941A (zh) * | 2022-07-21 | 2022-08-19 | 深圳市信润富联数字科技有限公司 | 群智感知任务分配方法、装置、设备及存储介质 |
CN116922402A (zh) * | 2023-09-19 | 2023-10-24 | 杭州芯控智能科技有限公司 | 基于遗传算法的多机械臂多任务分配方法、系统和介质 |
CN117547830A (zh) * | 2024-01-11 | 2024-02-13 | 腾讯科技(深圳)有限公司 | 组合处理方法、装置、计算机、存储介质及程序产品 |
CN117547830B (zh) * | 2024-01-11 | 2024-04-02 | 腾讯科技(深圳)有限公司 | 组合处理方法、装置、计算机、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN111832725B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111832725A (zh) | 一种基于改进遗传算法的多机器人多任务分配方法及装置 | |
CN113034026B (zh) | 基于Q-learning和GA的多目标柔性作业车间调度自学习方法 | |
Contreras-Bolton et al. | Automatic combination of operators in a genetic algorithm to solve the traveling salesman problem | |
CN112270398B (zh) | 一种基于基因编程的集群行为学习方法 | |
CN111832101A (zh) | 一种水泥强度预测模型的构建方法及水泥强度预测方法 | |
CN111726349A (zh) | 基于ga优化的gru并行网络流量异常检测方法 | |
CN107436969B (zh) | 一种基于遗传算法的三维多目标定位方法 | |
CN115617690A (zh) | 基于改进自适应遗传算法的并行测试任务调度方法 | |
CN113128432A (zh) | 一种基于演化计算的多任务神经网络架构搜索方法 | |
CN109599146B (zh) | 一种基于多目标遗传算法的带假结核酸结构预测方法 | |
Mahalakshmi et al. | A review on genetic algorithm and its applications | |
CN111412795B (zh) | 测试点设置方案生成方法及装置 | |
Andalon-Garcia et al. | Performance comparison of three topologies of the island model of a parallel genetic algorithm implementation on a cluster platform | |
CN115881209B (zh) | 一种rna二级结构预测的处理方法和装置 | |
CN115826591A (zh) | 一种基于神经网络估计路径代价的多目标点路径规划方法 | |
Monov et al. | Improving Efficiency of Routing Transportation Equipment using Genetic Algorithms | |
CN113741482B (zh) | 一种基于异步遗传算法的多智能体路径规划方法 | |
CN116050086A (zh) | 一种基于遗传算法的多机空战任务分配方法 | |
CN113361753B (zh) | 基于量子遗传算法的确定最优路径的方法、系统和介质 | |
CN112906871A (zh) | 基于混合多层神经网络模型的温度预测方法及系统 | |
CN113487031A (zh) | 一种基于改进模拟退火融合遗传算法的多无人机任务分配方法 | |
CN108960509B (zh) | 一种制造系统智能排产方法与系统 | |
CN114021895A (zh) | 基于邻域结构的最小化总成本it运维人员调度方法和系统 | |
JP3935425B2 (ja) | 遺伝的アルゴリズムを用いた、ネットワーク型情報処理システムの学習装置 | |
Mohebpour et al. | CCGDC: A new crossover operator for genetic data clustering |
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 |