Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/08/2016, 03:48
FDA
 
Fecha de Ingreso: agosto-2010
Mensajes: 99
Antigüedad: 13 años, 8 meses
Puntos: 2
Respuesta: Planificador de actividades (scheduler)

Hola, todo esto ya lo tengo hecho. La base de datos hechas, las clases definidas, y muchas funciones para saber que grupos van uqé dias en que centro y que actividades tienen que hacer. Hasta la configuración de cada centro. Las bases de datos son a lo que me he dedicado bastante en los últimos años, esta parte la tengo controlada.

El problema es que por combinatoria, no todas las soluciones son válidas. Con un solo grupo no hay problemas, pero con 3 grupos, para la misma semana y mismo centro, con 2 o tres subgrupos por grupo, llega un momento que no se pueden asignar todas las actividades a saco, ya que alguien se queda sin hacer alguna actividad en alguna hora, por que ya ha hecho las actividades que estan libres en ese momento.

Entonces, a lo bestia sería tirar de algo de backtracking, pero he esrado haciendo numeros, y facilmente se va de las manos. Por no contar que le iré poniendo restricciones. Por ejemplo, este grupo tiene que hacer esta actividad a esta hora este dia si o si. O no se peude hacer una actividad por la mañana, o el último día, o por ejemplo que el primer dia la primera actividad siempre es la de bienvenida.

La solución que he encontrado para hacer la busqueda parece ser que es con algoritmos genéticos. Que es lo que me estoy mirando ahora, si alguien tiene experiencia me iría de cojones algo de ayuda, contruir el cromosoma me está llevando de cabeza, por no hablar de las restricciones varias.
Seguiré investigando.

Para que te hagas una idea de a lo que se parece, que igual no me he explicado bien.

http://www.codeproject.com/Articles/...etic-Algorithm

Recuerdo algo de la uni sobre problemas NP-Hard y combinatoria, peor no profundizamos en ellos. Y ahroa toca investigar y aprender un poco más... o no tan poco.