Introducción y motivación
Los problemas de asignación de horarios y recursos consisten en organizar y planificar la distribución de una serie de elementos escasos, ya sea tiempo, materia prima, maquinaria o trabajadores. Su dificultad reside en el alto número de posibles combinaciones de las cuales solo nos interesan un número muy reducido que verifiquen ciertas restricciones. Es por ello que estos problemas suelen tratarse desde un punto de vista combinatorio, tomando variables de decisión binarias en el ámbito de la programación lineal.
Desde hace tiempo, la complejidad de estos problemas ha resaltado, animando a buscar métodos matemáticos que nos den soluciones en un corto periodo de tiempo. Es importante resolver este tipo de problemas ya que son de gran relevancia en empresas de servicio, abarcando muchos aspectos desde la asignación de horarios en una empresa, tema que abordaremos, hasta la distribución de algún tipo de sustento.
En nuestro caso, vamos a abordar el problema de asignación de horarios de una tienda. Conociendo el numero de empleados del que disponemos, sus preferencias y algunas restricciones más en sus turnos, trataremos de dar la mejor organización posible que se ajuste a todo ello. Hemos decidido elegir este tipo de problemas por la importancia que tienen en el mundo real. Aunque no nos demos cuenta, este dilema afecta a cualquier tipo de negocio físico. A simple vista, este trabajo puede parecer muy sencillo, pero realizarlo sin organización y sin conocimientos adecuados nos puede llevar mucho tiempo, y probablemente ni siquiera llegaríamos a la solución optima.
¿Serías capaz de resolver un problema en el cual debemos organizar a 10 trabajadores? Teniendo en cuenta que todos tendrán preferencias diferentes y que debe haber descansos para cada trabajador. Esto será capaz de resolverlo nuestra aplicación en tiempo muy reducido y de forma optima.