StructuredOptimization.jl Save

Structured optimization in Julia

Project README

StructuredOptimization.jl

Build status codecov

StructuredOptimization.jl is a high-level modeling language that utilizes a syntax that is very close to the mathematical formulation of an optimization problem.

This user-friendly interface acts as a parser to utilize three different packages:

StructuredOptimization.jl can handle large-scale convex and nonconvex problems with nonsmooth cost functions.

It supports complex variables as well.

Installation

To install the package, hit ] from the Julia command line to enter the package manager, then

pkg> add StructuredOptimization

Usage

A least absolute shrinkage and selection operator (LASSO) can be solved with only few lines of code:

julia> using StructuredOptimization

julia> n, m = 100, 10;                # define problem size

julia> A, y = randn(m,n), randn(m);   # random problem data

julia> x = Variable(n);               # initialize optimization variable

julia> λ = 1e-2*norm(A'*y,Inf);       # define λ    

julia> @minimize ls( A*x - y ) + λ*norm(x, 1); # solve problem

julia> ~x                             # inspect solution
100-element Array{Float64,1}:
  0.0
  0.0
  0.0
  0.440254
  0.0
  0.0
  0.0
[...]

See the documentation for more details about the type of problems StructuredOptimization.jl can handle and the demos to check out some examples.

Open Source Agenda is not affiliated with "StructuredOptimization.jl" Project. README Source: JuliaFirstOrder/StructuredOptimization.jl

Open Source Agenda Badge

Open Source Agenda Rating