Linp {LIM}R Documentation

Solves a linear inverse model using linear programming

Description

Solves a linear inverse model using linear programming

Input presented either as:

Usage

Linp(...)
Linp.lim(lim,cost=NULL,ispos=lim$ispos,...)
Linp.limfile(file, verbose=TRUE,...)
Linp.character(...)
Linp.double(...) 

Arguments

lim a list that contains the linear programming specification, as generated by function Setup
file name of the linear inverse input file
verbose if TRUE: when reading the file, prints warnings and messages to the screen
cost if not NULL, a vector with the coefficients of the cost function (to be minimised)
ispos if TRUE: all x-values have to be positive
... other arguments passed to function linp from packagelimSolve

Details

Solves the following inverse problem:

min(sum {Cost_i*x_i})

or

max(sum {Profit_i*x_i})

subject to

x_i>=0

Ax=B

Gx>=H


and where Cost_i or Profit_i are weighting coefficients

Value

a list containing:

X vector containing the solution of the linear programming problem.
unconstrained.solution vector containing the unconstrained solution of the linear programming problem
residualNorm scalar, the sum of residuals of equalities and violated inequalities
solutionNorm scalar, the value of the quadratic function at the solution
IsError logical, TRUE if an error occurred
Error linp error text
type linp

Author(s)

Karline Soetaert <k.soetaert@nioo.knaw.nl>

References

Michel Berkelaar and others (2005). lpSolve: Interface to Lpsolve v. 5 to solve linear/integer programs. R package version 1.1.9.

See Also

linp, the more general function from package lpSolve

Ldei, to solve the linear inverse problem by least distance programming

Lsei, to solve the linear inverse problem by lsei (least squares with equality and inequality constraints)

function linp from packagelimSolve

Examples

  # the Blending example
  Linp(LIMBlending)

  # the E coli example: two functions to maximimise
  Linp(LIMEcoli)
  # E coli example, but only first function optimised..
  Linp(LIMEcoli,cost=-LIMEcoli$Profit[1,])

  # a foodweb example: need to specify the cost function
  # here just sum of absolute values of flows...
  Linp(LIMRigaAutumn,cost=(rep(1,LIMRigaAutumn$NUnknowns)))
  

[Package LIM version 1.2 Index]