limp-cbc-0.3.1.0: bindings for integer linear programming solver Coin/CBC

Safe HaskellNone
LanguageHaskell2010

Numeric.Limp.Solvers.Cbc.MatrixRepr

Synopsis

Documentation

data MatrixRepr Source

A half-sparse, half-dense matrix (tableau?) representation of a linear program. Columns are variables, and constraints are rows.

Constructors

MatrixRepr 

Fields

_starts :: Vector Int

starting indices segment descriptor for indsvals. one per row (constraint). but for some reason, there's an extra one at the end. starts ! 0 == 0 && starts ! (length starts - 1) == length indsvals (I think)

_inds :: Vector Int
 
_vals :: Vector Double

segmented array. each pair is an index of the column (variable), and the coefficient. the segment number is the row (constraint). ^ Coefficients of the constraints

_colLs :: Vector Double
 
_colUs :: Vector Double

Lower and upper bound for each variable

_obj :: Vector Double

Coefficients of each variable in the objective function

_rowLs :: Vector Double
 
_rowUs :: Vector Double

Lower and upper bound for each constraint

_ints :: Vector Int

Indices of each integer variable.

Instances

matrixReprOfProgram :: (Ord z, Ord r) => Program z r IntDouble -> MatrixRepr Source

makeAssignment :: (Ord z, Ord r) => Program z r IntDouble -> Vector Double -> Assignment z r IntDouble Source