package nlopt

  1. Overview
  2. Docs
OCaml bindings to the NLOpt optimization library

Install

Dune Dependency

Authors

Maintainers

Sources

release-0.6.1.tar.gz
sha256=e8ab67edb0502e8f83ec219d64311e237e5d5a8200b1d0b0aeeae303eac572d3
md5=bcd785a122301262ddcbbd77900ef9ed

Description

Tags

clib:nlopt

Published: 09 Aug 2022

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

Online documentation

Dependencies (3)

  1. conf-nlopt
  2. dune >= "2.9"
  3. ocaml >= "4.08" & < "5.0"

Dev Dependencies (1)

  1. odoc with-doc

Used by (2)

  1. nlopt-ocaml >= "transition"
  2. svmwrap >= "5.0.0"
OCaml

Innovation. Community. Security.