Betomisas
2012-Jul-04 21:12 UTC
[R-es] Simular Matrices con restricción en Filas y Columnas
Buenas tardes a todos Tengo la siguiente matriz, en la cual cada fila suma 100% y las columnas tienen su respectiva restricción (130% suma columna 1, 50% columna 2, etc) tal como se representa a continuación: 0% 0% 0% 51% 31% 18% *100%* 30% 50% 15% 6% 0% 0% *100%* 0% 0% 0% 0% 0% 100% *100%* 0% 0% 0% 0% 0% 100% *100%* 0% 0% 0% 0% 0% 100% *100%* 100% 0% 0% 0% 0% 0% *100%* 0% 0% 0% 0% 0% 100% *100%* 0% 0% 0% 0% 0% 100% *100%* *130%* *50%* *15%* *57%* *31%* *518%* *800% * En las posiciones X[i,j] estoy colocando una de las posibles soluciones que podría obtener. Cómo puedo simular todas las posibles matrices que me cumplan con esas restricciones?. Mil gracias! [[alternative HTML version deleted]]
Jorge I Velez
2012-Jul-04 22:08 UTC
[R-es] Simular Matrices con restricción en Filas y Columnas
Hola betomisas, No veo muy bien la matriz X. Es posible que nos envies dput(X) en lugar de lo anterior? Gracias, Jorge.- 2012/7/4 Betomisas <>> Buenas tardes a todos > > Tengo la siguiente matriz, en la cual cada fila suma 100% y las columnas > tienen su respectiva restricción (130% suma columna 1, 50% columna 2, etc) > tal como se representa a continuación: > > 0% 0% 0% 51% 31% 18% *100%* 30% 50% 15% 6% 0% 0% *100%* 0% 0% 0% 0% 0% > 100% *100%* 0% 0% 0% 0% 0% 100% *100%* 0% 0% 0% 0% 0% 100% *100%* 100% > 0% > 0% 0% 0% 0% *100%* 0% 0% 0% 0% 0% 100% *100%* 0% 0% 0% 0% 0% 100% *100%* > *130%* *50%* *15%* *57%* *31%* *518%* *800% > * > En las posiciones X[i,j] estoy colocando una de las posibles soluciones que > podría obtener. > > Cómo puedo simular todas las posibles matrices que me cumplan con esas > restricciones?. > > Mil gracias! > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]
Carlos Ortega
2012-Jul-05 08:32 UTC
[R-es] Simular Matrices con restricción en Filas y Columnas
Hola, Una forma de hacerlo es enfocando el problema desde el punto de vista de una optimización donde existen restricciones sobre las variables. Primero, por si sirve de ayuda a otros (como ha preguntado Jorge), entiendo que esta es tu matriz en notación R: mat.dat<-matrix( c( 0,0,0,51,31,18, 30,50,15,5,0,0, 0,0,0,0,0,100, 0,0,0,0,0,100, 100,0,0,0,0,0, 0,0,0,0,0,100 ) ,nrow=6, ncol=6, byrow=TRUE ) Y quieres que las filas sumen 100, y las columnas que sumen lo que aparece en tu ejemplo: 130, 50, 15, 56, 31, 318. Nota que he tenido que poner un "5" en la segunda fila donde tú ponías un seis, sino no suma 100. De forma general una matriz de 6x6 con todo variables: Matriz=( x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 ... x31 x32 x33 x34 x35 x36 ) Lo que se busca es maximizar: x1+x2+x3+....+x34+x35+x36 Sujeto a estas restricciones: A) para las filas) x1+x2+x3+x4+x5+x6=100 x7+x8+x9+x10+x11+x12=100 ... x31+x32+x33+x34+x35+x36=100 B) para las columnas) x1+x7+x13+x19+x25+x31=130 x2+x8+x14+x20+x26+x32=50 .... x6+x12+x18+x24+x30+x36=318 C) Que todos los "xi" son positivos. Y con todo esto, la solución de los "xi" que satisfacen estas condiciones las puedes calcular con el paquete Rglpk que es un optimizador para los problemas de programación lineal como es este. Saludos, Carlos Ortega www.qualityexcellence.es El 4 de julio de 2012 23:12, Betomisas <betomisas@gmail.com> escribió:> Buenas tardes a todos > > Tengo la siguiente matriz, en la cual cada fila suma 100% y las columnas > tienen su respectiva restricción (130% suma columna 1, 50% columna 2, etc) > tal como se representa a continuación: > > 0% 0% 0% 51% 31% 18% *100%* 30% 50% 15% 6% 0% 0% *100%* 0% 0% 0% 0% 0% > 100% *100%* 0% 0% 0% 0% 0% 100% *100%* 0% 0% 0% 0% 0% 100% *100%* 100% > 0% > 0% 0% 0% 0% *100%* 0% 0% 0% 0% 0% 100% *100%* 0% 0% 0% 0% 0% 100% *100%* > *130%* *50%* *15%* *57%* *31%* *518%* *800% > * > En las posiciones X[i,j] estoy colocando una de las posibles soluciones que > podría obtener. > > Cómo puedo simular todas las posibles matrices que me cumplan con esas > restricciones?. > > Mil gracias! > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]