- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于改进型遗传算法Web服务选择
一种基于改进型遗传算法的Web服务选择
摘要:随着Web服务技术的快速发展和广泛应用,单个Web服务的功能已经无法满足复杂应用的需求,因而需要将原子服务进行组合,从而形成功能强大的组合服务以完成复杂事务。该文提出了改进的遗传算法,来解决基于QoS感知的Web服务组合问题,算法从编码方式、初始化种群、适应度函数、进化选择策略等方面对进行改进,使得服务选择算法具有更好的收敛速度和搜索寻优能力。
关键词:Web服务;遗传算法;QoS
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)35-8574-02
1 Web服务的定义
Web服务是一个独立于平台、自包含、松耦合、基于可编程的Web应用程序,可以使用开放的XML标准描述、发布、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。通俗的来讲,对于Web服务访问者而言,Web服务就是一种部署在Web上的对象或组件,具备对象的良好封装性,用户只能通过服务接口对服务进行访问;Web服务基于标准的协议和规范被发布、部署和调用;当一个Web服务接口不发生变化,对于该服务的调用就不会发生变化,实现了调用的透明化;由于Web服务采用简单易于理解的标准协议作为组件界面描述,完全屏蔽了不同平台的差异,实现了当前环境下的高度集成性。
2 遗传算法概述
遗传算法是一种借鉴达尔文生物进化论和遗传学机理的生物进化计算模型,它通过模拟自然进化过程搜索最优解的算法。1975年,遗传算法由美国Michigan大学J.Holland教授所提出,他提出的为最初的遗传算法,即简单遗传算法。现在遗传算法广泛应用在很多学科中,应用领域主要有函数优化、生产调度、自动控制、机器人智能控制、组合优化、图像处理好热模式识别以及机器学习等,并且在工程技术和社会经济中的大量的应用。
在遗传算法中,主要使用的术语有以下几种:
组合路径:组合路径由一组抽象服务根据一定逻辑关系组合而成。
组合计划:组合计划是指组合路径中抽象服务被其对应的具体服务替换后形成的服务序列。
个体:在本文中,个体是指能完成用户请求的单个组合计划,也即问题可能潜在的解。
基因:在遗传算法的Web服务组合中,基因指的是Web服务组合中每个抽象服务。
基因位:Web服务组合中抽象服务在组合服务中的位置。
染色体:在遗传算法的Web服务组合中,染色体对应的是不同组合路径上的组合计划。
种群:在本文中,种群是代表问题一个可能潜在的解的集合,它具有一定数量组合计划,而且这些组合计划符合用户需求。
3 遗传算法的特点和运行过程
3.1遗传算法的特点
遗传算法作为一种有别于传统算法的搜索和优化方法,主要区别有下面几点:
1)遗传算法与传统算法最大的区别在于它行问题解的串集开始搜索,而不是从单个解开始。遗传算法从串集开始搜索,覆盖范围广,利于全局选优。传统的优化算法是从单个初始值迭代求最优解,容易陷入局部最优解。
2)遗传算法强调概率转换规则,而不是采用确定的转换规则来指引它的搜索方向。
3)遗传算法不必求导和其它方面的知识,仅仅使用一个适应度函数来评估个体,在此基础上进行遗传操作。
4)遗传算法可以同时处理群体中的多个个体,即对搜索空间中多个解进行评估,从而降低了陷入局部最优解的几率,同时遗传算法易于实现并行。许多搜索算法都是单点搜索,易陷入局部的最优解。
5)遗传算法还具有自组织性、自学习和自适应性。遗传算法在确定了染色体编码方式、遗传算子和适应度函数之后,就会利用演化过程中的信息进行组织搜索。由于采用基于达尔文生物进化论的选择策略,所以存活几率取决于个体适应度的大小。适应度越大的染色体个体将拥有更加适应所处环境的基因,进而通过基因重组、突变这些操作,可能会产生对环境有更加适应特性的个体。
3.2遗传算法的运行过程
遗传算法运算对象为M个个体组成一个种群,其与生物自然进化过程相似,算法运算过程也是一个不断循环迭代的过程。记第n代为P(n),经过一代的遗传演化后得到n+l代,记为P(n+1)。然后种群通过不断地遗传和进化,按照生物进化论的法则适应度高的染色体个体将遗传到下一代中,最后进化后得到的种群接近或者达到问题的最优解。遗传算法中,父代P(n)产生下一代,P(n+1)主要通过选择、交叉和编译操作来实现。选择操作是根据个体适应度进行选择进入下一代的个体。交叉操作是随机选择种群中个体以一定概率交换染色体个体上的部分基因,以得到新个体。变异操作是对种群个体以一定概率改变其基因位上的基因来产生新个体。
遗传算法的具体流程:
1)初始化种群:遗传算法中基本的个体为染色体,初始化时,每一个
文档评论(0)