一种云制造服务组合的动态蚁群快速优选方法与流程

文档序号:12865857阅读:265来源:国知局
一种云制造服务组合的动态蚁群快速优选方法与流程

本发明涉及一种云制造服务组合的动态蚁群快速优选方法,属于云制造技术领域。



背景技术:

随着科学技术的不断发展,制造产业的生产制造标准更加统一规范。许多复杂的产品由一家制造企业单独完成改为多家合作完成,每家企业只完成复杂产品的一道或几道工序。制造企业闲置的制造能力也会向外提供来获取一定的报酬。制造商的制造能力通过网络集合形成资源池,这就是传统的制造模式转变为云制造。

云制造是2010年开始出现的概念,综合国内外对云制造概念的阐述,定义如下:云制造(cloudmanufacturing)是一种面向服务、效率高、功耗低基于互联网的新型制造模式。用户可以根据自己的需求来动态的调整制造资源。云制造平台有多种容错技术。单个物理节点发生故障,云制造平台都会在后台将制造转移到其他的资源上继续完成,因此云制造模式比传统的制造模式更具有安全性和可靠性。qos(qualityofservice)评价模型是当前使用最多的评价模型之一。在本文中qos包含四个方面,分别是成本c(cost),时间t(time),质量函数q(qualityfunction),满意度s(satisfaction)。云制造服务组合问题是典型的np难问题,但是,在现有的技术中采用遗传算法、人工蜂群算法、狼群算法和蚁群算法等群智能算法,这些算法都存在易陷入局部最优解和收敛较缓慢的问题。



技术实现要素:

本发明目的针对上述现有技术的不足,提出了一种云制造服务组合的动态蚁群快速优选方法,该方法针对原始蚁群算法易陷入局部最优解和搜索效率低的问题,很好地解决了易陷入局部最优解和收敛较缓慢的问题。本发明分为两个阶段,第一阶段蚂蚁进行全局搜索且加入较大的随机扰动,第二阶段蚂蚁进行局部搜索且加入较小的随机扰动。不同阶段分别进行全局搜索和局部搜索且加入不同的随机扰动。根据适应度函数方差的大小是否超过阈值作为第一阶段向第二阶段跳转的标准。

本发明解决其技术问题所采取的技术方案是:一种云制造服务组合的动态蚁群快速优选方法,该方法包括如下步骤:

步骤1:根据用户需求建立适当qos评价模型,此评价模型中包含四个方面,它们分别是成本c(cost),时间t(time),质量函数q(qualityfunction),满意度s(satisfaction)。以此得到一个适应度函数f如下:

式中wi,i=1,2,3,4表示每项评价指标的权重,其中

步骤2:将任务分解成若干子任务,使用本发明中改进算法进行任务与资源的最优匹配,第一阶段蚂蚁进行全局搜索且加入较大的随机扰动。

步骤3:第一阶段向第二阶段过度时,采用一个阈值控制,当5次适应度函数的方差小于阈值转到下一个阶段。

步骤4:算法第二阶段蚂蚁进行局部搜索且加入较小的随机扰动。

步骤5:将最优匹配结果反馈给用户。

本发明首先根据用户请求建立适当的评价模型,然后使用改进蚁群算法从云资源池中搜索合适的资源进行服务分配,最后将最优结果反馈给用户。本发明中改进算法可分为两个阶段,不同阶段分别进行全局搜索和局部搜索且加入不同程度的随机扰动。具体技术方案包括如下:

1.根据用户请求,建立适当的评价模型,求出适应度函数。

2.对任务进行分解,从云资源池中找出相关的资源。

3.通过改进蚁群算法对众多资源进行分配,步骤如下。

4.初始化参数。每条路径上的信息素τij(t)=const,迭代次数nc=0。

5.第一阶段:

步骤1:将m只蚂蚁放于起始位置,令k=0,k为第k只蚂蚁。

步骤2:迭代次数增加一次,nc=nc+1。

步骤3:蚂蚁数量增加1,k=k+1。

步骤4:采用自适应伪随机比例选择规则来选择下一个节点,即对于位于节

点ij的蚂蚁,按式(3)选择下一个节点:

式中w为[0,1]上的随机数,它越小系统随机选择下一个节点的概率就越大,第一阶段wo=0.8,较大的wo能保证蚂蚁在第一阶段选择下一跳节点的随机性较大,不易陷入局部最优。s由式(4)确定。当w>wo时根据概率确定第k个蚂蚁从资源节点ij到pq的路径。

式中allowedk表示在t时刻第k只蚂蚁接下来可以选择的服务;α表示信息素因子;β表示期望启发式因子;ηis,pq(t)表示由is移动到pq的期望程度;表示第k个蚂蚁第t次迭代在(ij,pq)路径上残留的信息素。

步骤5:如果蚂蚁的数量大于最大值m,则进入步骤6;否则进入步骤3。

步骤6:根据公式(5)-(7)更新每条线路上的信息素。

τij,pq(t+1)=ρ·τij,pq(t)+δτij,pq(t)(5)

其中ρ(0<ρ<1)表示信息素残留系数,用1-ρ表示信息素的挥发系数。

步骤7:判断迭代次数是否达到最大次数,若达到,进入步骤8,否则进入步骤2。

步骤8:再进行5次迭代,并记录5次迭代的适应度值,求出5次适应度值的方差s2

步骤9:如果方差s2大于阈值(趋于0),进入步骤8,否则进入第二阶段。6.第二阶段:

步骤1:将m只蚂蚁放于起始位置,令k=0,k为第k只蚂蚁。

步骤2:迭代次数增加一次,nc=nc+1。

步骤3:蚂蚁数量增加1,k=k+1。

步骤4:采用自适应伪随机比例选择规则来选择下一个节点,即对于位于节点ij的蚂蚁,按式(3)选择下一个节点,式中w为[0,1]上的随机数,它越小系统随机选择下一个节点的概率就越大,第二阶段wo=0.2,较小的wo能保证蚂蚁在第二阶段选择下一个节点的随机性较小,保证了算法在第二阶段加速收敛。s由式(8)确定。当w>wo时根据概率确定第k个蚂蚁从资源节点ij到pq的路径。

基本蚁群算法中pq属于allowedk,这样会有一个较大的搜索空间。此改进算法中第二阶段从一个节点转移到下一个节点时的候选节点属于原空间的一个子空间,往往解都在这些子空间里。如附图5所示,pch表示以ch为圆心的一个圆,半径r一般等于当前节点ch和上一步节点的距离。α表示信息素因子;β表示期望启发式因子;ηis,pq(t)表示由is移动到pq的期望程度;表示第k个蚂蚁第t次迭代在(ij,pq)路径上残留的信息素。

步骤5:如果蚂蚁的数量大于最大值m,则进入步骤6;否则进入步骤3。

步骤6:根据公式(5)-(7)更新每条线路上的信息素。

步骤7:判断迭代次数是否达到最大次数,若达到,则输出优选结果,否则进入步骤2。

7.将最优匹配结果反馈给用户。

有益效果:

1、本发明应用于云制造服务组合优选,通过改进蚁群算法第一阶段进行全局搜索以及较大的随机扰动,有效的防止算法进入局部最优解而停滞,提高优选效率。

2、本发明应用于云制造服务组合优选,通过改进蚁群算法第二阶段进行局部搜索以及较小的随机扰动,能够加速算法的收敛,提高效率。

3、本发明能够快速对云制造组合服务进行匹配,并且对大规模的云制造服务组合问题也能取得较好的效果。

附图说明

图1为基于动态蚁群快速优选方法的云制造服务组合总体框图。

图2为动态蚁群快速优选方法流程图。nc为迭代次数,k为第k只蚂蚁,m为蚂蚁总数,ncmax为最大迭代次数,是两个阶段转换的阈值。

图3为云制造资源的服务传递过程图。

图4为qos评价模型图。

图5为局部搜索示意图,b为当前节点,a为上一跳节点。

图6为基本蚁群算法流程图。nc为迭代次数,k为第k只蚂蚁,m为蚂蚁总数,ncmax为最大迭代次数。

具体实施方式

下面结合说明书附图对发明创造作进一步的详细说明。

本发明提出了一种云制造服务组合的动态蚁群快速优选方法,具体匹配问题使用改进蚁群算法进行优选,此改进该算法实时的过程模型如图2所示。从图中可以看出,该方法主要分为两个阶段。

下面详细介绍算法的实施细节过程,如图1、图2、图3、图4、图5和附图6所示,具体包括:

1.根据用户请求,建立云制造服务组合模型,求出适应度函数。本发明建立在qos(qualityofservice)评估模型之上,qos评估模型通过综合成本c(cost)、时间t(time)、质量函数q(qualityfunction)和满意度s(satisfaction)四个方面得到一个适应度函数f,qos评价模型如附图4所示。得到适应度函数如下:

式中wi,i=1,2,3,4表示每项评价指标的权重,其中

2.对任务进行分解,从云资源池中找出相关的资源。

3.通过改进蚁群算法对众多资源进行分配,步骤如下。

4.初始化参数。每条路径上的信息素τij(t)=const,迭代次数nc=0。

5.第一阶段:

步骤1:将m只蚂蚁放于起始位置,令k=0,k为第k只蚂蚁。

步骤2:迭代次数增加一次,nc=nc+1。

步骤3:蚂蚁数量增加1,k=k+1。

步骤4:采用自适应伪随机比例选择规则来选择下一个节点,即对于位于节点ij的蚂蚁,按式(10)选择下一个节点:

式中w为[0,1]上的随机数,它越小系统随机选择下一个节点的概率就越大,第一阶段wo=0.8,较大的wo能保证蚂蚁在第一阶段选择下一跳节点的随机性较大,不易陷入局部最优。s由式(11)确定。当w>wo时根据概率确定第k个蚂蚁从资源节点ij到pq的路径。

式中allowedk表示在t时刻第k只蚂蚁接下来可以选择的服务;α表示信息素因子;β表示期望启发式因子;ηis,pq(t)表示由is移动到pq的期望程度;表示第k个蚂蚁第t次迭代在(ij,pq)路径上残留的信息素。

步骤5:如果蚂蚁的数量大于最大值m,则进入步骤6;否则进入步骤3。

步骤6:根据公式(12)-(14)更新每条线路上的信息素。

τij,pq(t+1)=ρ·τij,pq(t)+δτij,pq(t)(12)

其中ρ(0<ρ<1)表示信息素残留系数,用1-ρ表示信息素的挥发系数。

步骤7:判断迭代次数是否达到最大次数,若达到,进入步骤8,否则进入步骤2。

步骤8:再进行5次迭代,并记录5次迭代的适应度值,求出5次适应度值的方差s2

步骤9:如果方差s2大于阈值(趋于0),进入步骤8,否则进入第二阶段。

6.第二阶段:

步骤1:将m只蚂蚁放于起始位置,令k=0,k为第k只蚂蚁。

步骤2:迭代次数增加一次,nc=nc+1。

步骤3:蚂蚁数量增加1,k=k+1。

步骤4:采用自适应伪随机比例选择规则来选择下一个节点,即对于位于节点ij的蚂蚁,按式(10)选择下一个节点,式中w为[0,1]上的随机数,它越小系统随机选择下一个节点的概率就越大,第二阶段wo=0.2,较小的wo能保证蚂蚁在第二阶段选择下一个节点的随机性较小,保证了算法在第二阶段加速收敛。s由式(15)确定。当w>wo时根据概率确定第k个蚂蚁从资源节点ij到pq的路径。

基本蚁群算法中pq属于allowedk,这样会有一个较大的搜索空间。此改进算法中第二阶段从一个节点转移到下一个节点时的候选节点属于原空间的一个子空间,往往解都在这些子空间里。如附图5所示,pch表示以ch为圆心的一个圆,半径r一般等于当前节点ch和上一步节点的距离。α表示信息素因子;β表示期望启发式因子;ηis,pq(t)表示由is移动到pq的期望程度;表示第k个蚂蚁第t次迭代在(ij,pq)路径上残留的信息素。

步骤5:如果蚂蚁的数量大于最大值m,则进入步骤6;否则进入步骤3。

步骤6:根据公式(12)-(14)更新每条线路上的信息素。

步骤7:判断迭代次数是否达到最大次数,若达到,则输出优选结果,否则,进入步骤2。

7.将最优匹配结果反馈给用户。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1