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

Affiliation(s)

Faculty of Computer and Mathematical Sciences, Universiti Teknologi MARA, Shah Alam, Malaysia..

Faculty of Computer and Mathematical Sciences, Universiti Teknologi MARA, Shah Alam, Malaysia..

ABSTRACT

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.

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.

Cite this paper

S. Masrom, S. Abidin and N. Omar, "Rapid and Flexible User-Defined Low-Level Hybridization for Metaheuristics Algorithm in Software Framework,"*Journal of Software Engineering and Applications*, Vol. 5 No. 11, 2012, pp. 873-882. doi: 10.4236/jsea.2012.511102.

S. Masrom, S. Abidin and N. Omar, "Rapid and Flexible User-Defined Low-Level Hybridization for Metaheuristics Algorithm in Software Framework,"

References

[1] B. Boehm, “A View of 20th and 21st Century Software Engineering,” Proceedings of the 28th International Conference on Software Engineering, Shanghai, 2006, pp. 12-29.

[2] E. Dubois, P. Gray and L. Nigay, “ASUR++: Supporting the Design of Mobile Mixed Systems,” Interacting with Computers, Vol. 15, No. 4, 2003, pp. 497-520. doi:10.1016/S0953-5438(03)00037-7

[3] A. Neyem, S. F. Ochoa, J. A. Pino and R. D. Franco, “A Reusable Structural Design for Mobile Collaborative Applications,” Journal of Systems and Software, Vol. 85, No. 3, 2012, pp. 511-524.

[4] R. Weinreich and G. Buchgeher, “Towards Supporting the Software Architecture Life Cycle,” Journal of Systems and Software, Vol. 85, No. 3, 2012, pp. 546-561. doi:10.1016/j.jss.2011.05.036

[5] H. C. Lau, W. C. Wan, S. Halim and K. Toh, “A Software Framework for Fast Prototyping of Meta-Heuristics Hybridization,” International Transactions in Operational Research, Vol. 14, No. 2, 2007, pp. 123-141. doi:10.1111/j.1475-3995.2007.00578.x

[6] S. H. Sadat-Mohtasham and A. Ghorbani, “A Language for High-Level Description of Adaptive Web Systems,” Journal of Systems and Software, Vol. 81, No. 7, 2008, pp. 1196-1217. doi:10.1016/j.jss.2007.08.033

[7] S. Z. Z. Abidin, M. Chen and P. W. Grant, “Designing Interaction Protocols Using Noughts and Crosses Type Games,” Journal of Network and Computer Applications, Vol. 30, No. 2, , 2007 pp. 586-613. doi:10.1016/j.jnca.2006.01.002

[8] T. C. Oliveira, P. S. C. Alencar, C. J. P. de Lucena and D. D. Cowan, “RDL: A Language for Framework Instantiation Representation,” Journal of Systems and Software, Vol. 80, No. 11, 2007, pp. 1902-1929. doi:10.1016/j.jss.2007.01.005

[9] A. Boulis, C.-C. Han and M. B. Srivastava, “Design and Implementation of a Framework for Efficient and Programmable Sensor Networks,” Proceedings of the 1st International Conference on Mobile Systems, Applications and Services, 2003, pp. 187-200.

[10] M. A. Ismail, M. Chen and P. Grant, “JACIE—An Authoring Language For WWW-Based Collaborative Applications,” Annals of Software Engineering, Vol. 12, No. 1, 2001, pp. 47-75. doi:10.1023/A:1013354519370

[11] W. Tongming, Z. Ruisheng, S. Xianrong, C. Shilin and L. Lian, “GaussianScriptEditor: An Editor for Gaussian Scripting Language for Grid Environment,” Proceedings of the 8th International Conference on Grid and Cooperative Computing, 2009, pp. 39-44.

[12] X. Hua, L. Qingshan, W. Yingqiang, Z. Chenguang, M. Shaojie and Z. Guilin, “A Scripting Language Used for Defining the Integration Rule in Agent System,” IEEE International Conference on E-Business Engineering, 2008, pp. 649-654.

