varranges {limSolve}R Documentation

Calculates ranges of inverse variables

Description

Given the linear constraints

Ex=f

Gx>=h

and a set of "variables" described by the linear equations

Var = EqA.x+EqB

finds the minimum and maximum values of the variables by successively minimising and maximising each variable equation

uses linear programming function lp from package lpSolve.

Usage

varranges(E=NULL, F=NULL, G=NULL, H=NULL, EqA, EqB=NULL, 
  ispos=FALSE, tol=1e-8)

Arguments

E numeric matrix containing the coefficients of the equalities Ex=F.
F numeric vector containing the right-hand side of the equalities.
G numeric matrix containing the coefficients of the inequalities Gx>=H.
H numeric vector containing the right-hand side of the inequalities.
EqA numeric matrix containing the coefficients that define the variable equations.
EqB numeric vector containing the right-hand side of the variable equations.
ispos if TRUE, it is imposed that unknowns are positive quantities.
tol tolerance for equality and inequality constraints.

Value

a 2-column matrix with the minimum and maximum value of each equation (variable)

Author(s)

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

See Also

xranges,

lp: linear programming function from package lpSolve.

Examples

# Ranges in the contribution of food 3+4+5 in the diet of Mink

A <- rbind(Minkdiet$Prey,rep(1,7))
B <- c(Minkdiet$Mink,1)
EqA   <- c(0,0,1,1,1,0,0)                 # sum of food 3,4,5
(isoA<-varranges(A,B,EqA=EqA,ispos=TRUE)) # ranges of part of food 3+4+5
varranges(A,B,EqA=EqA,G=diag(7),H=rep(0,7)) 

[Package limSolve version 1.5 Index]