Learn R Programming

limSolve (version 1.4)

varranges: 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)

See Also

xranges,

lp: linear programming function from package lpSolve.

Examples

Run this code
# 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))

Run the code above in your browser using DataLab