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.

Project Manager

Home page for the project manager Benoit Chachuat

MC++ Links

Coin Links

Last modified 4 years ago Last modified on Mar 4, 2014 9:37:58 AM