Standing on the shoulders of giants: Seeding search-based multi-objective optimization with prior knowledge for software service composition

Abstract Context Search-Based Software Engineering, in particular multi-objective evolutionary algorithm, is a promising approach to engineering software service composition while simultaneously optimizing multiple conflicting Quality-of-Service (QoS) objectives. Yet, existing applications of evolutionary algorithms have failed to consider domain knowledge about the problem into the optimization, which is a perhaps obvious but challenging task. Objective This paper aims to investigate different strategies of exploring and injecting knowledge about the problem into the Multi-Objective Evolutionary Algorithm (MOEA) by seeding. Further, we investigate various factors that contribute to the effectiveness of seeding, including the number of seeds, the importance of crossover operation and the similarity of historical problems. Method We conduced empirical evaluations with NSGA-II, MOEA/D and IBEA based on a wide spectrum of problem instances, including 10 different workflow structures, from 5 to 100 abstract services and 510 to 5.529  × 10203 candidate concrete services with diverse QoS on latency, throughput and cost, which was chosen from the real-world WS-DREAM dataset that contains 4500 QoS values. Results We found that, (i) all seeding strategies generally outperform their non-seeded counterparts under the same search budget with large statistical significance. Yet, they may involve relatively smaller compromise on one or two of the quality aspects among convergence, uniformity and spread. (ii) The implication of the number of seeds on the service composition problems is minimal in general (except for IBEA). (iii) In contrast to the non-seeded counterparts, the seeding strategies suffer much less implications by the crossover operation. (iv) The differences of historical problems, which are important for two proposed seeding strategies, can indeed affect the results in a non-linear manner; however, the results are still greatly better than the non-seeded counterparts even with up to 90% difference of the problem settings. Conclusion The paper concludes that (i) When applying the seeding strategies, the number of seeds to be placed in is less important in general, except for the pre-optimization based strategies under IBEA. (ii) Eliminating or having less crossover is harmful for multi-objective service composition optimization, but the seeding strategies are much less sensitive to this operator than their non-seeded counterparts. (iii) For the history based seeding strategies, the seeds do not have to come from the most similar historical composition problem to achieve the best HV value, but a largely different historical problem should usually be avoided, unless they are the only available seeds.

[1]  Xin Yao,et al.  A Critical Review of "A Practical Guide to Select Quality Indicators for Assessing Pareto-Based Search Algorithms in Search-Based Software Engineering": Essay on Quality Indicator Selection for SBSE , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering: New Ideas and Emerging Technologies Results (ICSE-NIER).

[2]  Antonio J. Nebro,et al.  jMetal: A Java framework for multi-objective optimization , 2011, Adv. Eng. Softw..

[3]  Tsuyoshi Murata,et al.  {m , 1934, ACML.

[4]  Anne H. H. Ngu,et al.  QoS-aware middleware for Web services composition , 2004, IEEE Transactions on Software Engineering.

[5]  Nicola Beume,et al.  Scalarization versus indicator-based selection in multi-objective CMA evolution strategies , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).

[6]  Jacob Cohen Statistical Power Analysis for the Behavioral Sciences , 1969, The SAGE Encyclopedia of Research Design.

[7]  Satish Kumar,et al.  Multi-Tenant Cloud Service Composition Using Evolutionary Optimization , 2018, 2018 IEEE 24th International Conference on Parallel and Distributed Systems (ICPADS).

[8]  Qingfu Zhang,et al.  MOEA/D: A Multiobjective Evolutionary Algorithm Based on Decomposition , 2007, IEEE Transactions on Evolutionary Computation.

[9]  Jason R. Schott Fault Tolerant Design Using Single and Multicriteria Genetic Algorithm Optimization. , 1995 .

[10]  Changsheng Zhang,et al.  A Hybrid Multiobjective Discrete Particle Swarm Optimization Algorithm for a SLA-Aware Service Composition Problem , 2014 .

