JuliaOpt/Convex.jl

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

Homepage:

Size: 3118

Language: Julia

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Convex.jl

Build Status Coverage Status

Convex Convex Convex

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")

Quick Example

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
More Examples

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.

Citing this package

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.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.