Teaching learning based optimization with Pareto tournament for the multiobjective software requirements selection

Software requirements selection is a problem which consists of choosing the set of new requirements which will be included in the next release of a software package. This NP-hard problem is an important issue involving several contradictory objectives which have to be tackled by software companies when developing new releases of software packages. Software projects have to stick to a budget, but they also have to satisfy the highest number of customer requirements. Furthermore, when managing real instances of the problem, the requirements tackled suffer interactions and other restrictions which make the problem even harder. In this paper, a novel multi-objective teaching learning based optimization (TLBO) algorithm has been successfully applied to several instances of the problem. For doing this, the software requirements selection problem has been formulated as a multiobjective optimization problem with two objectives: the total software development cost and the overall customer?s satisfaction. In addition, three interaction constraints have been also managed. In this context, the original TLBO algorithm has been adapted to solve real instances of the problem generated from data provided by experts. Numerical experiments with case studies on software requirements selection have been carried out in order to prove the effectiveness of the multiobjective proposal. In fact, the obtained results show that the developed algorithm performs better than other relevant algorithms previously published in the literature.

[1]  Francisco Javier Orellana,et al.  Requirements interaction in the next release problem , 2011, GECCO.

[2]  Yuanyuan Zhang,et al.  “Fairness Analysis” in Requirements Assignments , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[3]  Gary B. Lamont,et al.  Evolutionary Algorithms for Solving Multi-Objective Problems (Genetic and Evolutionary Computation) , 2006 .

[4]  Francisco Javier Orellana,et al.  Multi-objective ant colony optimization for requirements selection , 2013, Empirical Software Engineering.

[5]  Janez Demsar,et al.  Statistical Comparisons of Classifiers over Multiple Data Sets , 2006, J. Mach. Learn. Res..

[6]  Erik Simmons,et al.  Requirements Triage: What Can We Learn from a "Medical" Approach? , 2004, IEEE Softw..

[7]  Taher Niknam,et al.  $\theta$-Multiobjective Teaching–Learning-Based Optimization for Dynamic Economic Emission Dispatch , 2012, IEEE Systems Journal.

[8]  Thomas Stützle,et al.  Ant Colony Optimization , 2009, EMO.

[9]  Karl E. Wiegers,et al.  Software Requirements , 1999 .

[10]  Taher Niknam,et al.  Reserve Constrained Dynamic Environmental/Economic Dispatch: A New Multiobjective Self-Adaptive Learning Bat Algorithm , 2013, IEEE Systems Journal.

[11]  Taher Niknam,et al.  Multi-objective short-term scheduling of thermoelectric power systems using a novel multiobjective θ-improved cuckoo optimisation algorithm , 2014 .

[12]  R. Venkata Rao,et al.  Multi-objective optimization of two stage thermoelectric cooler using a modified teaching-learning-based optimization algorithm , 2013, Eng. Appl. Artif. Intell..

[13]  Jingyuan Zhang,et al.  A Hybrid ACO algorithm for the Next Release Problem , 2010, The 2nd International Conference on Software Engineering and Data Mining.

[14]  Taher Niknam,et al.  A new multi objective optimization approach based on TLBO for location of automatic voltage regulators in distribution systems , 2012, Eng. Appl. Artif. Intell..

[15]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[16]  Mark Harman,et al.  Search Based Approaches to Component Selection and Prioritization for the Next Release Problem , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

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

[18]  R. Venkata Rao,et al.  Parameter optimization of modern machining processes using teaching-learning-based optimization algorithm , 2013, Eng. Appl. Artif. Intell..

[19]  Joachim Karlsson,et al.  Software requirements prioritizing , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[20]  David Corne,et al.  The Pareto archived evolution strategy: a new baseline algorithm for Pareto multiobjective optimisation , 1999, Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406).

[21]  Enrique Alba,et al.  A study of the bi-objective next release problem , 2010, Empirical Software Engineering.

[22]  Gary B. Lamont,et al.  Evolutionary Algorithms for Solving Multi-Objective Problems , 2002, Genetic Algorithms and Evolutionary Computation.

[23]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[24]  Taher Niknam,et al.  An efficient scenario-based stochastic programming framework for multi-objective optimal micro-grid operation , 2012 .

[25]  A. Charan Kumari,et al.  Software Requirements Optimization Using Multi-Objective Quantum-Inspired Hybrid Differential Evolution , 2012, EVOLVE.

[26]  Francisco Luna,et al.  MOCell: A cellular genetic algorithm for multiobjective optimization , 2009 .

[27]  Taher Niknam,et al.  Short-term scheduling of thermal power systems using hybrid gradient based modified teaching–learning optimizer with black hole algorithm , 2014 .

[28]  Taher Niknam,et al.  A new modified teaching-learning algorithm for reserve constrained dynamic economic dispatch , 2013, IEEE Transactions on Power Systems.

[29]  Taher Niknam,et al.  Coordination of combined heat and power-thermal-wind-photovoltaic units in economic load dispatch using chance-constrained and jointly distributed random variables methods , 2015 .

[30]  Taher Niknam,et al.  Probabilistic multiobjective wind-thermal economic emission dispatch based on point estimated method , 2012 .

[31]  Taher Niknam,et al.  Modified shuffled frog leaping algorithm for multi-objective optimal power flow with FACTS devices , 2014, J. Intell. Fuzzy Syst..

[32]  Camila Loiola Brito Maia,et al.  An Ant Colony Optimization Approach to the Software Release Planning with Dependent Requirements , 2011, SSBSE.

[33]  R. Venkata Rao,et al.  Teaching-Learning-Based Optimization: An optimization method for continuous non-linear large scale problems , 2012, Inf. Sci..

[34]  Vivek Patel,et al.  Comparative performance of an elitist teaching-learning-based optimization algorithm for solving unconstrained optimization problems , 2013 .

[35]  Taher Niknam,et al.  A NEW IMPROVED BAT ALGORITHM FOR FUZZY INTERACTIVE MULTI-OBJECTIVE ECONOMIC/EMISSION DISPATCH WITH LOAD AND WIND POWER UNCERTAINTY , 2012 .

[36]  Des Greer,et al.  Software release planning: an evolutionary and iterative approach , 2004, Inf. Softw. Technol..

[37]  José M. Chaves-González,et al.  Differential evolution with Pareto tournament for the multi-objective next release problem , 2015, Appl. Math. Comput..

[38]  Kalyanmoy Deb,et al.  Multi-objective optimization using evolutionary algorithms , 2001, Wiley-Interscience series in systems and optimization.

[39]  Yuanyuan Zhang,et al.  The multi-objective next release problem , 2007, GECCO '07.

[40]  Yuanyuan Zhang,et al.  A search based approach to fairness analysis in requirement assignments to aid negotiation, mediation and decision making , 2009, Requirements Engineering.

[41]  Marco Laumanns,et al.  SPEA2: Improving the strength pareto evolutionary algorithm , 2001 .

[42]  Victor J. Rayward-Smith,et al.  The next release problem , 2001, Inf. Softw. Technol..

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

[44]  Jamshid Aghaei,et al.  Stochastic Dynamic Economic Emission Dispatch considering Wind Power , 2011, 2011 IEEE Power Engineering and Automation Conference.

[45]  Yuanyuan Zhang,et al.  Search-based software engineering: Trends, techniques and applications , 2012, CSUR.