This package has been deprecated

Author message:

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

quadprog-js

0.1.3 • Public • Published

Quadprog-JS

Build Status

This module contains routines for solving quadratic programming problems, written in JavaScript. It is a strict fork of this library that's been refactored to use modern array routines when they don't impact performance, use zero indexed arrays, and fit the standard formulation of a quadratic program, instead of the weird formulation that R uses.

Example

If we want to solve the equation:

min xT Q x + cT x
 st A x <= b

Then the following example solves it

const qp = require('quadprog-js');

const Q = [[1, 0, 0],
           [0, 1, 0],
           [0, 0, 1]];
const c = [0, -5, 0];
const A = [[-4, -3, 0],
           [ 2,  1, 0],
           [ 0, -2, 1]];
const b = [-8, 2, 0];

res = qp(Q, c, A, b)

Testing

Base test cases are in json formatted files with the name <name>-data.json. These can be passed into solve.R to create the standard R results for solveQP with the name <name>-result.json. The standard usage is Rscript solve.R *-data.json, but you may wish to only create result files for specific tests. The combination of these files is then used by solution-test.js and bench.js.

Adding Tests

To add a new test simply create a file called <name>-data.json in the test directory, and then call Rscript solve.R <name>-data.json and commit the results.

Package Sidebar

Install

npm i quadprog-js

Weekly Downloads

658

Version

0.1.3

License

MIT

Unpacked Size

42.3 kB

Total Files

20

Last publish

Collaborators

  • erik.brinkman