Inicio » Soluciones

Soluciones

Los problemas de optimización abordados por el proyecto i4OPT son sobre la planificación del aprovisionamiento, la producción y la distribución en empresas. Para la codificación de los problemas de optimización se sigue la estructura propuesta por el modelo SCOR, en la que los procesos de aprovisionamiento se denominan Source (S), los de producción Make (M) y los de distribución Deliver (D).

Los algoritmos desarrollados para la resolución de los problemas de optimización identificados son de diferentes tipos: programación matemática (MP), heurísticos (H), metaheurísticos (MH), matheurísticos (MA), aprendizaje automático (ML), etc.

A continuación se resumen los algoritmos desarrollados hasta la fecha en el proyecto i4OPT:

D_DSP_MP_M

Deliver – Distribution System Problem / Mathematical Programming / Miller

Problema: El Problema del Sistema de Distribución consiste en definir la red óptima de almacenes de distribución, para distribuir los productos desde las plantas de producción a los minoristas (regiones). Se conocen el número y la ubicación de las plantas de producción. Los minoristas son conocidos y agrupados por región. Los almacenes tienen una capacidad limitada (unidades) y deben ubicarse en lugares relevantes. Para hacer esto, se necesita conocer la ubicación de los almacenes, su asignación a las regiones y las cantidades de productos transportados entre: fábricas y almacenes, y almacenes y regiones. El transporte de productos entre una planta de producción y un almacén, y entre un almacén y una región, tiene un coste asociado. Construir, mantener y gestionar un almacén también conlleva costes. Todos estos costes se suman al total, que es el que se busca minimizar.

Algoritmo: El modelo Base es una formulación de programación lineal entera mixta (MILP).

D_MTSP_H_BRNN

Deliver – Multiple Traveling Salesman Problem / Heuristics / Biased-Randomized Nearest Neighbor Algorithm

Problema: El Problema del Viajante de Comercio con Múltiples Viajantes es una extensión del clásico Problema del Viajante del Comercio (TSP) en el campo de la optimización combinatoria. En el TSP, el objetivo es encontrar la ruta más corta posible que visite cada ubicación exactamente una vez y vuelva a la ubicación de origen. En el MTSP, en cambio, intervienen varios comerciales y el objetivo es encontrar el conjunto óptimo de rutas para todos los comerciales, sin dejar de visitar cada ciudad exactamente una vez.

Algoritmo: El Algoritmo de Vecinos más Cercanos de Sesgo Aleatorio (BRNNA) es una mejora del Algoritmo de Vecinos Más Cercanos clásico (NNA) para resolver el Problema del Viajante de Comercio (TSP). Su objetivo es mitigar algunos de los inconvenientes del NNA, como la posibilidad de quedarse atascado en óptimos locales o producir soluciones subóptimas. Al introducir la aleatoriedad en el proceso de selección de ciudades, el BRNNA puede explorar un espacio más amplio de soluciones ya que permite escapar de los óptimos locales. El rendimiento del algoritmo puede estar influenciado por el ajuste del nivel de aleatoriedad mediante parámetros como la temperatura o la tasa de decaimiento.

D_MTSP_MH_GA

Deliver – Multiple Traveling Salesman Problem / Metaheuristics / Genetic Algorithm

Problema: El Problema del Viajante de Comercio con Múltiples Viajantes es una extensión del clásico Problema del Viajante del Comercio (TSP) en el campo de la optimización combinatoria. En el TSP, el objetivo es encontrar la ruta más corta posible que visite cada ubicación exactamente una vez y vuelva a la ubicación de origen. En el MTSP, en cambio, intervienen varios comerciales y el objetivo es encontrar el conjunto óptimo de rutas para todos los comerciales, sin dejar de visitar cada ciudad exactamente una vez.

Algoritmo: Un Algoritmo Genético (AG) es una metaheurística inspirada en el proceso de selección natural. En este AG para resolver el Problema del Viajante de Comercio con Múltiples Viajantes, cada cromosoma contiene números entre 0 y la suma de comerciales y localizaciones (ciudades), menos 1. Los números asignados a los comerciales empiezan en 0 y terminan en el número de comerciales menos 1. La interpretación de cada cromosoma se realiza trazando las trayectorias de cada comercial, que comienzan con el número asignado al comercial y terminan cuando se alcanza el número del comercial siguiente. La población está compuesta por un número determinado de individuos (cromosomas), la evolución de la población se basa en el cruce de 2 individuos (padre y madre) para obtener un nuevo individuo (hijo) que puede mutar.

D_MTSP_MP_MTZ

Deliver – Multiple Traveling Salesman Problem / Mathematical Programming / Miller–Tucker–Zemlin Model

Problema: El Problema del Viajante de Comercio con Múltiples Viajantes es una extensión del clásico Problema del Viajante del Comercio (TSP) en el campo de la optimización combinatoria. En el TSP, el objetivo es encontrar la ruta más corta posible que visite cada ubicación exactamente una vez y vuelva a la ubicación de origen. En el MTSP, en cambio, intervienen varios comerciales y el objetivo es encontrar el conjunto óptimo de rutas para todos los comerciales, sin dejar de visitar cada ciudad exactamente una vez.

Algoritmo: El modelo Miller-Tucker-Zemlin es una formulación de programación lineal entera mixta (MILP).

D_ODBPP_MP_B

Deliver – One-Dimensional Bin Packing Problem / Mathematical Programming / Base Model

Problema: Dados N artículos con pesos diferentes y M contenedores con una capacidad máxima, el problema consiste en empaquetar todos los artículos en el menor número de contenedores posible, sin superar la capacidad de ninguno de ellos.

Algoritmo: El modelo Base es una formulación de programación lineal entera mixta (MILP).

D_ODBPP_MP_B2

Deliver – One-Dimensional Bin Packing Problem – Bins with different capacity / Mathematical Programming / Base Model

Problema: Dados N artículos con pesos diferentes y M contenedores con una capacidad máxima para cada uno de ellos, el problema consiste en empaquetar todos los artículos en el menor número de contenedores posible, sin superar la capacidad de ninguno de ellos.

Algoritmo: El modelo Base es una formulación de programación lineal entera mixta (MILP).

D_SSFLP_MP_MSL

Deliver – Single Source Facility Location Problem / Mathematical Programming / Muriel and Simchi-Levi

Problema: El Problema de Localización de Instalaciones de un Único Proveedor consiste en definir la ubicación de los almacenes en una red de distribución, minimizando el coste total. Además de los almacenes, esta red contiene minoristas conocidos repartidos por una región. Hay M posibles ubicaciones de almacenes preseleccionadas. Los minoristas desean recibir sus productos de un único almacén. Para seleccionar las ubicaciones, también se necesita saber qué almacén suministra a cada minorista. Cada almacén tiene una capacidad limitada (unidad). Existe un coste asociado al transporte de la demanda en unidades de producto hasta el minorista. La instalación y el mantenimiento de un almacén conlleva un coste de explotación anual. Estos dos costes constituyen el coste total que hay que minimizar.

Algoritmo: El modelo Base es una formulación de programación lineal entera mixta (MILP).

D_TSP_H_BRNN

Deliver – Traveling Salesman Problem / Heuristics / Biased-Randomized Nearest Neighbor Algorithm

Problema: En el Problema del Viajante de Comercio, dadas N ubicaciones y las distancias entre cada par de ubicaciones, el problema consiste en encontrar la ruta más corta posible que visite cada ubicación exactamente una vez y vuelva a la ubicación de origen.

Algoritmo: El Algoritmo de Vecinos más Cercanos de Sesgo Aleatorio (BRNNA) es una mejora del Algoritmo de Vecinos Más Cercanos clásico (NNA) para resolver el Problema del Viajante de Comercio (TSP). Su objetivo es mitigar algunos de los inconvenientes del NNA, como la posibilidad de quedarse atascado en óptimos locales o producir soluciones subóptimas. Al introducir la aleatoriedad en el proceso de selección de ciudades, el BRNNA puede explorar un espacio más amplio de soluciones ya que permite escapar de los óptimos locales. El rendimiento del algoritmo puede estar influenciado por el ajuste del nivel de aleatoriedad mediante parámetros como la temperatura o la tasa de decaimiento.

D_TSP_H_NN

Deliver – Traveling Salesman Problem / Heuristics / Nearest Neighbor Algorithm

Problema: En el Problema del Viajante de Comercio, dadas N ubicaciones y las distancias entre cada par de ubicaciones, el problema consiste en encontrar la ruta más corta posible que visite cada ubicación exactamente una vez y vuelva a la ubicación de origen.

Algoritmo: El Algoritmo de Vecinos Más Cercanos (NNA) es una heurística sencilla y eficiente desde el punto de vista computacional, por lo que resulta adecuado para encontrar soluciones aproximadas a instancias del TSP (Problema del Viajante de Comercio) con un número moderado de ciudades. Sin embargo, no garantiza una solución óptima y puede producir resultados subóptimos, especialmente en casos del TSP con distribuciones irregulares de ciudades o en los que las ciudades están agrupadas. A pesar de su simplicidad, el algoritmo de vecinos más cercanos puede ser eficaz para generar buenas soluciones iniciales que sirvan como puntos de partida para algoritmos de optimización más avanzados.

D_TSP_H_TSPY

Deliver – Traveling Salesman Problem / Heuristics / 2-opt Algorithm

Problema: Dadas N ubicaciones y las distancias entre cada par de ubicaciones, el problema consiste en encontrar la ruta más corta posible que recorra cada ubicación exactamente una vez y vuelva a la ubicación de origen.

Algoritmo: El algoritmo 2-opt es un método de optimización eficaz para encontrar un óptimo local del problema del viajante de comercio (TSP), pero no garantiza encontrar el óptimo global. Es muy utilizado por su sencillez y eficacia, especialmente para problemas pequeños o de tamaño moderado. Para problemas más grandes, 2-opt puede utilizarse como componente de algoritmos o heurísticas más complejos.

D_TSP_MP_MTZ

Deliver – Traveling Salesman Problem / Mathematical Programming / Miller–Tucker–Zemlin Model

Problema: En el Problema del Viajante de Comercio, dadas N ubicaciones y las distancias entre cada par de ubicaciones, el problema consiste en encontrar la ruta más corta posible que visite cada ubicación exactamente una vez y vuelva a la ubicación de origen.

Algoritmo: El modelo Miller-Tucker-Zemlin es una formulación de programación lineal entera mixta (MILP).

M_AD_ML_RPM

Make – Anomaly Detection / Machine Learning – Regression Predictive Modeling

