doc/source/resources/related_projects/index.rst
CVXPY is part of a larger ecosystem of optimization software. We list here the optimization packages most relevant to CVXPY users.
CVXPYgen <https://github.com/cvxgrp/cvxpygen>_ is a library that takes a convex optimization problem family modeled with CVXPY and generates a custom solver implementation in C.
cvxpylayers <https://github.com/cvxgrp/cvxpylayers/>_ is a library that converts CVXPY problems into differentiable PyTorch and TensorFlow 2.0 layers.
DCCP <https://github.com/cvxgrp/dccp>_ is a CVXPY extension for modeling and solving difference of convex problems.
DMCP <https://github.com/cvxgrp/dmcp>_ is a CVXPY extension for modeling and solving multi-convex problems.
NCVX <https://github.com/cvxgrp/ncvx>_ is a CVXPY extension for modeling and solving problems with convex objectives and decision variables from a nonconvex set.
osmm <https://github.com/cvxgrp/osmm>_ is a Python package for optimization problems that arise in stochastic optimization, which is built on PyTorch and CVXPY.
SnapVX <http://snap.stanford.edu/snapvx/>_ is a Python-based convex optimization solver for problems defined on graphs.
CVX <http://cvxr.com/cvx/>_ is a MATLAB-embedded modeling language for convex optimization problems. CVXPY is based on CVX.
Convex.jl <https://convexjl.readthedocs.org/en/latest/>_ is a Julia-embedded modeling language for convex optimization problems. Convex.jl is based on CVXPY and CVX.
CVXR <https://cvxr.rbind.io/>_ is a R-embedded modeling language for convex optimization problems. CVXR is based on CVXPY and CVX.
GPkit <https://gpkit.readthedocs.org/en/latest/>_ is a Python package for defining and manipulating geometric programming (GP) models.
PICOS <https://picos.zib.de/>_ is a user-friendly python interface to many linear and conic optimization solvers.
OSQP <https://osqp.org/>_ is an open-source C library for solving convex quadratic programs.
SCS <https://github.com/cvxgrp/scs>_ is an open-source C library for solving large-scale convex cone problems.
ECOS <https://github.com/embotech/ecos>_ is an open-source C library for solving convex second-order and exponential cone programs.
CVXOPT <http://cvxopt.org/>_ is an open-source Python package for convex optimization.
GLPK <https://www.gnu.org/software/glpk/>_ is an open-source C library for solving linear programs and mixed integer linear programs.
PROXQP <https://github.com/simple-robotics/proxsuite>_ is an open-source C++ library for solving convex quadratic programs.
CLARABEL <https://github.com/oxfordcontrol/ClarabelDocs>_ is an open-source Rust library for solving convex cone programs.
GUROBI <https://www.gurobi.com/>_ is a commercial solver for mixed integer second-order cone programs.
HiGHS <https://highs.dev/>_ is an open-source C++ library for linear, mixed integer, and quadratic optimization.
Moreau <https://www.moreau.so/>_ is a commercial GPU-native, differentiable convex optimization solver with PyTorch and JAX integration.
MOSEK <https://www.mosek.com/>_ is a commercial solver for mixed integer second-order cone programs and semidefinite programs.
XPRESS <https://www.fico.com/en/products/fico-xpress-optimization>_ is a commercial solver for mixed integer linear, quadratic, and second-order cone optimization problems.