CVX is a popular modeling framework for
disciplined convex programming that CVX turns
Matlab into a modeling language, allowing constraints and objectives to be specified using standard Matlab expression syntax. CVX is a powerful tool for the rapid prototyping of models and algorithms incorporating convex optimization.
CVX is free for use in academic and commercial applications, and ships with two free solvers, SDPT3 and SeDuMi. CVX is also compatible with commercial solvers
Gurobi and
Mosek.
As of April 21, 2024, a CVX Professional license is no longer required for use in commercial applications. See
this announcement for more details.
TFOCS (pronounced
tee-fox) provides a set of Matlab templates, or building blocks, that can be used to construct efficient, customized solvers for a variety of convex models, including in particular those employed in sparse recovery applications.
TFOCS can scale to larger model sizes than
CVX. However, it is not a modeling framework—it requires all models to be manually converted to one of its standard forms. Therefore, it requires more expertise to use than CVX.
[Summary: this site is going to be locked down into a static, read-only form. All access to CVX & TFOCS will take place through GitHub.] My professional commitments, particularly at Anaconda, have made it impossible to provide this site with … (more) →
[Summary: we are transitioning CVX to a fully open-source model that we hope will allow it to remain available and usable for the foreseeable future.] The first publicly available version of CVX on MATLAB was released in 2005—19 years ago. … (more) →
Over 6 years ago, we released version 2.0 of CVX, enabling its use with commercial solvers Gurobi and MOSEK. These solvers make CVX significantly more powerful. We decided to make this a closed-source add-on so that we could fund CVX development and support … (more) →
Stephen Becker, Emmanuel Candès, and Michael Grant were selected to win the 2015 Beale Orchard-Hays Prize for Excellence in Computational Mathematical Programming. The prize was awarded for TFOCS as presented in journal article we published about it. The presentation took … (more) →