ipopt-hs-0.3.0.0: ipopt-hs.cabal
name: ipopt-hs
version: 0.3.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.10
flag build_examples
description: build executable from examples/
default: False
source-repository head
type: darcs
location: http://code.haskell.org/~aavogt/ipopt-hs
library
exposed-modules: Ipopt,
Ipopt.AnyRF,
Ipopt.Raw,
Ipopt.Sparsity,
Ipopt.NLP,
Ipopt.PP
other-modules: C2HS
build-depends: base < 5,
vector ==0.10.*,
ad ==3.4.*,
containers == 0.5.*,
mtl == 2.*,
lens >= 3.10,
ansi-wl-pprint >= 0.6.7,
vector-space >= 0.8.6
default-language: Haskell2010
default-extensions: ConstraintKinds,
FlexibleContexts,
FlexibleInstances,
GeneralizedNewtypeDeriving,
RankNTypes,
TupleSections,
TypeFamilies
other-extensions: ForeignFunctionInterface,
TemplateHaskell
pkgconfig-depends: ipopt
build-tools: c2hs
executable ipopt-hs_Tests
main-is: AllTests.hs
build-depends: base <= 5, vector ==0.10.*,
ipopt-hs, lens, mtl, ansi-wl-pprint,
Rlang-QQ, vector-space, splines, ad
hs-source-dirs: examples
default-language: Haskell2010
other-modules: Paths_ipopt_hs
if !flag(build_examples)
buildable: False