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.
This is a preview of subscription content,
to check access.References
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.
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.
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.
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.
Booch, G., J. Rumbaugh, and I. Jacobson. (1999). The Unified Modeling Language User Guide. Addison Wesley Professional.
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.
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.
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.
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.
Gamma, E., R. Helm, R. Johnson, and J. Vlissides. (1994). Design Patterns, Elements of Reusable Object-Oriented Software. Addison-Wesley.
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.
Glover, F. (1989). “Tabu Search, Part I.” ORSA, Journal of Computing 1, 190–206.
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.
Holland, J.H. (1975). Adaptation in Natural and Artificial Systems. Ann Arbor, MI, USA: The University of Michigan Press.
Johnson, R. and B. Foote. (1988). “Designing Reusable Classes.” Journal of Object-Oriented Programming 1(2), 22–35.
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.
Kirkpatrick, S., C.D. Gelatt, and M.P.Vecchi. (1983). “Optimization by Simulated Annealing.” Science 220(4598), 671–680.
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.
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/.
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.
Michel, L. and P. Van Hentenryck. (2001). “Localizer++: An Open Library for Local Search.” Technical Report CS-01-02, Brown University, Computer Science.
Papadimitriou, C.H. (1976). “The Complexity of Combinatorial Optimization Problems.” Master's thesis, Princeton University.
Pree,W., G. Pomberger, A. Schappert, and P. Sommerlad. (1995). “Active Guidance of Framework Development.” Software-Concepts and Tools 16(3), 136.
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).
Talbi, E.-G. (2002). “A Taxonomy of Hybrid Metaheuristics.” Journal of Heuristics, Kluwer Academic Publishers, 8, 541–564.
Wall, M. “GAlib: A C++ Library of Genetic Algorithm Components.” http://lancet.mit.edu/ga/.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Cahon, S., Melab, N. & Talbi, EG. ParadisEO: A Framework for the Reusable Design of Parallel and Distributed Metaheuristics. Journal of Heuristics 10, 357–380 (2004). https://doi.org/10.1023/B:HEUR.0000026900.92269.ec
Issue Date:
DOI: https://doi.org/10.1023/B:HEUR.0000026900.92269.ec