Optimization problems in practice are diverse and evolve over time, giving rise to - quirements both for ready-to-use optimization software packages and for optimization software libraries, which provide more or less adaptable building blocks for app- cation-specific software systems. In order to apply optimization methods to a new type of problem, corresponding models and algorithms have to be “coded” so that they are accessible to a computer. One way to achieve this step is the use of a mod- ing language. Such modeling systems provide an excellent interface between models and solvers, but only for a limited range of model types (in some cases, for example, linear) due, in part, to limitations imposed by the solvers. Furthermore, while m- eling systems especially for heuristic search are an active research topic, it is still an open question as to whether such an approach may be generally successful. Modeling languages treat the solvers as a “black box” with numerous controls. Due to variations, for example, with respect to the pursued objective or specific problem properties, - dressing real-world problems often requires special purpose methods. Thus, we are faced with the difficulty of efficiently adapting and applying appropriate methods to these problems. Optimization software libraries are intended to make it relatively easy and cost effective to incorporate advanced planning methods in application-specific software systems. A general classification provides a distinction between callable packages, nume- cal libraries, and component libraries.