Introduction to CVXPY

Learn how to use CVXPY for optimization problems with installation and problem formulation.

What is CVXPY?

CVXPY is a Python-embedded modeling language for convex optimization problems. It allows users to write and solve convex optimization problems simply and intuitively.

Press + to interact

Why CVXPY?

Several properties of CVXPY make it practical while working on convex optimization. We list here the most important ones:

  • It can verify the convexity of an optimization problem, even if the problem is not represented in a standard form.

  • It can transform a convex optimization problem into one of the more suitable standard forms and make decisions about the appropriate algorithm to solve it. This, in some instances, can be challenging even for experts in this domain.

Note: CVXPY is a modeling language for convex optimization problems. It’s not a solver.

Installation

To use cvxpy, we first need to install it. The easiest way to install cvxpy is via pip, the Python package installer.

pip install cvxpy

Once cvxpy is installed, we can use it in our Python scripts.

Problem formulation

The first step in solving a convex optimization problem using cvxpy is to define the problem. Consider a constraint optimization problem as follows:

minimize f(x)
subject to g(x) <= h

Here, f(x) is the objective function, x is the optimization variable, and ...