[13] X. Fu, A. Li, L. Wang and C. Ji, “Short-Term Scheduling of Cascade Reservoirs Using an Immune Algorithm-Based Particle Swarm Optimization,” Computers & Mathematics with Applications, Vol. 62, No. 6, 2011, pp. 2463-2471. doi:10.1016/j.camwa.2011.07.032

[14] C. Blum and A. Roli, “Hybrid Metaheuristics: An Introduction,” In: C. Blum, M. J. B. Aguilera, A. Roli and M. Sampels, Eds., Hybrid Metaheuristics, Springer, Berlin/Heidelberg, 2008, pp. 1-30. doi:10.1007/978-3-540-78295-7_1

[15] E. G. Talbi, “A Taxonomy of Hybrid Metaheuristics,” Journal of Heuristics, Vol. 8, No. 5, 2002, pp. 541-564. doi:10.1023/A:1016540724870

[16] D. Orenstein, “Application Programming Interface (API),” Quick Study: Application Programming Interface (API), 2000.

[17] S. Ventura, C. Romero, A. Zafra, J. A. Delgado and C. Hervás, “JCLEC: A Java Framework for Evolutionary Computation,” Springer, Berlin/Heidelberg, 2008.

[18] M. G. Arenas, N. Dolin, J. J. Marelo, P. A. Castillo, I. F. de Viana and M. Schonauer, “JEO: JAVA Evolving Objects,” Proceedings of the Genetic and Evolutionary Computation Conference (GECCO), 2002.

[19] M. Emmerich and R. Hosenberg, “TEA: A C++ Library for the Design of Evolutionary Algorithms,” University of Dortmund, Dortmund, 2001.

[20] C. Pabl, “JSwarm-PSO,” 2006. http://jswarm-pso.sourceforge.net/

[21] F. Stonedahl and U. Wilensky, “NetLogo Particle Swarm Optimization Model,” http://ccl.northwestern.edu/netlogo/models/

[22] S. Wagner and M. Affenzeller, “HeuristicLab: A Generic and Extensible Optimization Environment,” In: B. Ribeiro, R. F. Albrecht, A. Dobnikar, D. W. Pearson and N. C. Steele, Eds., Adaptive and Natural Computing Algorithms, Springer, Vienna, 2005, pp. 538-541. doi:10.1007/3-211-27389-1_130

[23] S. Cahon, N. Melab and E. Talbi, “ParadisEO: A Framework for the Reusable Design of Parallel and Distributed Metaheuristics,” Journal of Heuristics—Special Issue on New Advances on Parallel Meta-Heuristics for Complex Problems, Vol. 10, No. 3, 2004, pp. 357-380.

[24] M. Dubreuil and M. Parizeau, “Distributed BEAGLE: An Environment for Parallel and Distributed Evolutionary Computations,” Proceedings of the 17th Annual International Symposum on High Performance Computing Systems and Applications, 2003, pp.

[25] S. Abramov, A. Adamovich, A. Moskovsky, E. Shevchuk, Y. Shevchuk and A. Vodomerov, “OpenTS: An Outline of Dynamic Parallelization Approach,” In: V. Malyshkin, Ed., Parallel Computing Technologies, Springer-Verlag, Berlin/Heidelberg, 2005, pp. 303-312. doi:10.1007/11535294_26

[26] E. G. Talbi, “Metaheuristics: From Design to Implementation,” Wiley, London, 2009.

[27] G. R. Raidl, J. Puchinger and C. Blum, “Metaheuristic Hybrids,” In: M. Pardalos, H. Panos, P. Van and M. Milano, Eds., Handbook of Metaheuristics, Springer, New York, 2010.

[28] L. Rapha, C. Dorne and Voudouris, “HSF: The iOpt’s Framework to Easily Design Metaheuristic Methods,” In: M. G. C. Resende and J. P. de Sousa, Eds., Metaheuristics: Computer Decision-Making, Kluwer Academic Publishers, Berlin/Heidelberg, 2004, pp. 237-256.

