varranges {limSolve} | R Documentation |
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 (see note)
varranges(E=NULL, F=NULL, G=NULL, H=NULL, EqA, EqB=NULL, ispos=FALSE, tol=1e-8)
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 |
a 2-column matrix with the minimum and maximum value of each equation (variable)
we have experienced that lp
sometimes fails (and R stops) if it is frequently repeated, and for small problems.
Karline Soetaert <k.soetaert@nioo.knaw.nl>
xranges
,
lp
: linear programming function from package lpSolve
# 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))