| 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:
matrices E, F, A, B, G, H (Linp.double) or
as a list (Linp.lim) or
as a lim input file (Linp.limfile)
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 |
file |
name of the inverse input file. |
verbose |
if |
cost |
if not |
ispos |
if |
... |
other arguments passed to function linp
from package |
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, |
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)))