# varranges: Calculates ranges of inverse variables in a linear inverse... In limSolve: Solving Linear Inverse Models

## 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

## Usage

 ```1 2``` ```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)

## Note

uses linear programming function `lp` from package `lpSolve`.

## Author(s)

Karline Soetaert <[email protected]>

## References

Michel Berkelaar and others (2010). lpSolve: Interface to Lp_solve v. 5.5 to solve linear/integer programs. R package version 5.6.5. http://CRAN.R-project.org/package=lpSolve

`Minkdiet`, for a description of the Mink diet example.

`xranges`, to estimate ranges of inverse unknowns.

`xsample`, to randomly sample the lsei problem

`lp`: linear programming function from package lpSolve.

## Examples

 ```1 2 3 4 5 6 7 8 9``` ```# Ranges in the contribution of food 3+4+5 in the diet of Mink (try ?Minkdiet) E <- rbind(Minkdiet\$Prey, rep(1, 7)) F <- c(Minkdiet\$Mink, 1) EqA <- c(0, 0, 1, 1, 1, 0, 0) # sum of food 3,4,5 (isoA <- varranges(E, F, EqA = EqA, ispos = TRUE)) # ranges of part of food 3+4+5 # The same, but explicitly imposing positivity varranges(E, F, EqA = EqA, G = diag(7), H = rep(0, 7)) ```

limSolve documentation built on Aug. 14, 2017, 3:01 p.m.