install.packages("lpSolve") library("lpSolve") # Sean las variables como: # XPi= cantidad de piezas i producidas # i:A, B, C, D # XCj= cantidad de piezas i compradas # i: A, B, C, D # Restricciones # 0.05XPa + 0.05XPb + 0.05XPc + 0.05XPd <= 1200 # 0.1XPa + 0.12XPb + 0.14XPc + 0.18XPd <= 3600 # 0.2XPa + 0.25XPb + 0.3XPc + 0.25XPd <= 5000 # 0.088XPa + 0.11XPb + 0.066XPc + 0.11XPd <= 3000 # 0.088XPa + 0.11XPb + 0.066XPc + 0.11XPd + 0.0375XCa + 0.0625XCb # + 0.05XCc + 0.05XCd <= 3000 # XPa + XCa = 4000 # XPb + XCb = 3000 # XPc + XCc = 8000 # XPd + XCd = 5000 # MAX: 500XPa + 600XPb + 1200XPc + 1000XPd - 800XCa - 750XCb - 1800XCc - 800XCd Z <- c(500,600,1200,1000,-800,-750,-1800,-800) Restric <- matrix(c(0.05,0.05,0.05,0.05,0,0,0,0, 0.1,0.12,0.14,0.18,0,0,0,0, 0.2,0.25,0.3,0.25,0,0,0,0, 0.088,0.11,0.066,0.11,0,0,0,0, 0.088,0.11,0.066,0.11,0.0375,0.0625,0.05,0.05, 1,0,0,0,1,0,0,0, 0,1,0,0,0,1,0,0, 0,0,1,0,0,0,1,0, 0,0,0,1,0,0,0,1), nrow=9, byrow=TRUE) Signos <- c("<=","<=","<=","<=","<=","=","=","=","=") RHS <- c(1200,3600,5000,3000,3000,4000,3000,8000,5000) lpSolve::lp("max", Z, Restric, Signos, RHS) lpSolve::lp("max", Z, Restric, Signos, RHS)$solution