.. _related_projects: 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 ------------------- - `DCCP `_ is a CVXPY extension for modeling and solving difference of convex problems. - `NCVX `_ is a CVXPY extension for modeling and solving problems with convex objectives and decision variables from a nonconvex set. - `cvxstoc `_ is a CVXPY extension that makes it easy to code and solve stochastic optimization problems, i.e., convex optimization problems that involve random variables. - `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. - `CVXcanon `_ is a C++ package that factors out the common operations that modeling languages like CVXPY, CVX, and Convex.jl perform. - `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 ------- - `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. - `SCS `_ is an open-source C library for solving large-scale convex cone problems. - `Elemental `_ is an open-source C++ library for distributed-memory dense and sparse-direct linear algebra and optimization. - `GLPK `_ is an open-source C library for solving linear programs and mixed integer linear 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.