R Interface to C API of GLPK
A low level interface to the GNU Linear Programming Kit (GLPK). package
The package glpkAPI
provides access to the callable library of the GNU Linear Programming Kit from within R.
Based on the package glpk
by Lopaka Lee.
The GNU GLPK home page at http://www.gnu.org/software/glpk/glpk.html.
Gabriel Gelius-Dietrich geliudie@uni-duesseldorf.de
Maintainer: Mayo Roettger mayo.roettger@hhu.de
# 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)
Useful links