[11]  Zibin Zheng,et al.  Investigating QoS of Real-World Web Services , 2014, IEEE Transactions on Services Computing.

[12]  Xin Yao,et al.  An Empirical Investigation of the Optimality and Monotonicity Properties of Multiobjective Archiving Methods , 2019, EMO.

[13]  Rami Bahsoon,et al.  Toward a Smarter Cloud: Self-Aware Autoscaling of Cloud Configurations and Resources , 2015, Computer.

[14]  Xin Yao,et al.  FEMOSAA , 2016, ACM Trans. Softw. Eng. Methodol..

[15]  Hisao Ishibuchi,et al.  Evolutionary many-objective optimization: A short review , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).

[16]  Mengjie Zhang,et al.  F-MOGP: A novel many-objective evolutionary approach to QoS-aware data intensive web service composition , 2015, 2015 IEEE Congress on Evolutionary Computation (CEC).

[17]  Vincenzo Grassi,et al.  Flow-Based Service Selection forWeb Service Composition Supporting Multiple QoS Classes , 2007, IEEE International Conference on Web Services (ICWS 2007).

[18]  Lothar Thiele,et al.  Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach , 1999, IEEE Trans. Evol. Comput..

[19]  Eckart Zitzler,et al.  Indicator-Based Selection in Multiobjective Search , 2004, PPSN.

[20]  Gordon Fraser,et al.  The Seed is Strong: Seeding Strategies in Search-Based Software Testing , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[21]  Boi Faltings,et al.  Multi-Objective Quality-Driven Service Selection—A Fully Polynomial Time Approximation Scheme , 2014, IEEE Transactions on Software Engineering.

[22]  Maria Luisa Villani,et al.  An approach for QoS-aware service composition based on genetic algorithms , 2005, GECCO '05.

[23]  Qingfu Zhang,et al.  Combining Model-based and Genetics-based Offspring Generation for Multi-objective Optimization Using a Convergence Criterion , 2006, 2006 IEEE International Conference on Evolutionary Computation.

[24]  Mike Barley,et al.  Evaluating the Seeding Genetic Algorithm , 2013, Australasian Conference on Artificial Intelligence.

[25]  Marco Laumanns,et al.  On Sequential Online Archiving of Objective Vectors , 2011, EMO.

[26]  Xin Yao,et al.  A Survey and Taxonomy of Self-Aware and Self-Adaptive Cloud Autoscaling Systems , 2016, ACM Comput. Surv..

[27]  R. K. Ursem Multi-objective Optimization using Evolutionary Algorithms , 2009 .

[28]  Alexander Egyed,et al.  Comparative analysis of classical multi-objective evolutionary algorithms and seeding strategies for pairwise testing of Software Product Lines , 2014, 2014 IEEE Congress on Evolutionary Computation (CEC).

[29]  Rami Bahsoon,et al.  Self-Adaptive Trade-off Decision Making for Autoscaling Cloud-Based Services , 2016, IEEE Transactions on Services Computing.

[30]  Xin Yao,et al.  On the effects of seeding strategies: a case for search-based multi-objective service composition , 2018, GECCO.

[31]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[32]  Thomas Bäck,et al.  Evolutionary algorithms in theory and practice - evolution strategies, evolutionary programming, genetic algorithms , 1996 .

[33]  John A. Clark,et al.  Evolutionary Improvement of Programs , 2011, IEEE Transactions on Evolutionary Computation.

[34]  Hiroshi Wada,et al.  E³: A Multiobjective Optimization Framework for SLA-Aware Service Composition , 2012, IEEE Transactions on Services Computing.

[35]  Danilo Ardagna,et al.  Adaptive Service Composition in Flexible Processes , 2007, IEEE Transactions on Software Engineering.

[36]  Frank Leymann,et al.  Service-Oriented Computing , 2008, Lecture Notes in Computer Science.

[37]  Sergio Segura,et al.  Evolutionary composition of QoS-aware web services: A many-objective perspective , 2017, Expert Syst. Appl..