Mathematical optimization in JavaScript.
npm install optimization-js







A javascript library implementing useful multivariate function optimization procedures, which allow to find a local minimum of some function of a vector argument. Such argument is a javascript array.
Example zero order optimization in JavaScript (no need to provide gradient information!):
```
For more examples, check out examples folder.
For use in browser, use this:
``
In order to use this in node, use npm:
`bash`
npm install optimization-js
Documentation is hosted on github pages here: http://optimization-js.github.io/optimization-js/.
Gradient free:
* Genetic optimization algorithms Useful when your function takes as input arguments of
mixed type, such as categorical and numerical values.
* Variation of Powell zero order minimization method. Very useful method for prototyping. Typically works decently for problems with 100 - 1000 variables (vector argument size).
Requires gradient:
* Limited memory Broyden–Fletcher–Goldfarb–Shanno method (L-BFGS). Very popular and powerful minimization algorithm. Uses approximation to the Hessian based on recorded gradients over the last m function evaluations. Involves numerical division, and because of this can be unstable, so use at your own risk.
* Vanilla gradient descent. Performs gradient descent using user provided function and its gradient. Can be used instead of L-BFGS in case the latter is unstable on your problem.
See JavaScript files in examples` folder for examples on how to use the algorithms.