 |
Designing Generic Algorithms
for Operations Research |
| |
Bruno Bachelet, Antoine Mahul, Loïc Yon
(LIMOS, Clermont-Ferrand, France) |
| |
Research Report LIMOS/RR03-20
Laboratoire d'Informatique, de Modélisation et d'Optimisation des Systèmes
Université Blaise Pascal
Clermont-Ferrand, France
October 21, 2003 |
Design solutions have been proposed to implement generic data structures, however there is no
technique that advanced for algorithms. This article discusses various problems encountered when
designing reusable, extensible, algorithms for operations research. It explains how to use
object-oriented concepts and the notion of genericity to design algorithms that are independent of
the data structures and the algorithms they use, but that can still interact deeply with them. An
object-oriented design can sometimes be considered to be less efficient than a classical one, and
operations research is one of these scientific fields where efficiency really matters. Hence, the
main goal of this article is to explain how to design algorithms that are both generic and
efficient.
The solutions discussed in this article have been implemented in the C++ language, and a
is proposed to allow efficiency comparisons between the different designs.
|
|