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 either the Common Public License Version 1.0
Download MC++ latest version. Uncompress the archive, then follow the instructions in the INSTALL file.
Home page for the project manager Benoit Chachuat
- Other home page
- Mailing list User questions and bug reports
- Download Download source code tarball. Doxygen developer documentation is available in the tarball.