1. 东北大学 软件学院, 辽宁 沈阳 110169;
2. 东北大学 计算机科学与工程学院, 辽宁 沈阳 110169
收稿日期:2018-05-11
基金项目:国家自然科学基金资助项目(61402092, 61603082)。
作者简介:宋航(1977-), 男, 辽宁沈阳人, 东北大学讲师, 博士研究生;
张斌(1964-), 男, 辽宁沈阳人, 东北大学教授, 博士生导师。
摘要:为解决Web服务组合优化方法中的组合多样性和服务质量的问题, 在人工蜂群算法上提出改进, 通过在算法中引入反向学习算子、精英引导策略和组合变异策略等操作, 使得种群个体有针对性地进行更新, 在保证服务组合质量的前提下, 提高了服务组合的多样性.结果表明, 所提算法具有良好的算法收敛性和均匀性, 同时在为Web服务组合优化方面, 也取得了较好的优化效果, 提高了寻优精度、解的质量和收敛速度.
关键词:Web服务服务组合优化人工蜂群多目标优化
Web Service Composition Optimization Method Based on Improved Multi-objective Artificial Bee Colony Algorithm
SONG Hang1,2, WANG Ya-li1, LIU Guo-qi1, ZHANG Bin2
1. School of Software, Northeastern University, Shenyang 110169, China;
2. School of Computer Science and Engineering, Northeastern University, Shenyang 110169, China
Corresponding author: ZHANG Bin, E-mail: zhangbin@ise.neu.edu.cn
Abstract: To solve the problem of combinatorial diversity and service quality in Web service composition optimization methods, an improvement in artificial bee colony algorithm was proposed. Several methods such as reverse learning operator, elite guidance strategy, and combination mutation strategy were led into the algorithm, by which targeted information could be provided to update individuals. Furthermore, the diversity of service portfolios was enhanced on the premise of ensuring the quality of service portfolios. The experimental results indicated that the refined algorithm has fast convergence speed and good uniformity. Meanwhile, a better optimistic effect was also received for the optimization of Web service composition, and the search accuracy, solution quality and convergence speed were improved as well.
Key words: web servicesoptimization of service compositionartificial bee colonymulti-objective optimization
Web服务组合是服务计算研究的热点问题之一, 其基本思想是按照一定的条件将运行在互联网上的Web服务提供者所提供的服务进行组合, 产生满足用户需求的高质量的服务, 进而实现服务的增值[1].当前, 互联网上有很多功能相同但QoS不同的Web服务, 这样会形成很大的搜索空间, 使得服务组合更为复杂.基于QoS的Web服务组合的局部优化研究比全局优化研究要成熟, 但是全局优化更具有实际作用.解决全局优化的方法大致可以分为两类[2]:一类是穷举法, 即穷举出所有可能的结果, 然后选择最优的一个, 这种方法的时间复杂度很大; 另一类是近似寻优算法, 如GA,PSO,ACO等算法.这类算法的时间复杂度远小于穷举法, 而且在用于Web服务组合中有很多优势.
2005年, Karaboga提出的人工蜂群(ABC)算法, 具有收敛速度快, 易于编程实现, 可以并行化等优点[3].该方法常被用来求解复杂的多目标优化问题, 文献[4]针对多目标服务组合优化问题求解中的搜索效率问题对人工蜂群算法中的搜索策略进行了改进; 文献[5]考虑了求解多目标作业调度组合优化问题的进化问题, 对初始种群的产生、进化策略作了改进; 文献[6]将人工蜂群算法应用到作业调度组合优化问题中, 对算法中的交叉算子和外部文档引入算法作了改进.目前, 人工蜂群算法可以有效地解决连续域上的优化问题, 在离散域上则研究较少.
本文设计了一种兼顾蜂群探索和开发行为的进化策略, 在算法流程中采用外部集合记录和Pareto最优解, 并将这些改进应用于Web服务组合领域.仿真实验结果表明, 改进后的多目标人工蜂群算法在算法收敛性和均匀性方面有提高, 在Web服务组合优化方面, 取得了较好的优化效果, 提高了寻优精度、解的质量和收敛速度.
1 Web服务组合问题设每一个复杂的任务T可以被分解为m个抽象子任务{T1, T2, …, Tm}, 每个抽象子任务代表一个抽象服务si, si为一组具有相同功能但QoS不同的服务[7].每个抽象服务又包括n个候选服务, si={wsi1, wsi2, …, wsin}.在服务组合过程中, 每个候选服务wsij是一个特定子任务的服务实体.
Web服务组合中QoS指标数量较多, 可以包括功能参数和非功能性参数, 且没有统一的计算标准.本文选取6种典型的Web服务指标[8], 主要包括:可用性a(服务可以被访问, 即可用的概率)、响应时间rt(发送服务请求到接收到服务结果所经历的时间), 吞吐量t(给定时间内调用总次数)、可靠性rel(服务请求被成功响应的概率)、声誉re(调用服务后用户的反馈率)、代价c(调用服务所必须支付的费用).则单个服务的属性集可以记为
(1) |
2 基于改进的多目标人工蜂群算法2.1 多目标人工蜂群算法的改进ABC算法是一种群智能优化算法, 算法通过在候选解上进行随机的, 且有目标的进化来寻找最优解[3].影响ABC算法性能的主要因素包括探索蜜源和开发蜜源两个过程.算法的探索能力表明在全局范围内搜索未知区域的能力, 即全局寻优能力; 开发能力则是个体在局部范围内搜索更优解的能力, 即局部求精的能力.因此, 要提高ABC算法解的质量, 就需要在探索能力和开发能力上协调和平衡.
优化问题、服务组合优化问题与人工蜂群算法中主要概念的对应关系如表 1所示.
表 1(Table 1)
表 1 概念对比Table 1 Conceptual comparison
| 表 1 概念对比 Table 1 Conceptual comparison |
基本ABC算法中, 由n维向量表示的蜜源位置是优化问题的可行解, 而蜜源质量则表示相关解的适应度值.将其应用于服务组合时, 一个可行的服务组合可以表示为蜂群算法的一个候选解, 候选解的每一个维度都必须是满足边界条件的整数.整数数组编码方案应用于编码解决方案[9], 编码采用整数数组编码方案表示.假设蜜源数为SN, 蜜源集合P={x1, x2, …, xSN}, 蜜源xd是一个m维数组, xd=[xd1, xd2, …, xdm], 其中m是抽象服务个数, 数组中每一个元素xdi是相应抽象服务Si对应下标为j的候选服务wsij, xdi是[LB, UB]之间的整数, 下边界(LB)是1, 上边界(UB)为n, 表示候选服务的个数.假设有抽象服务的数量为m, 每个抽象服务包含n个具体服务, 则编码方案共有nm种.
基本ABC中, 通过计算适应度函数值来对解的优劣进行评估, 而多目标优化中, 需要对适应度函数值的计算方法进行改进, 即需要采用Pareto支配概念计算多目标优化算法的适应度值, 如果Food1?Food2, 则认为Food1优于Food2, 则该解在种群中的支配解数dom(i)加1, 该解的适应度值计算如式(2)所示:
(2) |
为了使初始种群尽可能利用搜索空间的信息, 引入反向学习算子来初始化种群[10].具体步骤如下:
Step1??首先随机初始化SN个蜜源, 即
(3) |
(4) |
为保证效率, 受PSO进化算法思想的影响[11], 改进搜索方程, 引入精英档案学习思想, 精英档案学习策略如式(5)所示:
(5) |
优化过程中获得的即时信息对后续的优化过程是有帮助的, 而传统ABC算法并没有有效地利用这些信息来提高搜索效率.受差分思想[12]的启发, 提出一个改进的搜索方程, 即在最优解附近产生新的候选位置以便提高算法的开发能力.提出一种组合变异策略, 即以一定的概率选择不同的搜索方程.组合变异策略所使用邻域搜索算子和差分变异算子分别如下所示:
(6) |
(7) |
(8) |
2.2 基于ImMOABC算法的Web服务组合优化算法改进的Web服务组合优化流程如下.
Step1??初始化阶段:设置参数SN(服务组合的数量=采蜜蜂数量=观察蜂数量), Limit(蜜源不被更新的最大迭代次数),MCN(最大迭代次数).
完成种群初始化, 使用式(3)随机产生SN个解, 并根据式(4)计算该初始种群中每个解的反向解, 基于快速非支配排序方法对2×SN个解进行排序, 并计算每个解的拥挤距离, 选出较优的SN个解作为初始种群, 并将rank=1的解(即精英解/非劣解)存放到外部档案中, 完成初始化.
Step2??采蜜蜂阶段:根据式(5), 在外部档案的引导下进行邻域搜索, 通过Pareto支配原则判断新产生的邻域解和原有解之间的关系, 如果新解支配原有解, 则保存新解, trial置0;否则, 放弃新解, trial加1.
Step3??计算所有解相应的跟随概率:
Step5??侦察蜂阶段:舍弃达到Limit限定的解, 根据式(8)产生一个新解, 替代舍弃的解.
Step6??外部档案管理策略:将当前种群中的Pareto最优解加入到外部档案.采用拥挤度距离计算对外部档案进行裁剪, 以保证档案不会退化, 且保证了档案中个体的分布性.
Step7??满足最大迭代次数, 输出外部档案, 完成优化.
3 仿真实验与结果分析为了验证所提方法的有效性, 对上述算法分别在随机数据集和QWS数据集上进行验证.实验环境为Intel(R)Core(TM)i7-2600 CPU @ 3.40 GHz, 8 GB RAM, Windows10(64 bit), MATLAB2016b.
3.1 评估指标为了评价算法的有效性, 引入多目标优化评价指标对改进算法的性能进行评价.Pareto最优解的多样性用多样性指标Δ评价; 算法的收敛性用世代距离(GD)评价[12].
1) 多样性指标Δ反映的是非劣解能否均匀地分布在整个均衡面上, 即表示解在空间上的分布.Δ值越小,表明最优解的多样性越强.具体计算如下[5-6]:
2) 世代距离(GD)用来描述算法所获得的非劣解与Pareto最优解之间的距离.世代距离体现了算法的收敛性.计算公式如下[5-6]:
3) 执行时间.算法的执行时间(T)是一个反映算法性能的指标, T越小, 算法的性能越好.
真实Pareto-front(PF)也需要参与上述指标的计算, 但是对于服务组合问题而言, PF不能直接获取.应该按照如下方式计算PF, 步骤如下:
Step1??新种群由MOABC和ImMOABC两种算法获取的非支配集的并集产生;
Step2??对Step1得到的新种群进行快速非支配排序, 得到非支配解集, 即为PF.
3.2 Web服务组合优化结果分析1) 随机数据集验证.为了模拟大规模服务组合, 使用MATLAB随机产生100 000个仿真服务, 其属性评价值在区间[0, 1]的均匀分布下随机生成, 所有属性的权重设置为0.2.选取抽象服务数为10, 候选服务为10 000.则组合结果如图 1所示, 横轴代表组合服务的QoS(fpre), 纵轴代表代价函数(fc).
图 1(Fig. 1)
图 1 随机数据集的优化结果图Fig.1 Optimal result of random datasets |
将10次运行得到的指标绘制成盒图, 如图 2所示, 其中点(·)代表10次运行结果的平均值.
图 2(Fig. 2)
图 2 随机数据集优化评估指标盒图Fig.2 Box diagram of optimization evaluation of random datasets |
从优化结果图 1可看出, 在求解Web服务组合优化问题上, ImMOABC算法得出的非支配解数量多于MOABC, 其在一定程度上表现了解的多样性, 从非支配解的分布趋势看, ImMOABC算法在解的均匀性上也有一定的优越性.进一步结合表 2所示的多样性和世代距离这两个指标, 验证了改进后算法求解的多样性和均匀性.结合图 2可以看出, 在求解组合优化问题时, 改进后的算法的多样性、世代距离的平均值和标准差明显小于基本多目标蜂群算法, 即表明了在收敛性和多样性上都有较大的改进.在运行时间上稍有增加, 主要原因为算法初始化时, 使用了反向学习策略, 类似作了两次初始化.
表 2(Table 2)
表 2 随机数据集优化性能评估指标汇总表Table 2 Explanatory views of performance evaluation index of random datasets
| 表 2 随机数据集优化性能评估指标汇总表 Table 2 Explanatory views of performance evaluation index of random datasets |
2) QWS数据集验证.QWS数据集是Guelph大学的Eyhab Al-Masri使用Web Service Crawler Engine(WSCE)从互联网收集的Web Service数据集, 并对服务的QoS属性进行了度量.
该数据集包括了2 507个Web服务的信息, 每个Web服务都有9个质量参数:响应时间、可用性、吞吐量、成功率、可靠性、遵从性、最佳实践、时延和文档[13].在验证中, 由于该数据集的Web服务质量属性与第1节中的并不一致, 本文作了调整:(a)代价函数fc, 最小化响应时间和时延, 其权重都设为0.5;(b)对于偏好函数fpre, 最大化QoS, 其中可用性、成功率和可靠性的权重设为0.2;(c)其他属性权重设置为0.1.设抽象服务数为10, 候选服务为250, 实验结果如图 3所示, 横轴代表组合服务的QoS(fpre), 纵轴代表代价函数(fc).
图 3(Fig. 3)
图 3 QWS数据集上的优化结果图Fig.3 Optimal result of QWS datasets |
将10次运行得到的指标, 绘制成盒图, 如图 4所示, 图中点(·)代表10次运行结果的平均值.
图 4(Fig. 4)
图 4 QWS数据集优化评估指标盒图Fig.4 Box diagram of optimization evaluation of QWS datasets |
在QWS数据集上模拟服务组合, 对提出的算法进行验证, 从优化结果分布图 3可看出, 在求解Web服务组合优化问题上, ImMOABC算法得出的非支配解数量多于MOABC, 其在一定程度上表现了解的多样性, 从非支配解的分布趋势看, ImMOABC算法在解的均匀性上也有一定的优越性.进一步结合表 3和图 4所示的多样性和世代距离这两个指标, 验证了改进后算法求解的多样性和均匀性.
表 3(Table 3)
表 3 性能评估指标汇总表Table 3 Explanatory views of performance evaluation index of QWS datasets
| 表 3 性能评估指标汇总表 Table 3 Explanatory views of performance evaluation index of QWS datasets |
上述结果证明, 基于ImMOABC算法中的精英引导策略使可行解在局部搜索过程中更有方向性, 使得优化结果向精英解靠近, 加速了算法的收敛.另外, 改进算法所使用的搜索机制在局部搜索和全局搜索取得一定的平衡, 因此在求解质量上更有优势.
4 结论Web服务的组合优化问题是当前研究的热点问题之一, 本文在已有的多目标人工蜂群的基础上进行改进, 引入反向学习算子、精英引导策略和组合变异策略等操作, 有效解决了Web服务组合当中优化组合问题, 在保证组合多样性的前提下, 提高了搜索效率.结果表明, 基于改进的多目标人工蜂群优化的Web服务组合方法, 提高了寻优精度、解的质量以及算法的收敛性.
参考文献
[1] | 倪晚成, 刘连臣, 吴澄. Web服务组合方法综述[J].计算机工程, 2008, 34(4): 78–81. ( Ni Wan-cheng, Liu Lian-chen, Wu Cheng. Survey on Web services composition methods[J].Computer Engineering, 2008, 34(4): 78–81.) |
[2] | Jaeger M C, Muhl G, Golze S.QoS-aware composition of Web services: a look at selection algorithms[C]// Proceedings of International Conference of Web Services.Orlando, 2005: 646-661. |
[3] | Karaboga D.An idea based on honey bee swarm for numerical optimization[R]. Technical Report-TR06. Kayseri: Erciyes University, 2005. |
[4] | 周清雷, 陈明昭, 张兵. 多目标人工蜂群算法在服务组合优化中的应用[J].计算机应用研究, 2012, 29(10): 3625–3628. ( Zhou Qing-lei, Chen Ming-zhao, Zhang Bing. Multi-objective artificial bee colony algorithm applied in QoS-aware service composition optimization[J].Application Research of Computers, 2012, 29(10): 3625–3628.DOI:10.3969/j.issn.1001-3695.2012.10.006) |
[5] | Wang L, Zhou G, Xu Y, et al. An enhanced Pareto-based artificial bee colony algorithm for the multi-objective flexible job-shop scheduling[J].International Journal of Advanced Manufacturing Technology, 2012, 60: 1111–1123.DOI:10.1007/s00170-011-3665-z |
[6] | Li J Q, Pan Q K, Gao K Z. Pareto-based discrete artificial bee colony algorithm for multi-objective flexible job shop scheduling problems[J].International Journal of Advanced Manufacturing Technology, 2011, 55: 1159–1169.DOI:10.1007/s00170-010-3140-2 |
[7] | Ardagna D, Pernici B. Adaptive service composition in flexible processes[M]. London: IEEE Press, 2007. |
[8] | Cardoso J, Sheth A, Miller J, et al. Quality of service for workflows and Web service processes[J].Journal of Web Semantics, 2004, 1(3): 281–308.DOI:10.1016/j.websem.2004.03.001 |
[9] | Huo Y, Zhuang Y, Gu J J, et al. Discrete Gbest-guided artificial bee colony algorithm for cloud service composition[J].Applied Intelligence, 2015, 42(4): 661–678.DOI:10.1007/s10489-014-0617-y |
[10] | Zhu G, Kwong S. Gbest-guided artificial bee colony algorithm for numerical function optimization[J].Applied Mathematics & Computation, 2010, 217(7): 3166–3173. |
[11] | Yi W, Gao L, Zhou Y, et al.Differential evolution algorithm with variable neighborhood search for hybrid flow shop scheduling problem[C]//International Conference on Computer Supported Cooperative Work in Design.Chengdu, 2016: 233-238. |
[12] | Storn R, Price K. Differential evolution—a simple and efficient heuristic for global optimization over continuous spaces[J].Journal of Global Optimization, 1997, 11(4): 341–359.DOI:10.1023/A:1008202821328 |
[13] | Al-Masri E, Mahmoud Q H.QoS-based discovery and ranking of web services[C]//International Conference on Computer Communications and Networks.Honolulu, 2007: 529-534. |