Saltar al contenido

Recommended Posts

publicado

Hola! soy nuevo en este foro, Llevo un mes dándole vueltas y no encuentro la solución.

Quiero hacer una calculadora que me tiendo el nombre de los participantes me calcule de forma aleatoria los partidos. Cumpliendo estos requisitos:

12 hombres y 12 mujeres disputan un torneo de pádel mixto
 
Cada participante juega 11 partidos de tal forma que jugará:
 
Con 11 mujeres distintas contra los 11 hombres y 11 mujeres (distintas entre sí)
 
Según mis cálculos se jugarían 66 partidos.  
 
No se ni por donde empezar. Gracias de antemano
publicado

No se acaba de ver, solo un ejemplo: 12 hombre+12 mujeres son 24 participantes, si cada participante juega 11 partidos, 24 por 11 son 264 partidos, lo que contradice las siguientes afirmaciones.

Dicho lo cual, mejor subes un archivo, por ejemplo 4 hombres y 4 mujeres,  a ver si se ve más claro lo que pretendes.

publicado
hace 19 horas, Antoni dijo:

No se acaba de ver, solo un ejemplo: 12 hombre+12 mujeres son 24 participantes, si cada participante juega 11 partidos, 24 por 11 son 264 partidos, lo que contradice las siguientes afirmaciones.

Dicho lo cual, mejor subes un archivo, por ejemplo 4 hombres y 4 mujeres,  a ver si se ve más claro lo que pretendes.

Cada partido lo juegan 4 personas al ser mixto chica 1 y chico 2 vs chica 3 y chico 4 por eso  son 264/4= 66 partidos resultantes. de todas maneras preparo y subo un excel

publicado (editado)
hace 18 horas, Israel Cassales dijo:

Había escrito un listado de paso a paso buscando ayudar a pesar de la falta de libro de ejemplo pero como menciona el consultante que no tiene idea de cómo empezar, y yo fui creando el ejemplo para ir validando mi descripción, así que mejor comparto el libro.

Nota: Esto es solo una idea considerando 144 partidos, si son los 264 que menciona el maestro @Antoni se tendría que adaptar un poco.

Bueno es con lo que puedo participar en este tema.

Saludines

@oscarfm Como bien recomendó el maestro, para futuras consultas se recomienda que el libro de ejemplo lo proporcione usted.

AYUDA EXCEL.xlsb 19.21 kB · 1 descarga

Tiene muy buena pinta el excel. Creo que no me expliqué bien son partidos de pádel  mixtos de 4 jugadores. Chico 1 y Chica1 vs Chico 2 y Chica2  

De tal forma que:

Cada participante juega 11 partidos con 11 mujeres distintas contra los 11 hombres y 11 mujeres (distintas entre sí)

 

Adjunto un fichero pero no se si servirá de mucho. Perdonad pero no se por donde empezar

Mixto.xlsx

Editado el por oscarfm
publicado
Hace 1 hora, oscarfm dijo:

Cada partido lo juegan 4 personas al ser mixto chica 1 y chico 2 vs chica 3 y chico 4 por eso  son 264/4= 66 partidos resultantes. de todas maneras preparo y subo un excel

No se si te servirá de mucho, es que no se ni por donde empezar.

Muchas gracias!!

Mixto.xlsx

publicado
hace 3 horas, Israel Cassales dijo:

Hola! el  revisado el excel... he encontrado que repite parejas.

Te pongo un ejemplo para explicarme mejor. Imaginemos que el somos el Hombre_01.

Mis partidos serian:

Jugaría con 11 chicas distintas (de las 12 que hay)

HOMBRE_01 y MUJER_01
HOMBRE_01 y MUJER_02
HOMBRE_01 y MUJER_03
HOMBRE_01 y MUJER_04
HOMBRE_01 y MUJER_05
HOMBRE_01 y MUJER_06
HOMBRE_01 y MUJER_07
HOMBRE_01 y MUJER_08
HOMBRE_01 y MUJER_09
HOMBRE_01 y MUJER_10
HOMBRE_01 y MUJER_11

Contra los otros 11 HOMBRES que juegan en esos partidos con 11 mujeres (distintas entre si)

