一种基于改进MMAS的负载均衡调度方法技术

技术编号:24409183 阅读:51 留言:0更新日期:2020-06-06 08:25
一种基于改进MMAS的负载均衡调度方法,蚁群算法在组合优化问题和NP难的问题上具有高效性和可行性,它具有正反馈性、较强的鲁棒性、分布性和扩展性。针对基本的蚁群算法的计算执行时间较长、容易陷入局部最优解造成停滞,本发明专利技术给出了一种改进的最大最小蚁群算法,通过双向收敛的信息素更新的方式,很好的解决了算法执行时间长的缺点;然后通过限定信息素浓度允许值的上下限,克服了算法过早停滞,增大了解的范围,而且在寻优方面有所改善。通过对经典的旅行商问题进行验证,该算法具备了基本蚁群算法所具备的优点,实验表明,该改进算法有更高的执行效率和更好的计算稳定性。

A load balancing scheduling method based on improved MMAS

【技术实现步骤摘要】
一种基于改进MMAS的负载均衡调度方法
本专利技术涉及组合优化算法领域,具体涉及了一种基于改进最大最小蚁群算法MMAS(Max-MinAntColonyAlgorithm)的负载均衡调度方法
技术介绍
随着计算机技术的蓬勃发展,传统的计算模式在现阶段已不能完全满足用户的需求,云计算应运而生,它通过计算机网络向用户提供满足用户需求的并且灵活、可伸缩的计算和存储资源。云计算有着非常广泛的用户群体,几乎时刻都在处理海量的任务。因此,考虑如何合理地分配和利用云环境中的资源、有效地调度用户提交的海量任务且保证整个系统的负载均衡但也面临着一些问题,它会导致任务的完成时间增加、资源的利用率及任务的完成效率达不到期望的要求等等。由于云计算任务调度问题可以抽象成将多个任务随机分配到若干个虚拟机上,属于典型的组合优化问题。神经网络、遗传算法、模拟退火、粒子群算法、蚁群算法等许多用于解决复杂优化问题的新方法,本专利技术对蚁群算法的高效性、精确性的优点,解决了云计算中虚拟机负载不均衡及任务集完成时间较长的问题,提出了一种基于改进MMAS的负载均衡调度算法。蚁群算法是由意大利学者20世纪90年代模拟真实蚂蚁的觅食行为过程而提出的一种启发式仿生优化算法。其灵感来源于蚂蚁寻找食物过程中的路径发现,它主要是在图中寻找优化路径几率的算法。目前,它已被广泛用于解决大多数NP类问题的优化求解,如旅行商问题、图像着色、车辆调度、网络路由、多重背包等静态组合优化和动态组合优化问题。它的优点是:(1)采用一种正反馈机制,通过信息素的不断更新,达到最终收敛于最优路径的目的;(2)是一种分布式的优化方法,易于并行实现;(3)是一种全局优化的方法,不仅可用于求解单目标优化问题,而且可用于求解多目标优化问题;(4)适合于求解离散优化问题;(5)鲁棒性强。但由于在算法的初始阶段信息素匮乏,所以求解速度较慢。近十几年来,国内外众多学者为了提升蚁群算法的性能,在其改进策略上做了大量的研究。主要是针对基本蚁群算法一般需要较长的搜索时间和易陷入局部最优解等不足,对其参数和模型提出了一些改进方案:Dorigo等人通过在当前最优解更新信息素时释放额外的信息素,增强系统的正反馈作用,提出了精英蚂蚁系统EAS(Elitist-AntSystem);基本蚁群算法和最大最小蚂蚁系统在信息素更新和路径选择问题上均采取固定的模式,这是导致算法出现“早熟”停滞现象的主要原因,针对这一不足,Gambardella等人提出了一种自适应蚁群算法AACA(AdaptiveAntColonyAlgorithm),通过自适应地调节信息素挥发系数,抑制搜索停滞现象;最大-最小蚁群算法(MMAS)是由德国学者T.Stuetzle等人提出的,MMAS是到目前为止解决TSP、QAP等问题最好的蚁群优化算法之一。这种改进型蚁群算法在每次迭代中只允许表现最好的蚂蚁更新路径上的信息素,目的主要在于防止过早的算法停滞现象。蚁群算法具有如下几个优点:正反馈性、较强的鲁棒性、分布性和可扩展性。同时蚁群算法自身也具有不足之处,即计算执行时间较长、容易陷入局部最优解造成停滞。
技术实现思路
为了克服现有技术的不足,本专利技术给出了一种基于改进MMAS的负载均衡调度方法,通过双向收敛策略的信息素更新的方式,很好的解决了算法执行时间长的缺点;然后通过限定信息素浓度允许值的上下限,克服了算法过早停滞,增大了解的范围,而且在寻优方面有所改善。为了解决上述技术问题,本专利技术采用如下的技术方案:一种基于改进MMAS的负载均衡调度方法,包括以下步骤:步骤1,参数及环境初始化,过程如下:1.1设置时间t=0,迭代次数Nc=0,最大迭代次数Ncmax,设置蚁群的群体规模,蚂蚁的数量m,并将m只蚂蚁放在每一个结点坐标上;初始化信息素大小;1.2将所有路径的信息素限制在最大值τmax和最小值τmin之间,高于或低于这一区域都会被自动调整为τmax或τmin,保证信息素最小的路径也在选择范围内,设置最大最小的信息素如(1)、(2)式:其中L(t)表示第t次迭代最优路径长度,ρ为信息素挥发系数,将各条路径上的信息素控制在[τmin,τmax]之内,对于超出这个范围的值,大于τmax的就取τmax,若小于τmin则取τmin,这样的好处就是可以有效地避免某条路径上的信息素量远大于其他路径而造成的所有蚂蚁都集中到同一条路径上,从而使算法不再扩散、陷入局部最优;步骤2,随机分布在各结点的蚂蚁开始活动,各蚂蚁依据式(3)的状态转移概率进行路径选择,过程如下:2.1结点上的每只蚂蚁根据由式如下定义的转移概率选择下一个结点,转移概率定义为:其中,τij表示边(i,j)的信息素强度,ηij=1/Cij表示关系i转移到关系j的期望程度,Cij为关系i和j的连接代价。α为轨迹的相对重要性,β为期望的相对重要性;2.2m只蚂蚁同时从不同的结点出发,根据式(3)选择下一结点,已去过的放入禁忌表(tabuk)中,用禁忌表存储蚂蚁已经走过的关系,allowedk是蚂蚁k还未选择的结点集合,保证所有解的逻辑可行;步骤3,当蚂蚁移动到新的结点上后,根据式(4)更新其经过路径的信息素,并修改禁忌表,过程如下:首先,一次循环只对本次循环最优解或到目前为止找出最优解的一只蚂蚁进行信息素更新,使得长时间多数路径上信息素量相同,影响最优解的搜索速度;其次,假设蚂蚁创建第一条路径的引导信息主要是城市间的距离信息,这样蚂蚁在所经过的路径上留下的信息就不一定能反映出最优路径的方向,不能保证蚂蚁创建的第一条路径能引导蚁群走向全局最优解;因此,在第一次循环蚂蚁创建的本次循环最优解可能离全局最优解较远,但这条路径的信息素会因正反馈而得到增强,随着算法的重复执行,信息素会积累在这条不是最优的路径上,从而影响全局最优解的搜索速度;再次,一次循环中产生的较差解,对产生最优解不会有很大的帮助,如果增加此较差解路径的信息素,只会影响对最优解的搜索速度,所以应减小这些路径上的信息素,使较多的蚂蚁更快集中到较好路径的搜索上以加快全局最优解搜索速度;3.1使用表示更新后的信息素浓度,表示更新前的信息素浓度,在蚂蚁的每次搜索过程中,都会对信息素按如下公式进行更新:其中,ω为引入的奖惩系数,Lcur为当前路径的总长度,Llast为上一次的路径的总长度;3.2当出现最优路径时,对当前信息素浓度增加作为奖励,当出现相对较差路径时,则对当前信息素浓度减去作为惩罚,当出现最差路径时,则对当前信息素浓度减去作为严惩,增加双向收敛策略的目的是增加较优路径上的信息素浓度、减小较差路径上的信息素,使较多的蚂蚁更快集中到较好路径的搜索上以加快全局最优解搜索速度,并且扩大了解的范围;步骤4,重复执行步骤2,3,4直到整个蚁群中的每个蚂蚁都找到一个可行路径为止,记录路径总长度,对比所有可行路径,记录最优和最差路径,通过记录的结果对当前最优路径进行“奖励”,对最差路径进行“严惩”本文档来自技高网
...

