This repository provides a Julia interface to the QPALM QP solver.
From the Julia (>= 1.0) REPL, do
] add https://github.com/kul-forbes/QPALM.jl
In order to use QPALM.jl, you will have to compile the QPALM solver as a
shared library: please refer to the documentation of QPALM
on how to do this. You will end up having a library file named libqpalm.so
(on Linux), libqpalm.dylib
(on macOS), or libqpalm.dll
(on Windows), which
you will have to copy as follows:
# on Linux
cp libqpalm.so <PATH-TO-QPALM.jl>/deps/lib/
# on macOS
cp libqpalm.dylib <PATH-TO-QPALM.jl>/deps/lib/
# on Windows
cp libqpalm.dll <PATH-TO-QPALM.jl>/deps/lib/
Given the QP
minimize (1/2) x' Q x + q' x
subject to bmin <= A x <= bmax
this is solved by
using QPALM
model = QPALM.Model()
QPALM.setup!(model, Q=Q, q=q, A=A, bmin=bmin, bmax=bmax, settings...)
results = QPALM.solve!(model)
where settings...
are keyword arguments specifying the solver options
to use. They have the same name and type as the underlying C API,
so please refer QPALM's documentation
on how to set these and their semantics. Leaving the settings unspecified
will run the solver with default options.