HOMBRE_02 y MUJER_02
HOMBRE_03 y MUJER_03
HOMBRE_04 y MUJER_04
HOMBRE_05 y MUJER_05
HOMBRE_06 y MUJER_06
HOMBRE_07 y MUJER_07
HOMBRE_08 y MUJER_08
HOMBRE_09 y MUJER_09
HOMBRE_10 y MUJER_10
HOMBRE_11 y MUJER_11
HOMBRE_12 y MUJER_01

Osea que un listado de los partidos del HOMBRE_01 podría ser

Partidos de HOMBRE_01
HOMBRE_01 y MUJER_01 vs HOMBRE_02 y MUJER_02
HOMBRE_01 y MUJER_02 vs HOMBRE_03 y MUJER_03
HOMBRE_01 y MUJER_03 vs HOMBRE_04 y MUJER_04
HOMBRE_01 y MUJER_04 vs HOMBRE_05 y MUJER_05
HOMBRE_01 y MUJER_05 vs HOMBRE_06 y MUJER_06
HOMBRE_01 y MUJER_06 vs HOMBRE_07 y MUJER_07
HOMBRE_01 y MUJER_07 vs HOMBRE_08 y MUJER_08
HOMBRE_01 y MUJER_08 vs HOMBRE_09 y MUJER_09
HOMBRE_01 y MUJER_09 vs HOMBRE_10 y MUJER_10
HOMBRE_01 y MUJER_10 vs HOMBRE_11 y MUJER_11
HOMBRE_01 y MUJER_11 vs HOMBRE_12 y MUJER_01

 

El tema creo que es bastante complejo, porque el sistema debe seguir creando partidos teniendo en cuenta de no repetir y que todos los participantes acaben jugado 11 partidos. No se si se me acaba de entender

 

Muchísimas gracias!!!!

 

Mixto.xlsb

publicado

Mira intente otro ejemplo:

El problema aquí no es crear esa macro que no esté considerando cada partido dos veces, ejemplo: una vez cuando el HOMBRE_01 juega con la MUJER_01 contra el HOMBRE_02 y la MUJER_02, y otra vez cuando el HOMBRE_02 juega con la MUJER_02 contra el HOMBRE_01 y la MUJER_01. Entonces sí, son efectivamente el mismo partido, por lo que deberíamos contarlos solo una vez y discriminarlos, ese considero es el detalle.

En tu caso, estás buscando un “diseño de torneo de parejas mixtas”, donde cada hombre juega con cada mujer exactamente una vez, y cada pareja juega contra cada una de las otras parejas exactamente una vez.

Esto es un problema más de matemáticas que de programación, y aunque existen algoritmos para resolverlo algunos son bastante complejos y pueden ser difíciles de implementar en VBA. Por ejemplo buscando en Internet lo tuyo se considera un problema de combinatoria y se podría resolver con un algoritmo conocido como “round-robin”, lo que habría que hacer es crearlo en VBA pero en el contexto de tu consulta sería de una manera un poco diferente. En lugar de seleccionar elementos de un grupo para procesar, estamos generando todas las combinaciones posibles de parejas de jugadores para los partidos de padel. Cada jugador juega con cada otro jugador exactamente una vez, lo cual es similar al concepto de “Round-Robin” de dar a cada elemento en un grupo una oportunidad equitativa.

Así que en el adjunto que te mando inicie con HOMBRE_01  y sus combinaciones, luego HOMBRE_02 y sus combinaciones, sería seguirlo construyendo con los 10 que hacen falta.

Pero solo es una idea, esperando te ayude a lograr lo que buscas ya que una vez entendido los ejemplos que mencionas de momento no puedo aportar algo adicional.

Mixto.xlsb

publicado
hace 12 horas, Israel Cassales dijo:

Lo que te falto explicar en el ejemplo es que pasa con la MUJER_12, ¿por qué la descansas y en su lugar entra la MUJER_01? Esas variantes cambian las posibilidades de combinaciones que puede uno poner o no en el VBA, eso es lo laborioso.

 

hace 12 horas, Israel Cassales dijo:

Mira intente otro ejemplo:

El problema aquí no es crear esa macro que no esté considerando cada partido dos veces, ejemplo: una vez cuando el HOMBRE_01 juega con la MUJER_01 contra el HOMBRE_02 y la MUJER_02, y otra vez cuando el HOMBRE_02 juega con la MUJER_02 contra el HOMBRE_01 y la MUJER_01. Entonces sí, son efectivamente el mismo partido, por lo que deberíamos contarlos solo una vez y discriminarlos, ese considero es el detalle.

En tu caso, estás buscando un “diseño de torneo de parejas mixtas”, donde cada hombre juega con cada mujer exactamente una vez, y cada pareja juega contra cada una de las otras parejas exactamente una vez.

Esto es un problema más de matemáticas que de programación, y aunque existen algoritmos para resolverlo algunos son bastante complejos y pueden ser difíciles de implementar en VBA. Por ejemplo buscando en Internet lo tuyo se considera un problema de combinatoria y se podría resolver con un algoritmo conocido como “round-robin”, lo que habría que hacer es crearlo en VBA pero en el contexto de tu consulta sería de una manera un poco diferente. En lugar de seleccionar elementos de un grupo para procesar, estamos generando todas las combinaciones posibles de parejas de jugadores para los partidos de padel. Cada jugador juega con cada otro jugador exactamente una vez, lo cual es similar al concepto de “Round-Robin” de dar a cada elemento en un grupo una oportunidad equitativa.

Así que en el adjunto que te mando inicie con HOMBRE_01  y sus combinaciones, luego HOMBRE_02 y sus combinaciones, sería seguirlo construyendo con los 10 que hacen falta.

Pero solo es una idea, esperando te ayude a lograr lo que buscas ya que una vez entendido los ejemplos que mencionas de momento no puedo aportar algo adicional.

Mixto.xlsb 19.94 kB · 0 descargas

Ante todo muchísimas gracias por todo. Investigaré la opción que me indicas. La verdad es que es un problema más complejo de lo que aparenta en un principio

publicado
hace 12 horas, Israel Cassales dijo:

Lo que te falto explicar en el ejemplo es que pasa con la MUJER_12, ¿por qué la descansas y en su lugar entra la MUJER_01? Esas variantes cambian las posibilidades de combinaciones que puede uno poner o no en el VBA, eso es lo laborioso.

Esa sería la parte aleatoria  en los partidos de cada chico hay una chica con la que no juega y otra con la que no se enfrenta. Ya que son 11 partidos y son 12 chicas

publicado
hace 1 hora, John Jairo V dijo:

¡Hola a todos!

Revisa el adjunto, donde con una fórmula matricial obtengo los 66 partidos en cuestión, sin que se repitan las parejas/enfrentamientos.  ¡Bendiciones!

Mixto.xlsx 11.23 kB · 2 descargas

IMPRESIONANTE MUCHISIMAS GRACIAS

Esto si que ha sido un regalo de REYES

ENORME!!!!!

publicado

Saludos @oscarfm...

La he mejorado un poco más, teniendo en cuenta que en los enfrentamientos anteriores, siempre se enfrentaban HOMBRE 1 con HOMBRE 2, HOMBRE 3 con HOMBRE 4 (y así sucesivamente).  Ahora, la repartición es aleatoria,  pero asegurando las mismas condiciones:  66 partidos, sin que se repitan pareja/enfrentamiento.  ¡Disfrútalo! ¡Bendiciones!

Mixto.xlsx

publicado
En 5/1/2024 at 21:55 , John Jairo V dijo:

Saludos @oscarfm...

La he mejorado un poco más, teniendo en cuenta que en los enfrentamientos anteriores, siempre se enfrentaban HOMBRE 1 con HOMBRE 2, HOMBRE 3 con HOMBRE 4 (y así sucesivamente).  Ahora, la repartición es aleatoria,  pero asegurando las mismas condiciones:  66 partidos, sin que se repitan pareja/enfrentamiento.  ¡Disfrútalo! ¡Bendiciones!

Mixto.xlsx 11.37 kB · 3 descargas

Genial!!

  • 8 months later...
publicado
En 6/1/2024 at 2:00 , John Jairo V dijo:

Me alegra que te haya gustado, @Israel Cassales.  ¡Bendiciones!

Hola de nuevo!, y si fuesen 8 chicos y 8 chicas como seria?

Gracias

Conéctate para comentar

Podrás dejar un comentario después de conectarte



Conéctate ahora
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.