@hackage highs-lp0.0
Linear Programming using HiGHS and comfort-array
Categories
License
BSD-3-Clause
Maintainer
Henning Thielemann <haskell@henning-thielemann.de>
Links
Versions
- 0.0 Sat, 26 Oct 2024
Installation
Tested Compilers
Dependencies (10)
- QuickCheck >=2 && <3
- base >=4.5 && <5
- comfort-array >=0.5.4 && <0.6
- deepseq >=1.3 && <1.7
- guarded-allocation >=0.0.1 && <0.1
- linear-programming >=0.0 && <0.1 Show all…
Dependents (0)
Package Flags
debug
(off by default)
Enable debug output
Simple interface to linear programming functions provided by HiGHS
using the flexible Array shape framework from comfort-array.
E.g. you can use Shape.Tuple to convert safely
between nested tuples and arrays with the same number of elements.
type X = Shape.Element
type PairShape = Shape.NestedTuple Shape.TupleIndex (X,X)
case Shape.indexTupleFromShape (Shape.static :: PairShape) of
(posIx,negIx) ->
case fmap (mapSnd Array.toTuple) $ snd $
LP.solve LP.choose [] [[1.*posIx, (-1).*negIx] ==. 314]
(LP.Minimize,
Array.fromTuple (23,42) :: Array PairShape Double)
of
Just (absol, (pos, neg)) ->
printf "absol %f, pos %f, neg %f\n" absol pos neg
_ -> fail "HiGHS solver failed"Alternatives: coinor-clp, comfort-glpk, hmatrix-glpk, glpk-hs