[R] Upper an lower bound in linear programing

Petr Savicky savicky at cs.cas.cz
Thu May 24 18:36:13 CEST 2012


On Thu, May 24, 2012 at 07:16:20AM -0700, Haio wrote:
> Hello everyone!
> I´m trying to solve a linear optimization problem with r using the LPsolve
> function and i want to set upper and lower bounds for the obejctive
> function.  Any idea´s on how to do this??

Hello:

The formulation of an LP problem allows to use the objective
function also as a row in the constraint matrix. So, it is
possible to set a constraint on it. For example,
maximizing x + y
under the constraints
  x/4 <= y <= 2 + x/3
  x + y <= 9  (constraint on the objective function)
may be done as follows

  library(lpSolve)
 
  crit <- c(1, 1)
  mat <- rbind(
  c(-1/4, 1),
  c(-1/3, 1),
  c( 1,   1))
  dir <- c(">=", "<=", "<=")
  rhs <- c(0, 2, 9)
 
  out <- lp("max", objective.in=crit, const.mat=mat, const.dir=dir, const.rhs=rhs)
  out

  Success: the objective function is 9

  out$solution

  [1] 7.2 1.8

Hope this helps.

Petr Savicky.



More information about the R-help mailing list