Alguna sugerencia sobre cómo escribir en R una matriz de 11 x 12 que no sea usando A<-matrix(c(....),nrow=11)?
Comparto lo que pude armar pero llego a resolución NULL
Resolución en R Studio
Defino las variables
#Xi: Litros de whiskey tipo i (con i = 1: Escocés, 2: Kilt, 3: Tartan)
#Xij: Cantidad de litros de licor j (con j = A,B,C) en whiskey tipo i
#Defino el funcional o función objetivo que estoy buscando maximizar
[MAX] Z= 680.X1 +570.X2 + 450.X3 -700.( XA1 + XA2 + XA3) - 500.( XB1 + XB2 + XB3) - 400.( XC1 + XC2 + XC3)
#Sujeto a:
#ESCOCÉS:
#-X1+XA1+XB1+XC1= 0
#XA1≥ 0,60
#XC1≤ 0,20
#KILT:
#-X2+XA2+XB2+XC2= 0
#XA2≥ 0,15
#XC2≤ 0,60
#TARTAN:
#-X3+XA3+XB3+XC3 = 0
#XC3≤0,5
#Disponibilidad de licores A, B, C
#XA1+XA2+XA3 ≤ 2.000
#XB1+XB2+XB3 ≤ 2.500
#XC1 + XC2 +XC3 ≤ 1.200
library(linprog)
library(lpSolve)
z<-c(680,570,450,-700,-700,-700,-500,-500,-500,-400,-400,400)
A<-matrix(c(
-1,0,0,1,0,0,1,0,0,1,0,0,
0,0,0,1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,1,0,0,
0,-1,0,0,1,0,0,1,0,0,1,0,
0,0,0,0,1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,1,0,
0,0,-1,0,0,1,0,0,1,0,0,1,
0,0,0,0,0,0,0,0,0,0,0,1,
0,0,0,1,1,1,0,0,0,0,0,0,
0,0,0,0,0,0,1,1,1,0,0,0,
0,0,0,0,0,0,0,0,0,1,1,1),nrow=11)
b<-c(0,0.60,0.20,0,0.15,0.60,0,0.5,2000,2500,1200)
dir<-c("=",">=","<=","=",">=","<=","=","<=","<=","<=","<=")
solucion<-lp("max",z,A,dir,b)$solucion
print(solucion)
En las restricciones de especificación, yo lo que hice fue por ejemplo:
Para el escoses " no menos del 60% de A " -- XAE-0.60XE>0
Es decir referí el porcentaje del licor que me pedia , al total del whisky .
Dejo mi script adjunto en R.
Muchas gracias!
Gran aporte alumnos !! Sigan así !!
Hola!
Puede ser por ejemplo de esta forma, donde los vectores son las filas:
A<-matrix(ncol=7,nrow=4)
A[1,] <- c(5,0,2,0,3,1,2)
A[2,] <- c(3,1,5,0,2,0,1)
A[3,] <- c(1,0,3,1,2,0,6)
A[4,] <- c(1,0,3,1,2,0,6)
Es un poco mas amigable cuando hay muchas filas pero desconozco si hay otra más práctica.
Excelente! Muchas gracias
Capaz te conviene usar vectores, a veces es mas fácil así. Moverse por dentro de la matriz es mas molesto que por vectores.
ojala te sirva
Hola! Si bien escribí la matriz como mencionas vos lo organicé de forma que quede más amigable a la vista, te dejo el script de R para que lo chequees.
Por otra parte, agradezco si alguien me puede dar una mano con lo siguiente: estimo que al correr mi código de R los resultados me los muestra todos desordenados, ya que la cantidad de Whisky Kilt la muestra como igual a 0 y la cantidad requerida de licor B no y entiendo que tendría que ser al revés ( ningún whisky requiere licor B), estuve probando distintas combinaciones pero no logro entender en que orden da los resultados R en el vector solución.
P/D: También puede ser que esté todo mal
Agradezco cualquier sugerencia
Saludos!
Al ver el script que mandaste me surge la duda de porque si bien planteaste 6 variables en el funcional, la solución te da de 7 variables.funcional <- c(pe, pk, pt, -pa, -pb, -pc)
> print(VECTORSOL)
[1] 11.559633 0.000000 6.055046 0.000000 0.000000 0.000000 15.045872
Gracias por tu respuesta!
Chicos alguno tiene el resultado de las variables y el valor final del funcional?
Lo hice en Colab y queria verificar que estuviese bien
Dejo el codigo por si a alguno le sirve
Gracias
Damian
Hola! A mi me da lo siguiente, lo resolví en LINDO. No se si te da algo parecido porque no tengo Colab.
OBJECTIVE FUNCTION VALUE
1) 3988.889
VARIABLE VALUE
E 2544.444336
K 3155.555664
T 0.000000
A 2000.000000
B 2500.000000
C 1200.000000
XCE 0.000000
XAE 1526.666626
XAK 473.333344
XCT 0.000000
XAT 0.000000
XBE 1017.777771
XBK 1482.222168
XBT 0.000000
XCK 1200.000000