Metaheuristic Class Libraries

  • Andreas Fink
  • Stefan Voß
  • David L. Woodruff
Part of the International Series in Operations Research & Management Science book series (ISOR, volume 57)


Just as metaheuristics provide flexible and extensible methods of solving optimization problems, class libraries provide flexible and extensible building blocks for creating software to implement metaheuristics. In this chapter we provide a brief introduction to the class libraries and object oriented programming techniques. We also provide a short summary of some of the more general metaheuristics class libraries and the literature that describes them. We conclude with a detailed example of library design.


Local Search Tabu Search Travel Salesman Problem Tabu List Local Search Procedure 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    M. Allard (1998) Object technology: overcoming cultural barriers to the adoption of object technology. Information Systems Management, 15(3), 82–85.Google Scholar
  2. [2]
    A.A. Andreatta, S.E.R. Carvalho and C.C. Ribeiro (1998) An object-oriented framework for local search heuristics. In: Proceedings of the 26th Conference on Technology of Object-Oriented Languages and Systems (TOOLS USA’98). IEEE, Piscataway, pp. 33–45.Google Scholar
  3. [3]
    Roberto Battiti and Giampietro Tecchiolli (1994) The reactive tabu search. ORSA Journal on Computing, 6 126–140.Google Scholar
  4. [4]
    J. Bosch, P. Molin, M. Mattsson, P. Bengtsson, and M.E. Fayad (1999) Framework problems and experiences. In: M.E. Fayad, D.C. Schmidt and R.E. Johnson (eds.), Building Application Frameworks: Object-Oriented Foundations of Framework Design. Wiley, Chichester, pp. 55–82.Google Scholar
  5. [5]
    F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad and M. Stal (1996) Pattern-Oriented Software Architecture. Wiley, Chichester.Google Scholar
  6. [6]
    K. Czarnecki and U.W. Eisenecker (2000) Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading.Google Scholar
  7. [7]
    F. Dammeyer and S. Voß (1993) Dynamic tabu list management using the reverse elimination method. Annals of Operations Research, 41, 31–46.CrossRefGoogle Scholar
  8. [8]
    Luca Di Gaspero and Andrea Schaerf (2002) Writing local search algorithms using EasyLocal++. In: Stefan Voß and David L. Woodruff (eds.), Optimization Software Class Libraries, OR/CS Interfaces Series. Kluwer Academic Publishers, Boston, pp. 155–175.Google Scholar
  9. [9]
    M.E. Fayad and D.C. Schmidt (eds.) (1997), Special Issue: Object-Oriented Application Frameworks. Communications of the Association of Computing Machinery 40(10), 32–87. ACM.Google Scholar
  10. [10]
    A. Fink, S. Voß and D. L. Woodruff (1999) An adoption path for intelligent heuristic search componentware. In: E. Rolland and N.S. Umanath (eds.), Proceedings of the 4th INFORMS Conference on Information Systems and Technology. INFORMS, Linthicum, pp. 153–168.Google Scholar
  11. [11]
    Andreas Fink and Stefan Voß (1999) Generic metaheuristics application to industrial engineering problems. Computers & Industrial Engineering, 37, 281–284.CrossRefGoogle Scholar
  12. [12]
    Andreas Fink and Stefan Voß (2002) HotFrame: a heuristic optimization framework. In: Stefan Voß and David L. Woodruff (eds.), Optimization Software Class Libraries, OR/CS Interfaces Series. Kluwer Academic Publishers, Boston, pp. 81–154.Google Scholar
  13. [13]
    GAlib (2001) A C++ Library of Genetic Algorithm Components,
  14. [14]
    E. Gamma, R. Helm, R. Johnson and J. Vlissides (1995) Design Patterns—Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading.Google Scholar
  15. [15]
    Genitor (2001) A genetic algorithm library,
  16. [16]
    F. Glover (1990) Tabu search—Part II. ORSA Journal on Computing, 2, 4–32.zbMATHGoogle Scholar
  17. [17]
    F. Glover (1997) Tabu search and adaptive memory programming—Advances, applications and challenges. In: R.S. Barr, R.V. Helgason and J.L. Kennington (eds.), Interfaces in Computer Science and Operations Research: Advances in Metaheuristics, Optimization, and Stochastic Modeling Technologies. Kluwer, Boston, pp. 1–75.Google Scholar
  18. [18]
    Jörg Heitkötter and David Beasley (2001) The hitch-hiker’s guide to evolutionary computation (FAQ for, Issue 9.1, 12 April 2001,
  19. [19]
    HotFrame (2001) Heuristic OpTimization FRAMEwork.
  20. [20]
    ILOG (2000) ILOG Solver User’s Manual, Version 5.1. ILOG S.A., 9, Rue de Verdun, Gentilly, France.Google Scholar
  21. [21]
    ILOG (2001) Constraint logic programming libraries,
  22. [22]
    R.E. Johnson and B. Foote (1988) Designing reusable classes. Journal of Object-Oriented Programming, 1(2), 22–35.Google Scholar
  23. [23]
    B. Meyer (1997) Object-Oriented Software Construction. Prentice Hall.Google Scholar
  24. [24]
    Andrew R. Pain and Colin R. Reeves (2002) Genetic algorithm optimization software class libraries. In Stefan Voß and David L. Woodruff (eds.), Optimization Software Class Libraries, OR/CS Interfaces Series. Kluwer Academic Publishers, Boston, pp. 295–329.Google Scholar
  25. [25]
    Arthur J. Riel (1996) Object-oriented Design Heuristics. Addison-Wesley, Reading, MA.Google Scholar
  26. [26]
    E.M. Rogers (1995) Diffusion of Innovations, 4th edition. The Free Press, New York.Google Scholar
  27. [27]
    J. Rumbaugh (1995) OMT: The object model, Journal of Object Oriented Programming, 7 21–27.Google Scholar
  28. [28]
    M. Simos and J. Anthony (1998) Weaving the model web: a multi-modeling approach to concepts and features in domain engineering. In: P. Devanbu and J. Poulin (eds.), Proceedings of the Fifth International Conference on Software Reuse. IEEE Computer Society Press, Los Alamitos, pp. 94–102.Google Scholar
  29. [29]
    E.D. Taillard, L.M. Gambardella, M. Gendreau and J.-Y. Potvin (2001) Adaptive memory programming: a unified view of meta-heuristics. European Journal of Operational Research, 135, 1–16.CrossRefMathSciNetGoogle Scholar
  30. [30]
    Templar (2001) The Templar Framework,
  31. [31]
    S. Voß (1993) Intelligent search. Manuscript, Technische Hochschule Darmstadt.Google Scholar
  32. [32]
    S. Voß (1995) Solving quadratic assignment problems using the reverse elimination method. In: S.G. Nash and A. Sofer (eds.), The Impact of Emerging Technologies on Computer Science and Operations Research. Kluwer, Boston, pp. 281–296.Google Scholar
  33. [33]
    Stefan Voß and David L. Woodruff (2002) Optimization Software Class Libraries, OR/CS Interfaces Series. Kluwer Academic Publishers, Boston.Google Scholar
  34. [34]
    Christos Voudouris and Raphaël Dorne (2002) Integrating heuristic search and one-way constraints in the iOpt toolkit. In: Stefan Voß and David L. Woodruff (eds.), Optimization Software Class Libraries, OR/CS Interfaces Series. Kluwer Academic Publishers, Boston, pp. 177–191.Google Scholar
  35. [35]
    D.L. Woodruff and E. Zemel (1993) Hashing vectors for tabu search. In: F. Glover, E.D. Taillard, M. Laguna and D. de Werra (eds.), Tabu Search, Annals of Operations Research 41. Baltzer, Amsterdam, pp. 123–137.Google Scholar
  36. [36]
    David L. Woodruff (1997) A class library for heuristic search optimization. INFORMS Computer Science Technical Section Newsletter, 18(2), 1–5.MathSciNetGoogle Scholar
  37. [37]
    B.V. Zanden, B.A. Myers and D. Giuse P. Szekely (1994) Integrating pointer variables into one-way constraint models. ACM Transactions on Computer-Human Interaction, 1, 161–213.Google Scholar

Copyright information

© Kluwer Academic Publishers 2003

Authors and Affiliations

  • Andreas Fink
    • 1
  • Stefan Voß
    • 1
  • David L. Woodruff
    • 2
  1. 1.Technische Universität Braunschweig Institut für WirtschaftswissenschaftenBraunschweigGermany
  2. 2.Graduate School of ManagementUniversity of California at DavisDavisUSA

Personalised recommendations