ipopt-hs-0.2.0.0: ipopt-hs.cabal
name: ipopt-hs
version: 0.2.0.0
synopsis: haskell binding to ipopt including automatic differentiation
description: 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
`/usr/include/coin/IpStdCInterface.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
license: BSD3
license-file: LICENSE
author: Adam Vogt <vogt.adam@gmail.com>
maintainer: Adam Vogt <vogt.adam@gmail.com>
category: Optimisation Math Numeric
build-type: Simple
cabal-version: >=1.8
source-repository head
type: darcs
location: http://code.haskell.org/~aavogt/ipopt-hs
library
exposed-modules: Ipopt, Ipopt.Raw, Ipopt.Sparsity, Ipopt.NLP
other-modules: C2HS
build-depends: base ==4.6.*,
vector ==0.10.*,
ad ==3.4.*,
containers,
mtl == 2.*,
lens
pkgconfig-depends: ipopt
build-tools: c2hs
executable ipopt-hs_Test1
main-is: Test1.hs
build-depends: base ==4.6.*, vector ==0.10.*, ipopt-hs
hs-source-dirs: examples
other-modules: Paths_ipopt_hs
executable ipopt-hs_Test2
main-is: Test2.hs
build-depends: base ==4.6.*, vector ==0.10.*, ipopt-hs
hs-source-dirs: examples
executable ipopt-hs_Test3
main-is: Test3.hs
build-depends: base ==4.6.*, vector ==0.10.*, ipopt-hs, lens, mtl
hs-source-dirs: examples