The ipopt-hs package

[ Tags: bsd3, library, math, numeric, optimisation ] [ Propose Tags ]

a haskell binding to the nonlinear programming solver Ipopt. Bindings to NLopt are also included.

needs the c library ipopt installed. Also by default a binding to nlopt is included. Nlopt by default does not include shared libraries, which seems to be needed to run things from ghci (ie. you need to ./configure --enable-shared when building nlopt).

A embedded language, similar to the one provided by glpk-hs, is defined in Ipopt.NLP. The goal is to define problems at a level similar to other "algebraic modeling languages", but retain some of the safety and flexibility available in haskell. There is some overhead but perhaps it is negligible for your uses.

Current limitations include:


Change log
Dependencies ad (>=4.2), ansi-wl-pprint (>=0.6.7), base (<5), containers (<0.6), criterion, ipopt-hs, lens (>=3.7 && <5), linear, mtl (==2.*), random-shuffle, Rlang-QQ, splines, template-haskell, uu-parsinglib (>=2.8), vector (==0.10.*), vector-space (>=0.8.6) [details]
License BSD3
Author Adam Vogt <>
Maintainer Adam Vogt <>
Category Optimisation, Math, Numeric
Source repo head: darcs get
Uploaded Tue Jan 12 20:06:38 UTC 2016 by AdamVogt
Distributions NixOS:
Executables ipopt-hs_Tests
Downloads 2318 total (32 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI





build executable from examples/


also include nlopt bindings


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees