# Related Projects¶

CVXPY is part of a larger ecosystem of optimization software. We list here the optimization packages most relevant to CVXPY users.

## Modeling frameworks¶

CVXPYgen is a library that takes a convex optimization problem family modeled with CVXPY and generates a custom solver implementation in C.

cvxpylayers is a library that converts CVXPY problems into differentiable PyTorch and TensorFlow 2.0 layers.

DCCP is a CVXPY extension for modeling and solving difference of convex problems.

DMCP is a CVXPY extension for modeling and solving multi-convex problems.

NCVX is a CVXPY extension for modeling and solving problems with convex objectives and decision variables from a nonconvex set.

osmm is a Python package for optimization problems that arise in stochastic optimization, which is built on PyTorch and CVXPY.

SnapVX is a Python-based convex optimization solver for problems defined on graphs.

CVX is a MATLAB-embedded modeling language for convex optimization problems. CVXPY is based on CVX.

Convex.jl is a Julia-embedded modeling language for convex optimization problems. Convex.jl is based on CVXPY and CVX.

CVXR is a R-embedded modeling language for convex optimization problems. CVXR is based on CVXPY and CVX.

GPkit is a Python package for defining and manipulating geometric programming (GP) models.

PICOS is a user-friendly python interface to many linear and conic optimization solvers.

## Solvers¶

OSQP is an open-source C library for solving convex quadratic programs.

SCS is an open-source C library for solving large-scale convex cone problems.

ECOS is an open-source C library for solving convex second-order and exponential cone programs.

CVXOPT is an open-source Python package for convex optimization.

GLPK is an open-source C library for solving linear programs and mixed integer linear programs.

PROXQP is an open-source C++ library for solving convex quadratic programs.

CLARABEL is an open-source Rust library for solving convex cone programs.

GUROBI is a commercial solver for mixed integer second-order cone programs.

MOSEK is a commercial solver for mixed integer second-order cone programs and semidefinite programs.

XPRESS is a commercial solver for mixed integer linear, quadratic, and second-order cone optimization problems.