Journal of Heuristics

, Volume 10, Issue 3, pp 357–380 | Cite as

ParadisEO: A Framework for the Reusable Design of Parallel and Distributed Metaheuristics

  • S. Cahon
  • N. Melab
  • E.-G. Talbi
Article

Abstract

In this paper, we present the ParadisEO white-box object-oriented framework dedicated to the reusable design of parallel and distributed metaheuristics (PDM). ParadisEO provides a broad range of features including evolutionary algorithms (EA), local searches (LS), the most common parallel and distributed models and hybridization mechanisms, etc. This high content and utility encourages its use at European level. ParadisEO is based on a clear conceptual separation of the solution methods from the problems they are intended to solve. This separation confers to the user a maximum code and design reuse. Furthermore, the fine-grained nature of the classes provided by the framework allow a higher flexibility compared to other frameworks. ParadisEO is of the rare frameworks that provide the most common parallel and distributed models. Their implementation is portable on distributed-memory machines as well as on shared-memory multiprocessors, as it uses standard libraries such as MPI, PVM and PThreads. The models can be exploited in a transparent way, one has just to instantiate their associated provided classes. Their experimentation on the radio network design real-world application demonstrate their efficiency.

metaheuristics design and code reuse parallel and distributed models object-oriented frameworks performance and robustness 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. E. Alba and the MALLBA Group. (2002). “MALLBA:ALibrary of Skeletons for Combinatorial Optimization.” In R.F.B. Monien (ed.), Proceedings of the Euro-Par, vol. 2400 of LNCS. Paderborn: Springer-Verlag, pp. 927–932.Google Scholar
  2. Arenas, M.G., P. Collet, A.E. Eiben, M. Jelasity, J.J. Merelo, B. Paechter, M. Preußand, and M. Schoenauer. (2002). A Framework for Distributed Evolutionary Algorithms. In Proceedings of PPSN VII.Google Scholar
  3. Blesa, M.J., Ll. Hernandez, and F. Xhafa. (2001). “Parallel Skeletons for Tabu Search Method.” In 8th International Conference on Parallel and Distributed Systems. Kyongju City, Korea: IEEE Computer Society Press, pp. 23–28.Google Scholar
  4. Bleuler, S., M. Laumanns, L. Thiele, and E. Zitzler. (2003). PISA-A Platform and Programming Language Independent Interface for Search Algorithms.” In Evolutionary Multi-Criterion Optimization (EMO'2003). Springer Verlag, pp. 494-508.Google Scholar
  5. Booch, G., J. Rumbaugh, and I. Jacobson. (1999). The Unified Modeling Language User Guide. Addison Wesley Professional.Google Scholar
  6. Cahon, S., E.-G. Talbi, and N. Melab. (2003). “ParadisEO: A Framework for Parallel and Distributed Biologically Inspired Heuristics.” In IEEE NIDISC'03 Nature Inspired Distributed Computing Workshop, (in conjunction with IEEE IPDPS2002). Nice, France.Google Scholar
  7. Costa, J., N. Lopes, and P. Silva. (1999). “JDEAL: The Java Distributed Evolutionary Algorithms Library.” http://laseeb.isr.ist.utl.pt/sw/jdeal/home.html.Google Scholar
  8. Fink, A., S. Vo, and D. Woodruff. (1999). “Building Reusable Software Components for Heuristc Search.” In P. Kall and H.-J. Luthi (eds.), Operations Research Proc., 1998. Berlin: Springer, pp. 210–219.Google Scholar
  9. Gagné, C., M. Parizeau, and M. Dubreuil. (2003). “Distributed BEAGLE: An Environment for Parallel and Distributed Evolutionary Computations.” In Proc. of the 17th Annual International Symposium on HighPerformance Computing Systems and Applications (HPCS) 2003.Google Scholar
  10. Gamma, E., R. Helm, R. Johnson, and J. Vlissides. (1994). Design Patterns, Elements of Reusable Object-Oriented Software. Addison-Wesley.Google Scholar
  11. Di Gaspero, L. and A. Schaerf. (2001). “Easylocal++: An Object-Oriented Framework for the Design of Local Search Algorithms and Metaheuristics.” In MIC'2001 4th Metaheuristics International Conference, Porto, Portugal, pp. 287-292.Google Scholar
  12. Glover, F. (1989). “Tabu Search, Part I.” ORSA, Journal of Computing 1, 190–206.Google Scholar
  13. Goodman, E. (1994). “An Introduction to GALOPPS-The Genetic Algorithm Optimized for Portability and Parallelism System.” Technical report, Intelligent Systems Laboratory and Case Center for Computer-Aided Engineering and Manufacturing, Michigan State University.Google Scholar
  14. Holland, J.H. (1975). Adaptation in Natural and Artificial Systems. Ann Arbor, MI, USA: The University of Michigan Press.Google Scholar
  15. Johnson, R. and B. Foote. (1988). “Designing Reusable Classes.” Journal of Object-Oriented Programming 1(2), 22–35.Google Scholar
  16. Keijzer, M., J.J. Morelo, G. Romero, and M. Schoenauer. (2001). “Evolving Objects: A General Purpose Evolutionary Computation Library.” In Proc. of the 5th Intl. Conf. on Artificial Evolution (EA'01), Le Creusot, France.Google Scholar
  17. Kirkpatrick, S., C.D. Gelatt, and M.P.Vecchi. (1983). “Optimization by Simulated Annealing.” Science 220(4598), 671–680.Google Scholar
  18. Krasnogor, N. and J. Smith. (2000). “MAFRA: A Java Memetic Algorithms Framework.” In Alex A. Freitas, William Hart, Natalio Krasnogor, and Jim Smith (eds.), Data Mining with Evolutionary Algorithms, Las Vegas, Nevada, USA, vol. 8, pp. 125–131.Google Scholar
  19. Luke, S., L. Panait, J. Bassett, R. Hubley, C. Balan, and A. Chircop. (2002). ECJ: A Java-based Evolutionary Computation and Genetic Programming Research System. http://www.cs.umd.edu/projects/plus/ec/ecj/.Google Scholar
  20. Meunier, H., E.-G. Talbi, and P. Reininger. A Multiobjective Genetic Algorithm for Radio Network Optimization.” In Congress on Evolutionary Computation. vol. 1. IEEE Service Center, pp. 317-324.Google Scholar
  21. Michel, L. and P. Van Hentenryck. (2001). “Localizer++: An Open Library for Local Search.” Technical Report CS-01-02, Brown University, Computer Science.Google Scholar
  22. Papadimitriou, C.H. (1976). “The Complexity of Combinatorial Optimization Problems.” Master's thesis, Princeton University.Google Scholar
  23. Pree,W., G. Pomberger, A. Schappert, and P. Sommerlad. (1995). “Active Guidance of Framework Development.” Software-Concepts and Tools 16(3), 136.Google Scholar
  24. Roberts, D. and R. Johnson. “Evolving Frameworks.APattern Language for Developping Object-Oriented Frameworks.” To be published in Pattern Languages of Program Design 3 (PLoPD3).Google Scholar
  25. Talbi, E.-G. (2002). “A Taxonomy of Hybrid Metaheuristics.” Journal of Heuristics, Kluwer Academic Publishers, 8, 541–564.Google Scholar
  26. Wall, M. “GAlib: A C++ Library of Genetic Algorithm Components.” http://lancet.mit.edu/ga/.Google Scholar

Copyright information

© Kluwer Academic Publishers 2004

Authors and Affiliations

  • S. Cahon
    • 1
  • N. Melab
    • 1
  • E.-G. Talbi
    • 1
  1. 1.Laboratoire d'Informatique Fondamentale de LilleUMR CNRS 8022Villeneuve d'Ascq CedexFrance

Personalised recommendations