| CARVIEW |
dynobud: your dynamic optimization buddy
Modules
- Dyno
- Dyno.AutoScaling
- Dyno.DirectCollocation
- Dyno.DirectCollocation.ActiveConstraints
- Dyno.DirectCollocation.CheckAccuracy
- Dyno.DirectCollocation.Dynamic
- Dyno.DirectCollocation.Export
- Dyno.DirectCollocation.Formulate
- Dyno.DirectCollocation.FormulateCov
- Dyno.DirectCollocation.Integrate
- Dyno.DirectCollocation.Interpolate
- Dyno.DirectCollocation.Quadratures
- Dyno.DirectCollocation.Robust
- Dyno.DirectCollocation.ScaleFactors
- Dyno.DirectCollocation.Types
- Dyno.ExportCStruct
- Dyno.Fitting
- Dyno.FormatTime
- Dyno.GoldenSectionSearch
- Dyno.Integrate
- Dyno.LagrangePolynomials
- Dyno.Linearize
- Dyno.MultipleShooting
- Dyno.Nlp
- Dyno.NlpScaling
- Dyno.NlpSolver
- Dyno.NlpUtils
- Dyno.Ocp
- Dyno.OcpHomotopy
- Dyno.Random
- Dyno.SimpleOcp
- Dyno.SolverInternal
- Dyno.Solvers
- Dyno.TypeVecs
- Dyno.Vectorize
- Dyno.View
- Dyno.View.Cov
- Dyno.View.Fun
- Dyno.View.FunJac
- Dyno.View.HList
- Dyno.View.JVec
- Dyno.View.M
- Dyno.View.MapFun
- Dyno.View.Scheme
- Dyno.View.Unsafe
- Dyno.View.View
Flags
Automatic Flags
| Name | Description | Default |
|---|---|---|
| examples | build the examples | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- dynobud-1.9.1.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 1.0.0.0, 1.1.0.0, 1.3.0.0, 1.4.0.0, 1.7.1.0, 1.8.0.0, 1.9.0.0, 1.9.1.0 |
|---|---|
| Dependencies | aeson, base (>=4.6 && <5), binary, bytestring, casadi-bindings (>=2.4.1.4), casadi-bindings-core (>=2.4.1.0), cereal, Chart (>=1.3.3), Chart-gtk (>=1.3.3), cmdargs, colour, containers (>=0.5), data-default-class, directory, distributive, dynobud, generic-accessors (>=0.5.0.0), hmatrix (>=0.17.0.1), hmatrix-gsl (>=0.17.0.0), jacobi-roots (>=0.2 && <0.3), lens, linear (>=1.3.1.1), mtl (>=2.2.1), mwc-random, not-gloss (>=0.7.4.0), Plot-ho-matic (>=0.6.0.0), process, reflection (>=1.3.2), semigroups, spatial-math (>=0.2.1.0), stm, time, unordered-containers, vector (>=0.10), vector-binary-instances, zeromq4-haskell [details] |
| License | LGPL-3.0-only |
| Copyright | (c) Greg Horn 2013-2015 |
| Author | Greg Horn |
| Maintainer | gregmainland@gmail.com |
| Uploaded | by GregHorn at 2015-11-18T18:07:46Z |
| Category | Science |
| Source repo | head: git clone git://github.com/ghorn/dynobud.git |
| Distributions | |
| Reverse Dependencies | 1 direct, 0 indirect [details] |
| Executables | quadrature-test, dynoplot, sailboat, glider, dae-pendulum, beginner-qp, basic-nlp, easy-nlp, nlpDsl, rocket, spring, parallel-map, vec, homotopy, sofa-expand-o-matic, sofa-viz-2000, multiple_shooting, toy-ocp, nlp-solver |
| Downloads | 5584 total (25 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs not available [build log] All reported builds failed as of 2016-11-11 [all 4 reports] |
Readme for dynobud-1.9.1.0
[back to package description]dynobud - your dynamic optimization buddy
This library has a few distinct features, which may later be broken into separate packages:
- high-level, strongly-typed interface to CasADi
- NLP modeling/solving (examples/EasyNlp.hs, examples/BasicNlp.hs, examples/SofaExpando.hs)
- OCP modeling/solving (examles/Glider.hs, examples/DaeColl.hs, examples/Rocket.hs, etc)
- toy OCP solver interface (examples/ToyOcp.hs)
- proof of concept monadic NLP modeling DSL (examples/NlpDsl.hs)
- live plotter for OCP solving (examples/Dynoplot.hs)
This package is built on top of CasADi (www.casadi.org).
You will have to install the CasADi C++ libraries and the casadi-bindings haskell package.
See https://hackage.haskell.org/package/casadi-bindings for instructions.
Installing ipopt is also highly recommended if you want to solve NLPs (apt-get install coinor-libipopt-dev if you're lucky)
Please keep in mind that this library is continually evolving as my PhD progresses and I expect it to be very unstable. The API is also very messy as the library is evolving fast and it's unclear which parts are internal and external. Nevertheless, I have started making hackage releases so that my few users have some snapshots to version-constrain against. The library is tested on travis-ci, so the unit tests pass and the examples build.
To install:
>> cabal update
>> cabal install dynobud
casadi-bindings will probably fail, re-read casadi-bindings instructions
To install dependencies, you may need to do something like this:
>> cabal install alex
>> cabal install happy
>> cabal install gtk2hs-buildtools
>> sudo apt-get install coinor-libipopt-dev liblapack-dev libblas-dev libglpk-dev libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev libzmq3-dev libglib2.0-dev libcairo2-dev libpango1.0-dev libgtk2.0-dev libgsl0-dev
To build dynobud from source
>> git clone git://github.com:ghorn/dynobud.git
>> cd dynobud
>> cabal install --only-dependencies # without examples
>> cabal install --only-dependencies -fexamples # with examples
>> cabal configure
>> cabal build
Try running the examples in dynobud/examples.
>> cabal configure -fexamples
>> cabal build
>> dist/build/rocket/rocket
Known issues:
"user error: out of memory"
If you get this ^ error on OSX while using the plotting tools, your cairo/pango/gtk may be linked to an XQuartz library. Add "extra-lib-dirs=/usr/local/lib" (or wherever the correct libraries are) to your .cabal/config and re-install haskell bindings to cairo/pango/gtk/etc
