# load package
library(glpkAPI)
# preparing the model
lp <- initProbGLPK()
# model data
nrows <- 5
ncols <- 8
# constraint matrix
ne <- 14
ia <- c(1, 5, 1, 2, 2, 3, 1, 4, 1, 5, 3, 4, 1, 5)
ja <- c(1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 7, 8, 8)
ar <- c(3.0, 5.6, 1.0, 2.0, 1.1, 1.0, -2.0, 2.8,
-1.0, 1.0, 1.0, -1.2, -1.0, 1.9)
# objective function
obj <- c(1, 0, 0, 0, 2, 0, 0, -1)
# upper and lower bounds of the rows
rlower <- c(2.5, -1000, 4, 1.8, 3)
rupper <- c(1000, 2.1, 4, 5, 15)
# upper and lower bounds of the columns
clower <- c(2.5, 0, 0, 0, 0.5, 0, 0, 0)
cupper <- c(1000, 4.1, 1, 1, 4, 1000, 1000, 4.3)
# direction of optimization
setObjDirGLPK(lp, GLP_MIN)
# add rows and columns
addRowsGLPK(lp, nrows)
addColsGLPK(lp, ncols)
setColsBndsObjCoefsGLPK(lp, c(1:ncols), clower, cupper, obj)
setRowsBndsGLPK(lp, c(1:nrows), rlower, rupper)
# load constraint matrix
loadMatrixGLPK(lp, ne, ia, ja, ar)
# solve lp problem
solveSimplexGLPK(lp)
# retrieve the results
getSolStatGLPK(lp)
getObjValGLPK(lp)
getColsPrimGLPK(lp)
# remove problem object
delProbGLPK(lp)
Run the code above in your browser using DataLab