Issue #1 created in
mkur/nlopt-ocaml
Overview
Atlassian Sourcetree is a free Git and Mercurial client for Windows.
Atlassian Sourcetree is a free Git and Mercurial client for Mac.
nlopt-ocaml
nlopt-ocaml implements OCaml bindings to the NLOpt optimization library.
Dependencies
- ocaml
- findlib
- NLopt
Installation
Mac OS X
Use homebrew to install nlopt:
brew install nlopt
Use OPAM to install the OCaml interface:
opam install nlopt-ocaml
Ubuntu (12.10)
Install nlopt:
sudo apt-get install libnlopt0 libnlopt-dev
Use OPAM to install the OCaml interface:
opam install nlopt-ocaml
Generic installation instructions
Use Mercurial to get the newest sources:
hg clone https://bitbucket.org/mkur/nlopt-ocaml
In the main directory type
./configure make make install
to build and install nlopt-ocaml using ocamlbuild and findlib.
Example
The interface closely matches the object-oriented API of NLopt.
open Nlopt;; let opt = create lbfgs 2;; let f a grad = let x = a.(0) in let y = a.(1) in let () = match grad with None -> () | Some g -> begin g.(0) <- 2. *. (x -. 1.); g.(1) <- 2. *. y; end in (x -. 1.) ** 2. +. y ** 2.;; set_min_objective opt f;; set_xtol_rel opt 1e-06;; let x0 = [| 5.; 5.|];; let (res, xopt, fopt) = optimize opt x0;;
A more advanced example is included in the distribution.
Documentation
Please refer to the project wiki.