Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module contains the full definitions backing the simplified API
exposed in Glpk
.
Synopsis
- newtype Glpk a = Glpk {}
- runGlpk :: Glpk a -> IO (Either GlpkError a)
- data SolveType
- = LP
- | MIP
- | InteriorPoint
- data GlpkEnv = GlpkEnv {}
- data NamedRef a = NamedRef {
- namedRefId :: Int
- namedRefRef :: IORef a
- type GlpkConstraint = NamedRef Row
- type GlpkVariable = NamedRef Column
- askProblem :: Glpk (Ptr Problem)
- askVariablesRef :: Glpk (IORef [GlpkVariable])
- askConstraintsRef :: Glpk (IORef [GlpkConstraint])
- register :: Glpk (IORef [NamedRef a]) -> NamedRef a -> Glpk ()
- unregister :: Enum a => Glpk (IORef [NamedRef a]) -> NamedRef a -> Glpk ()
- data GlpkError
- readColumn :: Variable Glpk -> Glpk Column
- readRow :: Constraint Glpk -> Glpk Row
- addVariable' :: Glpk (Variable Glpk)
- setVariableName' :: Variable Glpk -> String -> Glpk ()
- getVariableName' :: Variable Glpk -> Glpk String
- removeVariable' :: Variable Glpk -> Glpk ()
- addConstraint' :: Inequality (LinearExpression Double (Variable Glpk)) -> Glpk (Constraint Glpk)
- setConstraintName' :: Constraint Glpk -> String -> Glpk ()
- getConstraintName' :: Constraint Glpk -> Glpk String
- getDualValue' :: Constraint Glpk -> Glpk Double
- removeConstraint' :: Constraint Glpk -> Glpk ()
- addObjective' :: LinearExpression Double (Variable Glpk) -> Glpk (Objective Glpk)
- getObjectiveName' :: Objective Glpk -> Glpk String
- setObjectiveName' :: Objective Glpk -> String -> Glpk ()
- getObjectiveSense' :: Objective Glpk -> Glpk Sense
- setObjectiveSense' :: Objective Glpk -> Sense -> Glpk ()
- getObjectiveValue' :: Objective Glpk -> Glpk Double
- optimizeLP' :: Glpk SolutionStatus
- optimizeIP' :: Glpk SolutionStatus
- setVariableBounds' :: Variable Glpk -> Bounds Double -> Glpk ()
- getVariableBounds' :: Variable Glpk -> Glpk (Bounds Double)
- setVariableDomain' :: Variable Glpk -> Domain -> Glpk ()
- getVariableDomain' :: Variable Glpk -> Glpk Domain
- getVariableValue' :: Variable Glpk -> Glpk Double
- getTimeout' :: RealFrac a => Glpk a
- setTimeout' :: RealFrac a => a -> Glpk ()
- setRelativeMIPGap' :: RealFrac a => a -> Glpk ()
- getRelativeMIPGap' :: RealFrac a => Glpk a
- solutionStatus :: GlpkSolutionStatus -> SolutionStatus
- writeFormulation' :: FilePath -> Glpk ()
- maxCDouble :: CDouble
Documentation
An environment to solve math programs using GLPK.
Instances
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.
GlpkEnv | |
|
NamedRef | |
|
Instances
Eq (NamedRef a) Source # | |
Ord (NamedRef a) Source # | |
Defined in Math.Programming.Glpk.Internal | |
Show (NamedRef a) Source # | |
type GlpkConstraint = NamedRef Row Source #
type GlpkVariable = NamedRef Column Source #
askVariablesRef :: Glpk (IORef [GlpkVariable]) Source #
askConstraintsRef :: Glpk (IORef [GlpkConstraint]) Source #
Instances
Show GlpkError Source # | |
MonadError GlpkError Glpk Source # | |
Defined in Math.Programming.Glpk.Internal throwError :: GlpkError -> Glpk a # |
addConstraint' :: Inequality (LinearExpression Double (Variable Glpk)) -> Glpk (Constraint Glpk) Source #
setConstraintName' :: Constraint Glpk -> String -> Glpk () Source #
getDualValue' :: Constraint Glpk -> Glpk Double Source #
removeConstraint' :: Constraint Glpk -> Glpk () Source #
addObjective' :: LinearExpression Double (Variable Glpk) -> Glpk (Objective Glpk) Source #
getTimeout' :: RealFrac a => Glpk a Source #
setTimeout' :: RealFrac a => a -> Glpk () Source #
setRelativeMIPGap' :: RealFrac a => a -> Glpk () Source #
getRelativeMIPGap' :: RealFrac a => Glpk a Source #
writeFormulation' :: FilePath -> Glpk () Source #
maxCDouble :: CDouble Source #