CN111831421A - 任务分配方法及终端设备 - Google Patents
任务分配方法及终端设备 Download PDFInfo
- Publication number
- CN111831421A CN111831421A CN202010717432.XA CN202010717432A CN111831421A CN 111831421 A CN111831421 A CN 111831421A CN 202010717432 A CN202010717432 A CN 202010717432A CN 111831421 A CN111831421 A CN 111831421A
- Authority
- CN
- China
- Prior art keywords
- task
- population
- task execution
- benefit
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000008901 benefit Effects 0.000 claims abstract description 122
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 87
- 230000002068 genetic effect Effects 0.000 claims abstract description 57
- 230000001976 improved effect Effects 0.000 claims abstract description 37
- 238000005265 energy consumption Methods 0.000 claims abstract description 26
- 239000011159 matrix material Substances 0.000 claims description 53
- 108090000623 proteins and genes Proteins 0.000 claims description 50
- 230000008030 elimination Effects 0.000 claims description 32
- 238000003379 elimination reaction Methods 0.000 claims description 32
- 230000006870 function Effects 0.000 claims description 29
- 238000002922 simulated annealing Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 20
- 238000000137 annealing Methods 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 14
- 230000035772 mutation Effects 0.000 claims description 12
- IJGRMHOSHXDMSA-UHFFFAOYSA-N Atomic nitrogen Chemical compound N#N IJGRMHOSHXDMSA-UHFFFAOYSA-N 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000010076 replication Effects 0.000 claims description 4
- 238000001816 cooling Methods 0.000 claims description 3
- 229910052757 nitrogen Inorganic materials 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 2
- 125000004122 cyclic group Chemical group 0.000 claims 1
- 230000008569 process Effects 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000010429 evolutionary process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 206010010144 Completed suicide Diseases 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 101150084750 1 gene Proteins 0.000 description 1
- 101150028074 2 gene Proteins 0.000 description 1
- 101150090724 3 gene Proteins 0.000 description 1
- 101150033839 4 gene Proteins 0.000 description 1
- 101150096316 5 gene Proteins 0.000 description 1
- 108700003861 Dominant Genes Proteins 0.000 description 1
- 241001024304 Mino Species 0.000 description 1
- 101150036080 at gene Proteins 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002923 metal particle Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000036314 physical performance Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000005070 ripening Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Physics & Mathematics (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Physiology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Genetics & Genomics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明适用于计算机技术领域,公开了一种任务分配方法及终端设备,上述方法包括:以任务执行机执行任务的效益值总和最大为目标函数,以任务执行机数量约束、任务执行机执行任务数量约束和能耗约束为约束条件,建立任务分配模型;基于改进的遗传算法,对任务分配模型进行求解,得到任务分配结果。本发明可以应用于单个任务执行机只能执行单个任务的应用场景,且采用改进的遗传算法进行求解,能够获得效益值总和更优的解,不会出现漏解的情况,且稳定性更高。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种任务分配方法及终端设备。
背景技术
任务执行机的任务分配问题是NP-hard难度的问题,随着任务执行机的数量或任务的数量的上升,任务分配的难度会呈现指数上升,这也使得任务执行机的任务分配难以使用穷举法得到。其中,任务执行机可以是无人机、无人车等设备。
目前,通常采用智能算法求解出任务分配组合的近似最优解,但是该智能算法主要针对单个任务执行机可以执行多个任务的应用场景,然而随着对低成本一次性自杀式任务执行机的重视,蜂群任务执行机必然在未来发挥重要作用。自杀式任务执行机只能执行一次性打击任务,无需考虑任务执行机执行任务的序列。现有方法只能应用于单个任务执行机可以执行多个任务的应用场景,无法应用于单个任务执行机只能执行单个任务的应用场景。
发明内容
有鉴于此,本发明实施例提供了一种任务分配方法及终端设备,以解决现有技术无法应用于单个任务执行机只能执行单个任务的应用场景的问题。
本发明实施例的第一方面提供了一种任务分配方法,包括:
以任务执行机执行任务的效益值总和最大为目标函数,以任务执行机数量约束、任务执行机执行任务数量约束和能耗约束为约束条件,建立任务分配模型;
基于改进的遗传算法,对任务分配模型进行求解,得到任务分配结果。
本发明实施例的第二方面提供了一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如第一方面所述任务分配方法的步骤。
本发明实施例的第三方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被一个或多个处理器执行时实现如第一方面所述任务分配方法的步骤。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例首先以任务执行机执行任务的效益值总和最大为目标函数,以任务执行机数量约束、任务执行机执行任务数量约束和能耗约束为约束条件,建立任务分配模型,然后基于改进的遗传算法,对任务分配模型进行求解,得到任务分配结果,可以应用于单个任务执行机只能执行单个任务的应用场景,且采用改进的遗传算法进行求解,能够获得效益值总和更优的解,不会出现漏解的情况,且稳定性更高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的任务分配方法的实现流程示意图;
图2是本发明又一实施例提供的任务分配方法的实现流程示意图;
图3是本发明一实施例提供的改进的遗传算法的进化过程的示意图;
图4是本发明一实施例提供的标准遗传算法的进化过程的示意图;
图5是本发明一实施例提供的去掉模拟退火的改进的遗传算法的进化过程的示意图;
图6是本发明一实施例提供的模拟退火算法对运行时间的影响对比示意图;
图7是本发明一实施例提供的任务分配系统的示意框图;
图8是本发明一实施例提供的终端设备的示意框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1是本发明一实施例提供的任务分配方法的实现流程示意图,为了便于说明,仅示出了与本发明实施例相关的部分。本发明实施例的执行主体可以是终端设备。如图1所示,该方法可以包括以下步骤:
S101:以任务执行机执行任务的效益值总和最大为目标函数,以任务执行机数量约束、任务执行机执行任务数量约束和能耗约束为约束条件,建立任务分配模型。
其中,任务执行机可以是无人机、无人车等无人驾驶设备,还可以是任何其它可执行任务的机器或设备。
本发明实施例将任务分配问题转换为求解目标函数最优值的问题。首先确定目标函数和约束条件,建立任务分配模型。
任务执行机的任务分配是将实际的任务执行机任务分配过程,根据其自身的物理约束、外界的环境威胁、任务的收益等转化为数学模型进行分析。本发明实施例提供的任务分配模型适用于蜂群任务执行机打击场景,此种场景为一个或者多个任务执行机可以执行同一个任务,但是同一个任务执行机不能执行多个任务。定义数量为Ni的任务执行机的集合为定义数量为Nj的任务集合再任务分配模型中每个任务执行机执行每个任务都会计算出一个效益值,最终的任务分配依据就是各任务执行机执行各任务的收益之和为全局最大值。所以任务分配模型可适用于任务执行机数量不定,打击任务数量不定和任务需要任务执行机执行数量不定的情况,更加符合真实的蜂群任务执行机(例如,蜂群无人机)打击任务分配的特点。
在本发明的一个实施例中,目标函数为:
Eij=c1×NRij-c2×NOij-c3×NWijtz
c1+c2+c3=1
其中,Eij为任务执行机i执行任务j时的效益值;Ni为任务执行机的数量;Nj为任务的数量;f为任务执行机执行任务的效益值总和;NRij为任务执行机i执行任务j时的收益值的归一化值;c1为任务收益的权重系数;NOij为任务执行机i执行任务j时所需要的能量消耗值的归一化值;c2为任务能耗的权重系数;NWijtz为携带有t类设备的任务执行机i执行列装有z类装备的任务j所受到的威胁值的归一化值;c3为任务威胁的权重系数;
任务执行机数量约束为:
其中,定义分配给任务j的任务执行机序列为sequavj={uav1j,uav2j,uav3j……uavmj},U为任务执行机的集合,m为分配给任务j的任务执行机的数量,NTj为任务j所需要的任务执行机的最大数量;
任务执行机执行任务数量约束为:
Ndi≤1i=(1,2,3…Ni)
其中,Ndi为任务执行机i能够执行任务的数量;
能耗约束为:
其中,COi为任务执行机i所携带的能量值,α为能量损耗的保险系数,α∈(0,1),l为任务执行机i所要执行的任务的数量。
任务执行机执行各个任务的收益是多机任务分配的重要指标。VAj表示的价值排除了执行任务成功与否的概率问题,是加权了概率的价值,对于不同的任务执行机执行同一个目标任务的收益值相同。为了将任务执行机执行任务过程中的要素都转换为计算全局最大的效益值,需要统一任务执行机任务分配中各个因素的量纲,将目标的效益值进行归一化。
Oij为任务执行机i执行任务j时所需要的能量消耗值,Dij为任务执行机i到任务j的距离,Vi为任务执行机i的速度,Opi为任务执行机i的单位能耗量;maxOij是各个任务执行机执行各个任务中最大的能量消耗值,minOij是各个任务执行机执行各个任务中最小的能量消耗值。
任务执行机的能量输出都是通过自身携带的燃料或者是电能所提供的,因此其携带的能量是固定且有限的,将任务执行机的能量消耗定义为任务执行机的能耗。同上,需要对任务执行机的能耗进行归一化。
任务执行机在执行任务时,其自身携带的设备面对任务地的不同种设备会有不同的收益。将任务执行机的设备抽象为T种,把任务地有可能存在的设备种类抽象为Z种,通过专家讨论,得出任务执行机设备库中的各类设备对应任务地的各类装备的对应威胁矩阵W,在威胁矩阵中,WTZ代表T类设备对应Z类装备的任务的威胁值,一个任务执行机只能携带一种设备,不同任务执行机可以拥有相同或者不同的设备。一个任务地也仅对应一种装备,不同的任务可以有同样的装备。
综合上述的任务收益、任务威胁和任务能耗,可以得到任务执行机i执行任务j时的效益值Eij,将任务分配中出现的所有效益值Eij累加,就得到了任务分配目标函数f。
在任务执行机群执行一次性打击任务场景中,受限于自身的物理性能和执行任务对任务执行机的需求量的不同,对任务分配模型做出任务执行机数量约束、任务执行机执行任务数量约束和能耗约束。
任务执行机在执行任务的过程中,当任务所需任务执行机数量大于可支配任务执行机数量时,可以不给某些效益低的任务分配任务执行机。当任务所需任务执行机量小于或者等于可支配任务执行机量时,也不需要给每个任务执行机都分配任务。每个任务所需任务执行机的数量存在上限,分配给任务j的任务执行机不能大于其需要的最大数量NTj。
任务分配模型的任务背景是多任务执行机执行多个一次性打击任务,单架任务执行机在执行任务过后,其自身必然毁伤,从而无法执行其他的任务,所以给出任务执行机执行任务数量约束。
由于任务执行机都是通过携带有限的能源飞行,所以任务执行机i在执行任务时,能耗必须小于携带的能量COi。
S102:基于改进的遗传算法,对任务分配模型进行求解,得到任务分配结果。
模拟退火算法是借鉴于金属物质的退火过程,金属物质从高温逐渐降到低温,金属粒子由无序状态渐渐转变为有序状态,其产生新的状态或者废除旧的状态的能力逐步下降,最后达到平衡的一个过程。其核心思想就是在求解模型时,会按一定概率接受较差的解,而随着温度的下降,接受较差解的概率也随之下降。本发明实施例中改进的遗传算法的种群间既是采用这种以一定概率接受较差解的思想,补充种群内的新解和防止陷入局部最优。
在本发明的一个实施例中,上述S102可以包括以下步骤:
S201:采用预设编码方式,对任务执行机的编号进行编码,生成多个初始种群,记为初始种群集合,其中,每个初始种群中包括多个个体。
在本发明实施例中,通过对任务执行机的编号进行基因编码,生成个体,从而生成包括Ng个个体的初始种群Gg={Useqg1,Useqg2,Useqg3…UseqgNg},Gg代表第g个种群,UseqgNg表示第g个种群第Ng个个体的序列,定义Np个种群的集合即初始种群集合
在本发明的一个实施例中,上述预设编码方式可以包括:
若任务所需任务执行机的数量小于或等于可支配的任务执行机的数量,则基于可支配的任务执行机的编号,随机生成满足约束条件的个体;
若任务所需任务执行机的数量大于可支配的任务执行机的数量,则将可支配的任务执行机的编号在满足约束条件时随机分配给各个任务,并将未分配到任务执行机的编号的任务对应的任务执行机的编号设为0。
基因编码是遗传算法中非常重要的一个步骤,简单的编码方式可以大大简化遗传算法的计算量和最后求解全局最优解的效果。标准的遗传算法会将求解问题的所有可行解要素进行编码,而本发明实施例直接将任务执行机的编号用于编码,且编码要素根据任务所需任务执行机量大于或小于可支配任务执行机量而发生改变,简化了任务执行机任务分配的复杂度。如表1所示,Tseq行不参与遗传算法的计算,它是根据任务的需求生成的行,可以看成是对Useq行进行解码的密码行,一旦任务数和每一个任务需要任务执行机的架数确定后,Tseq就是一个确定不变的行。
表1基因编码表1
Useq | uav<sub>1</sub> | uav<sub>2</sub> | uav<sub>3</sub> | uav<sub>5</sub> | uav<sub>10</sub> | uav<sub>6</sub> |
Tseq | 1 | 1 | 2 | 2 | 2 | 3 |
当任务所需任务执行机量小于可支配任务执行机量时,如表1所示,Useq中的任务执行机编号是在U={uav1,uav2,uav3……uavNi}中按满足约束的前提下随机挑选的,每一个个体(每一条基因)都是从U中进行随机选取编号组成,所以每一个个体内的编码组成种类可能是不同的,通过多条基因的随机选取使种群内包含了全部的编码组成种类,这就实现了用较短的编码完全表达U中所有的因素。
当任务所需任务执行机量大于可支配任务执行机数量时,既任务执行机的数量小于Tseq的格数时,编码方式举例如表2,此时Ni=3,Useq的每一格从U={uav1,uav2,uav3}中不重复的随机选取,当U中的每一个任务执行机都被选取一遍后,用0补充Useq剩下的格子表示其正下方对应的任务没有分配到任务执行机去执行。
表2基因编码表2
Useq | uav<sub>1</sub> | uav<sub>2</sub> | uav<sub>0</sub> | uav<sub>0</sub> | uav<sub>0</sub> | uav<sub>3</sub> |
Tseq | 1 | 1 | 2 | 2 | 2 | 3 |
S202:根据目标函数,计算初始种群集合中的每个初始种群中的每个个体的效益值总和,生成初始效益矩阵。
可以根据目标函数对应的公式,计算初始种群集合中的每个初始种群中的每个个体的效益值总和,生成初始效益矩阵E,其中,
S203:在初始种群之间模拟退火算法进行基因交流,生成第一种群集合,并根据第一种群集合更新初始效益矩阵,得到第一效益矩阵。
在本发明实施例中,将初始种群集合经过模拟退火算法进行基因交流后得到的种群集合称为第一种群集合,将根据第一种群集合和目标函数计算得到的效益矩阵称为第一效益矩阵。
在本发明的一个实施例中,上述S203中的“在初始种群之间模拟退火算法进行基因交流,生成第一种群集合”可以包括以下步骤:
模拟退火初始温度为T0和降温系数为β;
在初始种群集合中随机选取两个初始种群Gg和Gw,并在初始种群Gg中随机选取一个个体Useqgq,在初始种群Gw中随机选取一个个体Useqwr;
根据Tt=βt×T0,计算当前迭代次数t对应的退火温度Tt,并根据计算当前迭代次数t对应的退火概率Pt;其中,f(Useqgq)为个体Useqgq对应的效益值总和,f(Useqwr)为个体Useqwr对应的效益值总和;
若f(Useqgq)≥f(Useqwr),则复制Useqgq的序列代替初始种群Gw中的Useqwr的序列;
若f(Useqgq)<f(Useqwr),则根据Pt确定是否复制Useqgq的序列代替初始种群Gw中的Useqwr的序列;
将初始种群集合经过模拟退火算法进行基因交流后得到的种群集合称为第一种群集合。
其中,根据Pt确定是否复制Useqgq的序列代替初始种群Gw中的Useqwr的序列,可以通过现有方法,根据Pt确定是否复制Useqgq的序列代替初始种群Gw中的Useqwr的序列。
S204:基于选择算子,根据第一种群集合生成第二种群集合,并根据第二种群集合更新第一效益矩阵,生成第二效益矩阵。
在本发明实施例中,将第一种群集合经过选择算子操作后得到的种群集合称为第二种群集合,将根据第二种群集合和目标函数计算得到的效益矩阵称为第二效益矩阵。
在本发明的一个实施例中,上述S204中的“基于选择算子,根据第一种群集合生成第二种群集合”可以包括以下步骤:
将第一目标种群中的个体按照效益值总和由大到小的顺序进行排序,并在每轮淘汰选择中,依次选取的个体作为复制母本,依次选取的个体作为淘汰备选个体;其中,n为个体在第一目标种群中的排名,Ng为第一目标种群中的个体的数量,第一目标种群为第一种群集合中的任意一个种群;
根据计算在本轮淘汰选择中的淘汰概率RG;其中,为在本轮淘汰选择中淘汰备选个体的效益值总和,maxf(Useq1)为在第一目标种群中的效益值总和的最大值,minf(Useq1)为在第一目标种群中的效益值总和的最小值;
生成0到1之间的随机数rand;
若rand小于RG,则在第一目标种群中删除掉本轮淘汰选择的淘汰备选个体,并复制一个本轮淘汰选择的复制母本添加到第一目标种群中;
若rand大于或等于RG,则保留本轮淘汰选择的淘汰备选个体;
跳转至将第一目标种群中的个体按照效益值总和由大到小的顺序进行排序的步骤循环执行,直至在第一目标种群中进行淘汰选择的轮数达到预设轮数;
将第一种群集合中的各个种群依次作为第一目标种群,经过淘汰选择后得到的种群的集合称为第二种群集合。
其中,在每轮淘汰选择中,依次选取的个体作为复制母本,依次选取的个体作为淘汰备选个体,可以为,在第一轮淘汰选择中,选取排名为1的个体作为复制母本,选取排名为Ng的个体作为淘汰备选个体;在第二轮淘汰选择找那个,选取排名为2的个体作为复制母本,选取排名为Ng-1的个体作为淘汰备选个体;以此类推,直至在第一目标种群中进行淘汰选择的轮数达到预设轮数。预设轮数可以根据实际需求进行设置。
在本发明实施例中,通过淘汰选择,可以筛选种群的优势基因和去除种群内的劣势基因。
S205:基于个体内的任务执行机的编号互换的方式,根据第二种群集合生成第三种群集合,并根据第三种群集合更新第二效益矩阵,生成第三效益矩阵。
在标准遗传算法中,基因编码的环节都会设置有基因交叉的点,且同一条基因的基因交叉点前后的基因信息是不重复的信息。对于本发明实施例的基因编码方法,如果设置了基因交叉点,那么在基因交叉点的前后的任务执行机编号需要将任务执行机序列U按交叉点所占基因长度比例分成两个集合,然后在这两个集合中再进行随机抽取。举例如表1中所示,假设是对Ni=10的任务执行机序列U={uav1,uav2,uav3……uav10}进行任务分配,需要执行的任务为三个,他们分别需要的任务执行机量为2、3、1,且设置基因交叉点为基因序列1/2处。
首先将任务执行机序列U分成两个等量随机不重复的任务执行机序列U1,U2,假设在U中随机抽取五个任务执行机编号组成U1={uav2,uav1,uav3,uav7,uav8},剩下的任务执行机编号组成U2={uav4,uav5,uav10,uav9,uav6}。则标准遗传算法的种群内各个基因在编码的过程中,前三个基因位置只能从U1中随机选取,后三个基因位置只能从U2中选取,这就会造成基因前段的任务执行机编号永远不会被排列到后端的位置,后端的任务执行机编号也永远无法排列到前段位置,当后段编号的任务执行机执行前段任务效益值更大,或者后端编号的任务执行机执行前段任务的效益值更大,就必然会漏掉使效益函数f更大的解。
如不将任务执行机序列U分成两个等量随机不重复的任务执行机序列,直接从U中随机抽取任务执行机编号进行编码,虽然可以避免必然漏解的情况,但是不同基因在进行交叉算子后,基因内就可能出现单架任务执行机编号重复出现的情况。例如,对表3中的两条基因在1/2处进行交叉算子之后,如表4所示,Useq1中存在了两个uav2,Useq2中存在了两个uav5,违背了任务执行机执行任务数量约束。
表3基因编码表3
Useq1 | uav<sub>1</sub> | uav<sub>2</sub> | uav<sub>3</sub> | uav<sub>5</sub> | uav<sub>10</sub> | uav<sub>6</sub> |
Useq2 | uav<sub>1</sub> | uav<sub>3</sub> | uav<sub>5</sub> | uav<sub>2</sub> | uav<sub>7</sub> | uav<sub>6</sub> |
表4基因编码表4
Useq1 | uav<sub>1</sub> | uav<sub>2</sub> | uav<sub>3</sub> | uav<sub>2</sub> | uav<sub>7</sub> | uav<sub>6</sub> |
Useq2 | uav<sub>1</sub> | uav<sub>3</sub> | uav<sub>5</sub> | uav<sub>5</sub> | uav<sub>10</sub> | uav<sub>6</sub> |
本发明实施例对此作出的改进是基因编码的部分直接省略基因交叉点,相应的也去掉遗传算法中的交叉算子,算法中因为缺少交叉算子而缺少的补充新解的能力和对全局空间的搜索能力,通过多种群间基因交流和基因内任务执行机编号位置互换来进行补充。
在本发明的一个实施例中,上述S205中的“基于个体内的任务执行机的编号互换的方式,根据第二种群集合生成第三种群集合”,可以包括以下步骤:
在第二目标种群中随机选取第一目标个体,其中,第二目标种群为第二种群集合中的任意一个种群;
随机生成小于或等于第一目标个体的长度的两个随机数,并在第一目标个体中,交换两个随机数对应位置的任务执行机的编号;
跳转至在第二目标种群中随机选取一个第一目标个体的步骤循环执行,直至在第二目标种群中,交换编号的数量达到预设交换数量;
将第二种群集合中的各个种群依次作为第二目标种群,经过交换编号操作后得到的种群的集合称为第三种群集合。
例如,产生的两个随机数为2和5,将表1中的位置2的任务执行机编号和位置5的任务执行机编号进行位置交换,交换后如表5所示。
表5基因编码表5
Useq | uav<sub>1</sub> | uav<sub>10</sub> | uav<sub>3</sub> | uav<sub>5</sub> | uav<sub>2</sub> | uav<sub>6</sub> |
Tseq | 1 | 1 | 2 | 2 | 2 | 3 |
在本发明实施例中,将第二种群集合经过个体内编号位置互换操作后得到的种群集合称为第三种群集合,将根据第三种群集合和目标函数计算得到的效益矩阵称为第三效益矩阵。
S206:基于变异算子,根据第三种群集合生成第四种群集合,并根据第四种群集合更新第三效益矩阵,生成第四效益矩阵。
在本发明实施例中,将第三种群集合经过变异算子操作后得到的种群集合称为第四种群集合,将根据第四种群集合和目标函数计算得到的效益矩阵称为第四效益矩阵。通过变异算子操作可以进行小范围的局部搜索,防止早熟。
在本发明的一个实施例中,上述S206中的“基于变异算子,根据第三种群集合生成第四种群集合”,可以包括以下步骤:
在第三目标种群中随机选取第二目标个体,其中,所述第三目标种群为所述第三种群集合中的任意一个种群;
随机生成一个(0,Ni]的随机数Nb,并随机生成一个(0,Ns]的随机数Nn,其中Ni是任务执行机的数量,Ns是所述第二目标个体的长度;
确定所述第二目标个体中是否存在编号Nb;
若所述第二目标个体中存在编号Nb,则跳转至所述随机生成一个(0,Ni]的随机数Nb,并随机生成一个(0,Ns]的随机数Nn的步骤循环执行;
若所述第二目标个体中不存在编号Nb,则用编号Nb代替所述第二目标个体中第Nn个位置上的编号;
跳转至所述在第三目标种群中随机选取第二目标个体的步骤循环执行,直至在所述第三目标种群中变异个体的比例达到预设比例;
将所述第三种群集合经过变异操作后得到的种群集合称为第四种群集合。
S207:若当前迭代次数达到第一预设次数,或,每个种群中的效益值总和最大值连续不发生改变的次数达到第二预设次数,则选取第四种群集合中效益值总和最大的个体作为最优解;其中,最优解为任务分配结果。
S208:若当前迭代次数未达到第一预设次数,且,每个种群中的效益值总和最大值连续不发生改变的次数未达到第二预设次数,则将第四种群集合作为新的初始种群集合,将第四效益矩阵作为新的初始效益矩阵,并跳转至在初始种群之间模拟退火算法进行基因交流,生成第一种群集合,并根据第一种群集合更新初始效益矩阵,得到第一效益矩阵的步骤循环执行。
具体地,若当前迭代次数未达到第一预设次数,且,每个种群中的效益值总和最大值连续不发生改变的次数未达到第二预设次数,则跳转至S203,循环执行S203至S208的步骤,直至当前迭代次数达到第一预设次数,或,每个种群中的效益值总和最大值连续不发生改变的次数达到第二预设次数。
以一个具体的应用场景为例,对上述任务分配方法进行进一步说明。
假设一个任务执行场景,有15个任务执行机对6个目标执行一次性打击任务,完成各个任务所需要的任务执行机数量不同。打击各个目标需要的任务执行机数量NT,武器种类Z,效益值VA如表6所示。每个任务执行机到各个目标的距离Dt,每个任务执行机的速度V,油耗O,武器种类Z如表7所示。
表6任务参数表
实验环境为Intel(R)Core(TM)i7-7700HQ,2.8GHZCPU,16GBRAM,windows10。采用C++在visual studio 2015平台进行编程实现,设置改进的遗传算法参数为:每个种群中的个体数量Ng=100,种群数量Np=5,模拟退火初始温度T0=500,降温系数β=0.95,选择算子淘汰数即预设轮数NT=5,基因内部交换数即预设交换数量Nc=50,变异比例即预设比例Vrate=0.01,遗传算法进化代数即第一预设次数NC=350,重复终止条件即第二预设次数NE=100,计算得出任务分配方案如表8。任务1由Uav7执行,任务2由Uav9、Uav4、Uav5执行,任务3由Uav11执行,任务4由Uav3、Uav12、Uav6执行,任务5由Uav14执行,任务6由Uav2执行,此任务分配序列的收益值为2.27816,计算时间为5600ms。
表7任务执行机参数表
表8任务分配结果
Useq | uav<sub>7</sub> | uav<sub>9</sub> | uav<sub>4</sub> | uav<sub>5</sub> | uav<sub>11</sub> | uav<sub>3</sub> | uav<sub>12</sub> | uav<sub>6</sub> | uav<sub>14</sub> | uav<sub>2</sub> |
Tseq | 1 | 2 | 2 | 2 | 3 | 4 | 4 | 4 | 5 | 6 |
为对比本文改进的遗传算法的改进效果,进行了如下对比试验。
首先,将改进的遗传算法与标准遗传算法进行对比。保持参数不变,令重复终止条件NE=NC,重复运行十次改进的遗传算法的进化过程,记录如图3。图4是采用标准遗传算法的进化过程,其采用的是单种群,基因编码仍然使用任务执行机编号进行编码,但没有对交叉算子做改进,在基因的1/2位置设置了基因交叉点,采用了标准遗传算法的交叉算子,其余参数不变。
用图4与图3进行对比,改进的遗传算法初始效益值普遍高于标准遗传算法的初始效益值,验证了采用标准遗传算法的编码方式确实会漏掉部分解,从而使标准遗传算法初始化所产生的基因效益值普遍较差。而采用本发明实施例中的改进的遗传算法,在基因编码的过程中不会出现漏解的现象。
十次运行标准遗传算法和改进的遗传算法直至收敛,图3改进遗传算法图中基因序列效益值收敛过后集中在2.25到2.3之间,图4标准遗传算法中基因序列效益值收敛于1.8到2之间。图3收敛的范围明显小于图4,证明了改进遗传算法运算的稳定性优于标准遗传算法,此项性能在蜂群任务执行机的任务分配中至关重要。
其次,验证改进的遗传算法中模拟退火算法的作用。由于本发明实施例的改进遗传算法采用多种群,每一代的最大效益值为5个种群中的最大值,所以在改进的遗传算法中,多种群已经对基因的初始情况产生了积极作用。为对比模拟退火算法在多种群基因交流中的作用,设置了对照试验,图5去掉模拟退火算法在种群间基因交流的作用的进化过程。
可以看出改进遗传算法种群间取消掉模拟退火的基因交流过后,在10次重复试验中其对全局最优解的搜索能力明显减弱,迭代次数到350次时,仍然有数次试验结果处于较低的效益值。通过图3和图5的对比可以看出,在多种群间利用模拟退火算法的方式进行基因交流有益于算法跳出局部最优解。
为对比改进遗传算法种群间加入模拟退火算法对计算时间带来的影响,令重复终止条件NE=100,其余参数不变,重复运行60次改进的遗传算法和去掉模拟退火的改进遗传算法,如图6纵轴为算法得出任务分配结果的运行时间,单位为毫秒,横轴为算法运行次数。实验结果表明模拟退火的引入对算法的运行时间和稳定性都有较大的提升。首先从图6中可以看出,改进的遗传算法运行时间在6000ms周围波动,而去掉种群间的模拟退火后,算法的运行时间在9000ms周围波动。模拟退火的引入明显缩短了算法的计算时间。同时在图6中,也可以看出,改进的遗传算法60次运行时间的波动区间为5000ms到9000ms;去掉模拟退火的改进遗传算法波动区间在6000ms到18000ms之间;模拟退火的加入明显提高了算法每次运行的稳定性。
本发明实施例提供的任务分配方法创建了适用于蜂群任务执行机执行一次性打击任务的任务分配模型,并引入改进的遗传算法进行求解。改进的遗传算法,采用了简化的编码方式以适应蜂群任务执行机执行一次性打击任务的要求,去掉了交叉算子,增加了基因内的编码互换,在多种群的基因交流过程中引入了模拟退火算法。改进的遗传算法比标准遗传算法能更稳定的得到高效益的任务分配方案,模拟退火算法的引入也提高了算法的稳定性且加速收敛,在60次运行试验中得出分配结果的平均运行时间减少30%。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图7是本发明一实施例提供的任务分配系统的示意框图,为了便于说明,仅示出与本发明实施例相关的部分。
在本发明实施例中,任务分配系统70可以包括模型建立模块701和模型求解模块702。
其中,模型建立模块701,用于以任务执行机执行任务的效益值总和最大为目标函数,以任务执行机数量约束、任务执行机执行任务数量约束和能耗约束为约束条件,建立任务分配模型;
模型求解模块702,用于基于改进的遗传算法,对任务分配模型进行求解,得到任务分配结果。
可选地,模型求解模块702可以包括编码单元、效益矩阵计算单元、模拟退火单元、选择单元、编号互换单元、变异单元、最优解获取单元和循环单元;
其中,编码单元,用于采用预设编码方式,对任务执行机的编号进行编码,生成多个初始种群,记为初始种群集合,其中,每个初始种群中包括多个个体;
效益矩阵计算单元,用于根据目标函数,计算初始种群集合中的每个初始种群中的每个个体的效益值总和,生成初始效益矩阵;
模拟退火单元,用于在初始种群之间模拟退火算法进行基因交流,生成第一种群集合,并根据第一种群集合更新初始效益矩阵,得到第一效益矩阵;
选择单元,用于基于选择算子,根据第一种群集合生成第二种群集合,并根据第二种群集合更新第一效益矩阵,生成第二效益矩阵;
编号互换单元,用于基于个体内的任务执行机的编号互换的方式,根据第二种群集合生成第三种群集合,并根据第三种群集合更新第二效益矩阵,生成第三效益矩阵;
变异单元,用于基于变异算子,根据第三种群集合生成第四种群集合,并根据第四种群集合更新第三效益矩阵,生成第四效益矩阵;
最优解获取单元,用于若当前迭代次数达到第一预设次数,或,每个种群中的效益值总和最大值连续不发生改变的次数达到第二预设次数,则选取第四种群集合中效益值总和最大的个体作为最优解;其中,最优解为任务分配结果;
循环单元,用于若当前迭代次数未达到第一预设次数,且,每个种群中的效益值总和最大值连续不发生改变的次数未达到第二预设次数,则将第四种群集合作为新的初始种群集合,将第四效益矩阵作为新的初始效益矩阵,并跳转至在初始种群之间模拟退火算法进行基因交流,生成第一种群集合,并根据第一种群集合更新初始效益矩阵,得到第一效益矩阵的步骤循环执行。
可选地,在编码单元中,预设编码方式包括:
若任务所需任务执行机的数量小于或等于可支配的任务执行机的数量,则基于可支配的任务执行机的编号,随机生成满足约束条件的个体;
若任务所需任务执行机的数量大于可支配的任务执行机的数量,则将可支配的任务执行机的编号在满足约束条件时随机分配给各个任务,并将未分配到任务执行机的编号的任务对应的任务执行机的编号设为0。
可选地,模拟退火单元还可以用于:
模拟退火初始温度为T0和降温系数为β;
在初始种群集合中随机选取两个初始种群Gg和Gw,并在初始种群Gg中随机选取一个个体Useqgq,在初始种群Gw中随机选取一个个体Useqwr;
根据Tt=βT×T0,计算当前迭代次数t对应的退火温度Tt,并根据计算当前迭代次数t对应的退火概率Pt;其中,f(Useqgq)为个体Useqgq对应的效益值总和,f(Useqwr)为个体Useqwr对应的效益值总和;
若f(Useqgq)≥f(Useqwr),则复制Useqgq的序列代替初始种群Gw中的Useqwr的序列;
若f(Useqgq)<f(Useqwr),则根据Pt确定是否复制Useqgq的序列代替初始种群Gw中的Useqwr的序列;
将初始种群集合经过模拟退火算法进行基因交流后得到的种群集合称为第一种群集合。
可选地,选择单元还可以用于:
将第一目标种群中的个体按照效益值总和由大到小的顺序进行排序,并在每轮淘汰选择中,依次选取的个体作为复制母本,依次选取的个体作为淘汰备选个体;其中,n为个体在第一目标种群中的排名,Ng为第一目标种群中的个体的数量,第一目标种群为第一种群集合中的任意一个种群;
根据计算在本轮淘汰选择中的淘汰概率RG;其中,为在本轮淘汰选择中淘汰备选个体的效益值总和,maxf(Useq1)为在第一目标种群中的效益值总和的最大值,minf(Useq1)为在第一目标种群中的效益值总和的最小值;
生成0到1之间的随机数rand;
若rand小于RG,则在第一目标种群中删除掉本轮淘汰选择的淘汰备选个体,并复制一个本轮淘汰选择的复制母本添加到第一目标种群中;
若rand大于或等于RG,则保留本轮淘汰选择的淘汰备选个体;
跳转至将第一目标种群中的个体按照效益值总和由大到小的顺序进行排序的步骤循环执行,直至在第一目标种群中进行淘汰选择的轮数达到预设轮数;
将第一种群集合中的各个种群依次作为第一目标种群,经过淘汰选择后得到的种群的集合称为第二种群集合。
可选地,编号互换单元还可以用于:
在第二目标种群中随机选取第一目标个体,其中,第二目标种群为第二种群集合中的任意一个种群;
随机生成小于或等于第一目标个体的长度的两个随机数,并在第一目标个体中,交换两个随机数对应位置的任务执行机的编号;
跳转至在第二目标种群中随机选取一个第一目标个体的步骤循环执行,直至在第二目标种群中,交换编号的数量达到预设交换数量;
将第二种群集合中的各个种群依次作为第二目标种群,经过交换编号操作后得到的种群的集合称为第三种群集合。
可选地,变异单元还可以用于:
在第三目标种群中随机选取第二目标个体,其中,第三目标种群为第三种群集合中的任意一个种群;
随机生成一个(0,Ni]的随机数Nb,并随机生成一个(0,Ns]的随机数Nn,其中Ni是任务执行机的数量,Ns是第二目标个体的长度;
确定第二目标个体中是否存在编号Nb;
若第二目标个体中存在编号Nb,则跳转至随机生成一个(0,Ni]的随机数Nb,并随机生成一个(0,Ns]的随机数Nn的步骤循环执行;
若第二目标个体中不存在编号Nb,则用编号Nb代替第二目标个体中第Nn个位置上的编号;
跳转至在第三目标种群中随机选取第二目标个体的步骤循环执行,直至在第三目标种群中变异个体的比例达到预设比例;
将第三种群集合经过变异操作后得到的种群集合称为第四种群集合。
可选地,在模型建立模块701中,目标函数为:
Eij=c1×NRij-c2×NOij-c3×NWijtz
c1+c2+c3=1
其中,Eij为任务执行机i执行任务j时的效益值;Ni为任务执行机的数量;Nj为任务的数量;f为任务执行机执行任务的效益值总和;NRij为任务执行机i执行任务j时的收益值的归一化值;c1为任务收益的权重系数;NOij为任务执行机i执行任务j时所需要的能量消耗值的归一化值;c2为任务能耗的权重系数;NWijtz为携带有t类设备的任务执行机i执行列装有z类装备的任务j所受到的威胁值的归一化值;c3为任务威胁的权重系数;
任务执行机数量约束为:
其中,定义分配给任务j的任务执行机序列为sequavj={uav1j,uav2j,uav3j……uavmj},U为任务执行机的集合,m为分配给任务j的任务执行机的数量,NTj为任务j所需要的任务执行机的最大数量;
任务执行机执行任务数量约束为:
Ndi≤1i=(1,2,3…Ni)
其中,Ndi为任务执行机i能够执行任务的数量;
能耗约束为:
其中,COi为任务执行机i所携带的能量值,α为能量损耗的保险系数,α∈(0,1),l为任务执行机i所要执行的任务的数量。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述任务分配系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图8是本发明一实施例提供的终端设备的示意框图。如图8所示,该实施例的终端设备80包括:一个或多个处理器801、存储器802以及存储在所述存储器802中并可在所述处理器801上运行的计算机程序803。所述处理器801执行所述计算机程序803时实现上述各个任务分配方法实施例中的步骤,例如图1所示的步骤S101至S102。或者,所述处理器801执行所述计算机程序803时实现上述任务分配系统实施例中各模块/单元的功能,例如图7所示模块701至702的功能。
示例性地,所述计算机程序803可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器802中,并由所述处理器801执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序803在所述终端设备80中的执行过程。例如,所述计算机程序803可以被分割成模型建立模块和模型求解模块,各模块具体功能如下:
模型建立模块,用于以任务执行机执行任务的效益值总和最大为目标函数,以任务执行机数量约束、任务执行机执行任务数量约束和能耗约束为约束条件,建立任务分配模型;
模型求解模块,用于基于改进的遗传算法,对任务分配模型进行求解,得到任务分配结果。
其它模块或者单元可参照图7所示的实施例中的描述,在此不再赘述。
所述终端设备80可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备80包括但不仅限于处理器801、存储器802。本领域技术人员可以理解,图8仅仅是终端设备80的一个示例,并不构成对终端设备80的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备80还可以包括输入设备、输出设备、网络接入设备、总线等。
所述处理器801可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器802可以是所述终端设备80的内部存储单元,例如终端设备80的硬盘或内存。所述存储器802也可以是所述终端设备80的外部存储设备,例如所述终端设备80上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器802还可以既包括终端设备80的内部存储单元也包括外部存储设备。所述存储器802用于存储所述计算机程序803以及所述终端设备80所需的其他程序和数据。所述存储器802还可以用于暂时地存储已经输出或者将要输出的数据。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的任务分配系统和方法,可以通过其它的方式实现。例如,以上所描述的任务分配系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种任务分配方法,其特征在于,包括:
以任务执行机执行任务的效益值总和最大为目标函数,以任务执行机数量约束、任务执行机执行任务数量约束和能耗约束为约束条件,建立任务分配模型;
基于改进的遗传算法,对所述任务分配模型进行求解,得到任务分配结果。
2.根据权利要求1所述的任务分配方法,其特征在于,所述基于改进的遗传算法,对所述任务分配模型进行求解,得到任务分配结果,包括:
采用预设编码方式,对任务执行机的编号进行编码,生成多个初始种群,记为初始种群集合,其中,每个初始种群中包括多个个体;
根据所述目标函数,计算所述初始种群集合中的每个初始种群中的每个个体的效益值总和,生成初始效益矩阵;
在初始种群之间模拟退火算法进行基因交流,生成第一种群集合,并根据所述第一种群集合更新所述初始效益矩阵,得到第一效益矩阵;
基于选择算子,根据所述第一种群集合生成第二种群集合,并根据所述第二种群集合更新所述第一效益矩阵,生成第二效益矩阵;
基于个体内的任务执行机的编号互换的方式,根据所述第二种群集合生成第三种群集合,并根据所述第三种群集合更新所述第二效益矩阵,生成第三效益矩阵;
基于变异算子,根据所述第三种群集合生成第四种群集合,并根据所述第四种群集合更新所述第三效益矩阵,生成第四效益矩阵;
若当前迭代次数达到第一预设次数,或,每个种群中的效益值总和最大值连续不发生改变的次数达到第二预设次数,则选取所述第四种群集合中效益值总和最大的个体作为最优解;其中,所述最优解为所述任务分配结果;
若当前迭代次数未达到第一预设次数,且,每个种群中的效益值总和最大值连续不发生改变的次数未达到第二预设次数,则将所述第四种群集合作为新的初始种群集合,将所述第四效益矩阵作为新的初始效益矩阵,并跳转至所述在初始种群之间模拟退火算法进行基因交流,生成第一种群集合,并根据所述第一种群集合更新所述初始效益矩阵,得到第一效益矩阵的步骤循环执行。
3.根据权利要求2所述的任务分配方法,其特征在于,所述预设编码方式包括:
若任务所需任务执行机的数量小于或等于可支配的任务执行机的数量,则基于可支配的任务执行机的编号,随机生成满足所述约束条件的个体;
若任务所需任务执行机的数量大于可支配的任务执行机的数量,则将可支配的任务执行机的编号在满足所述约束条件时随机分配给各个任务,并将未分配到任务执行机的编号的任务对应的任务执行机的编号设为0。
4.根据权利要求2所述的任务分配方法,其特征在于,所述在初始种群之间模拟退火算法进行基因交流,生成第一种群集合,包括:
模拟退火初始温度为T0和降温系数为β;
在所述初始种群集合中随机选取两个初始种群Gg和Gw,并在初始种群Gg中随机选取一个个体Useqgq,在初始种群Gw中随机选取一个个体Useqwr;
根据Tt=βt×T0,计算当前迭代次数t对应的退火温度Tt,并根据计算当前迭代次数t对应的退火概率Pt;其中,f(Useqgq)为个体Useqgq对应的效益值总和,f(Useqwr)为个体Useqwr对应的效益值总和;
若f(Useqgq)≥f(Useqwr),则复制Useqgq的序列代替初始种群Gw中的Useqwr的序列;
若f(Useqgq)<f(Useqwr),则根据Pt确定是否复制Useqgq的序列代替初始种群Gw中的Useqwr的序列;
将所述初始种群集合经过模拟退火算法进行基因交流后得到的种群集合称为第一种群集合。
5.根据权利要求2所述的任务分配方法,其特征在于,所述基于选择算子,根据所述第一种群集合生成第二种群集合,包括:
将第一目标种群中的个体按照效益值总和由大到小的顺序进行排序,并在每轮淘汰选择中,依次选取的个体作为复制母本,依次选取的个体作为淘汰备选个体;其中,n为个体在所述第一目标种群中的排名,Ng为所述第一目标种群中的个体的数量,所述第一目标种群为所述第一种群集合中的任意一个种群;
根据计算在本轮淘汰选择中的淘汰概率RG;其中,为在本轮淘汰选择中淘汰备选个体的效益值总和,maxf(Useq1)为在所述第一目标种群中的效益值总和的最大值,minf(Useq1)为在所述第一目标种群中的效益值总和的最小值;
生成0到1之间的随机数rand;
若rand小于RG,则在所述第一目标种群中删除掉本轮淘汰选择的淘汰备选个体,并复制一个本轮淘汰选择的复制母本添加到所述第一目标种群中;
若rand大于或等于RG,则保留本轮淘汰选择的淘汰备选个体;
跳转至所述将第一目标种群中的个体按照效益值总和由大到小的顺序进行排序的步骤循环执行,直至在所述第一目标种群中进行淘汰选择的轮数达到预设轮数;
将所述第一种群集合中的各个种群依次作为所述第一目标种群,经过淘汰选择后得到的种群的集合称为第二种群集合。
6.根据权利要求2所述的任务分配方法,其特征在于,所述基于个体内的任务执行机的编号互换的方式,根据所述第二种群集合生成第三种群集合,包括:
在第二目标种群中随机选取第一目标个体,其中,第二目标种群为所述第二种群集合中的任意一个种群;
随机生成小于或等于所述第一目标个体的长度的两个随机数,并在所述第一目标个体中,交换所述两个随机数对应位置的任务执行机的编号;
跳转至所述在第二目标种群中随机选取一个第一目标个体的步骤循环执行,直至在所述第二目标种群中,交换编号的数量达到预设交换数量;
将所述第二种群集合中的各个种群依次作为所述第二目标种群,经过交换编号操作后得到的种群的集合称为第三种群集合。
7.根据权利要求2所述的任务分配方法,其特征在于,所述基于变异算子,根据所述第三种群集合生成第四种群集合,包括:
在第三目标种群中随机选取第二目标个体,其中,所述第三目标种群为所述第三种群集合中的任意一个种群;
随机生成一个(0,Ni]的随机数Nb,并随机生成一个(0,Ns]的随机数Nn,其中Ni是任务执行机的数量,Ns是所述第二目标个体的长度;
确定所述第二目标个体中是否存在编号Nb;
若所述第二目标个体中存在编号Nb,则跳转至所述随机生成一个(0,Ni]的随机数Nb,并随机生成一个(0,Ns]的随机数Nn的步骤循环执行;
若所述第二目标个体中不存在编号Nb,则用编号Nb代替所述第二目标个体中第Nn个位置上的编号;
跳转至所述在第三目标种群中随机选取第二目标个体的步骤循环执行,直至在所述第三目标种群中变异个体的比例达到预设比例;
将所述第三种群集合经过变异操作后得到的种群集合称为第四种群集合。
8.根据权利要求1至7任一项所述的任务分配方法,其特征在于,所述目标函数为:
Eij=c1×NRij-c2×NOij-c3×NWijtz
c1+c2+c3=1
其中,Eij为任务执行机i执行任务j时的效益值;Ni为任务执行机的数量;Nj为任务的数量;f为任务执行机执行任务的效益值总和;NRij为任务执行机i执行任务j时的收益值的归一化值;c1为任务收益的权重系数;NOij为任务执行机i执行任务j时所需要的能量消耗值的归一化值;c2为任务能耗的权重系数;NWijtz为携带有t类设备的任务执行机i执行列装有z类装备的任务j所受到的威胁值的归一化值;c3为任务威胁的权重系数;
所述任务执行机数量约束为:
其中,定义分配给任务j的任务执行机序列为sequavj={uav1j,uav2j,uav3j……uavmj},U为任务执行机的集合,m为分配给任务j的任务执行机的数量,NTj为任务j所需要的任务执行机的最大数量;
所述任务执行机执行任务数量约束为:
Ndi≤1 i=(1,2,3…Ni)
其中,Ndi为任务执行机i能够执行任务的数量;
所述能耗约束为:
其中,COi为任务执行机i所携带的能量值,α为能量损耗的保险系数,α∈(0,1),l为任务执行机i所要执行的任务的数量。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述任务分配方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被一个或多个处理器执行时实现如权利要求1至8任一项所述任务分配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010717432.XA CN111831421B (zh) | 2020-07-23 | 2020-07-23 | 任务分配方法及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010717432.XA CN111831421B (zh) | 2020-07-23 | 2020-07-23 | 任务分配方法及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111831421A true CN111831421A (zh) | 2020-10-27 |
CN111831421B CN111831421B (zh) | 2022-06-03 |
Family
ID=72925104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010717432.XA Active CN111831421B (zh) | 2020-07-23 | 2020-07-23 | 任务分配方法及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111831421B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114118798A (zh) * | 2021-11-26 | 2022-03-01 | 广州华旻信息科技有限公司 | 工业互联网平台的任务处理方法、装置及工业互联网平台 |
CN116541165A (zh) * | 2023-04-23 | 2023-08-04 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 实时系统任务调度方法、装置、计算机设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070244673A1 (en) * | 2006-04-14 | 2007-10-18 | Deepak Khosla | Methods and apparatus for optimal resource allocation |
CN105740051A (zh) * | 2016-01-27 | 2016-07-06 | 北京工业大学 | 基于改进的遗传算法的云计算资源调度实现方法 |
CN106097055A (zh) * | 2016-06-08 | 2016-11-09 | 沈阳工业大学 | 个性化定制需求下企业订单处理方法 |
CN107045458A (zh) * | 2017-03-09 | 2017-08-15 | 西北工业大学 | 基于多目标量子粒子群算法的无人机协同任务分配方法 |
-
2020
- 2020-07-23 CN CN202010717432.XA patent/CN111831421B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070244673A1 (en) * | 2006-04-14 | 2007-10-18 | Deepak Khosla | Methods and apparatus for optimal resource allocation |
CN105740051A (zh) * | 2016-01-27 | 2016-07-06 | 北京工业大学 | 基于改进的遗传算法的云计算资源调度实现方法 |
CN106097055A (zh) * | 2016-06-08 | 2016-11-09 | 沈阳工业大学 | 个性化定制需求下企业订单处理方法 |
CN107045458A (zh) * | 2017-03-09 | 2017-08-15 | 西北工业大学 | 基于多目标量子粒子群算法的无人机协同任务分配方法 |
Non-Patent Citations (2)
Title |
---|
孙媛等: "改进的混合遗传算法在防空目标分配中的应用", 《四川兵工学报》, vol. 33, no. 9, 30 September 2012 (2012-09-30) * |
熊安萍等: "云计算环境下基于效益最优的资源调度策略", 《微电子学与计算机》, vol. 30, no. 11, 30 November 2013 (2013-11-30) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114118798A (zh) * | 2021-11-26 | 2022-03-01 | 广州华旻信息科技有限公司 | 工业互联网平台的任务处理方法、装置及工业互联网平台 |
CN116541165A (zh) * | 2023-04-23 | 2023-08-04 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 实时系统任务调度方法、装置、计算机设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111831421B (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114545975B (zh) | 融合多目标进化算法和合同网算法的多无人机系统任务分配方法 | |
CN111831421B (zh) | 任务分配方法及终端设备 | |
CN109242290B (zh) | 一种无人机群行动方案自动生成方法 | |
CN116187787B (zh) | 作战资源跨域调配问题的智能规划方法 | |
CN117077981B (zh) | 融合邻域搜索变异和差分进化的停机位分配方法及装置 | |
CN112288087A (zh) | 一种神经网络剪枝方法、装置、电子设备及存储介质 | |
CN112099522A (zh) | 多无人机协同对地攻击任务规划方法及终端设备 | |
Yu et al. | An extended flexible job shop scheduling model for flight deck scheduling with priority, parallel operations, and sequence flexibility | |
CN112632615B (zh) | 基于混合云环境的科学工作流数据布局方法 | |
CN114968531B (zh) | 基于多适应度遗传优化的量子云混合任务调度方法及装置 | |
CN115617690A (zh) | 基于改进自适应遗传算法的并行测试任务调度方法 | |
CN114154847A (zh) | 一种工程施工方案的确定方法、装置、客户端和存储介质 | |
CN112417748B (zh) | 一种调度自动驾驶仿真任务的方法、系统、设备及介质 | |
CN116541165A (zh) | 实时系统任务调度方法、装置、计算机设备以及存储介质 | |
Yang et al. | Multi-objective chance constrained programming of spare parts based on uncertainty theory | |
CN116303386A (zh) | 一种基于关系图谱的缺失数据智能插补方法和系统 | |
Sahakyan et al. | A Computational Approach for Evaluating Steady-State Probabilities of a Multiprocessor Queueing System with a Waiting Time Restriction | |
CN113487031A (zh) | 一种基于改进模拟退火融合遗传算法的多无人机任务分配方法 | |
CN110020725B (zh) | 一种服务于武器装备体系作战仿真的试验设计方法 | |
CN111882416A (zh) | 一种风险预测模型的训练方法和相关装置 | |
CN116538870B (zh) | 反导弹集群协同任务分配方法、装置、设备及存储介质 | |
CN115987998B (zh) | 微服务系统领袖者选举方法、系统、存储介质和电子设备 | |
CN115686865B (zh) | 一种基于多场景应用的超算节点资源分配系统 | |
CN117610867A (zh) | 一种无人集群多传感器任务分配调度优化方法与装置 | |
CN116644700A (zh) | 模拟电路设计方法及装置 |
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 |