CN111967643A - 一种基于贪婪自适应蚁群算法的任务调度方法 - Google Patents
一种基于贪婪自适应蚁群算法的任务调度方法 Download PDFInfo
- Publication number
- CN111967643A CN111967643A CN202010666128.7A CN202010666128A CN111967643A CN 111967643 A CN111967643 A CN 111967643A CN 202010666128 A CN202010666128 A CN 202010666128A CN 111967643 A CN111967643 A CN 111967643A
- Authority
- CN
- China
- Prior art keywords
- path
- nodes
- node
- ant colony
- ant
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000005457 optimization Methods 0.000 claims abstract description 23
- 230000007246 mechanism Effects 0.000 claims abstract description 7
- 239000003016 pheromone Substances 0.000 claims description 61
- 241000257303 Hymenoptera Species 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 12
- 238000010276 construction Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 230000007704 transition Effects 0.000 claims description 3
- 230000003044 adaptive effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000019637 foraging behavior Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- 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/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
Abstract
一种基于贪婪自适应蚁群算法的任务调度方法于集群智能算法领域,主要用于优化蚁群算法的执行效率和寻优能力。首先通过引入贪婪算法来加速蚁群算法的初始化速度,使蚁群算法在贪婪算法最优解的基础上再进行迭代寻优,这就加快了求解最优的迭代效率;在执行阶段还加入效率因子和可自适应调整的挥发系数来加快蚁群算法的寻优速度,效率因子让选择的节点更合理,挥发系数的自适应调整机制让算法可以充分利用前后调度结果的信息来有针对性的调节挥发系数的大小,从而调整优化方向;在蚁群算法中还引入蚁群接力来破解约束条件下单蚂蚁路径无法完成任务调度的难题。
Description
技术领域
本发明属于集群智能算法领域,主要用于优化蚁群算法的执行效率和寻优能力。
背景技术
蚁群算法是一种基于随机搜索模拟蚂蚁觅食行为的启发式组合最优化算法。蚁群中的蚂蚁通过信息素进行交流,在寻找食物源的过程中会释放出信息素遗留在该蚂蚁走过的路径上。越短的路径单位时间内通过蚂蚁越多,释放的信息素浓度就越高,对后来蚂蚁的吸引力越强,最终所有蚂蚁都选择此路径,即在蚁巢和食物源之间确定了一条最短路径。蚁群算法的优点是不需要复杂的数学模型和繁杂的参数设计就可以处理非常复杂的组合最优化问题,所以通常被应用于像云计算中在符合SLA协议前提下对计算资源的分配、微服务架构中对满足QoS约束的pod节点调用或者物流系统中对运力的分配这类难题。我们可以将这类难题抽象为m个任务在n个执行节点中合理分配执行且要满足约束条件的难题。本文也将基于此类任务调度模型来说明对蚁群算法的改进和优化。
目前在蚁群算法的研究中存在三个难题,一是蚁群算法在处理大规模的任务调度时初始化速度比较慢,特别是在无任务初始信息素的情况下,这一点在任务规模越大时越明显。其次蚁群算法在实际应用的过程中虽然有各类方法通过对算法相关参数的自适应调整来避免局部最优导致的算法停滞,但是往往只是粗略依据算法运行的迭代周期或者设定的某类标准,并不能充分结合前后调度结果间的有效信息。还有一个问题是在强约束条件下,一只蚂蚁的迭代结果无法作为最终的方案,此时需要多只蚂蚁的结果互补结合才能得出最终调度方案,而传统蚁群算法对此束手无策。这三个问题是限制蚁群算法应用于实际工业领域中在约束条件下对大规模数据和资源进行任务调度和路径规划的主要障碍。
贪婪算法是一种在对问题求解时,总是做出在当前看来是最好选择的算法。优点是求解速度快,但该算法因为不是从整体最优上加以考虑的,所以得到的是在某种意义上的局部最优解,一般不适合应用于求解全局最优化问题。
发明内容
本发明是创造了贪婪自适应蚁群算法(GSA-ACO),通过引入贪婪算法来加速蚁群算法的初始化速度,加入效率因子和可自适应调整的挥发系数来加快蚁群算法的寻优速度,引入在蚁群中接力的概念来破解约束条件下单蚂蚁路径无法完成任务调度的难题。
通过引入贪婪算法先处理任务得出部分可行解,并通过初始化公式转化为蚁群算法中路径间的初始信息素来解决初始化慢的难题。这样做的依据在于根据诸多实验模拟结果证明无初始信息素的蚁群算法只适用于中小规模的数据量,在增大数据规模后,路径寻找的困难性程度迅速增加。这时若仅使用蚁群算法进行迭代那么初始化速度很难保证,这是限制蚁群算法在大规模资源调度问题中实际应用的障碍。而贪婪算法可在O(n)的时间复杂度下找到一组可行的相对优的解,如果把这些解转化为蚁群算法中选择节点时的路径初始信息素,在贪婪算法最优解的基础上再进行迭代寻优,这就加快了求解最优的迭代效率。
算法中的自适应是指引入对算法参数中挥发系数的自适应调整和在启发式因子公式中引入效率因子。通过引入对信息素挥发系数基于前后调度结果的提升幅度进行分析的自适应调整机制来解决运行时出现的优化停滞或者困于局部最优解的问题。在出现优化停滞时增大挥发系数扩大搜索范围来跳出当前最优,优化速度慢时降低挥发系数来快速寻优。目前的启发式因子公式一般只是考虑距离因素,在这里本算法提出了效率因子加入到启发式因子公式中来弥补节点路径选择的粗疏性。效率因子是在选择下一节点时结合该节点执行时间,传输时间和执行载体的当前状态这三类信息得到的因式,本质上是为了平衡整体运行效率。两处调整机制让蚁群算法在面对优化停滞时有了明确的优化方向,解决了迭代方向不明确的问题。
本发明还提出了蚁群中蚂蚁接力调度的新方法。传统蚁群算法以一只蚂蚁的模拟结果来得出一个可行的最终解,但对于一个复杂任务调度问题而言,在约束条件下一只蚂蚁一次迭代无法得到整个任务的最终解,这时需要将几只蚂蚁的成果互补作为一组可行方案。目前有人提出将两只蚂蚁分为一组同时进行路径选择的方法,但是一组蚂蚁需要同步选择下一节点,这就带来了互相干扰寻优和节点重复选择需要回退的问题。而且很多时候两只蚂蚁也未必可以完成任务。在这里引入了蚂蚁间进行接力的新方法,如果一只蚂蚁在约束条件下未能清空禁忌表就已经因为约束条件终止调度了,则再派出一只蚂蚁通过共享上一蚂蚁的禁忌表来继续完成任务,若禁忌表仍未被清空再派出下一只蚂蚁,直至禁忌表被清空。再将得到的多个互补的调度结果合并为一组可行方案。
上述三项改进解决了蚁群算法对约束条件下大规模任务调度不适用的难题。例如在大型集群调度的资源调度利用率问题中,常规蚁群算法就很难落地应用,原因在于迭代运行速度慢,节点选择不确定性强且单蚂蚁路径很难满足各类约束条件。另外该算法的通用性很强,各项改进都可以对目前各类蚁群算法的变种进行有益的补充和优化。
该算法执行步骤如下:
步骤1、接收任务信息,并将任务信息进行处理,建立问题模型。
步骤2、调用贪婪算法对任务进行处理,得出可行解的信息供下一步调用。
步骤3、调用蚁群算法,并对蚁群算法的各项参数进行初始化。
步骤4、开始执行蚁群算法,结合自适应调整机制最终给出最优方案。
整个算法的流程图在图4中给出。
附图说明
图1物流问题示意图
图2贪婪算法得出的可行解示意图
图3蚁群算法得出的最优解示意图
图4为GSA-ACO算法流程图
具体实施方式
以下结合实例与附图对本发明进行详细说明。
本发明的实施方式仅以解决物流资源调度难题为例,但算法本身广泛适用于各类带约束的任务调度问题。如图1所示该模型设置了一个配送中心和若干个待配送客户节点(下面简称节点),各节点的位置坐标和资源需求已知。这里的约束条件在于汽车载重有限,实例中设置为100t,所以不可能只由一辆车就能完成所有的配送任务,故一个可行解中必须包含多条路径,且这些可行解中的路径经过的节点加起来必须刚好为所有配送节点。最终的优化要求是以最小的车辆总行驶里程来完成货物的派送任务。在改进的蚁群算法针对该问题求解的模型中,蚂蚁代表车辆,蚂蚁经过的节点为汽车的调度路径。下面是详细的步骤说明。
步骤1接收并处理任务信息,建立问题模型。
首先接收任务请求,得到节点与配送中心的方位信息,得到如图1所示的示意图。这里的物流调度问题可以转化为在考虑汽车载重的情况下在一个图中遍历所有节点寻找一组最短路径方案的问题,这里将节点之间的距离作为两个节点之间传输的消耗。图中有一个配送中心,每条可行路径都必须从这一节点出发,并且当调度汽车的剩余货物量不能满足任一未配送节点的需求或所有节点都已经配送完毕后回到配送中心。
步骤2调用贪婪算法对任务进行处理,得出可行解的信息供下一步调用。
调用贪婪算法对任务进行处理,寻找若干组可行方案,该值与蚁群的初始蚂蚁数量相当,在实例中设置为10组。每组方案中节点的选择遵循距离最近和不重复选的原则,即每一步节点选择都仅考虑寻找能满足要求的最近节点,且在一个方案中选过的节点不会被再次选取,在无重复地遍历完所有结点后形成的几条路径即为一组可行方案。图2是贪婪算法得到的一组可行方案的示意图。如图所示,贪婪算法从整体看很难得出全局最优解,但是这些方案为蚁群算法的初始化和迭代时的节点选取提供了数据和经验。
另外,贪婪算法在每一步的选取过程中都会挑选距离当前节点的最近节点,这样的做法会带来一个问题,因为距离配送中心最近的一般只有一个节点,以此类推最终只会得出一条可行路径。这里的解决方案是在每组方案的起始路线选择时依次指定除配送中心外的其余节点作为该路线的第二个必经节点,来获得更多的可行路径方案。
步骤3更新蚁群算法的相关参数并完成初始化。
得到贪婪算法提供的若干组方案后,首先计算每一组方案的总路径距离值,目的是找出当前距离最短的一组最优方案。然后通过结合当前最优方案与其他方案在路径总距离的比值和各路径间的物理距离作为路径的权重,为所有方案中任一两个相连节点形成的路径设置初始信息素。由下面两个公式我们可以将得到的路径信息转化为蚁群算法中路径节点间的初始信息素。
在(1)式中的代表初始时刻f时贪婪算法提供的最优方案所包含的任一两个前后相联节点i和j之间路径的初始化信息素。dij为i节点和j节点间的路径距离。τn为蚁群算法设置的所有节点路径间的初始信息素,此处设置的值为0.01,因为在实例中节点间的路径值一般小于100km,故路径的倒数一般大于0.01。设置低初始信息素值可以充分利用贪婪算法得出的信息。作为当前最优方案中的路径,初始信息素值不必乘上一个介于(0,1)的常数ξ,目的在于对优势路径奖励更多的信息素,这一操作会提高优势路径的选择概率。
在(2)式中代表初始时刻f时其余非最优方案中包含的任一两个前后相联节点a和b之间路径的初始信息素,dab为a,b节点间的路径距离。ξ值是初始时刻f时,由贪婪算法给出的最优方案路径长度值Lenbest(f)和其余每一个非最优方案路径长度值Lennow(f)相比得到,故每条非最优方案的ξ值随着本方案的路径距离不同而各不相同。ξ值的设置是为了惩罚劣势路径的信息素含量,降低其被选择的概率。
初始化后得到的各节点间路径的初始信息素值将会在蚁群算法节点选取时由概率公式调用,贪婪算法给出的最优方案将作为蚁群算法初始的当前最优方案。由于蚁群算法的数学机制尚不成熟,故在这里算法其他参数的初始化遵循已有的使用蚁群算法解决物流问题的相关文献经过实验模拟后的最优参数。将蚁群迭代的最大循环次数NCmax设置为50次、信息素挥发常数ρ设置为0.15,信息素因子a为2,启发式因子β为6,蚂蚁数量确定为10,Q常数设置为10。所有初始蚂蚁的禁忌表是由所有需要服务的节点组成。
步骤4开始执行蚁群算法,结合自适应调整机制最终给出最优方案。
1)开始执行蚁群算法,放置初始蚂蚁群构建路径。
蚂蚁数量已由初始化给出,此处为10只。将所有蚂蚁的起始点随机放置于各个待配送节点。这里不直接从配送中心出发是因为节点的选择都是依据概率,每次都从配送中心出发很可能会总是选择某些节点,从而需要排除大量的重复路径。为了符合要求,总路径距离值会加上该初始节点到配送中心的距离。接下来为每只蚂蚁设置各自的初始禁忌表,每次被配送过的节点会被从该蚂蚁的禁忌表中清除。
在这里蚂蚁k指代该步骤中出现的所有需要选择节点的蚂蚁,t时刻为任一时刻,节点i为当前时刻蚂蚁k所在节点,节点j表示待选择的下一节点。公式中Jk(i)是t时刻在i节点的蚂蚁k的禁忌表上的所有待配送节点。a为信息素因子,β为启发式因子,两者分别代表在节点选择时信息素和启发式因子各自的相对重要程度,值已被初始化定义。公式(3)通过将所有可行下一节点的信息素和启发式因子值转化为被选择的概率,再对下一节点按概率值进行随机选择。在触发约束条件返回配送中心之前,蚂蚁k会根据公式(3)来不断选择下一节点。
公式(4)中是指t时刻i节点待选择的下一节点j的启发式因子值,表示i、j节点的路径距离,Wj为j节点资源需求量,Loa di为i节点蚂蚁的资源剩余量,所以在这里Wj要小于Loa di,否则当资源剩余量不能满足任一未配送节点时则触发约束条件返回配送中心。是由下一节点j的资源需求量Wj、当前节点下资源的剩余量Loa di和距离因素dij组成的效率因子。该值越大,我们在选择节点时越倾向于选择距离越近,资源需求量越大的节点。设置效率因子可以综合利用得到的信息来平衡每次只选择最短路径的节点带来的接下来可能需要走的更远的负面效应,使得下一路径节点的选择更合理。另外,这里根据更多的已知信息和优化需求还可以设置更多参数来进一步指导优化方向的选择。
3)每次完成一个可行方案都对该方案中的路径进行信息素的局部更新。
当蚂蚁K出发后回到配送中心时,若此时禁忌表尚未清空则重新派出一只蚂蚁在共享蚂蚁K的禁忌表后,随机选择一个禁忌表中的剩余节点,加上该点到配送中心的距离后,重复步骤2,直至满足约束条件返回配送中心。若禁忌表仍然没有清空,再继续派出新的蚂蚁直至清空禁忌表。然后对几只共享禁忌表的蚂蚁的路径进行组合来构成一个包含各条路径的可行方案,再对刚才方案经过的所有两点间的路径进行信息素的局部更新。为方便下面公式说明,将这一步骤中出现的所有可行方案命名为方案m。
Δτm(i,j)=(Lenm)-1,if(i,j)∈Rm (6)
t+1时刻表示上面出现过的任一时刻t的下一时刻,此时方案m已经构建完成,需要对方案m中路径的信息素进行局部更新。(5)式中表示t+1时刻方案m中任一两个节点i和j路径间的局部信息素更新值。表示前一时刻t时这些路径的信息素量,Rm表示方案m经过的所有节点间构成的路径集合,ρ(t)为t时刻的挥发系数,1-ρ(t)表示t时刻的残留系数,Δτm(t+1)(i,j)是t+1时刻该方案经过的任一两个相连节点i和j之间路径的信息素增量,值为该方案走过的路径距离Lenm的倒数。
由于采用了蚂蚁间接力的方法来破除在约束条件下(此处为汽车载重量)对一个物流任务调度问题的求解,所以初始派出的十只蚂蚁通过接力的方法都能够完成一个路径各异的可行方案的构建。这时在完成每组方案路径信息素的局部更新后,计算所有方案的路径距离值,选出本次迭代最优方案。
4)记录当前最优方案,对最优方案的路径进行信息素的全局更新,然后清空所有节点的禁忌表,重新进行下一次迭代。
Lenbest(t+2)=min(Len(t+1),len(t))
t+1时刻我们得到每一个方案后,我们对其路径间的信息素进行了局部更新,并最终得出本次迭代产生的最优方案的路径值len(t+1)。在下一时刻t+2将会使用公式(7)得出本次全局更新的挥发系数,然后使用公式(8)对本次最优方案的路径的信息素进行全局更新。
如公式(7)所示,Len(t)为t时刻的全局最优路径距离值,len(t+1)为t+1时刻得到的本次迭代最优路径距离值。Lenbest(t+2)是Len(t+1)、len(t)两者中最小值,表示本次迭代后t+2时刻后蚁群算法更新的新全局最优路径距离值。这里的信息素挥发系数ρ(t+1)的值是通过对比前后最优路径的提升幅度来进行自适应调整。本次最优路径提升得越多,挥发系数ρ(t+1)就同比减小,因为同比降低挥发系数ρ(t+1)可以更好聚焦该路径进行寻优;提升越小甚至没有提升时,挥发系数ρ(t+1)就相对增大,因为增加挥发系数可以扩大蚁群的搜索空间。这样就解决了实际调度中运用蚁群算法遇到的迭代次数过多或者困于局部最优解的问题。
公式8中的τij(t+2)表示t+2时刻本次迭代的最优方案中任一路径的前后相连节点i和j的路径信息素的全局更新值。值为残留系数1-ρ(t+1)和t+1时刻路径间局部更新后的信息素值τij(t+1)的乘积与已被初始化的常数Q和Lenbest(t+2)比值的和。
5)反复迭代蚁群算法至设定好的NCmax次后终止,并给出最优执行路径。
反复重复上述迭代蚁群算法中的步骤1至4,直至迭代次数达到设置好的上限NCmax即50次后输出最后求得的最优路径。得到的调度方案如示意图3所示,该调度方案可以用于指导实际物流调度中调度方案的设计。从图2和图3两个示意图的对比中我们可以看出是否精心设计调度方案会对最终的执行结果带来很大的差距。如果能采用改进的蚁群算法得出最优化方案来最终执行,不仅可以明显提高物流公司调度过程中的资源利用率,避免资源浪费,还可以提升客户的体验,最终可以为物流公司带来良好的经济和社会效益。
以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。
Claims (5)
1.一种基于贪婪自适应蚁群算法的任务调度方法,其特征在于,执行步骤如下:
步骤1、接收任务信息,并将任务信息进行处理,建立问题模型;
步骤2、调用贪婪算法对任务进行处理,得出可行解的信息供下一步调用;
步骤3、调用蚁群算法,并对蚁群算法的各项参数进行初始化;
步骤4、开始执行蚁群算法,结合自适应调整机制最终给出最优方案;
1)执行蚁群算法,放置初始蚂蚁群开始构建路径;
3)每次完成一个可行方案都对该方案中的路径进行信息素的局部更新;
4)记录当前最优方案,对最优方案的路径进行信息素的全局更新,然后清空所有节点的禁忌表,重新进行下一次迭代;
5)反复迭代蚁群算法至设定好的NCmax次后终止,并给出最优执行路径。
2.根据权利要求1所述的一种基于贪婪自适应蚁群算法的任务调度方法,其特征在于,步骤1的实现过程如下:
此处实例为物流资源调度,设置了一个配送中心和若干个待配送客户节点,下面简称节点;各节点的位置坐标和资源需求已知;约束条件在于汽车载重有限,所以不可能只由一辆车和一条路径就能完成所有的配送任务,故一个可行解中必须包含多条路径,且这些可行解中的路径经过的节点加起来必须刚好为所有配送节点;每条可行路径都必须从这一节点出发,并且当调度汽车的剩余货物量不能满足任一未配送节点的需求或所有节点都已经配送完毕后回到配送中心;最终的优化要求是以最小的车辆总行驶里程来完成货物的派送任务。
3.根据权利要求1所述的一种基于贪婪自适应蚁群算法的任务调度方法,其特征在于:步骤2会调用贪婪算法对任务进行处理,寻找若干组可行方案,该值与蚁群的初始蚂蚁数量相同,在实例中设置为10组;每组方案中节点的选择遵循距离最近和不重复选的原则,即每一步节点选择都仅考虑寻找能满足要求的最近节点,且在一个方案中选过的节点不会被再次选取,在无重复地遍历完所有结点后形成的几条路径即为一组可行方案;另外贪婪算法在每组方案的起始路线选择时会依次指定除配送中心外的其余节点作为该路线的第二个必经节点,来获得更多的可行路径方案。
4.根据权利要求1所述的一种基于贪婪自适应蚁群算法的任务调度方法,其特征在于:步骤3的实现过程如下,得到贪婪算法提供的方案后,首先计算每一组方案的总路径距离值,找出当前距离最短的最优方案;通过结合当前最优方案与其他方案在路径总距离的比值和各路径间的物理距离作为路径的权重,为所有方案中任意两个相连节点形成的路径设置初始信息素,
由下面两个公式将得到的路径信息转化为蚁群算法中路径节点间的初始信息素;
在(1)式中的代表初始时刻f时贪婪算法提供的最优方案所包含的任一两个前后相联节点i和j之间路径的初始化信息素;dij为i节点和j节点间的路径距离;τn为蚁群算法设置的所有节点路径间的初始信息素,此处设置的值为0.01;作为当前最优方案中的路径,初始信息素值不必乘上一个介于(0,1)的常数ξ;
5.根据权利要求1所述的一种基于贪婪自适应蚁群算法的任务调度方法,其特征在于:步骤4中,使用蚁群算法来寻找和给出最优路径;执行蚁群算法,放置初始蚂蚁群开始构建路径;将所有蚂蚁的起始点随机放置于各个待配送节点;;总路径距离值会加上该初始节点到配送中心的距离;接下来为每只蚂蚁设置各自的初始禁忌表,每次被配送过的节点会被从该蚂蚁的禁忌表中清除;
在这里蚂蚁k指代该步骤中出现的所有需要选择节点的蚂蚁,t时刻为任一时刻,节点i为当前时刻蚂蚁k所在节点,节点j表示待选择的下一节点;公式(3)中Jk(i)是t时刻在i节点的蚂蚁k的禁忌表上的所有待配送节点;a为信息素因子,β为启发式因子,两者值已被初始化定义;公式(3)通过将所有可行下一节点的信息素和启发式因子值转化为被选择的概率,再对下一节点按概率值进行随机选择;在触发约束条件返回配送中心之前,蚂蚁k会根据公式(3)来不断选择下一节点;
公式(4)中是指t时刻i节点待选择的下一节点j的启发式因子值,表示i、j节点的路径距离,Wj为j节点资源需求量,Loa di为i节点蚂蚁的资源剩余量,所以在这里Wj要小于Loa di,否则当资源剩余量不能满足任一未配送节点时则触发约束条件返回配送中心;是由下一节点j的资源需求量Wj、当前节点下资源的剩余量Loadi和距离因素dij组成的效率因子;
3)每次完成一个可行方案都对该方案中的路径进行信息素的局部更新;
当蚂蚁K出发后再次回到配送中心时,若此时禁忌表尚未清空则重新派出一只蚂蚁在共享蚂蚁K的禁忌表后,随机选择一个禁忌表中的剩余节点,加上该点到配送中心的距离后,重复步骤2来构建新的路径,直至满足约束条件返回配送中心;若禁忌表仍然没有清空,再继续派出新的蚂蚁直至清空禁忌表;然后对几只共享禁忌表的蚂蚁的路径进行组合构成一个包含上述各条路径的可行方案,再对刚才方案经过的所有两点间的路径进行信息素的局部更新;为方便下面公式说明,将这一步骤中出现的所有可行方案命名为方案m;
Δτm(i,j)=(Lenm)-1,if(i,j)∈Rm (6)
t+1时刻表示上面出现过的任一时刻t的下一时刻,此时蚂蚁K已经完成节点选择和可行方案的构建;(5)式中表示t+1时刻方案m中任意两个前后相连节点i和j路径间的局部信息素更新值;表示前一时刻t时这些路径的信息素量,Rm表示方案m经过的所有节点构成的路径集合,ρ(t)为t时刻的挥发系数,1-ρ(t)表示t时刻的残留系数,Δτm(t+1)(i,j)是t+1时刻该方案经过的任意两个节点i和j之间路径的信息素增量,值为该方案走过的路径距离Lenm的倒数;
由于采用了蚂蚁间接力的方法来破除在约束条件下对一个物流任务调度问题的求解,所以初始派出的十只蚂蚁通过接力的方法都能够完成一个路径各异的可行方案的构建;这时在完成每组方案路径信息素的局部更新后,计算所有方案的路径距离值,选出本次最优方案;
4)记录当前最优方案,对最优方案的路径进行信息素的全局更新,然后清空所有节点的禁忌表,重新进行下一次迭代;
Lenbest(t+2)=min(Len(t+1),len(t))
在t+1时刻我们得到每一个方案后,我们对其路径间的信息素进行了局部更新,并最终得出本次迭代产生的最优方案及路径值len(t+1);在下一时刻t+2将会使用公式(7)得出本次全局更新的挥发系数ρ(t+1),然后使用公式(8)对本次所有方案中的最优路径的信息素进行全局更新;
如公式(7)所示,Len(t)为t时刻的全局最优路径的距离值,len(t+1)为t+1时刻得到的本次迭代的最优路径距离值;Lenbest(t+2)是Len(t+1)、len(t)两者中的最小值,表示本次迭代后t+2时刻蚁群算法更新的新全局最优路径距离值;公式(8)中的τij(t+2)表示t+2时刻本次迭代的最优方案中任一路径的前后相连节点i和j的路径信息素的全局更新值,该值为新的残留系数1-ρ(t+1)和t+1时刻路径间局部更新后的信息素值τij(t+1)的乘积与已被初始化的常数Q和Lenbest(t+2)比值的两者之和;
5)反复重复上述迭代蚁群算法中的步骤1)至4),直至迭代次数达到设置好的上限NCmax即50次后输出最后求得的最优路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010666128.7A CN111967643A (zh) | 2020-07-13 | 2020-07-13 | 一种基于贪婪自适应蚁群算法的任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010666128.7A CN111967643A (zh) | 2020-07-13 | 2020-07-13 | 一种基于贪婪自适应蚁群算法的任务调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111967643A true CN111967643A (zh) | 2020-11-20 |
Family
ID=73360387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010666128.7A Pending CN111967643A (zh) | 2020-07-13 | 2020-07-13 | 一种基于贪婪自适应蚁群算法的任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111967643A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559135A (zh) * | 2020-12-24 | 2021-03-26 | 重庆邮电大学 | 一种基于QoS的容器云资源的调度方法 |
CN112613761A (zh) * | 2020-12-27 | 2021-04-06 | 北京工业大学 | 一种基于动态博弈和自适应蚁群算法的服务调度方法 |
CN113009821A (zh) * | 2021-02-10 | 2021-06-22 | 上海海事大学 | 一种基于信息素初始分配和动态更新的蚁群算法优化方法 |
CN113222520A (zh) * | 2021-06-16 | 2021-08-06 | 江苏佳利达国际物流股份有限公司 | 一种基于蚁群算法的货物优化配送方法及系统 |
CN115118728A (zh) * | 2022-06-21 | 2022-09-27 | 福州大学 | 基于蚁群算法的边缘负载均衡任务调度方法 |
CN115118724A (zh) * | 2022-06-23 | 2022-09-27 | 福州大学 | 基于蚁群算法的多无人机辅助边缘计算系统部署优化方法 |
CN115270377A (zh) * | 2022-09-26 | 2022-11-01 | 浙江华东工程数字技术有限公司 | 一种基于改进蚁群算法的多电缆最佳路径规划方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105825303A (zh) * | 2016-03-17 | 2016-08-03 | 合肥工业大学 | 一种甩挂运输的任务分配方法 |
CN108563239A (zh) * | 2018-06-29 | 2018-09-21 | 电子科技大学 | 一种基于势场蚁群算法的无人机航迹规划方法 |
CN109214498A (zh) * | 2018-07-10 | 2019-01-15 | 昆明理工大学 | 基于搜索集中度和动态信息素更新的蚁群算法优化方法 |
CN110220525A (zh) * | 2019-05-14 | 2019-09-10 | 昆明理工大学 | 一种基于势场蚁群算法的路径规划方法 |
-
2020
- 2020-07-13 CN CN202010666128.7A patent/CN111967643A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105825303A (zh) * | 2016-03-17 | 2016-08-03 | 合肥工业大学 | 一种甩挂运输的任务分配方法 |
CN108563239A (zh) * | 2018-06-29 | 2018-09-21 | 电子科技大学 | 一种基于势场蚁群算法的无人机航迹规划方法 |
CN109214498A (zh) * | 2018-07-10 | 2019-01-15 | 昆明理工大学 | 基于搜索集中度和动态信息素更新的蚁群算法优化方法 |
CN110220525A (zh) * | 2019-05-14 | 2019-09-10 | 昆明理工大学 | 一种基于势场蚁群算法的路径规划方法 |
Non-Patent Citations (1)
Title |
---|
汪冲;李俊;李波;张粤;: "改进的蚁群与粒子群混合算法求解旅行商问题", 计算机仿真, no. 11, 15 November 2016 (2016-11-15), pages 274 - 279 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559135A (zh) * | 2020-12-24 | 2021-03-26 | 重庆邮电大学 | 一种基于QoS的容器云资源的调度方法 |
CN112559135B (zh) * | 2020-12-24 | 2023-09-26 | 重庆邮电大学 | 一种基于QoS的容器云资源的调度方法 |
CN112613761A (zh) * | 2020-12-27 | 2021-04-06 | 北京工业大学 | 一种基于动态博弈和自适应蚁群算法的服务调度方法 |
CN112613761B (zh) * | 2020-12-27 | 2024-03-12 | 北京工业大学 | 一种基于动态博弈和自适应蚁群算法的服务调度方法 |
CN113009821A (zh) * | 2021-02-10 | 2021-06-22 | 上海海事大学 | 一种基于信息素初始分配和动态更新的蚁群算法优化方法 |
CN113222520A (zh) * | 2021-06-16 | 2021-08-06 | 江苏佳利达国际物流股份有限公司 | 一种基于蚁群算法的货物优化配送方法及系统 |
CN115118728A (zh) * | 2022-06-21 | 2022-09-27 | 福州大学 | 基于蚁群算法的边缘负载均衡任务调度方法 |
CN115118728B (zh) * | 2022-06-21 | 2024-01-19 | 福州大学 | 基于蚁群算法的边缘负载均衡任务调度方法 |
CN115118724A (zh) * | 2022-06-23 | 2022-09-27 | 福州大学 | 基于蚁群算法的多无人机辅助边缘计算系统部署优化方法 |
CN115270377A (zh) * | 2022-09-26 | 2022-11-01 | 浙江华东工程数字技术有限公司 | 一种基于改进蚁群算法的多电缆最佳路径规划方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111967643A (zh) | 一种基于贪婪自适应蚁群算法的任务调度方法 | |
LU503043B1 (en) | Smart city dynamic cold-chain logistics scheduling method based on ant colony optimization algorithm | |
CN112686458B (zh) | 一种多车型车队配送货过程的优化调度方法 | |
CN101237469B (zh) | 运用蚁群算法优化多QoS网格工作流的方法 | |
CN111860754A (zh) | 基于蚁群以及遗传算法的agv调度方法 | |
CN115480876A (zh) | 基于蚁群算法优化的云计算任务调度方法及系统 | |
CN110516871B (zh) | 一种基于模糊滚动时域控制策略的动态车辆路径优化方法 | |
CN113848970B (zh) | 一种车辆-无人机多目标协同路径规划方法 | |
CN110322066B (zh) | 一种基于共享承运人和共享仓库的协同车辆路径优化方法 | |
CN112733272A (zh) | 一种解决带软时间窗的车辆路径问题的方法 | |
CN114281104A (zh) | 一种基于改进蚁群算法的多无人机协同调控方法 | |
CN114968510A (zh) | 一种基于改进蚁群算法的多目标动态任务调度方法和系统 | |
CN113343575A (zh) | 基于改进蚁群算法的多目标车辆路径优化方法 | |
CN110098964A (zh) | 一种基于蚁群算法的部署优化方法 | |
CN113033970A (zh) | 一种针对大规模任务的auv集群分层分配方法 | |
CN109359771A (zh) | 一种基于大数据的干线运输车货匹配算法 | |
CN112734127A (zh) | 一种基于动态蚁群劳动分工模型的多auv任务分配方法 | |
CN109840625B (zh) | 一种快递员群路径导航的方法 | |
CN112613761B (zh) | 一种基于动态博弈和自适应蚁群算法的服务调度方法 | |
CN111352713A (zh) | 边缘环境面向时延优化的自动驾驶推理任务工作流调度方法 | |
Wu et al. | Delay-aware edge-terminal collaboration in green Internet of Vehicles: A multi-agent soft actor-critic approach | |
CN114201303A (zh) | 工业物联网环境下固定路径agv的任务卸载优化方法 | |
CN115062868B (zh) | 一种预聚类的车辆配送路径规划方法和装置 | |
CN112016750A (zh) | 一种改进的解决带约束车辆路径问题的方法 | |
CN116302389A (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 |