Note: v0.3.0 was released, which updates the package for MOI v1. This is also disables the presolve in all cases (even if it is set to true
),
which can cause incorrect results. See issue #67 which tracks the status of restoring
presolve functionality.
An interface to using SDPA-GMP, SDPA-DD, and SDPA-QD in Julia
(http://sdpa.sourceforge.net). This package is registered in the
General registry; to install, type ]
in the Julia command prompt, then enter
pkg> add SDPAFamily
Call SDPAFamily.Optimizer()
to use this wrapper via MathOptInterface
, which
is an intermediate layer between low-level solvers (such as SDPA-GMP, SDPA-QD,
and SDPA-DD) and high level modelling languages, such as
JuMP.jl and
Convex.jl.
Convex.jl 0.13+ supports MathOptInterface and can be used to solve problems with the solvers from this package.
JuMP currently only supports Float64
numeric types, which means that problems
can only be specified to 64-bits of precision, and results can only be recovered
at that level of precision, when using JuMP. This is tracked in the issue
JuMP#2025.
Here is a simple optimization problem formulated with Convex.jl:
using SDPAFamily, LinearAlgebra
using Convex
y = Semidefinite(3)
p = maximize(eigmin(y), tr(y) <= 5; numeric_type = BigFloat)
solve!(p, () -> SDPAFamily.Optimizer(presolve=true))
@show p.optval
See the documentation linked above for troubleshooting help and usage information.