[29] A. Fink and S. Voβ, “Hotframe: A Heuristic Optimization Framework,” In: S. Voβ and D. L. Woodruff, Eds., Optimization Software Class Libraries, Springer, Heidelberg, 2002, pp. 81-154.

[30] E. Alba, et al., “MALLBA: A Library of Skeletons for Combinatorial Optimisation,” In R. Feldmann, Ed., Euro-Par 2002 Parallel Processing, Springer-Verlag, Berlin/ Heidelberg, 2002, pp. 63-72. doi:10.1007/3-540-45706-2_132

[31] L. D. Gaspero and A. Schaerf, “EASYLOCAL++: An Object-Oriented Framework for Flexible Design of Local Search Algorithms,” Software-Practice and Experience, 2003, pp. 1-34.

[32] M. Lukasiewycz, M. Glaβ, F. Reimann and D.-I. Sabine Helwig, “The OPT4J Documentation,” 2009.

[33] K. Suresh, S. Ghosh, D. Kundu, A. Sen, S. Das and A. Abraham, “Inertia-Adaptive Particle Swarm Optimizer for Improved Global Search,” Proceedings of the Eight International Conference on Intelligent System Design and Applications-ISDA2008, Kaohsiung, 26-28 November 2008, pp. 253-258.

[34] G. Zao-Bin, L. Ching and V. Varadharajan, “A Middle-Ware-Based Script Language,” Proceedings of the International Conference on Mobile Business (ICMB’05), 11-13 July 2005, pp. 690-693. doi:10.1109/ICMB.2005.8

[35] M. Espak, “Japlo: Rule-Based Programming on Java,” Journal of Universal Computer Science, Vol. 12, No. 9, 2006, pp. 1177-1189.

[36] C. Gagn and M. Parizeau, “Open BEAGLE: A New Versatile C++ Framework for Evolutionary Computations,” Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2002), 2002.

[37] G. Ranjan, P. Kumar and P. Gupta, “METASIS: A Meta Heuristic Based Logic Optimizer,” Proceedings of the 50th Midwest Symposium on Circuits and Systems, Montreal, 5-8 August 2007, pp. 1501-1504. doi:10.1109/MWSCAS.2007.4488825

[1] B. Boehm, “A View of 20th and 21st Century Software Engineering,” Proceedings of the 28th International Conference on Software Engineering, Shanghai, 2006, pp. 12-29.

[2] E. Dubois, P. Gray and L. Nigay, “ASUR++: Supporting the Design of Mobile Mixed Systems,” Interacting with Computers, Vol. 15, No. 4, 2003, pp. 497-520. doi:10.1016/S0953-5438(03)00037-7

[3] A. Neyem, S. F. Ochoa, J. A. Pino and R. D. Franco, “A Reusable Structural Design for Mobile Collaborative Applications,” Journal of Systems and Software, Vol. 85, No. 3, 2012, pp. 511-524.

[4] R. Weinreich and G. Buchgeher, “Towards Supporting the Software Architecture Life Cycle,” Journal of Systems and Software, Vol. 85, No. 3, 2012, pp. 546-561. doi:10.1016/j.jss.2011.05.036

[5] H. C. Lau, W. C. Wan, S. Halim and K. Toh, “A Software Framework for Fast Prototyping of Meta-Heuristics Hybridization,” International Transactions in Operational Research, Vol. 14, No. 2, 2007, pp. 123-141. doi:10.1111/j.1475-3995.2007.00578.x

[6] S. H. Sadat-Mohtasham and A. Ghorbani, “A Language for High-Level Description of Adaptive Web Systems,” Journal of Systems and Software, Vol. 81, No. 7, 2008, pp. 1196-1217. doi:10.1016/j.jss.2007.08.033

