A C++ Class Library for Interval Arithmetic in Global Optimization

Abstract

Global optimization methods based on interval arithmetic have potential to efficiently solve problems that standard nonlinear programming techniques cannot handle well. In interval arithmetic the machine arithmetic is performed by approximating a real number with an enclosing interval, rather than with a single floating point number. Hence, an automatic control over rounding errors is provided. To use interval arithmetic in practice either a language with built-in interval arithmetic or a suitable subroutine library is needed. Such a library can with advantage be implemented in C++, realizing intervals as objects with well defined interfaces. In this paper we report experience from implementing and using a C++ class library for global optimization using interval arithmetic. Measurements show that the use of object oriented programming and operator overloading does not affect performance negatively. In fact, our C++ implementation of interval arithmetic is actually faster than a comparable Fortran implementation.

Keywords

Interval Arithmetic Global Optimization Object-oriented

This work has partially been supported by the Center for Industrial Information Technology (CENIIT).