#install.packages(linprog) #install.packages(lpSolve) #using linprog library(linprog) cvec = c(15000,9500) ; bvec = c(960,400, 420) A = matrix(c(8,8,4,2,4,3), nrow=3, ncol=2, byrow=T) LP = solveLP(cvec,bvec,A,maximum=T) ; print(LP) #using lpSolve library(linprog); library(lpSolve) cvec = c(15000,9500) ; bvec = c(960,400, 420) A = matrix(c(8,8,4,2,4,3), nrow=3, ncol=2, byrow=T) LP1 = solveLP(cvec, bvec, A, maximum = T, const.dir =c("<=","<=","<="), lpSolve = T, solve.dual = T) print(LP1) #duality cvec = c(15000,9500) ; bvec = c(960,400, 420) A = matrix(c(8,8,4,2,4,3), nrow=3, ncol=2, byrow=T) primal = solveLP(cvec,bvec,A,maximum=T, lpSolve=T, solve.dual=T) ; print(primal) cvec = c(960,400, 420) ; bvec = c(15000,9500) A = matrix(c(8,4,4,8,2,3), nrow=2, ncol=3, byrow=T) dual = solveLP(cvec,bvec,A,maximum=F, const.dir=c(">=",">="), lpSolve=T, solve.dual=T) ; print(dual) #2nd example cvec = c(1,1) ; bvec = c(150) A = matrix(c(2,1), nrow=1, ncol=2, byrow=T) utility_max = solveLP(cvec,bvec,A,maximum=T, lpSolve=T, solve.dual=T) ; print(utility_max) cvec = c(150) ; bvec = c(1,1) A =matrix(c(2,1),nrow=2,ncol=1,byrow=T) expenditure_min = solveLP(cvec,bvec,A,maximum=F, const.dir=c(">=",">="), lpSolve=T, solve.dual=T) ; print(expenditure_min)