Ejemplo de Funcionamiento Algoritmo TurnoMatic Ejemplo de Funcionamiento
ESTRUCURA DE DATOS La estructura de datos que se va a utilizar para la implementación del algoritmo turnomatic es la siguiente:
EMPLEADOS DISPONIBLES 1 31 DEPARTAMENTO DIAS HORARIO 1 N EMPLEADOS id1 id2 idm PERSONAL ... EMPLEADOS DISPONIBLES ... ... 1 31 DIAS inicio fin EMPLEADOS RESERVA libre
Ejemplos A continuación se muestran algunos ejemplos de funcionamiento.
Los empleados disponibles serán los empleados que trabajen ese día Estructura de Datos Calendario 1 31 Horario Empleados Lista de empleados Datos que necesitamos para el algoritmo Datos empleado Horario del empleado Horas trabajadas Días trabajados Libra? Horario empleado 1 31 Horario Aquí se especificará el horario del empleado. 1 31 Horario Calendario Preliminar Empleados disponibles Una vez obtenidos los empleados de los que disponemos, se accederá a una lista que nos dará toda la información necesaria para saber si podemos contar con un empleado o no. Si todo el horario del empleado cuadra con nuestras necesidades, éste será incluido en el cuadrante definitivo Los empleados disponibles serán los empleados que trabajen ese día
Aclaraciones sobre la estructura de datos La lista de empleados estará ordenada alfabéticamente para poder hacer búsquedas binarias efectivas. El calendario preliminar será utilizado para generar cuadrante final (calendario). Los empleados disponibles serán aquellos que estén dados de alta en el sistema y que no estén trabajando en ese momento. El horario vendrá establecido según condiciones de la empresa. El orden en el que estarán los empleados en la lista de empleados disponibles, irá en función de su “felicidad”,es decir,según si sus preferencias se han ido cumpliendo.
Ejemplo de funcionamiento para diferentes casos Generación de un cuadrante
Estructura de Datos Calendario 1 31 Horario Lista de empleados Datos que necesitamos para el algoritmo Pedro Datos empleado Horario del empleado Horas trabajadas Días trabajados Libra? Horario Lista de empleados Calendario Preliminar Horario empleado 1 31 Horario 1 31 Horario Empleados disponibles ¿Cuadra el horario? SI Pedro Maria Juan
Ejemplo de funcionamiento para diferentes casos Pedro de repente avisa de que no puede ir a trabajar, y el cuadrante actual es el siguiente: Con esto suponemos que durante ese día, iban a estar Pedro, Juan y Maria 1 31 Calendario Horario Pedro Maria Juan El resultado final gracias a el algoritmo turnomatic sería el siguiente:
Estructura de Datos Calendario 1 31 Horario Lista de empleados Pedro Maria Juan Datos empleado Horario del empleado Horas trabajadas Días trabajados Libra? Horario Lista de empleados Calendario Preliminar Horario empleado 1 31 Horario 1 31 Horario Empleados disponibles ¿Cuadra el horario? NO SI Patricia Pepe
Ejemplo de funcionamiento para diferentes casos Al elegir un empleado nos damos cuenta que tiene dos días libres.. Que suerte!!! Gracias al algoritmo este problema se arreglaría de la siguiente forma:
Estructura de Datos 1 31 Calendario Horario Lista de empleados Datos empleado Horario del empleado Horas trabajadas Días trabajados Libra? SI NO Lista de empleados Calendario Preliminar Horario empleado 1 31 Horario 1 31 Horario Empleados disponibles ¿Cuadra el horario? SI Pedro Maria Juan
Ejemplo de funcionamiento para diferentes casos Después de un duro dia de trabajo, tenemos que actualizar a mano todos los datos? Gracias a turnomatic, un ejemplo de actualización de datos seria el siguiente
Por fin!!El curro ha terminado, vamos a actualizar los datos Estructura de Datos Calendario Por fin!!El curro ha terminado, vamos a actualizar los datos 1 31 Pedro Maria Juan Datos empleado Horario del empleado Horas trabajadas Días trabajados Días libra Vacaciones? Horario =+6 =+5 =+1 =+1 Lista de empleados Calendario Preliminar 1 31 Horario Empleados disponibles Patricia Pepe Pedro Maria