【技术保护点】
1.一种基于改进MMAS的负载均衡调度方法,其特征在于,所述方法包括以下步骤:/n步骤1,参数及环境初始化,过程如下:/n1.1设置时间t=0,迭代次数N

【技术特征摘要】
1.一种基于改进MMAS的负载均衡调度方法,其特征在于,所述方法包括以下步骤:
步骤1,参数及环境初始化,过程如下:
1.1设置时间t=0,迭代次数Nc=0,最大迭代次数设置蚁群的群体规模,蚂蚁的数量m,并将m只蚂蚁放在每一个节点坐标上;初始化信息素大小;
1.2将所有路径的信息素限制在最大值τmax和最小值τmin之间,高于或低于这一区域都会被自动调整为τmax或τmin,保证信息素最小的路径也在选择范围内,设置最大最小的信息素如(1)、(2)式:






其中L(t)表示第t次迭代最优路径长度,ρ为信息素挥发系数,将各条路径上的信息素控制在[τmin,τmax]之内,对于超出这个范围的值,大于τmax的就取τmax,若小于τmin则取τmin,这样的好处就是可以有效地避免某条路径上的信息素量远大于其他路径而造成的所有蚂蚁都集中到同一条路径上,从而使算法不再扩散、陷入局部最优;
步骤2,随机分布在各结点的蚂蚁开始活动,各蚂蚁依据式(3)的状态转移概率进行路径选择,过程如下:
2.1结点上的每只蚂蚁根据由式如下定义的转移概率选择下一个结点,转移概率定义为:



其中,τij表示边(i,j)的信息素强度,ηij=1/Cij表示关系i转移到关系j的期望程度,Cij为关系i和j的连接代价,α为轨迹的相对重要性,β为期望的相对重要性;
2.2m只蚂蚁同时从不同的结点出发,...

【专利技术属性】
技术研发人员:李胜王忠超
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1