# Defino variables: # A: litros de licor A utilizados. # B: litros de licor B utilizados. # C. litros de licor C utilizados. # E: litros de whisky Escocés producido. # K: litros de whisky Kilt producido. # t: litros de whisky Tartan producido. # Xij: litros del licor i en el whisky j. # i=A,B,C y j=E,K,T # funcional: MAX -> Z = pe*E + pk*K + pt*t - pa*A - pb*B - pc*C # sujeto a: # BALANCE A A - Xae - Xak - Xat = 0 # BALANCE B B - Xbe - Xbk - Xbt = 0 # BALANCE C C - Xce - Xck - Xct = 0 # BALANCE E E - Xae - Xbe - Xce = 0 # BALANCE K K - Xak - Xbk - Xck = 0 # BALANCE t t - Xat - Xbt - Xct = 0 # AE_MIN Xae - 0.6*E >= 0 # CE_MAX Xce - 0.2*E <= 0 # AK_MIN Xak - 0.15*K >= 0 # CK_MAX Xck - 0.6*K <= 0 # CT_MAX Xct - 0.5*t <= 0 # DISP A A <= 2000 # DISP B B <= 2500 # DISP C C <= 1200 #Ingreso datos del ejercicio pa <- 7 pb <- 5 pc <- 4 pe <- 6.8 pk <- 5.7 pt <- 4.5 #Utilizo la librería lpSolve library(lpSolve) #Armo un vector con los coeficientes del funcional funcional <- c(pe, pk, pt, -pa, -pb, -pc) #Armo una matriz con las restricciones # A, B, C, E , K, T, Xae,Xak,Xat,Xbe,Xbk,Xbt,Xce,Xck,Xct A <- matrix(c( 1, 0, 0, 0, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,-1,-1, 0, 0, 0, 1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, -1, 0, 0, 0,-1, 0, 0, 0,-0.6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-0.2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,-0.15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,-0.5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), ncol=15, byrow = T) #Defino el vector soluciones de la matriz de restricciones RHS <- c(0,0,0,0,0,0,0,0,0,0,0,2000,2500,1200) dir <- c('=', '=', '=', '=', '=', '=', '>=', '<=', '>=', '<=', '<=', '<=', '<=', '<=') # Solucion solucion <- lp('max', funcional, A, dir, RHS) Z<- SOL$objval A<- SOL$solution [1] B<- SOL$solution [2] C<- SOL$solution [3] E<- SOL$solution [4] K<- SOL$solution [5] t<- SOL$solution [6] print(SOL) VECTORSOL<-SOL$solution print(VECTORSOL) # Imprimo resultados paste0('beneficio máximo =', Z) paste0('cantidad de whisky Escocés =', E) paste0('cantidad de whisky Kilt =', K) paste0('cantidad de whisky Tartan =', t) paste0('cantidad de licor A requerido =', A) paste0('cantidad de licor B requerido =', B) paste0('cantidad de licor C requerido =', C)