[7] S. Z. Z. Abidin, M. Chen and P. W. Grant, “Designing Interaction Protocols Using Noughts and Crosses Type Games,” Journal of Network and Computer Applications, Vol. 30, No. 2, , 2007 pp. 586-613. doi:10.1016/j.jnca.2006.01.002

[8] T. C. Oliveira, P. S. C. Alencar, C. J. P. de Lucena and D. D. Cowan, “RDL: A Language for Framework Instantiation Representation,” Journal of Systems and Software, Vol. 80, No. 11, 2007, pp. 1902-1929. doi:10.1016/j.jss.2007.01.005

[9] A. Boulis, C.-C. Han and M. B. Srivastava, “Design and Implementation of a Framework for Efficient and Programmable Sensor Networks,” Proceedings of the 1st International Conference on Mobile Systems, Applications and Services, 2003, pp. 187-200.

[10] M. A. Ismail, M. Chen and P. Grant, “JACIE—An Authoring Language For WWW-Based Collaborative Applications,” Annals of Software Engineering, Vol. 12, No. 1, 2001, pp. 47-75. doi:10.1023/A:1013354519370

[11] W. Tongming, Z. Ruisheng, S. Xianrong, C. Shilin and L. Lian, “GaussianScriptEditor: An Editor for Gaussian Scripting Language for Grid Environment,” Proceedings of the 8th International Conference on Grid and Cooperative Computing, 2009, pp. 39-44.

[12] X. Hua, L. Qingshan, W. Yingqiang, Z. Chenguang, M. Shaojie and Z. Guilin, “A Scripting Language Used for Defining the Integration Rule in Agent System,” IEEE International Conference on E-Business Engineering, 2008, pp. 649-654.

[13] X. Fu, A. Li, L. Wang and C. Ji, “Short-Term Scheduling of Cascade Reservoirs Using an Immune Algorithm-Based Particle Swarm Optimization,” Computers & Mathematics with Applications, Vol. 62, No. 6, 2011, pp. 2463-2471. doi:10.1016/j.camwa.2011.07.032

[14] C. Blum and A. Roli, “Hybrid Metaheuristics: An Introduction,” In: C. Blum, M. J. B. Aguilera, A. Roli and M. Sampels, Eds., Hybrid Metaheuristics, Springer, Berlin/Heidelberg, 2008, pp. 1-30. doi:10.1007/978-3-540-78295-7_1

[15] E. G. Talbi, “A Taxonomy of Hybrid Metaheuristics,” Journal of Heuristics, Vol. 8, No. 5, 2002, pp. 541-564. doi:10.1023/A:1016540724870

[16] D. Orenstein, “Application Programming Interface (API),” Quick Study: Application Programming Interface (API), 2000.

[17] S. Ventura, C. Romero, A. Zafra, J. A. Delgado and C. Hervás, “JCLEC: A Java Framework for Evolutionary Computation,” Springer, Berlin/Heidelberg, 2008.

[18] M. G. Arenas, N. Dolin, J. J. Marelo, P. A. Castillo, I. F. de Viana and M. Schonauer, “JEO: JAVA Evolving Objects,” Proceedings of the Genetic and Evolutionary Computation Conference (GECCO), 2002.

[19] M. Emmerich and R. Hosenberg, “TEA: A C++ Library for the Design of Evolutionary Algorithms,” University of Dortmund, Dortmund, 2001.

[20] C. Pabl, “JSwarm-PSO,” 2006. http://jswarm-pso.sourceforge.net/

[21] F. Stonedahl and U. Wilensky, “NetLogo Particle Swarm Optimization Model,” http://ccl.northwestern.edu/netlogo/models/

[22] S. Wagner and M. Affenzeller, “HeuristicLab: A Generic and Extensible Optimization Environment,” In: B. Ribeiro, R. F. Albrecht, A. Dobnikar, D. W. Pearson and N. C. Steele, Eds., Adaptive and Natural Computing Algorithms, Springer, Vienna, 2005, pp. 538-541. doi:10.1007/3-211-27389-1_130

