Rapid and Flexible User-Defined Low-Level Hybridization for Metaheuristics Algorithm in Software Framework

The metaheuristics algorithm is increasingly important in solving many kinds of real-life optimization problems but the implementation involves programming difficulties. As a result, many researchers have relied on software framework to accelerate the development life cycle. However, the available software frameworks were mostly designed for rapid development rather than flexible programming. Therefore, in order to extend software functions, this approach involves modifying software libraries which requires the programmers to have in-depth understanding about the internal working structure of software and the programming language. Besides, it has restricted programmers for implementing flexible user-defined low-level hybridization. This paper presents the concepts and formal definition of metaheuristics and its low-level hybridization. In addition, the weaknesses of current programming approaches supported by available software frameworks for metaheuristics are discussed. Responding to the deficiencies, this paper introduces a rapid and flexible software framework with scripting language environment. This approach is more flexible for programmers to create a variety of user-defined low-level hybridization rather than bounded with built-in metaheuristics strategy in software libraries.

[1]  Marc Parizeau,et al.  Distributed Beagle: An Environment For Parallel And Distributed Evolutionary Computations , 2003 .

[2]  Stefan Voß,et al.  Hotframe: A Heuristic Optimization Framework , 2003 .

[3]  Min Chen,et al.  JACIE – an Authoring Language for Rapid Prototyping Net-Centric, Multimedia and Collaborative Applications , 2001, Ann. Softw. Eng..

[4]  José A. Pino,et al.  A reusable structural design for mobile collaborative applications , 2012, J. Syst. Softw..

[5]  Steven Halim,et al.  A software framework for fast prototyping of meta-heuristics hybridization , 2007, Int. Trans. Oper. Res..

[6]  Alexander Vodomerov,et al.  OpenTS: An Outline of Dynamic Parallelization Approach , 2005, PaCT.

[7]  Xiang Fu,et al.  Short-term scheduling of cascade reservoirs using an immune algorithm-based particle swarm optimization , 2011, Comput. Math. Appl..

[8]  Rainer Weinreich,et al.  Towards supporting the software architecture life cycle , 2012, J. Syst. Softw..

[9]  Shilin Chen,et al.  GaussianScriptEditor: An Editor for Gaussian Scripting Language for Grid Environment , 2009, 2009 Eighth International Conference on Grid and Cooperative Computing.

[10]  Ajith Abraham,et al.  Inertia-Adaptive Particle Swarm Optimizer for Improved Global Search , 2008, 2008 Eighth International Conference on Intelligent Systems Design and Applications.

[11]  Min Chen,et al.  Designing interaction protocols using noughts and crosses type games , 2007, J. Netw. Comput. Appl..

[12]  Marc Parizeau,et al.  Open BEAGLE: A New Versatile C++ Framework for Evolutionary Computation , 2002, GECCO Late Breaking Papers.

[13]  Emmanuel Dubois,et al.  ASUR++: Supporting the design of mobile mixed systems , 2003, Interact. Comput..

[14]  Paulo S. C. Alencar,et al.  RDL: A language for framework instantiation representation , 2007, J. Syst. Softw..

[15]  Miklós Espák Japlo: Rule-based Programming on Java , 2006, J. Univers. Comput. Sci..

[16]  Mani B. Srivastava,et al.  Design and implementation of a framework for efficient and programmable sensor networks , 2003, MobiSys '03.

[17]  César Hervás-Martínez,et al.  JCLEC: a Java framework for evolutionary computation , 2007, Soft Comput..

[18]  Barry Boehm,et al.  A view of 20th and 21st century software engineering , 2006, ICSE.

[19]  C. Blum,et al.  Metaheuristic Hybrids , 2018, Handbook of Metaheuristics.

[20]  Juan Julián Merelo Guervós,et al.  JEO: Java Evolving Objects , 2002, GECCO.

[21]  Luca Di Gaspero,et al.  EasyLocal++: An Object-Oriented Framework for the Design of Local Search Algorithms and Metaheuristics , 2001 .

[22]  El-Ghazali Talbi,et al.  ParadisEO: A Framework for the Reusable Design of Parallel and Distributed Metaheuristics , 2004, J. Heuristics.

[23]  Ali A. Ghorbani,et al.  A language for high-level description of adaptive web systems , 2008, J. Syst. Softw..

[24]  G. Ranjan,et al.  METASIS: A meta heuristic based logic optimizer , 2007, 2007 50th Midwest Symposium on Circuits and Systems.

[25]  Vijay Varadharajan,et al.  A middleware-based script language , 2005, International Conference on Mobile Business (ICMB'05).

[26]  El-Ghazali Talbi,et al.  Metaheuristics - From Design to Implementation , 2009 .

[27]  Michael Affenzeller,et al.  HeuristicLab: A Generic and Extensible Optimization Environment , 2005 .

[28]  Michael Emmerich,et al.  TEA - A C++ Library for the Design of Evolutionary Algorithms , 2001 .

[29]  Christian Blum,et al.  Hybrid Metaheuristics: An Introduction , 2008, Hybrid Metaheuristics.

[30]  Raphaël Dorne,et al.  HSF: the iOpt's framework to easily design metaheuristic methods , 2004 .

[31]  David Orenstein,et al.  QuickStudy: Application Programming Interface (API) , 2000 .

[32]  Enrique Alba,et al.  MALLBA: A Library of Skeletons for Combinatorial Optimisation (Research Note) , 2002, Euro-Par.

[33]  Luca Di Gaspero,et al.  EASYLOCAL++: an object‐oriented framework for the flexible design of local‐search algorithms , 2003, Softw. Pract. Exp..

[34]  Guilin Zhang,et al.  A Scripting Language Used for Defining the Integration Rule in Agent System , 2008, 2008 IEEE International Conference on e-Business Engineering.

[35]  El-Ghazali Talbi,et al.  A Taxonomy of Hybrid Metaheuristics , 2002, J. Heuristics.

[36]  Abdul S. Haji-Ismail,et al.  JACIE Ñ an authoring language for WWW-based collaborative applications , 1998 .