论文部分内容阅读
近年来,随着信息技术在各大领域的广泛应用,互联网中的数据信息量也呈现出爆炸式的增长,互联网已然进入“大数据时代”,传统的计算模式已不能满足当前不断变化的动态需求。基于以上的发展背景,“云计算”这个新兴技术应运而生。然而在复杂的云计算环境中,实际的资源分布情况往往异常复杂,有可能出现申请的资源数不足,以至于当前用户作业无法正常进行;当然也有可能出现对资源需求估算过高,这样又会使所租用的部分资源处于闲置状态,使得资源不能充分利用。因此,如何合理有效的将用户作业分配到资源节点上成为云计算的关键问题。蚁群算法是一种智能仿生算法,是根据观察自然界中蚁群的觅食活动提出,通过观察发现蚂蚁总能找到蚁穴和食物源之间最近的路径,其主要原理是蚁群中的蚂蚁可以通过释放和感知信息素的浓度来辨别和确定下一步需要转移的路径,在找到食物源后会根据路径长度等信息来释放一定浓度的信息素,信息素浓度越高的路径被选择的几率越大。蚁群算法因具有正反馈机制以及鲁棒性等特点自提出后便得到广泛研究与改进,在应用方面特别是针对组合优化问题蚁群算法展现了很大的优势,故本文将以蚁群算法为基础应用于云计算中资源分配问题上来,而单一的蚁群算法在具体应用时存在算法固有的缺点,因此在本文中将引入遗传算法、Metropolis接受准则将蚁群算法进行改进。本文的主要工作及创新点如下:(1)首先简单介绍关于云计算的基础知识、MapReduce模型以及云计算环境下的资源分配问题。(2)针对基本蚁群算法(ACO)在前期因路径中信息素浓度相同有一段相当长时间的盲目搜索的缺陷,不是单纯地改进原有算法的参数或公式。而是引入遗传算法(GA)的基本思想,并根据算法的特点将遗传算法中的快速全局搜索能力引入到初始信息素的分配过程中,将两个算法融合后提出遗传蚁群算法(GAAA)并将算法应用到旅行商问题(TSP)上,通过实验结果证明GAAA算法的可行性。(3)信息素更新机制,引进模拟退火算法中的Metropolis接受准则,进行路径优化和信息素的更新,根据Metropolis接受准则来接受一些“劣质”新解,通过比较新解和初始解的目标函数值来判断是否接受新解,在理论上能够可以一定程度上避免ACO算法在解决应用问题中出现陷入局部最优问题。(4)针对云计算环境下资源分配问题,提出目标函数,将提出的改进遗传蚁群算法(HGAACO)应用于资源分配问题上,具体罗列了算法的操作步骤和流程。算法的开发平台是在Matlab下进行的,通过设置算法参数将基于Metropolis接受准则的改进遗传蚁群算法(HGAACO)与ACO及已经被提出的遗传蚁群算法(GAAA)进行比较和实验分析。