Problema: La detección de anomalías en una máquina industrial se refiere al proceso de identificar desviaciones o anomalías en el comportamiento normal de una máquina. En entornos industriales, las máquinas se utilizan para realizar diversas operaciones, y cualquier desviación del comportamiento esperado podría indicar un fallo o mal funcionamiento. La detección de anomalías en máquinas industriales tiene varias aplicaciones, como el mantenimiento predictivo, el control de calidad y la optimización de procesos. Los datos de entrada son una serie de registros con valores de diferentes parámetros de la máquina junto con una etiqueta que indica si se ha producido o no una anomalía.

Algoritmo: En el algoritmo de aprendizaje de máquina se configura una red neuronal profunda que, al introducir los valores de los parámetros de la máquina, estima si se puede producir la anomalía. El algoritmo utiliza Keras y Tensorflow para entrenar una red neuronal profunda de 2 capas ocultas de 64 neuronas cada una utilizando la Root Mean Squared Propagation (RMSprop) optimizada que es una extensión del descenso por gradiente y la versión AdaGrad del descenso por gradiente que utiliza una media decreciente de gradientes parciales en la adaptación del tamaño del paso para cada parámetro.

M_ALBP_H_COMSOAL

Make – Assembly Line Balancing Problem / Heuristics / Computer Method of Sequencing Operations for Assembly Lines

Problema: El Problema de Equilibrado de la Línea de Montaje (ALBP) es un problema de planificación de la producción que tiene como objetivo minimizar el número de estaciones de trabajo necesarias y el tiempo total de inactividad de las estaciones de trabajo. Un número determinado de tareas T debe ejecutarse en W estaciones de trabajo. Las tareas pueden tener predecesoras, por lo que una tarea sólo puede asignarse a una estación de trabajo si todas las predecesoras han sido asignadas a estaciones de trabajo anteriores o a dicha estación de trabajo. El problema consiste en determinar la disposición óptima de las tareas, es decir, aquella cuya duración total de ejecución sea lo más corta posible. El número de soluciones posibles en el ALBP es igual a W multiplicado por sí mismo T-1 veces, o W^(T-1).

Algoritmo: El algoritmo COMSOAL (Computer Method of Sequencing Operations for Assembly Lines) pretende mejorar la eficiencia y productividad de las cadenas de montaje. En primer lugar, se crea un diagrama de prioridades para establecer la relación entre las tareas. Las tareas sin predecesoras se enumeran y se barajan aleatoriamente. Se selecciona la primera tarea de la lista y se asigna a la estación de trabajo actual si su inclusión no excede el tiempo de ciclo. Si las tareas superan el tiempo de ciclo al asignarse a la estación, se selecciona la siguiente tarea de la lista. Si se ha comprobado la inserción de todas las tareas de la lista en la estación de trabajo y no se ha podido insertar ninguna, se vuelve a repetir lo anterior. El resultado es la mejor solución obtenida tras un número máximo de bucles o de tiempo de cálculo.

M_ALBP_H_KW

Make – Assembly Line Balancing Problem / Heuristics / Kilbridge and Wester

Problema: El Problema de Equilibrado de la Línea de Montaje (ALBP) es un problema de planificación de la producción que tiene como objetivo minimizar el número de estaciones de trabajo necesarias y el tiempo total de inactividad de las estaciones de trabajo. Un número determinado de tareas T debe ejecutarse en W estaciones de trabajo. Las tareas pueden tener predecesoras, por lo que una tarea sólo puede asignarse a una estación de trabajo si todas las predecesoras han sido asignadas a estaciones de trabajo anteriores o a dicha estación de trabajo. El problema consiste en determinar la disposición óptima de las tareas, es decir, aquella cuya duración total de ejecución sea lo más corta posible. El número de soluciones posibles en el ALBP es igual a W multiplicado por sí mismo T-1 veces, o W^(T-1).

Algoritmo: La heurística de Kilbridge y Wester resuelve con éxito problemas de equilibrado de líneas de montaje que son difíciles de resolver. En primer lugar, se crea un diagrama de prioridades con las tareas a realizar. Las tareas se enumeran en columnas, comenzando por aquellas que no tienen predecesores. Se calcula la duración acumulada sumando las duraciones de las tareas de cada columna y se determina la duración del ciclo. Las tareas se asignan a estaciones de trabajo de manera que no excedan el tiempo de ciclo. Si una tarea excede el tiempo de ciclo, se asigna a la siguiente estación y se recalcula la duración acumulada de las tareas restantes. Se continúa asignando tareas hasta que todas estén asignadas a las estaciones de trabajo.

M_ALBP_H_RPWM

Make – Assembly Line Balancing Problem / Heuristics / Rank Positional Weight Method

Problema: El Problema de Equilibrado de la Línea de Montaje (ALBP) es un problema de planificación de la producción que tiene como objetivo minimizar el número de estaciones de trabajo necesarias y el tiempo total de inactividad de las estaciones de trabajo. Un número determinado de tareas T debe ejecutarse en W estaciones de trabajo. Las tareas pueden tener predecesoras, por lo que una tarea sólo puede asignarse a una estación de trabajo si todas las predecesoras han sido asignadas a estaciones de trabajo anteriores o a dicha estación de trabajo. El problema consiste en determinar la disposición óptima de las tareas, es decir, aquella cuya duración total de ejecución sea lo más corta posible. El número de soluciones posibles en el ALBP es igual a W multiplicado por sí mismo T-1 veces, o W^(T-1).
El ALBP es un problema de optimización combinatoria y puede resolverse utilizando varios algoritmos heurísticos y exactos.

Algoritmo: El Rank Positional Weight Method (RPWM) resuelve el Problema de Equilibrado de la Línea de Montaje (ALBP). El peso de posición de cada tarea se obtiene sumando todos los tiempos de las tareas subsiguientes, incluida ella misma. El punto a considerar aquí es que la tarea con un peso posicional alto es seleccionada en el primer proceso de asignación.

M_ALBP_MH_GA

Make – Assembly Line Balancing Problem / Metaheuristics / Genetic Algorithm

Problema: El Problema de Equilibrado de la Línea de Montaje (ALBP) es un problema de planificación de la producción que tiene como objetivo minimizar el número de estaciones de trabajo necesarias y el tiempo total de inactividad de las estaciones de trabajo. Un número determinado de tareas T debe ejecutarse en W estaciones de trabajo. Las tareas pueden tener predecesoras, por lo que una tarea sólo puede asignarse a una estación de trabajo si todas las predecesoras han sido asignadas a estaciones de trabajo anteriores o a dicha estación de trabajo. El problema consiste en determinar la disposición óptima de las tareas, es decir, aquella cuya duración total de ejecución sea lo más corta posible. El número de soluciones posibles en el ALBP es igual a W multiplicado por sí mismo T-1 veces, o W^(T-1).

Algoritmo: Un Algoritmo Genético (AG) es una metaheurística inspirada en el proceso de selección natural. En este AG para resolver el Problema de Equilibrado de la Línea de Montaje, cada individuo es una posible secuencia de trabajos, la población está compuesta por un número determinado de individuos, la evolución de la población se basa en el cruce de 2 individuos (padre y madre) para obtener un nuevo individuo (hijo) que puede mutar. Los dos padres seleccionados para el cruce se cortan en dos puntos de corte aleatorios. El descendiente toma los mismos genes fuera de los puntos de corte en el mismo lugar que su progenitor y los genes entre los puntos de corte se mezclan según el orden que tienen en el otro progenitor. De este modo se generan dos nuevos individuos (hijos). Cada hijo sufre una mutación, es decir, un intercambio de genes en cada una de las capas. Tanto el hijo como el hijo mutado se insertan en la población, sustituyendo a los peores individuos de la población. Antes de la inserción, se comprueba si ya existen en la población, en cuyo caso no se insertan.

M_ALBP_MP_LSSM

Make – Assembly Line Balancing Problem / Mathematical Programming / Lopes, Sikora, Sato and Magatão

Problema: El Problema de Equilibrado de la Línea de Montaje (ALBP) es un problema de planificación de la producción que tiene como objetivo minimizar el número de estaciones de trabajo necesarias y el tiempo total de inactividad de las estaciones de trabajo. Un número determinado de tareas T debe ejecutarse en W estaciones de trabajo. Las tareas pueden tener predecesoras, por lo que una tarea sólo puede asignarse a una estación de trabajo si todas las predecesoras han sido asignadas a estaciones de trabajo anteriores o a dicha estación de trabajo. El problema consiste en determinar la disposición óptima de las tareas, es decir, aquella cuya duración total de ejecución sea lo más corta posible. El número de soluciones posibles en el ALBP es igual a W multiplicado por sí mismo T-1 veces, o W^(T-1).

Algoritmo: El modelo es una formulación de programación lineal entera mixta (MILP).

M_AP_MP_BM

Make – Aggregate Planning / Mathematical Programming / Base Model

Problema: La planificación agregada es una actividad que obtiene un plan agregado de producción, con un horizonte de entre 6 y 18 meses, para definir las unidades de familias de productos a fabricar en cada período (normalmente meses) y los recursos a utilizar, de modo que se minimice el coste incremental total.

Algoritmo: El modelo Base de Planificación Agregada es una formulación de programación lineal entera mixta (MILP).

M_ELSP_H_RO

Make – Economic Lot Scheduling Problem – Defined production lots, constant demand and constant production rate / Heuristics / Run Out Method

Problema: El problema de programación económica de lotes (ELSP) con lotes de producción definidos, demanda constante y tasa de producción constante consiste en determinar la programación óptima de los distintos productos que se van a procesar en la misma línea de producción, con el fin de minimizar los costes. En esta variante específica de la ELSP, la demanda del producto permanece constante en el tiempo, lo que significa que los clientes requieren la misma cantidad del producto en cada periodo. Además, la tasa de producción es constante, lo que indica que el sistema de producción tiene una capacidad fija para fabricar el producto. Y los lotes de producción del producto son datos y no es necesario calcularlos. El objetivo es equilibrar eficientemente los costes de preparación y mantenimiento, asegurando que se produce suficiente inventario para satisfacer la demanda de los clientes al tiempo que se minimiza el exceso de inventario y los costes de mantenimiento asociados.

Algoritmo: El método Run Out es un enfoque heurístico utilizado para resolver el Problema de Programación Económica de Lotes (ELSP). Es un método sencillo e intuitivo que proporciona una solución factible para la programación de la producción. La idea básica del método Run Out es programar las series de producción en función del tiempo que se tarda en agotar el inventario producido en cada serie. El método es especialmente adecuado para situaciones en las que existe una tasa de demanda constante y una tasa de producción fija. Este enfoque es relativamente fácil de aplicar y proporciona una solución factible para la ELSP, aunque puede que no siempre dé la solución óptima.

M_ELSP_H_ROVD

Make – Economic Lot Scheduling Problem – Defined production lots, variable demand and constant production rate / Heuristics / Run Out Method

Problema: El problema de programación económica de lotes (ELSP) con lotes de producción definidos, demanda variable y tasa de producción constante consiste en determinar la programación óptima de los diferentes productos que se van a procesar en la misma línea de producción, con el fin de minimizar los costes. En esta variante específica de la ELSP, la demanda de los productos varía con el tiempo, lo que significa que los clientes requieren una cantidad diferente (incluso cero) de cada producto en cada periodo. Además, la tasa de producción es constante, lo que indica que el sistema de producción tiene una capacidad fija para fabricar el producto. Y los lotes de producción de los productos son datos y no es necesario calcularlos. El objetivo es equilibrar eficientemente los costes de preparación y mantenimiento, asegurando que se produce suficiente inventario para satisfacer la demanda de los clientes al tiempo que se minimiza el exceso de inventario y los costes de mantenimiento asociados.

Algoritmo: El método Run Out es un enfoque heurístico utilizado para resolver el Problema de Programación Económica de Lotes (ELSP). Es un método sencillo e intuitivo que proporciona una solución factible para la programación de la producción. La idea básica del método Run Out es programar las series de producción en función del tiempo que se tarda en agotar el inventario producido en cada serie. El método es especialmente adecuado para situaciones en las que existe una tasa de demanda constante y una tasa de producción fija. Este método es relativamente fácil de aplicar y proporciona una solución factible para la ELSP, aunque no siempre dé la solución óptima.

M_ELSP_MC_ROVL

Make – Economic Lot Scheduling Problem – Calculated production lots, constant demand and constant production rate / Monte Carlo / Run Out Method

Problema: El Problema de Programación Económica de Lotes (ELSP) con lotes de producción definidos, demanda constante y tasa de producción constante consiste en determinar la programación óptima de los diferentes productos a procesar en la misma línea de producción, con el fin de minimizar los costes. En esta variante específica de la ELSP, la demanda del producto permanece constante en el tiempo, lo que significa que los clientes requieren la misma cantidad del producto en cada periodo. Además, la tasa de producción es constante, lo que indica que el sistema de producción tiene una capacidad fija para fabricar el producto. Los lotes de producción del producto se calculan mediante el algoritmo de Monte Carlo. El objetivo es equilibrar eficientemente los costes de preparación y mantenimiento, asegurando que se produce suficiente inventario para satisfacer la demanda de los clientes al tiempo que se minimiza el exceso de inventario y los costes de mantenimiento asociados.

Algoritmo: El algoritmo de Monte Carlo es una técnica computacional utilizada para aproximar las soluciones o estimar las propiedades de problemas complejos mediante muestreo aleatorio. Resulta especialmente útil cuando los métodos analíticos son inviables o demasiado complejos de aplicar. La precisión de las estimaciones del algoritmo de Monte Carlo mejora con un mayor número de muestras o iteraciones. Sin embargo, no garantiza una solución exacta, sino que proporciona una aproximación probabilística basada en los datos recogidos.

El método Run Out es un enfoque heurístico utilizado para resolver el Problema de Programación Económica de Lotes (ELSP). Es un método sencillo e intuitivo que proporciona una solución factible para la programación de la producción. La idea básica del método Run Out es programar las series de producción en función del tiempo que se tarda en agotar las existencias producidas en cada serie. El método es especialmente adecuado para situaciones en las que existe una tasa de demanda constante y una tasa de producción fija.

M_ELSP_MH_GAROVL

Make – Economic Lot Scheduling Problem – Calculated production lots, constant demand and constant production rate / Metaheuristic / Genetic Algorithm – Run Out Method

Problema: El problema de programación económica de lotes (ELSP) con lotes de producción definidos, demanda constante y tasa de producción constante consiste en determinar la programación óptima de los distintos productos que se van a procesar en la misma línea de producción, con el fin de minimizar los costes. En esta variante específica de la ELSP, la demanda del producto permanece constante en el tiempo, lo que significa que los clientes requieren la misma cantidad del producto en cada periodo. Además, la tasa de producción es constante, lo que indica que el sistema de producción tiene una capacidad fija para fabricar el producto. Los lotes de producción del producto se calculan mediante el Algoritmo Genético. El objetivo es equilibrar eficientemente los costes de preparación y mantenimiento, asegurando que se produce suficiente inventario para satisfacer la demanda de los clientes, al tiempo que se minimiza el exceso de inventario y los costes de mantenimiento asociados.

Algoritmo: Un Algoritmo Genético (AG) es una metaheurística inspirada en el proceso de selección natural. En este AG para resolver el Problema de Programación de Lotes Económicos, cada individuo es un multiplicador de los lotes de producción de los productos de partida, la población está compuesta por un número determinado de individuos, la evolución de la población se basa en el cruce de 2 individuos (padre y madre) para obtener un nuevo individuo (hijo) que puede mutar. Existen diferentes modos de cruce y mutación que pueden utilizarse en función de las características del problema a resolver.

El método Run Out es un enfoque heurístico utilizado para resolver el Problema de Programación Económica de Lotes (ELSP). Es un método sencillo e intuitivo que proporciona una solución factible para la programación de la producción. La idea básica del método Run Out es programar las series de producción en función del tiempo que se tarda en agotar el inventario producido en cada serie. El método es especialmente adecuado para situaciones en las que existe una tasa de demanda constante y una tasa de producción fija.

M_FSP_CO_BB_Lomnicki

Make – Flow-Shop Scheduling Problem / Combinatorial Optimization – Branch and Bound / Lomnicki Algorithm

Problema: Un número dado de N trabajos deben ser procesados en M máquinas. Cada trabajo contiene exactamente M operaciones. La i-ésima operación del trabajo debe ejecutarse en la i-ésima máquina. Ninguna máquina puede realizar más de una operación simultáneamente. Para cada operación de cada trabajo se especifica el tiempo de ejecución. Las operaciones de un trabajo deben realizarse en el orden especificado. La primera operación se ejecuta en la primera máquina, luego (al terminar la primera operación) la segunda operación en la segunda máquina, y así sucesivamente hasta la n-ésima operación. Sin embargo, los trabajos pueden ejecutarse en cualquier orden. La definición del problema implica que este orden de trabajo es exactamente el mismo para cada máquina. El problema consiste en determinar el orden óptimo, es decir, aquel en el que la duración total de ejecución de los trabajos sea lo más corta posible. El número de soluciones posibles para este problema es N! (por ejemplo, para un problema de N = 20 trabajos, hay 2.432.902.008.176.640.000 soluciones posibles).

Algoritmo: El algoritmo de Lomnicky proporciona una solución óptima (makespan mínimo) para el caso de m máquinas y n piezas. Se trata de un algoritmo branch-and-bound para resolver este problema de optimización combinatoria. El algoritmo branch-and-bound consiste en una enumeración sistemática de soluciones candidatas mediante la búsqueda en el espacio de estados: se considera que el conjunto de soluciones candidatas forma un árbol enraizado con el conjunto completo en la raíz. El algoritmo explora las ramas de este árbol, que representan subsecuencias de la secuencia completa. Antes de enumerar las soluciones candidatas de una rama, ésta se contrasta con los límites superior e inferior estimados de la solución óptima, y se descarta si no puede producir una solución mejor que la mejor encontrada hasta el momento por el algoritmo.

M_FSP_H_Johnson

Make – Flow Shop Scheduling Problem / Heuristics / Johnson Algorithm

Problema: Un número dado de N trabajos deben ser procesados en M máquinas. Cada trabajo contiene exactamente M operaciones. La i-ésima operación del trabajo debe ejecutarse en la i-ésima máquina. Ninguna máquina puede realizar más de una operación simultáneamente. Para cada operación de cada trabajo se especifica el tiempo de ejecución. Las operaciones de un trabajo deben realizarse en el orden especificado.

Algoritmo: El algoritmo de Johnson proporciona una solución óptima (duración mínima) para el caso de 2 máquinas y n piezas. En el caso de 3 máquinas y n piezas, debe cumplirse la condición de que la duración máxima en la 2ª máquina sea menor o igual que la duración mínima de la 1ª y 3ª máquinas, para seguir proporcionando soluciones óptimas. Se puede aplicar una generalización del algoritmo de Johnson reduciendo M máquinas a 2 máquinas ficticias.

M_FSP_H_NEH

Make – Flow Shop Scheduling Problem / Heuristics / NEH (Nawaz-Enscore-Ham) Algorithm

Problema: Un número dado de N trabajos deben ser procesados en M máquinas. Cada trabajo contiene exactamente M operaciones. La i-ésima operación del trabajo debe ejecutarse en la i-ésima máquina. Ninguna máquina puede realizar más de una operación simultáneamente. Para cada operación de cada trabajo se especifica el tiempo de ejecución. Las operaciones de un trabajo deben realizarse en el orden especificado.

Algoritmo: El algoritmo NEH es un método heurístico que consiste en construir la secuencia de trabajos, comenzando por el trabajo cuya suma de duraciones en todas las máquinas es mayor, e insertando sucesivamente el resto de trabajos (de mayor a menor duración) en todas las posiciones posibles de la secuencia construida hasta ese momento y calculando el makespan de todas estas opciones, eligiendo la opción con menor makespan.

M_FSP_H_NEHT

Make – Flow Shop Scheduling Problem / Heuristics / NEH (Nawaz-Enscore-Ham) Algorithm with Taillard’s accelerations

Problema: Un número dado de N trabajos deben ser procesados en M máquinas. Cada trabajo contiene exactamente M operaciones. La i-ésima operación del trabajo debe ejecutarse en la i-ésima máquina. Ninguna máquina puede realizar más de una operación simultáneamente. Para cada operación de cada trabajo se especifica el tiempo de ejecución. Las operaciones de un trabajo deben realizarse en el orden especificado.

Algoritmo: El algoritmo NEH es un método heurístico que consiste en construir la secuencia de trabajos, comenzando por el trabajo cuya suma de duraciones en todas las máquinas es mayor, e insertar sucesivamente el resto de trabajos (de mayor a menor duración) en todas las posiciones posibles de la secuencia construida hasta ese momento y calcular el makespan de todas estas opciones, eligiendo la opción con menor makespan. Las aceleraciones de Taillard consiguen reducir significativamente el tiempo de cálculo de la heurística NEH estándar.

M_FSP_H_Palmer

Make – Flow Shop Scheduling Problem / Heuristics / Palmer Algorithm

Problema: Un número dado de N trabajos deben ser procesados en M máquinas. Cada trabajo contiene exactamente M operaciones. La i-ésima operación del trabajo debe ejecutarse en la i-ésima máquina. Ninguna máquina puede realizar más de una operación simultáneamente. Para cada operación de cada trabajo se especifica el tiempo de ejecución. Las operaciones de un trabajo deben realizarse en el orden especificado.

Algoritmo: El algoritmo de Palmer calcula un índice de tiempo pendiente para cada trabajo y, a continuación, programa los trabajos en orden ascendente según el índice de tiempo pendiente.

M_FSP_MH_GA

Make – Flow-Shop Scheduling Problem / Metaheuristics / Genetic Algorithm

Problema: Un número dado de N trabajos deben ser procesados en M máquinas. Cada trabajo contiene exactamente M operaciones. La i-ésima operación del trabajo debe ejecutarse en la i-ésima máquina. Ninguna máquina puede realizar más de una operación simultáneamente. Para cada operación de cada trabajo se especifica el tiempo de ejecución. Las operaciones de un trabajo deben realizarse en el orden especificado.

Algoritmo: Un Algoritmo Genético (AG) es una metaheurística inspirada en el proceso de selección natural.

En este AG para resolver el Problema de Programación Flow-Shop, cada individuo es una posible secuencia de trabajos, la población está compuesta por un número determinado de individuos, la evolución de la población se basa en el cruce de 2 individuos (padre y madre) para obtener un nuevo individuo (hijo) que puede mutar. El método de cruce consiste en tomar un trozo aleatorio del padre (secuencia parcial) y completarlo con la secuencia de la madre (evitando repetir el mismo trabajo en la secuencia). De este modo se genera un nuevo individuo (hijo). El hijo se muta intercambiando 2 trabajos de la secuencia aleatoriamente. Tanto el hijo como el hijo mutado se insertan en la población, sustituyendo a los peores individuos de la población. Antes de la inserción, se comprueba si ya existen en la población, en cuyo caso no se insertan.

M_FSP_MH_SA

Make – Flow-Shop Scheduling Problem / Metaheuristics / Simulated Annealing

Problema: Un número dado de N trabajos deben ser procesados en M máquinas. Cada trabajo contiene exactamente M operaciones. La i-ésima operación del trabajo debe ejecutarse en la i-ésima máquina. Ninguna máquina puede realizar más de una operación simultáneamente. Para cada operación de cada trabajo se especifica el tiempo de ejecución. Las operaciones de un trabajo deben realizarse en el orden especificado. La primera operación se ejecuta en la primera máquina, luego (al terminar la primera operación) la segunda operación en la segunda máquina, y así sucesivamente hasta la n-ésima operación. Sin embargo, los trabajos pueden ejecutarse en cualquier orden. La definición del problema implica que este orden de trabajo es exactamente el mismo para cada máquina. El problema consiste en determinar el orden óptimo, es decir, aquel en el que la duración total de ejecución de los trabajos sea lo más corta posible. El número de soluciones posibles para este problema es N! (por ejemplo, para un problema de N = 20 trabajos, hay 2.432.902.008.176.640.000 soluciones posibles).

Algoritmo: El recocido simulado es un algoritmo probabilístico de optimización inspirado en el proceso de recocido en metalurgia, en el que un material se calienta y se enfría lentamente para reducir los defectos y alcanzar un estado de energía mínima. El algoritmo se utiliza para encontrar soluciones aproximadas a problemas de optimización, sobre todo en casos en los que hallar la solución exacta resulta caro o poco práctico desde el punto de vista computacional.

M_GAP_MP_B

Make – Generalized Assignment Problem / Mathematical Programming / Base Model

Problema: Dados N trabajos a realizar, se dispone de M recursos que pueden realizar cualquiera de los trabajos. Un trabajo sólo puede asignarse a un recurso. Un recurso puede realizar varias tareas. Todas las tareas deben realizarse. La realización de cada tarea en cada recurso tiene un coste asociado y consume una cantidad de tiempo del recurso. Existe una cantidad máxima de coste que no puede superarse y una cantidad máxima de tiempo en la que deben procesarse todos los trabajos. El problema consiste en asignar los trabajos a los recursos de forma que se minimice el coste total.

Algoritmo: El modelo Base es una formulación de programación lineal entera mixta (MILP).

M_GAPDP_MP_B

Make – Generalized Assignment with Polyvalence and Difficulty Problem / Mathematical Programming / Base Model

Problema: Dados N trabajos a realizar, hay M recursos disponibles que pueden realizar algunos de los trabajos basándose en un valor de polivalencia. Cuanto mayor sea el valor de polivalencia, mejor podrá realizar el trabajo el recurso; si el valor de polivalencia es cero, el recurso no podrá realizar el trabajo. Una tarea sólo puede asignarse a un recurso. Un recurso puede realizar varias tareas. Todas las tareas deben realizarse. La realización de cada trabajo en cada recurso tiene un coste asociado, consume una cantidad de tiempo del recurso y genera una cantidad de dificultad para el recurso. Existe una cantidad máxima de coste que no puede superarse y una cantidad máxima de tiempo en la que deben procesarse todos los trabajos. A cada recurso no se le puede asignar un grado de dificultad superior a un valor determinado. El problema consiste en asignar los trabajos a los recursos de forma que se minimice el coste total o se minimice el tiempo total o se maximice la polivalencia total (se puede elegir uno de los objetivos o una combinación de varios objetivos en una única función a maximizar o minimizar).

Algoritmo: El modelo Base es una formulación de programación lineal entera mixta (MILP).

M_GT_MH_GA

Make – Group Technology / Metaheuristics / Genetic Algorithm

Problema: En el Problema de Tecnología de Grupos, un número determinado de P piezas puede procesarse en M máquinas. Cada pieza puede procesarse siguiendo diferentes rutas alternativas. En cada fase de una ruta dada, se especifica qué máquina realiza las operaciones de esa fase. El problema a resolver consiste en agrupar las máquinas en C células de fabricación y asignar cada pieza a una de estas células. El objetivo es que cada conjunto de piezas, asignado a una célula, pueda procesar la mayoría de sus fases en las máquinas situadas en dicha célula. Esto simplifica la programación de la producción al transformar todo un problema de taller en C problemas más pequeños (las células de fabricación).

Algoritmo: Un Algoritmo Genético (AG) es una metaheurística inspirada en el proceso de selección natural. En este AG para resolver el Problema de Tecnología de Grupos, cada cromosoma se compone de dos zonas: la primera contiene tantos genes como piezas y la segunda tantos genes como máquinas. En la zona de piezas, la posición del gen identifica la pieza, mientras que el valor numérico del gen se refiere a la ruta elegida para la pieza (entre las posibles rutas alternativas para esa pieza). En la zona de máquinas, la posición del gen identifica la máquina, mientras que el valor numérico del gen se refiere a la celda en la que se encuentra la máquina. La población está compuesta por un cierto número de individuos (cromosomas), la evolución de la población se basa en el cruce de 2 individuos (padre y madre) para obtener un nuevo individuo (hijo) que puede mutar.

M_JSP_DES

Make – Job Shop Scheduling Problem / Discrete Event Simulation

Problema: En el problema de Secuenciación en Taller de Trabajo, un número determinado de N trabajos deben procesarse en M máquinas. Cada trabajo se corresponde con una pieza (P). Cada pieza contiene O operaciones. Cada pieza tiene una ruta específica, que especifica el orden en que debe pasar por las máquinas. Ninguna máquina puede realizar más de una operación simultáneamente. Para cada operación de cada trabajo se especifica el tiempo de preparación y el tiempo de ejecución.

Algoritmo: El algoritmo se basa en una Simulación por Eventos Discretos, utilizando diferentes reglas heurísticas de prioridad para tomar la decisión de qué trabajo elegir de entre los presentes en la cola de una máquina, cuando dicha máquina finaliza el trabajo que está realizando.

M_JSP_DESC

Make – Job Shop Scheduling Problem with Machine Calendars / Discrete Event Simulation

Problema: En el problema de Secuenciación en Taller de Trabajo, un número determinado de N trabajos deben procesarse en M máquinas. Cada trabajo contiene O operaciones. Cada trabajo tiene una ruta específica, que especifica el orden en que debe pasar por las máquinas. Ninguna máquina puede realizar más de una operación simultáneamente. Para cada operación de cada trabajo se especifica el tiempo de preparación y el tiempo de ejecución. Cada máquina tiene su propio calendario de franjas horarias activas.

Algoritmo: El algoritmo se basa en una Simulación por Eventos Discretos, utilizando diferentes reglas heurísticas de prioridad para tomar la decisión de qué trabajo elegir de entre los presentes en la cola de una máquina, cuando dicha máquina finaliza el trabajo que está realizando, teniendo en cuenta los calendarios de cada máquina.

M_JSP_DESC2

Make – Job Shop Scheduling Problem Jobs-Machines with Machine Calendars / Discrete Event Simulation

Problema: En el problema de Secuenciación en Taller de Trabajo, un número determinado de N trabajos deben procesarse en M máquinas. Cada trabajo contiene O operaciones. Cada trabajo tiene una ruta específica, que especifica el orden en que debe pasar por las máquinas. Ninguna máquina puede realizar más de una operación simultáneamente. Para cada operación de cada trabajo se especifica el tiempo de preparación y el tiempo de ejecución. Cada máquina tiene su propio calendario de franjas horarias activas.

Algoritmo: El algoritmo se basa en una Simulación por Eventos Discretos, utilizando diferentes reglas heurísticas de prioridad para tomar la decisión de qué trabajo elegir de entre los presentes en la cola de una máquina, cuando dicha máquina finaliza el trabajo que está realizando, teniendo en cuenta los calendarios de cada máquina.

M_JSP_DESCP

Make – Job Shop Scheduling Problem Jobs-Machines with Machine Calendars and Jobs Precedences / Discrete Event Simulation – Heuristic Priority Rules and Shifting Bottleneck

Problema: En el problema de Secuenciación en Taller de Trabajo, un número determinado de N trabajos deben procesarse en M máquinas. Cada trabajo contiene O operaciones. Cada trabajo tiene una ruta específica, que especifica el orden en que debe pasar por las máquinas. Ninguna máquina puede realizar más de una operación simultáneamente. Para cada operación de cada trabajo se especifica el tiempo de preparación y el tiempo de ejecución. Cada máquina tiene su propio calendario de franjas horarias activas. Un trabajo puede tener otros trabajos como precedentes, en cuyo caso, todos los trabajos precedentes deben haber completado su recorrido antes de que el trabajo pueda comenzar.

Algoritmo: El algoritmo se basa en una Simulación por Eventos Discretos, utilizando diferentes reglas heurísticas de prioridad para tomar la decisión de qué trabajo elegir de entre los presentes en la cola de una máquina, cuando dicha máquina finaliza el trabajo que está realizando, teniendo en cuenta los calendarios de cada máquina y las precedencias de cada trabajo.

M_JSP_DESCPA

Make – Job Shop Scheduling Problem Jobs-Machines with Machine Calendars, Jobs Precedences and Alternative Routes / Discrete Event Simulation – Heuristic Priority Rules and Shifting Bottleneck

Problema: Un número determinado de N trabajos deben procesarse en M máquinas. Cada trabajo contiene O operaciones. Cada trabajo tiene una ruta específica, que especifica el orden en que debe pasar por las máquinas. Ninguna máquina puede realizar más de una operación simultáneamente. Para cada operación de cada trabajo se especifica el tiempo de preparación y el tiempo de ejecución. Cada máquina tiene su propio calendario de franjas horarias activas. Un trabajo puede tener otros trabajos como precedentes, en cuyo caso, todos los trabajos precedentes deben haber completado todo su recorrido antes de que el trabajo pueda comenzar. En cada fase de la ruta de un trabajo, puede haber varias máquinas que puedan realizarlo, con diferentes tiempos de preparación y procesamiento.

Algoritmo: El algoritmo se basa en una Simulación por Eventos Discretos, utilizando diferentes reglas heurísticas de prioridad para tomar la decisión de qué trabajo elegir de entre los presentes en la cola de una máquina, cuando dicha máquina finaliza el trabajo que está realizando, teniendo en cuenta los calendarios de cada máquina, las precedencias de cada trabajo y las rutas alternativas.

M_JSP_DESCPAB

Make – Job Shop Scheduling Problem Jobs-Machines with Machine Calendars, Jobs Precedences and Alternative Routes / Discrete Event Simulation – Heuristic Priority Rules (with BEST) and Shifting Bottleneck

Problema: Un número determinado de N trabajos deben procesarse en M máquinas. Cada trabajo contiene O operaciones. Cada trabajo tiene una ruta específica, que especifica el orden en que debe pasar por las máquinas. Ninguna máquina puede realizar más de una operación simultáneamente. Para cada operación de cada trabajo se especifica el tiempo de preparación y el tiempo de ejecución. Cada máquina tiene su propio calendario de franjas horarias activas. Un trabajo puede tener otros trabajos como precedentes, en cuyo caso, todos los trabajos precedentes deben haber completado todo su recorrido antes de que el trabajo pueda comenzar. En cada fase de la ruta de un trabajo, puede haber varias máquinas que puedan realizarlo, con diferentes tiempos de preparación y procesamiento.

Algoritmo: El algoritmo se basa en una Simulación por Eventos Discretos, utilizando diferentes reglas heurísticas de prioridad para tomar la decisión de qué trabajo elegir de entre los presentes en la cola de una máquina, cuando dicha máquina finaliza el trabajo que está realizando, teniendo en cuenta los calendarios de cada máquina, las precedencias de cada trabajo y las rutas alternativas. Se incluyen tres superreglas, que lanzan todas las reglas y seleccionan la que optimiza el indicador elegido. También se incluye la heurística del cuello de botella cambiante (SB). Suponiendo que los trabajos compitan por los mismos recursos (máquinas), siempre habrá uno o más recursos que actúen como cuello de botella en el procesamiento. Este procedimiento heurístico, o regla empírica, minimiza el efecto del cuello de botella e intenta reducir al mínimo el tiempo necesario para completar todos los trabajos.

M_JSP_DESCPABD

Make – Job Shop Scheduling Problem Jobs-Machines with Machine Calendars, Jobs Precedences, Alternative Routes and Sequence-Dependent Setup Time / Discrete Event Simulation – Heuristic Priority Rules (with BEST)

Problema: Un número determinado de N trabajos deben procesarse en M máquinas. Cada trabajo contiene O operaciones. Cada trabajo tiene una ruta específica, que especifica el orden en que debe pasar por las máquinas. Ninguna máquina puede realizar más de una operación simultáneamente. Para cada operación de cada trabajo se especifica el tiempo de preparación y el tiempo de ejecución. Cada máquina tiene su propio calendario de franjas horarias activas. Un trabajo puede tener otros trabajos como precedentes, en cuyo caso, todos los trabajos precedentes deben haber completado todo su recorrido antes de que el trabajo pueda comenzar. En cada fase de una ruta de trabajo, puede haber varias máquinas que puedan realizar el trabajo, con diferentes tiempos de preparación y procesamiento. Los tiempos de preparación pueden depender de la secuencia, es decir, si se ha realizado un trabajo en una máquina y ésta debe prepararse para el siguiente trabajo, el tiempo de preparación de la máquina puede ser menor (o mayor) que el tiempo de preparación por defecto especificado en la ruta del trabajo a procesar, en cuyo caso se utiliza el tiempo dependiente de la secuencia.

Algoritmo: El algoritmo se basa en una Simulación por Eventos Discretos, utilizando diferentes reglas heurísticas de prioridad para tomar la decisión de qué trabajo elegir de entre los presentes en la cola de una máquina, cuando dicha máquina finaliza el trabajo que está realizando.

M_JSP_MP_Manne

Make – Job Shop Scheduling Problem / Mathematical Programming / Manne Model

Problema: Un número determinado de N trabajos deben procesarse en M máquinas. Cada trabajo contiene exactamente M operaciones. Cada trabajo tiene una ruta específica, que especifica el orden en que debe pasar por las máquinas. Ninguna máquina puede realizar más de una operación simultáneamente. Para cada operación de cada trabajo se especifica el tiempo de ejecución.

Algoritmo: El modelo de Manne es una formulación de programación lineal entera mixta (MILP).

M_MGAP_MP_B

Make – Multilevel Generalized Assignment Problem / Mathematical Programming / Base Model

Problema: Dados N trabajos a realizar, se dispone de M recursos, con distintos niveles de eficiencia, que pueden realizar cualquiera de los trabajos. Un trabajo sólo puede asignarse a un recurso. Un recurso puede realizar varias tareas. Todas las tareas deben realizarse. La realización de cada trabajo en cada recurso tiene un coste asociado y consume una cantidad de tiempo del recurso. Cada recurso tiene una capacidad limitada (tiempo). Los niveles de eficiencia significan que un recurso puede procesar el mismo trabajo en menos tiempo (con un nivel de eficiencia más alto) pero a un coste más elevado. El problema es asignar los trabajos a los recursos, cada uno con un nivel de eficiencia concreto, de forma que se minimice el coste total.

Algoritmo: El modelo Base es una formulación de programación lineal entera mixta (MILP).

M_MMSP_MH_GA_MWO

Make – Mixed Model Sequencing Problem / Metaheuristics / Genetic Algorithm / Minimum Work-Overload

Problema: El Problema de Secuenciación de Modelos Mixtos (SMM) es un tipo de problema de optimización de la fabricación al que se enfrentan las cadenas de montaje, especialmente en entornos en los que se fabrican varios modelos de un producto en la misma cadena de montaje. El objetivo central del problema SMM es determinar la secuencia óptima en la que deben ensamblarse los diferentes modelos para minimizar la sobrecarga total de trabajo en las estaciones de trabajo.

Algoritmo: Un Algoritmo Genético (AG) es una metaheurística inspirada en el proceso de selección natural. En este AG para resolver el Problema de Secuenciación de Modelos Mixtos (SMM), cada cromosoma contiene números entre 0 y el número de trabajos, menos 1, que representan la secuencia de trabajos. La población se compone de un número determinado de individuos (cromosomas), la evolución de la población se basa en el cruce de 2 individuos (padre y madre) para obtener un nuevo individuo (hijo) que puede mutar. Existen diferentes modos de cruce y mutación que pueden utilizarse en función de las características del problema que se desea resolver.

M_MMSP_MP_M3

Make – Mixed Model Sequencing Problem / Mathematical Programming / Maximum Amount Work Completed

Problema: El Problema de Secuenciación de Modelos Mixtos (SMM) es un tipo de problema de optimización de la fabricación al que se enfrentan las cadenas de montaje, especialmente en entornos en los que se fabrican varios modelos de un producto en la misma cadena de montaje. El objetivo central del problema SMM es determinar la secuencia óptima en la que deben ensamblarse los distintos modelos para minimizar el coste total de producción, respetando al mismo tiempo diversas restricciones operativas.

Algoritmo: El modelo Base es una formulación de programación lineal entera mixta (MILP).

M_OAP_MP_B

Make – Ordinary Assignment Problem / Mathematical Programming / Base Model

Problema: Dados N trabajos a realizar, se dispone de N recursos que pueden realizar cualquiera de los trabajos. Un trabajo sólo puede asignarse a un recurso. Un recurso sólo puede realizar una tarea. Todas las tareas deben realizarse. La realización de cada tarea en cada recurso tiene un coste asociado. El problema consiste en asignar los trabajos a los recursos de forma que se minimice el coste total.

Algoritmo: El modelo Base es una formulación de programación lineal entera mixta (MILP).

M_ORVP_H_Monden

Make – Output Rate Variation Problem / Heuristics / Monden Algorithm

Problema: Un número determinado de P productos diferentes deben ensamblarse en una única línea de montaje para satisfacer una demanda determinada de cada uno de ellos. Para ensamblar los productos se utiliza un número determinado de C componentes diferentes. Cada producto requiere una cantidad determinada de cada componente. El objetivo es secuenciar el ensamblaje de los productos de forma que la tasa de consumo de los componentes sea lo más constante posible. 

Algoritmo: El algoritmo de Monden construye la secuencia de productos buscando minimizar la suma para cada posición de la secuencia de las diferencias entre las tasas ideales definidas y las tasas reales de utilización de cada componente.

M_ORVP_MH_GA

Make – Output Rate Variation Problem / Metaheuristics / Genetic Algorithm

Problema: Un número determinado de P productos diferentes deben ensamblarse en una única línea de montaje para satisfacer una demanda determinada de cada uno de ellos. Para ensamblar los productos se utiliza un número determinado de C componentes diferentes. Cada producto requiere una cantidad determinada de cada componente. El objetivo es secuenciar el ensamblaje de los productos de forma que la tasa de consumo de los componentes sea lo más constante posible. 

Algoritmo: Un Algoritmo Genético (AG) es una metaheurística inspirada en el proceso de selección natural. En este AG para resolver el Problema de Variación de la Tasa de Salida, cada individuo es la secuencia en la que se van a ensamblar los productos, la población está compuesta por un número determinado de individuos, la evolución de la población se basa en el cruce de 2 individuos (padre y madre) para obtener un nuevo individuo (hijo) que puede mutar. Existen diferentes modos de cruce y mutación que pueden utilizarse en función de las características del problema que se desea resolver.

M_PUSP_MP_ASPDM

Make – Processing Unit Scheduling Problem / Mathematical Programming / Andres, Sanchis, Poler, Diaz-Madroñero and Mula

Problema: El problema consiste en determinar el programa óptimo de producción de diferentes productos en una unidad de proceso para abastecer a la siguiente unidad de proceso (de un cliente). Las plantas que conforman la cadena de suministro están especializadas en la producción de componentes de un producto final utilizando unidades de procesamiento (por ejemplo, una línea de producción). Los tiempos de preparación y el coste cuando se cambia el producto producido en la unidad de procesamiento son elevados. Cada planta comunica un plan de demanda a su proveedor (cantidades necesarias por periodo). Las unidades de transformación utilizan diferentes herramientas para fabricar distintos productos, que deben asignarse en la unidad de transformación antes de iniciar la producción (por ejemplo, moldes en máquinas de inyección). Se pueden producir varios productos al mismo tiempo, dependiendo de las herramientas de las unidades de procesamiento (por ejemplo, moldes que pueden producir diferentes piezas por ciclo).

Algoritmo: El modelo Base es una formulación de programación lineal entera mixta (MILP).

M_RAP_DES_MPS

Make – Resource Allocation Problem / Discrete Event Simulation / Manpower Scheduling Algorithm

Problema: El problema de la asignación de recursos aparece en la programación de tareas de un proyecto. El objetivo es determinar las fechas de inicio y duración de las tareas para completar un proyecto a tiempo con el mínimo coste, teniendo en cuenta los recursos disponibles, lo que supone un problema de restricción de capacidad. Este tipo de problema se considera NP-hard («no polinómico») porque es un problema combinatorio, lo que significa que los algoritmos para obtener soluciones óptimas no pueden resolver problemas reales en un tiempo asequible.

Algoritmo: El algoritmo Manpower Scheduling es un algoritmo goloso, basado en una Simulación por Eventos Discretos, y proporciona flexibilidad en la definición de las condiciones de las tareas y los recursos, por ejemplo, se pueden interrumpir tareas no críticas para lanzar tareas críticas que requieren recursos reservados por tareas no críticas. Utiliza una lista de espera de tareas y una lista de trabajo de tareas (las que están activas) y va introduciendo las tareas críticas en la lista de trabajo. Si se consigue completar el proyecto sin tener que retrasar ninguna tarea crítica, el algoritmo finaliza, en caso contrario, se añade un tiempo adicional para la finalización del proyecto.

M_SALREBP_MP_MBD

Make – Simple Assembly Line Re-balancing Problem / Mathematical Programming / Makssoud, Battaia and Dolgui

Problema: El Problema de Re-equilibrado Simple de la Línea de Montaje (SALReBP) es un problema de optimización combinatoria en la fabricación, cuyo objetivo es optimizar las asignaciones de tareas en las estaciones de trabajo de la línea de montaje para conseguir una carga de trabajo equilibrada y una mayor eficiencia. Aborda tareas secuenciales con tiempos de procesamiento, buscando minimizar el tiempo de ciclo o maximizar las tasas de producción. El problema implica decisiones sobre la asignación de tareas, la secuenciación y el equilibrio de las estaciones de trabajo, teniendo en cuenta restricciones como la precedencia de tareas, las capacidades de las estaciones de trabajo y los límites de tiempo de ciclo. El objetivo es encontrar una asignación óptima o casi óptima que cumpla estas restricciones, minimizando el tiempo total de producción.

Algoritmo: El modelo Base es una formulación de programación entera mixta (MIP).

MD_IPDPP_MP_P

Make-Deliver – Integrated Production-Distribution Planning Problem / Mathematical Programming / Park

Problema: El problema consiste en definir el plan de producción y el plan de distribución óptimos. Existen múltiples plantas de producción que fabrican múltiples artículos con capacidad limitada para cada periodo. Estas plantas de producción tienen capacidad de almacenamiento. Para cada tipo de producto existen costes de preparación. Los artículos producidos se envían directamente a los puntos de venta. La distribución se realiza mediante una flota de vehículos homogéneos estacionados en las fábricas. El uso de estos vehículos conlleva gastos de mantenimiento, seguro y transporte de los productos. La demanda de productos en un punto de venta se compone de la demanda básica y de la demanda prevista. Si no se satisface la demanda, se produce una ruptura de existencias. Cada punto de venta puede mantener una cantidad de existencias a un coste muy elevado. El objetivo es maximizar el beneficio neto total de la cadena de suministro para un horizonte de planificación dado para conocer la cantidad de cada artículo a producir, transportar y almacenar en cada periodo.

Algoritmo: El modelo Base es una formulación de programación lineal entera mixta (MILP).

MD_IPDSP_MP_JP

Make-Deliver – Integrated Production-Distribution System Problem / Mathematical Programming / Jayaraman and Pirkul

Problema: El problema consiste en definir la red óptima de plantas de producción y almacenes de distribución para la compra de materias primas y la distribución de productos a los minoristas (regiones). Se conoce el número y la ubicación de los proveedores de materias primas. Se conocen los minoristas y se agrupan en regiones. Hay que construir plantas de producción y almacenes en los lugares pertinentes. Para ello, hay que conocer la asignación de los almacenes a las regiones, la cantidad de materias primas transportadas de los proveedores a las plantas, la cantidad de productos transportados de las plantas a los almacenes y de los almacenes a las regiones. El transporte de productos entre los proveedores de materias primas y las plantas de producción, entre las plantas de producción y los almacenes, y entre los almacenes y las regiones, tiene un coste asociado. La construcción, el mantenimiento y la gestión de los almacenes y las plantas también conllevan costes. Todos estos costes se suman al coste total, que pretendemos minimizar.

Algoritmo: El modelo Base es una formulación de programación lineal entera mixta (MILP).

MD_MSCPP_MP_GM

Make-Deliver – Multisite Supply Chains Planning Problem / Mathematical Programming / Gupta and Maranas

Problema: El problema consiste en determinar el aprovisionamiento y la asignación óptimos de los recursos limitados de una empresa a sus activos de fabricación para satisfacer la demanda del mercado de la forma más rentable. La red está compuesta por múltiples centros de producción, potencialmente localizados globalmente, que fabrican múltiples productos. La demanda de estos productos existe en un conjunto de emplazamientos de clientes. Cada centro de producción se caracteriza por una o varias unidades de procesamiento semicontinuo de una sola etapa con una capacidad limitada. Los distintos productos, que se agrupan en familias de productos, compiten por la capacidad limitada de estas unidades de procesamiento. Las actividades posteriores a la producción, como la satisfacción de la demanda y la gestión de las existencias, se tienen en cuenta para satisfacer eficazmente la demanda de los clientes.

Algoritmo: El modelo Base es una formulación de programación lineal entera mixta (MILP).

S_OP_H_Prophet_P3

Source – Order Point / Heuristics / Prophet Algorithm / Pilot 3

Problema: En un almacén se dispone de un material con cierto nivel de inventario, que se va reduciendo a medida que dicho material se va consumiendo. Se utiliza una regla de decisión de punto de pedido, que consiste en lanzar una nueva orden de compra del material cuando se llega a un determinado nivel de puntos de pedido. El problema consiste en proponer un punto de pedido, teniendo en cuenta la demanda histórica de un material, que minimice el coste de almacenamiento del material, sin generar ninguna rotura de inventario. 

Algoritmo: Se utiliza el algoritmo de pronóstico «Prophet» para obtener el valor pronosticado de la demanda, tanto pasada como futura. A continuación, se calcula la media de la demanda histórica ajustada (sin valores atípicos) y la media de la demanda prevista y se calculan 3 puntos de pedido a partir de las 3 demandas (real pasada, pronosticada pasada y pronosticada futura), seleccionando el valor de punto de pedido más conveniente.

SM_CMPSC2_MP_MLHP

Source-Make – Customer-driven Material Planning Second-tier Supply Chain Problem / Mathematical Programming / Mula, Lyons, Hernández and Poler

Problema: El problema que se pretende resolver es la falta de sincronización en la planificación de materiales en la cadena de suministro. La solución propuesta consiste en poner los requisitos de producción del fabricante original del equipo (OEM) a disposición de los proveedores de segundo y tercer nivel, creando un proceso de planificación de materiales más orientado al cliente y alineado.

Algoritmo: El modelo Base es una formulación de programación lineal entera (ILP).

SM_CMPSC2S_MP_MLHP

Source-Make – Customer-driven Material Planning Second-tier Supply Chain Problem with Safety Stock / Mathematical Programming / Mula, Lyons, Hernández and Poler

Problema: El problema que se pretende resolver es la falta de sincronización en la planificación de materiales en la cadena de suministro. La solución propuesta consiste en poner los requisitos de producción del fabricante original del equipo (OEM) a disposición de los proveedores de segundo y tercer nivel, creando un proceso de planificación de materiales más orientado al cliente y alineado.

Algoritmo: El modelo Base es una formulación de programación lineal entera (ILP).

SM_CMPSC3_MP_MLHP

Source-Make – Customer-driven Material Planning Third-tier Supply Chain Problem / Mathematical Programming / Mula, Lyons, Hernández and Poler

Problema: El problema que se pretende resolver es la falta de sincronización en la planificación de materiales en la cadena de suministro. La solución propuesta consiste en poner los requisitos de producción del fabricante original del equipo (OEM) a disposición de los proveedores de segundo y tercer nivel, creando un proceso de planificación de materiales más orientado al cliente y alineado.

Algoritmo: El modelo Base es una formulación de programación lineal entera (ILP).

SM_CMPSC3S_MP_MLHP

Source-Make – Customer-driven Material Planning Third-tier Supply Chain Problem with Safety Stock / Mathematical Programming / Mula, Lyons, Hernández and Poler

Problema: El problema que se pretende resolver es la falta de sincronización en la planificación de materiales en la cadena de suministro. La solución propuesta consiste en poner los requisitos de producción del fabricante original del equipo (OEM) a disposición de los proveedores de segundo y tercer nivel, creando un proceso de planificación de materiales más orientado al cliente y alineado.

Algoritmo: El modelo Base es una formulación de programación lineal entera (ILP).

SM_MRP_H_O

Source-Make – Material Requirements Planning / Heuristics / Orlicky

Problema: La planificación de necesidades de material (MRP) es un sistema de planificación de la producción y control de inventarios utilizado por las empresas manufactureras para gestionar los materiales necesarios para la producción. Es una técnica que ayuda a determinar la cantidad y el calendario de las materias primas, componentes y subconjuntos necesarios para completar el proceso de producción. El objetivo principal de MRP es garantizar que los materiales adecuados estén disponibles en las cantidades correctas en el momento adecuado para apoyar el programa de producción, minimizando al mismo tiempo los costes de inventario. Mediante el uso de MRP, las empresas pueden optimizar su planificación de la producción, racionalizar su cadena de suministro y mantener niveles de inventario adecuados.

Algoritmo: El método heurístico del MRP calcula las necesidades netas y los lanzamientos de pedidos planificados para todos los artículos. Existen varios métodos de dimensionamiento de lotes para determinar los lanzamientos de pedidos planificados: el método Lote por Lote, el método del Coste Unitario Mínimo, el método del Coste Total Mínimo y el método Silver-Meal.

SM_MRP_MP_MPG

Source-Make – Material Requirements Planning / Mathematical Programming / Mula, Poler and García

Problema: La planificación de necesidades de material (MRP) es un sistema de planificación de la producción y control de inventarios utilizado por las empresas manufactureras para gestionar los materiales necesarios para la producción. Es una técnica que ayuda a determinar la cantidad y el calendario de las materias primas, componentes y subconjuntos necesarios para completar el proceso de producción. El objetivo principal de MRP es garantizar que los materiales adecuados estén disponibles en las cantidades correctas en el momento adecuado para apoyar el programa de producción, minimizando al mismo tiempo los costes de inventario. Mediante el uso de MRP, las empresas pueden optimizar su planificación de la producción, racionalizar su cadena de suministro y mantener niveles de inventario adecuados.

Algoritmo: El modelo es una formulación de programación lineal entera mixta (MILP).

SMD_DF_ES_HW

Source-Make-Deliver – Demand Forecasting / Exponential Smoothing – Holt-Winters Algorithm

Problema: En el problema de Previsión de Demanda mensual, el punto de partida es la demanda mensual histórica de un bien o servicio. El problema consiste en encontrar una fórmula matemática que, introduciendo el año y el mes, calcule un valor previsto de la demanda. 

Algoritmo: El método Holt-Winters es apropiado cuando la serie que se va a pronosticar muestra tendencia y estacionalidad. Es una extensión del método Holt para incluir el factor estacional. La previsión para un mes determinado se calcula como la suma del nivel y la tendencia y multiplicando por el factor estacional. Los valores de nivel, tendencia y estacionalidad se van adaptando a medida que se computan valores del histórico utilizando unos factores de alisamiento (de nivel, tendencia y estacionalidad).

SMD_DF_ES_THT

Source-Make-Deliver – Demand Forecasting / Exponential Smoothing – Theta Algorithm

Problema: En el problema de Previsión de Demanda mensual, el punto de partida es la demanda mensual histórica de un bien o servicio. El problema consiste en encontrar una fórmula matemática que, introduciendo el año y el mes, calcule un valor previsto de la demanda.

Algoritmo: El método Theta se basa en la determinación de varias líneas theta cuya suma definiría la función de previsión. En su versión más simple, se calculan 2 líneas theta, una correspondiente a la regresión lineal de los datos desestacionalizados y otra al suavizado de la parte no explicada por la primera. El factor estacional se calcula de forma similar al método de descomposición multiplicativa. Una vez calculada, la serie desestacionalizada se obtiene dividiendo cada punto por el factor estacional correspondiente. La línea de regresión se calcula como una regresión lineal sobre los puntos de la serie desestacionalizada. La línea de suavizado se calcula como un alisado exponencial de la diferencia entre el doble de la serie desestacionalizada y la línea de regresión. Finalmente, la previsión se calcula según el promedio de ambas líneas y se multiplica por el factor estacional.

SMD_DF_ML_RPM

Source-Make-Deliver – Demand Forecasting / Machine Learning – Regression Predictive Modeling

Problema: En el problema de Previsión de Demanda diaria, el punto de partida es el histórico de la demanda diaria de un bien o servicio. Para cada día se conocen una serie de variables explicativas de la demanda observada. Las variables explicativas pueden ser de varios tipos: a) variables de calendario, como el mes, el día de la semana, los días festivos, etc.; b) variables binarias, como acontecimientos que pueden haber ocurrido o no en cada día (por ejemplo, que haya tenido lugar una promoción); c) variables numéricas, como por ejemplo el precio al que se ha ofrecido el bien o servicio ese día, la temperatura, etc.

Algoritmo: Se utiliza una red neuronal profunda que, introduciendo las variables explicativas, calcula un valor predicho de la demanda. El algoritmo utiliza Keras y Tensorflow para entrenar una red neuronal profunda de 2 capas ocultas de 64 neuronas cada una utilizando la Root Mean Squared Propagation (RMSprop) optimizada como una extensión del descenso de gradiente y la versión AdaGrad del descenso de gradiente que utiliza una media decreciente de gradientes parciales en la adaptación del tamaño del paso para cada parámetro.

SMD_DF_MP_AD_MAE

Source-Make-Deliver – Demand Forecasting / Mathematical Programming / Additive Decomposition Mean Absolute Error

Problema: En el problema de Previsión de Demanda mensual, el punto de partida es la demanda mensual histórica de un bien o servicio. El problema consiste en encontrar una fórmula matemática que, introduciendo el año y el mes, calcule un valor previsto de la demanda. 

Algoritmo: La descomposición aditiva (AD) aborda el problema de previsión de la demanda dividiendo una serie de tiempo en tres componentes: tendencia-ciclo, estacionalidad e irregularidad. El objetivo es minimizar el Error Absoluto Medio (MAE) del ajuste. Se calcula la tendencia-ciclo ajustando los datos de demanda histórica a una línea recta, se asume que la estacionalidad es constante en el horizonte de pronóstico y se calcula el valor pronosticado para cada período. El error de ajuste se determina como la diferencia entre el pronóstico y la demanda histórica, aplicando una transformación lineal.

SMD_DF_MP_AD_MSE

Source-Make-Deliver – Demand Forecasting / Mathematical Programming / Additive Decomposition Mean Squared Error

Problema: En el problema de Previsión de Demanda mensual, el punto de partida es la demanda mensual histórica de un bien o servicio. El problema consiste en encontrar una fórmula matemática que, introduciendo el año y el mes, calcule un valor previsto de la demanda. 

Algoritmo: La descomposición aditiva (AD) aborda la previsión de la demanda dividiendo una serie de tiempo en tres componentes: tendencia-ciclo, estacionalidad e irregularidad. El objetivo es minimizar el Error Cuadrático Medio (MSE) del ajuste. Se calcula la tendencia-ciclo ajustando los datos de demanda histórica a una línea recta, se asume que la estacionalidad es constante en el horizonte de pronóstico y se calcula el valor pronosticado para cada período. El error de ajuste se determina como la diferencia entre el pronóstico y la demanda histórica.

SMD_DF_MP_ES_MAE

Source-Make-Deliver – Demand Forecasting / Mathematical Programming / Exponential Smoothing Mean Absolute Error

Problema: En el problema de Previsión de Demanda mensual, el punto de partida es la demanda mensual histórica de un bien o servicio. El problema consiste en encontrar una fórmula matemática que, introduciendo el año y el mes, calcule un valor previsto de la demanda. 

Algoritmo: El método de Alisado Exponencial Simple es una técnica de previsión de series temporales que se enfoca en hacer pronósticos a corto plazo mediante promedios ponderados de observaciones pasadas. Utiliza una ecuación de suavizado que actualiza el pronóstico futuro en función de la observación actual y el pronóstico anterior, donde el parámetro de suavizado controla el peso relativo de las observaciones pasadas. El objetivo es minimizar el Error Absoluto Medio (MAE) de los ajustes. El error de ajuste se determina como la diferencia entre el pronóstico y la demanda histórica, aplicando una transformación lineal.

SMD_DF_MP_ES_MSE

Source-Make-Deliver – Demand Forecasting / Mathematical Programming / Exponential Smoothing Mean Squared Error

Problema: En el problema de Previsión de Demanda mensual, el punto de partida es la demanda mensual histórica de un bien o servicio. El problema consiste en encontrar una fórmula matemática que, introduciendo el año y el mes, calcule un valor previsto de la demanda. 

Algoritmo: El método de Alisado Exponencial Simple es una técnica de previsión de series temporales que se enfoca en hacer pronósticos a corto plazo mediante promedios ponderados de observaciones pasadas. Utiliza una ecuación de suavizado que actualiza el pronóstico futuro en función de la observación actual y el pronóstico anterior, donde el parámetro de suavizado controla el peso relativo de las observaciones pasadas. El objetivo es minimizar el Error Cuadrático Medio (MSE) de los ajustes. El error de ajuste se determina como la diferencia entre el pronóstico y la demanda histórica.

SMD_DF_MP_HLT_MAE

Source-Make-Deliver – Demand Forecasting / Mathematical Programming / Holt Method Mean Absolute Error

Problema: En el problema de Previsión de Demanda mensual, el punto de partida es la demanda mensual histórica de un bien o servicio. El problema consiste en encontrar una fórmula matemática que, introduciendo el año y el mes, calcule un valor previsto de la demanda. 

Algoritmo: El método Holt, también conocido como Alisado Exponencial Doble, es una técnica fundamental para la previsión de series temporales diseñada para modelar y predecir datos con tendencias lineales. Se compone de dos componentes principales: el nivel, que representa el valor base o promedio en los datos de la serie temporal, y la tendencia, que refleja la dirección y pendiente lineal de la tendencia de los datos. El método Holt utiliza ecuaciones de suavizado para actualizar estos componentes en cada período. El objetivo es minimizar el Error Absoluto Medio (MAE) del ajuste de pronóstico. El error de ajuste se determina como la diferencia entre el pronóstico y la demanda histórica, aplicando una transformación lineal.

SMD_DF_MP_HLT_MSE

Source-Make-Deliver – Demand Forecasting / Mathematical Programming / Holt Method Mean Squared Error

Problema: En el problema de Previsión de Demanda mensual, el punto de partida es la demanda mensual histórica de un bien o servicio. El problema consiste en encontrar una fórmula matemática que, introduciendo el año y el mes, calcule un valor previsto de la demanda. 

Algoritmo: El método Holt, también conocido como Alisado Exponencial Doble, es una técnica fundamental para la previsión de series temporales diseñada para modelar y predecir datos con tendencias lineales. Se compone de dos componentes principales: el nivel, que representa el valor base o promedio en los datos de la serie temporal, y la tendencia, que refleja la dirección y pendiente lineal de la tendencia de los datos. El método Holt utiliza ecuaciones de suavizado para actualizar estos componentes en cada período. El objetivo es minimizar el Error Cuadrático Medio (MSE) del ajuste de pronóstico. El error de ajuste se determina como la diferencia entre el pronóstico y la demanda histórica.

SMD_DF_MP_HW_MAE

Source-Make-Deliver – Demand Forecasting / Mathematical Programming / Holt-Winters Method Mean Absolute Error

Problema: En el problema de Previsión de Demanda mensual, el punto de partida es la demanda mensual histórica de un bien o servicio. El problema consiste en encontrar una fórmula matemática que, introduciendo el año y el mes, calcule un valor previsto de la demanda. 

Algoritmo: El método de Holt-Winters es una técnica versátil de previsión de series temporales que extiende el alisado exponencial simple para manejar datos de series temporales que muestran tanto tendencias como estacionalidad. Este método es altamente efectivo para capturar y predecir patrones complejos en datos de series temporales. Se compone de tres componentes clave: el nivel, que representa el valor base o promedio en la serie; la tendencia, que refleja la dirección y pendiente de la tendencia de los datos a lo largo del tiempo; y la estacionalidad, que captura ciclos o patrones de corto plazo que se repiten en los datos, a menudo asociados con estaciones, festividades u otras ocurrencias regulares. El método Holt-Winters utiliza ecuaciones de suavizado para actualizar estos componentes en cada período. El objetivo es minimizar el Error Absoluto Medio (MAE) del ajuste del pronóstico. El error de ajuste se determina como la diferencia entre el pronóstico y la demanda histórica, aplicando una transformación lineal.

SMD_DF_MP_HW_MSE

Source-Make-Deliver – Demand Forecasting / Mathematical Programming / Holt-Winters Method Mean Squared Error

Problema: En el problema de Previsión de Demanda mensual, el punto de partida es la demanda mensual histórica de un bien o servicio. El problema consiste en encontrar una fórmula matemática que, introduciendo el año y el mes, calcule un valor previsto de la demanda. 

Algoritmo: El método de Holt-Winters es una técnica versátil de previsión de series temporales que extiende el alisado exponencial simple para manejar datos de series temporales que muestran tanto tendencias como estacionalidad. Este método es altamente efectivo para capturar y predecir patrones complejos en datos de series temporales. Se compone de tres componentes clave: el nivel, que representa el valor base o promedio en la serie; la tendencia, que refleja la dirección y pendiente de la tendencia de los datos a lo largo del tiempo; y la estacionalidad, que captura ciclos o patrones de corto plazo que se repiten en los datos, a menudo asociados con estaciones, festividades u otras ocurrencias regulares. El método Holt-Winters utiliza ecuaciones de suavizado para actualizar estos componentes en cada período. El objetivo es minimizar el Error Cuadrático Medio (MSE) del ajuste del pronóstico. El error de ajuste se determina como la diferencia entre el pronóstico y la demanda histórica.

SMD_DF_MP_MA_MAE

Source-Make-Deliver – Demand Forecasting / Mathematical Programming / Moving Average Mean Absolute Error

Problema: En el problema de Previsión de Demanda mensual, el punto de partida es la demanda mensual histórica de un bien o servicio. El problema consiste en encontrar una fórmula matemática que, introduciendo el año y el mes, calcule un valor previsto de la demanda. 

Algoritmo: El Método de Media Móvil (MA) es una técnica estadística utilizada para el análisis y pronóstico de series temporales, diseñada para suavizar las fluctuaciones aleatorias y resaltar tendencias subyacentes en los datos. Se basa en el cálculo repetido de promedios ponderados de datos históricos a medida que se disponen nuevos puntos de datos. El objetivo es minimizar el Error Absoluto Medio (MAE) del ajuste del pronóstico. El error de ajuste se determina como la diferencia entre el pronóstico y la demanda histórica, aplicando una transformación lineal.

SMD_DF_MP_MA_MSE

Source-Make-Deliver – Demand Forecasting / Mathematical Programming / Moving Average Mean Squared Error

Problema: En el problema de Previsión de Demanda mensual, el punto de partida es la demanda mensual histórica de un bien o servicio. El problema consiste en encontrar una fórmula matemática que, introduciendo el año y el mes, calcule un valor previsto de la demanda. 

Algoritmo: El Método de Media Móvil (MA) es una técnica estadística utilizada para el análisis y pronóstico de series temporales, diseñada para suavizar las fluctuaciones aleatorias y resaltar tendencias subyacentes en los datos. Se basa en el cálculo repetido de promedios ponderados de datos históricos a medida que se disponen nuevos puntos de datos. El objetivo es minimizar el Error Cuadrático Medio (MSE) del ajuste del pronóstico. El error de ajuste se determina como la diferencia entre el pronóstico y la demanda histórica.

SMD_DF_MP_MD_MAE

Source-Make-Deliver – Demand Forecasting / Mathematical Programming / Multiplicative Decomposition Mean Absolute Error

Problema: En el problema de Previsión de Demanda mensual, el punto de partida es la demanda mensual histórica de un bien o servicio. El problema consiste en encontrar una fórmula matemática que, introduciendo el año y el mes, calcule un valor previsto de la demanda. 

Algoritmo: La descomposición multiplicativa (MD) aborda el problema de previsión de la demanda multiplicando los componentes tendencia-ciclo, estacionalidad e irregularidad para proporcionar la serie observada. El objetivo es minimizar el Error Absoluto Medio (MAE) del ajuste. Se calcula la tendencia-ciclo ajustando los datos de demanda histórica a una línea recta, se asume que la estacionalidad es constante en el horizonte de pronóstico y se calcula el valor pronosticado para cada período. El error de ajuste se determina como la diferencia entre el pronóstico y la demanda histórica, aplicando una transformación lineal.

SMD_DF_MP_MD_MSE

Source-Make-Deliver – Demand Forecasting / Mathematical Programming / Multiplicative Decomposition Mean Squared Error

Problema: En el problema de Previsión de Demanda mensual, el punto de partida es la demanda mensual histórica de un bien o servicio. El problema consiste en encontrar una fórmula matemática que, introduciendo el año y el mes, calcule un valor previsto de la demanda. 

Algoritmo: La descomposición multiplicativa (MD) aborda el problema de previsión de la demanda multiplicando los componentes tendencia-ciclo, estacionalidad e irregularidad para proporcionar la serie observada. El objetivo es minimizar el Error Cuadrático Medio (MSE) del ajuste. Se calcula la tendencia-ciclo ajustando los datos de demanda histórica a una línea recta, se asume que la estacionalidad es constante en el horizonte de pronóstico y se calcula el valor pronosticado para cada período. El error de ajuste se determina como la diferencia entre el pronóstico y la demanda histórica.

SMD_DF_RA_LR

Source-Make-Deliver – Demand Forecasting / Regression Analysis – Linear Regression

Problema: En el problema de Previsión de Demanda diaria, el punto de partida es el histórico de la demanda diaria de un bien o servicio. Para cada día se conocen una serie de variables explicativas de la demanda observada. Las variables explicativas pueden ser de varios tipos: a) variables de calendario, como el mes, el día de la semana, los días festivos, etc.; b) variables binarias, como acontecimientos que pueden haber ocurrido o no en cada día (por ejemplo, que haya tenido lugar una promoción); c) variables numéricas, como por ejemplo el precio al que se ha ofrecido el bien o servicio ese día, la temperatura, etc.

Algoritmo: Se utiliza un modelo de regresión lineal múltiple que minimiza la suma de los errores al cuadrado para determinar el valor de los coeficientes de la función lineal. El valor previsto se obtiene aplicando la función lineal calculada, en la que se introducen los valores de las variables explicativas. El error de ajuste se calcula comparando los valores predichos con los valores históricos.

SMD_DF_RA_MD

Source-Make-Deliver – Demand Forecasting / Regression Analysis – Multiplicative Decomposition

Problema: En el problema de Previsión de Demanda mensual, el punto de partida es la demanda mensual histórica de un bien o servicio. El problema consiste en encontrar una fórmula matemática que, introduciendo el año y el mes, calcule un valor previsto de la demanda.

Algoritmo: El método de Descomposición Multiplicativa supone que la serie temporal se ajusta a una fórmula que es la multiplicación del factor de tendencia por el factor de estacionalidad. La tendencia se calcula como regresión lineal sobre las  medias móviles de 12 meses de los valores históricos. La estacionalidad se calcula como el promedio de los cociente entre los datos reales y las medias móviles, para cada mes.

SMD_KP_CO_DP

Source-Make-Deliver – Knapsack Problem / Combinatorial Optimization / Dynamic Programming

Problema: En una mochila de una determinada capacidad (peso o volumen) se puede colocar un número determinado de N artículos. Cada artículo tiene un peso (o volumen) y proporciona un valor por unidad. Se dispone de una cantidad limitada de cada artículo. El problema consiste en encontrar la cantidad óptima de cada artículo para cargar en la mochila con el fin de maximizar el valor total (la suma de los valores de los artículos cargados en la mochila).

Algoritmo: La Programación Dinámica es un método para resolver un problema complejo dividiéndolo en una colección de subproblemas más sencillos, resolviendo cada uno de esos subproblemas una sola vez y almacenando sus soluciones en una estructura de datos basada en memoria (normalmente una matriz o un diccionario). La próxima vez que se plantee el mismo subproblema, en lugar de volver a calcular su solución, basta con consultar la solución calculada anteriormente, con lo que se ahorra tiempo de cálculo a expensas de un modesto gasto en espacio de almacenamiento. Este algoritmo sigue un enfoque descendente: la solución del problema se construye de arriba abajo, empezando por la última etapa (último artículo) y descendiendo hasta la primera etapa (primer artículo), aunque en orden en el que se coloquen los artículos para ser calculados no influye en la solución final, la cual es óptima.