math-programming-glpk-0.5.1: A GLPK backend to the math-programming library.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Math.Programming.Glpk

Description

A GLPK backend to the Programming library.

This package allows both linear and mixed-integer programs to be solved.

Synopsis

Documentation

type GlpkVariable = GlpkPtr Column Source #

A reference to a GLPK variable.

type GlpkConstraint = GlpkPtr Row Source #

A reference to a GLPK constraint.

data GlpkObjective Source #

A placeholder for an objective.

GLPK supports only single-objective problems, and so no indices need to be stored.

Instances

Instances details
MonadIP GlpkVariable GlpkConstraint GlpkObjective Glpk Source # 
Instance details

Defined in Math.Programming.Glpk.Internal

MonadLP GlpkVariable GlpkConstraint GlpkObjective Glpk Source # 
Instance details

Defined in Math.Programming.Glpk.Internal

runGlpk :: Glpk a -> IO a Source #

data GlpkT m a Source #

An environment to solve math programs using GLPK.

Instances

Instances details
MonadGlpk Glpk Source # 
Instance details

Defined in Math.Programming.Glpk.Internal

MonadTrans GlpkT Source # 
Instance details

Defined in Math.Programming.Glpk.Internal

Methods

lift :: Monad m => m a -> GlpkT m a #

MonadIP GlpkVariable GlpkConstraint GlpkObjective Glpk Source # 
Instance details

Defined in Math.Programming.Glpk.Internal

MonadLP GlpkVariable GlpkConstraint GlpkObjective Glpk Source # 
Instance details

Defined in Math.Programming.Glpk.Internal

MonadIO m => MonadIO (GlpkT m) Source # 
Instance details

Defined in Math.Programming.Glpk.Internal

Methods

liftIO :: IO a -> GlpkT m a #

Applicative m => Applicative (GlpkT m) Source # 
Instance details

Defined in Math.Programming.Glpk.Internal

Methods

pure :: a -> GlpkT m a #

(<*>) :: GlpkT m (a -> b) -> GlpkT m a -> GlpkT m b #

liftA2 :: (a -> b -> c) -> GlpkT m a -> GlpkT m b -> GlpkT m c #

(*>) :: GlpkT m a -> GlpkT m b -> GlpkT m b #

(<*) :: GlpkT m a -> GlpkT m b -> GlpkT m a #

Functor m => Functor (GlpkT m) Source # 
Instance details

Defined in Math.Programming.Glpk.Internal

Methods

fmap :: (a -> b) -> GlpkT m a -> GlpkT m b #

(<$) :: a -> GlpkT m b -> GlpkT m a #

Monad m => Monad (GlpkT m) Source # 
Instance details

Defined in Math.Programming.Glpk.Internal

Methods

(>>=) :: GlpkT m a -> (a -> GlpkT m b) -> GlpkT m b #

(>>) :: GlpkT m a -> GlpkT m b -> GlpkT m b #

return :: a -> GlpkT m a #

MonadUnliftIO m => MonadUnliftIO (GlpkT m) Source # 
Instance details

Defined in Math.Programming.Glpk.Internal

Methods

withRunInIO :: ((forall a. GlpkT m a -> IO a) -> IO b) -> GlpkT m b #

class (MonadLP GlpkVariable GlpkConstraint GlpkObjective m, MonadIP GlpkVariable GlpkConstraint GlpkObjective m) => MonadGlpk m Source #

Minimal complete definition

writeFormulation

Instances

Instances details
MonadGlpk Glpk Source # 
Instance details

Defined in Math.Programming.Glpk.Internal

MonadGlpk m => MonadGlpk (ReaderT r m) Source # 
Instance details

Defined in Math.Programming.Glpk.Internal

MonadGlpk m => MonadGlpk (StateT s m) Source # 
Instance details

Defined in Math.Programming.Glpk.Internal

Controlling GLPK behavior

See the Header package for Haskell wrappers for all low-level GLPK operations.

data GlpkEnv Source #

An interface to the low-level GLPK API.

High-level solver settings can be modified by altering the SimplexMethodControlParameters and MIPControlParameters values for LP and IP solves, respectively.