Name: Convex.jl
Owner: JuliaOpt
Description: A Julia package for disciplined convex programming
Created: 2014-03-08 23:55:54.0
Updated: 2018-01-12 23:09:27.0
Pushed: 2018-01-15 13:31:57.0
Size: 3118
Language: Julia
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
Convex.jl is a Julia package for Disciplined Convex Programming. Convex.jl can solve linear programs, mixed-integer linear programs, and DCP-compliant convex programs using a variety of solvers, including Mosek, Gurobi, ECOS, SCS, and GLPK, through the MathProgBase interface. It also supports optimization with complex variables and coefficients.
Installation: julia> Pkg.add("Convex")
To run this example, first install Convex and at least one solver, such as SCS:
add("Convex")
add("SCS")
Now let's solve a least-squares problem with inequality constraints.
t us first make the Convex.jl module available
g Convex
nerate random problem data
4; n = 5
randn(m, n); b = randn(m, 1)
eate a (column vector) variable of size n x 1.
Variable(n)
e problem is to minimize ||Ax - b||^2 subject to x >= 0
is can be done by: minimize(objective, constraints)
lem = minimize(sumsquares(A * x - b), [x >= 0])
lve the problem by calling solve!
e!(problem)
eck the status of the problem
lem.status # :Optimal, :Infeasible, :Unbounded etc.
t the optimal value
lem.optval
A number of examples can be found here. The basic usage notebook gives a simple tutorial on problems that can be solved using Convex.jl. Many use cases of the package in complex-domain optimization can be found here.
If you use Convex.jl for published work, we encourage you to cite the software using the following BibTeX citation:
icle{convexjl,
le = {Convex Optimization in {J}ulia},
hor ={Udell, Madeleine and Mohan, Karanveer and Zeng, David and Hong, Jenny and Diamond, Steven and Boyd, Stephen},
r = {2014},
rnal = {SC14 Workshop on High Performance Technical Computing in Dynamic Languages},
hivePrefix = "arXiv",
int = {1410.4821},
maryClass = "math-oc",
Convex.jl was previously called CVX.jl.