I happily released two other numeric packages based on the comfort-array types. These are bindings to fast numeric linear programming solvers:
  https://hackage.haskell.org/package/comfort-glpk
  https://hackage.haskell.org/package/coinor-clp

The first one is (another) binding to GLPK and the second one is a binding to COIN-OR/CLP. I guess this is the first Haskell binding to COIN-OR/CLP, at all. I found that the COIN-OR solver is not as simply structured as GLPK and the examples miss the simple use cases, but its performance is much better than that of GLPK and its interior point solver (Method.initialBarrierSolve) just works, in contrast to the one of GLPK.

Warm start of solvers is supported by according monadic interfaces.

Both packages use the same types to describe linear programming problems, thus you can describe your problem once and then simply choose the appropriate solver. The types are exported by the package linear-programming.

The flexible array shapes provided by comfort-array help a lot to structure the problem variables. This saves you from the need to manually work with integer indices. You can concatenate array shapes with (::+) and establish Cartesian products with (,) and define array shapes that are compatible with nested tuples (e.g. Shape.NestedTuple ((X,X),(X,X,X))) or define arrays with indices of any Enum type (Shape.Enumeration).
_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell

Reply via email to