Skip to content

Tools and implementations to write, specialize and test QP solvers

License

Notifications You must be signed in to change notification settings

jrl-umi3218/jrl-qp

Repository files navigation

jrl-qp (alpha version)

License CI Documentation

This library offers tools and implementations to write, specialize and test QP solvers.

It comes (so far) with an implementation of the Goldfarb-Idnani dual solver described in the seminal paper *D. Goldfarb, A. Idnani, "A numerically stable dual method for solving strictly convex quadratic programs", Mathematical Programming 27 (1983) 1-33 *.

The implementation is done with Eigen.

Installation

Compilation is tested on Linux (gcc/clang), macOS and Windows (Visual Studio).

Install APT packages (Ubuntu LTS)

# For head version replace stable with head
curl -1sLf 'https://dl.cloudsmith.io/public/mc-rtc/stable/setup.deb.sh' | sudo -E bash
sudo apt install libjrl-qp-dev

Dependencies

To compile you will need the following tools:

jrl-qp has a single dependency:

If you have the following solvers, you can run benchmark comparisons with them :

This repository also uses jrl-cmakemodules, and google benchmark as submodules.

Building from source on Linux

Follow the standard CMake build procedure:

git clone --recursive https://github.com/jrl-umi3218/jrl-qp
cd jrl-qp
mkdir build && cd build
cmake [options] ..
make && sudo make install

where the main options are:

  • -DCMAKE_BUILD_TYPE=Release Build in Release mode
  • -DCMAKE_INSTALL_PREFIX=some/path/to/install default is /usr/local

Tests

Aside from hand-crafted and randomized tests, this repository can use the Maros and Meszaros QP collection (bottom of this page), that can also be found here with a Matlab version of the problems. To use this collection, simply specify its path in the CMake options.

About

Tools and implementations to write, specialize and test QP solvers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •