Abstract
A día de hoy, en la industria son cada vez más comunes los problemas de planificación de la producción, en los que se tiene en cuenta los recursos disponibles, tanto humanos (plantilla) como tecnológicos (maquinaria). En estos problemas, se intenta reducir los costes, la cantidad de operarios contratados y/o la cantidad de elementos almacenados en stocks intermedios (ya que estos, además de un coste, suponen un riesgo), entre otros criterios. En este contexto, las empresas que mejor logren planificar su producción tendrán una relevante ventaja competitiva frente a sus principales competidores. Es aquí donde surge la Programación Lineal Entera Mixta (en inglés Mixed Integer Linear Programming o, por sus siglas, MILP), que permite la obtención de soluciones para este tipo de problemas. Sin embargo, es necesario aplicar esto a la computación electrónica, que es capaz de resolver estos problemas con mayor rapidez y fiabilidad que si se resolviesen a mano, como aún se hace en algunas empresas, con las consiguientes pérdidas que esto conlleva. En este documento se desarrollará un programa basado en la MILP, que optimice la producción de una fábrica, sujeta a unas condiciones de entrada como la carga de trabajo de los procesos, los recursos disponibles o los tipos de operarios permitidos, y que muestre la solución obtenida de manera que sea sencillo de visualizar y entender para el usuario. En el problema en concreto que se tratará en este Trabajo de Fin de Grado, se tendrán cuatro elementos distintos, cada uno de los cuales tendrá que pasar por unos procesos determinados, con una duración determinada, para ser fabricados. Para llevar a cabo estos procesos se necesitarán operarios de algún tipo determinado, así como recursos o maquinaria. Para hallar la solución será necesario establecer una serie de parámetros o datos de entrada, como es el tiempo que se requiere para la fabricación de cada elemento (a lo que se llamará takt time a lo largo del proyecto). Mediante estos takt time, se determinará el horizonte temporal o periodo de planificación, como el mínimo común múltiplo de estos, de tal forma que se fabrique un numero entero de piezas de cada elemento a lo largo de este tiempo. Después se replicará la solución obtenida repetidas veces hasta cubrir la producción anual. Las principales características de este problema van a guardar relación con sus conjuntos: elementos, procesos, recursos y operarios. En primer lugar, se establecerán los takt time de cada uno de los elementos, así como su decalado (desfase respecto al inicio del horizonte temporal). Respecto a los procesos, se tendrán sus cargas de trabajo, el número y tipo de operarios que pueden estar trabajando, los recursos que necesitan para llevarse a cabo, las distintas relaciones de precedencia (simple, inmediata o espacio temporal), la posibilidad de interrumpirse y los turnos en los cuales se podrán realizar. En cuanto a los recursos, se conocerá de la disponibilidad o capacidad máxima de estos. Por último, se dispondrá de los distintos tipos de operarios. Para desarrollar el modelo matemático es necesario recoger los datos de entrada, a través de hojas Excel que el usuario puede modificar fácilmente para generar distintos escenarios, que darán valor a los distintos parámetros del modelo. También será necesaria la formulación e implementación del modelo, incluyendo la declaración de variables y la redacción de una serie de requisitos (restricciones) en el lenguaje escogido (Python), utilizando una serie de módulos para poder resolverlo con el solver adecuado (en este caso, Gurobi). Finalmente se obtendrán las soluciones también a través de hojas Excel, con los valores de las variables de salida más relevantes de la solución óptima, como el calendario con la asignación de operarios a los procesos y el estado de los buffers a lo largo del horizonte temporal, o los valores de las variables de decisión que afectan a la función objetivo. Una vez implementado el modelo, dará comienzo su explotación, es decir, se resolverán distintos escenarios con distintos datos de entrada y/o distintos criterios de optimización (minimización de la plantilla, minimización del buffer o ambos). También se hará una comparativa de las soluciones obtenidas. Todo esto servirá para ofrecer un mayor rango de posibilidades al decisor encargado de planificar la producción de la planta, lo cual se traduce en una ventaja a la hora de satisfacer la demanda del mercado.