package nlopt
OCaml bindings to the NLOpt optimization library
Install
Dune Dependency
github.com
Readme
LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception License
Edit opam file
Versions (2)
Authors
Maintainers
Sources
release-0.7.tar.gz
sha256=53f25f9d04eb6fd900aafa7fbd2394a45e9aac683f1f834d5d0ea0083105dc6e
md5=c7679809ad75964377d8b56f70ac3a96
Description
README
README.md
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-ocaml
Ubuntu (Focal)
Install nlopt:
sudo apt-get install libnlopt0 libnlopt-dev
Use OPAM to install the OCaml interface:
opam install nlopt-ocaml
Generic installation instructions
Use git to get the newest sources:
git clone https://github.com/mkur/nlopt-ocaml
In 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.exe
A 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
Used by (2)
-
nlopt-ocaml
>= "transition"
-
svmwrap
>= "5.0.0"
Conflicts (1)
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page