[23] S. Cahon, N. Melab and E. Talbi, “ParadisEO: A Framework for the Reusable Design of Parallel and Distributed Metaheuristics,” Journal of Heuristics—Special Issue on New Advances on Parallel Meta-Heuristics for Complex Problems, Vol. 10, No. 3, 2004, pp. 357-380.

[24] M. Dubreuil and M. Parizeau, “Distributed BEAGLE: An Environment for Parallel and Distributed Evolutionary Computations,” Proceedings of the 17th Annual International Symposum on High Performance Computing Systems and Applications, 2003, pp.

[25] S. Abramov, A. Adamovich, A. Moskovsky, E. Shevchuk, Y. Shevchuk and A. Vodomerov, “OpenTS: An Outline of Dynamic Parallelization Approach,” In: V. Malyshkin, Ed., Parallel Computing Technologies, Springer-Verlag, Berlin/Heidelberg, 2005, pp. 303-312. doi:10.1007/11535294_26

[26] E. G. Talbi, “Metaheuristics: From Design to Implementation,” Wiley, London, 2009.

[27] G. R. Raidl, J. Puchinger and C. Blum, “Metaheuristic Hybrids,” In: M. Pardalos, H. Panos, P. Van and M. Milano, Eds., Handbook of Metaheuristics, Springer, New York, 2010.

[28] L. Rapha, C. Dorne and Voudouris, “HSF: The iOpt’s Framework to Easily Design Metaheuristic Methods,” In: M. G. C. Resende and J. P. de Sousa, Eds., Metaheuristics: Computer Decision-Making, Kluwer Academic Publishers, Berlin/Heidelberg, 2004, pp. 237-256.

[29] A. Fink and S. Voβ, “Hotframe: A Heuristic Optimization Framework,” In: S. Voβ and D. L. Woodruff, Eds., Optimization Software Class Libraries, Springer, Heidelberg, 2002, pp. 81-154.

[30] E. Alba, et al., “MALLBA: A Library of Skeletons for Combinatorial Optimisation,” In R. Feldmann, Ed., Euro-Par 2002 Parallel Processing, Springer-Verlag, Berlin/ Heidelberg, 2002, pp. 63-72. doi:10.1007/3-540-45706-2_132

[31] L. D. Gaspero and A. Schaerf, “EASYLOCAL++: An Object-Oriented Framework for Flexible Design of Local Search Algorithms,” Software-Practice and Experience, 2003, pp. 1-34.

[32] M. Lukasiewycz, M. Glaβ, F. Reimann and D.-I. Sabine Helwig, “The OPT4J Documentation,” 2009.

[33] K. Suresh, S. Ghosh, D. Kundu, A. Sen, S. Das and A. Abraham, “Inertia-Adaptive Particle Swarm Optimizer for Improved Global Search,” Proceedings of the Eight International Conference on Intelligent System Design and Applications-ISDA2008, Kaohsiung, 26-28 November 2008, pp. 253-258.

[34] G. Zao-Bin, L. Ching and V. Varadharajan, “A Middle-Ware-Based Script Language,” Proceedings of the International Conference on Mobile Business (ICMB’05), 11-13 July 2005, pp. 690-693. doi:10.1109/ICMB.2005.8

[35] M. Espak, “Japlo: Rule-Based Programming on Java,” Journal of Universal Computer Science, Vol. 12, No. 9, 2006, pp. 1177-1189.

[36] C. Gagn and M. Parizeau, “Open BEAGLE: A New Versatile C++ Framework for Evolutionary Computations,” Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2002), 2002.

[37] G. Ranjan, P. Kumar and P. Gupta, “METASIS: A Meta Heuristic Based Logic Optimizer,” Proceedings of the 50th Midwest Symposium on Circuits and Systems, Montreal, 5-8 August 2007, pp. 1501-1504. doi:10.1109/MWSCAS.2007.4488825