ipopt-hs: haskell binding to ipopt including automatic differentiation

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

a haskell binding to the nonlinear programming solver ipopt http://projects.coin-or.org/Ipopt

installation
needs ipopt installed: For example if you have a `usrincludecoinIpStdCInterface.h` from your ipopt installation, use:
cabal install ipopt-hs --extra-include-dirs=/usr/include/coin

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.

Refer to examples/Test1.hs for an example where the derivatives are computed by hand, Test2.hs for the use of createIpoptProblemAD and Test3.hs for the highest level.

Current limitations include:

  • copying in every iteration happens between between Data.Vector.Storable and Data.Vector might be avoidable somehow. Currently it is done because AD needs a Traversable structure, but Storable vectors are not traversable.

  • sparseness of derivatives isn't used to decide which way to calculate (forward vs. backward mode)

  • probably doesn't work if IpStdCInterface.h has Number =/= CDouble

  • no binding to SetIntermediateCallback

  • garbage collection of IpProblem won't free C-side resources

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.0.0, 0.2.0.0, 0.3.0.0, 0.4.0.0, 0.4.0.1, 0.4.2.0, 0.5.0.0, 0.5.1.0
Dependencies ad (>=3.4 && <3.5), base (>=4.6 && <4.7), containers, ipopt-hs, lens, mtl (>=2 && <3), vector (>=0.10 && <0.11) [details]
License BSD-3-Clause
Author Adam Vogt <vogt.adam@gmail.com>
Maintainer Adam Vogt <vogt.adam@gmail.com>
Category Optimisation Math Numeric
Source repo head: darcs get http://code.haskell.org/~aavogt/ipopt-hs
Uploaded by AdamVogt at 2014-02-03T02:34:23Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables ipopt-hs_Test3, ipopt-hs_Test2, ipopt-hs_Test1
Downloads 5248 total (20 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user [build log]
All reported builds failed [all 1 reports]