package nlopt
All checked builds passInstall
dune-project
Dependency
Authors
Maintainers
Sources
sha256=53f25f9d04eb6fd900aafa7fbd2394a45e9aac683f1f834d5d0ea0083105dc6e
md5=c7679809ad75964377d8b56f70ac3a96
Description
README
nlopt-ocaml implements OCaml bindings to the NLOpt optimization library.
Dependencies
- ocaml
- dune
- NLopt
Installation
Mac OS X
Use OPAM to install the OCaml interface. This will also automatically install NLopt using homebrew.
opam install nlopt-ocamlUbuntu (Focal)
Install nlopt:
sudo apt-get install libnlopt0 libnlopt-devUse OPAM to install the OCaml interface:
opam install nlopt-ocamlGeneric installation instructions
Use git to get the newest sources:
git clone https://github.com/mkur/nlopt-ocamlIn the main directory type
make to build and install nlopt-ocaml using dune.
Simple Example
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;;To run this example type
dune exec examples/tutorial.exeA more complex example is included in the examples subdirectory (code).
Documentation
The interface closely matches the object-oriented API of NLopt.
Generate the API documentation using
make doc
Dependencies (3)
- conf-nlopt
-
dune
>= "2.9" -
ocaml
>= "4.08"
Dev Dependencies (1)
-
odoc
with-doc
Optional Dependencies
None
Used by (3)
- mmo
-
nlopt-ocaml
>= "transition" -
svmwrap
>= "5.0.0"
Conflicts (1)
Build status
Results of building nlopt with each compiler on check.ci.ocaml.org, run of against opam-repository 8a77e58. All results for this package.
Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.
| Version | OCaml 4.11 | OCaml 4.14 | OCaml 5.2 | OCaml 5.4 | OCaml 5.5 |
|---|---|---|---|---|---|
| 0.7.0 (this version) | good | good | good | good | good |
- good Package successfully built
- partial One of the dependencies failed to build
- bad Package failed to build
- n/a Package is not available in this environment
- internal Internal failure