MC++: A Toolkit for Bounding Factorable Functions
A function is called ''factorable'' if it can be formed from a finite recursive composition of unary and binary operations. Typically, the latter are binary sums and binary products, and the former are outer compositions with a univariate intrinsic function, such as 'inv', 'exp', 'log', 'pow', 'sqrt', etc. Nearly every function that can be represented finitely on a computer is factorable. Given a factorable function, MC++ provides methods for computing bounds on that function, in the form of convex/concave relaxations, Taylor models, and spectral bounds. A main objective in developing MC++ has been to make the bounds computation as simple and natural as possible, similar to computing function values in real number arithmetic. In particular, MC++ can be quite useful for the fast prototyping and testing of new algorithms and ideas, for instance in such areas as global and robust optimization.
MC++ is freely available with the Eclipse Public License Version 1.0
The project manager is Benoit Chachuat.
- Mailing list: User questions and bug reports