COPT: a Python library for Constrained OPTimization¶
Life is too short to learn another API¶
COPT is an optimization library that does not reinvent the wheel. It packs classical optimization algorithms in an API following that of scipy.optimize. So if you’ve already used that library, you should feel right at ease.
It provides:
State of the art implementation of classical optimization algorithms such as proximal gradient descent and Frank-Wolfe under a consistent API.
Few dependencies, pure Python library for easy deployment.
An example gallery.
Contents¶
The methods implements in copt can be categorized as:
Proximal-gradient
These are methods that combine the gradient of a smooth term with the proximal operator of a potentially non-smooth term. They can be used to solve problems involving one or several non-smooth terms. Read more …
Frank-Wolfe
Frank-Wolfe, also known as conditional gradient, are a family of methods to solve constrained optimization problems. Contrary to proximal-gradient methods, they don’t require access to the projection onto the constraint set. Read more …
Stochastic Methods
Methods that can solve optimization problems with access only to a noisy evaluation of the objective. Read more ….
Installation¶
If you already have a working installation of numpy and scipy,
the easiest way to install copt is using pip
pip install -U copt
Alternatively, you can install the latest development from github with the command:
pip install git+https://github.com/openopt/copt.git
Where to go from here?¶
To know more about copt, check out our example gallery or browse through the module reference using the left navigation bar.
Last change: Oct 28, 2020