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(...)
## S3 method for class 'lim'
Linp(lim, cost = NULL, ispos = lim$ispos, ...)
## S3 method for class 'limfile'
Linp(file, verbose = TRUE,...)
## S3 method for class 'character'
Linp(...)
## S3 method for class 'double'
Linp(...) 

Arguments

lim

a list that contains the linear inverse model specification, as generated by function setup.limfile.

file

name of the 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 <karline.soetaert@nioz.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.4.7.1 Index]