• No se han encontrado resultados

6. CASO DE ESTUDIO: ICSA

7.2 Calidad de las Soluciones Encontradas

7.2.2 Función Objetivo: Cantidad de Pedidos Sin Cumplir

En esta evaluación, los escenarios cuentan con diversos pedidos que se deben producir antes de su fecha límite. Para facilitar las cosas, cada demanda de una receta es un pedido y el detalle de las fechas se encuentra en el ANEXO J. Esto significa, que el escenario E1 tiene 1 pedido, el E2 tiene 2 y así sucesivamente hasta el E10 con 10 pedidos.

La función objetivo utilizada por los algoritmos de búsqueda no se limita a contar la cantidad de pedidos sin cumplir. Si fuese de esta manera, los algoritmos no podrían diferenciar cuál solución es mejor que otra cuando tienen la misma cantidad de pedidos cumplidos. Por este motivo, la función objetivo utilizada es:

𝑀𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟 105∙ ∑ 𝑃𝑆 𝑟 𝑟∈𝑅 + 10 ∙ ∑ 𝑇𝐴𝑟 𝑟∈𝑅 − 10−2∙ ∑ 𝑇𝐻 𝑟 𝑟∈𝑅 (7.1) (En los escenarios E8, E9 y E10 se utiliza 106 en vez de 105)

Donde 𝑃𝑆𝑟 es una variable binaria que vale 0 cuando el pedido de receta 𝑟 se cumple a tiempo y 1 cuando se atrasa. 𝑇𝐴𝑟 es el tiempo de atraso (en minutos) del pedido de receta r y 𝑇𝐻𝑟 es el tiempo adelantado o de holgura. Si una entrega de receta 𝑟 se completa antes de su tiempo límite, significa que 𝑇𝐻𝑟 > 0 y 𝑇𝐴𝑟 = 0, así mismo si

una entrega se atrasa, 𝑇𝐴𝑟 > 0 y 𝑇𝐻𝑟 = 0. Si se completa exactamente en el límite, se tiene 𝑇𝐻𝑟 = 𝑇𝐴𝑟 = 0.

De esta manera, el algoritmo tiene como primera prioridad completar los pedidos a tiempo. Su segunda prioridad es minimizar los tiempos de retraso y finalmente busca tener la mayor holgura posible, el cual entrega un premio a diferencia de las dos anteriores. Con este esquema de ponderaciones, el algoritmo busca converger hacia minimizar la cantidad total de pedidos sin cumplir y es capaz de comparar de forma más continua las distintas soluciones posibles.

En la Tabla 7.6 se ve el promedio por escenario de cuántos pedidos no fueron cumplidos. Vale notar que estos valores corresponden al promedio de ∑𝑟∈𝑅𝑃𝑆𝑟 y no a los valores de la función objetivo (fórmula 7.1) utilizado por los algoritmos de búsqueda. También se incluye su intervalo de confianza normal con (1 − 𝛼) = 95%.

Tabla 7.6. Cantidad Promedio de Pedidos Sin Cumplir de cada Algoritmo por Escenario

E

sc

enar

io Cantidad Promedio de Pedidos Sin Cumplir del Algoritmoe Intervalo de Confianza Normal (1 − 𝛼 = 95%)

SA CXEDGES CXPOS CXMUT NOCX RAND

E1 0,47 ± 0,18 0,50 ± 0,18 0,27 ± 0,16 0,13 ± 0,12 0,43 ± 0,18 0,97 ± 0,07 E2 0,50 ± 0,18 0,63 ± 0,18 0,40 ± 0,18 0,50 ± 0,18 0,57 ± 0,18 1,00 ± 0,00 E3 0,67 ± 0,17 0,60 ± 0,18 0,77 ± 0,15 0,03 ± 0,07 0,70 ± 0,17 1,00 ± 0,00 E4 0,83 ± 0,19 0,97 ± 0,11 0,83 ± 0,19 0,63 ± 0,20 1,23 ± 0,18 1,30 ± 0,17 E5 0,83 ± 0,17 0,87 ± 0,16 1,20 ± 0,20 0,50 ± 0,18 1,37 ± 0,20 1,97 ± 0,11 E6 1,57 ± 0,26 1,13 ± 0,28 2,20 ± 0,29 1,10 ± 0,24 2,13 ± 0,24 3,03 ± 0,18 E7 1,47 ± 0,26 1,87 ± 0,24 2,27 ± 0,21 1,17 ± 0,25 2,23 ± 0,28 3,07 ± 0,19 E8 1,93 ± 0,32 1,24 ± 0,23 2,31 ± 0,40 1,20 ± 0,23 2,73 ± 0,44 3,40 ± 0,51 E9 1,27 ± 0,24 1,00 ± 0,19 1,56 ± 0,28 0,91 ± 0,17 1,84 ± 0,30 2,33 ± 0,36 E10 1,98 ± 0,36 1,53 ± 0,28 2,93 ± 0,47 1,09 ± 0,21 2,82 ± 0,45 4,00 ± 0,60

En la Figura 7.4 se ilustran los mismos datos pero esta vez como porcentajes. El 100% corresponde a la cantidad de pedidos incumplidos promedio de la búsqueda aleatoria RAND, que se obtiene en cada uno de los escenarios.

Al igual que en la función objetivo makespan, el algoritmo RAND obtiene siempre los peores resultados promedio. Vale destacar que la diferencia en la calidad de los resultados es significativamente más notoria que en la función objetivo anterior. Aquí los valores fluctúan desde un 3% del valor de RAND, mientras que antes solo lo hacían hasta un mínimo de 77%.

Este gráfico se puede complementar con la Tabla 7.7 donde se aprecian los algoritmos ordenados, de menor a mayor cantidad de pedidos incumplidos promedio. En esta ocasión algunos algoritmos obtienen el mismo valor promedio y empatan. Se puede ver que el algoritmo CXMUT nuevamente entrega los mejores resultados, aunque pierde en el escenario E2 frente al algoritmo CXPOS.

Figura 7.4. Porcentaje de la Cantidad de Pedidos Sin Cumplir Promedio de cada Algoritmo en Comparación al Algoritmo RAND por Escenario

Otra vez queda en evidencia que el algoritmo CXPOS solo entrega buenos resultados para los escenarios con muy pocas recetas y lotes (E1, E2 y E4). En los escenarios más complejos su desempeño compite muy de cerca con el algoritmo

0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 Escenario

genético NOCX, que no incluye el método de crossover, lo que significa que el

crossover basado en la posición de los lotes no aporta correctamente a la búsqueda en

estos escenarios.

El algoritmo CXEDGES, al igual que en el makespan, entrega pésimos resultados en los escenarios con pocas recetas, pero compite muy de cerca con el SA en problemas con una cantidad mayor de recetas.

Tabla 7.7. Orden de los Algoritmos de Menor a Mayor Cantidad Promedio de Pedidos Sin Cumplir por Escenario

Escenario

Orden de los Algoritmos de Menor a Mayor Cantidad Promedio de Pedidos Sin Cumplir

1 2 3 4 5 6

E1 CXMUT CXPOS NOCX SA CXEDGES RAND

E2 CXPOS SA

CXMUT - NOCX CXEDGES RAND

E3 CXMUT CXEDGES SA NOCX CXPOS RAND

E4 CXMUT SA

CXPOS - CXEDGES NOCX RAND

E5 CXMUT SA CXEDGES CXPOS NOCX RAND

E6 CXMUT CXEDGES SA NOCX CXPOS RAND

E7 CXMUT SA CXEDGES NOCX CXPOS RAND

E8 CXMUT CXEDGES SA CXPOS NOCX RAND

E9 CXMUT CXEDGES SA CXPOS NOCX RAND

E10 CXMUT CXEDGES SA NOCX CXPOS RAND

El SA se mueve entre el segundo y tercer lugar, salvo en el escenario E1 donde toma un cuarto lugar. Esto indica que también es una buena alternativa al algoritmo CXMUT.

Como síntesis, al minimizar la cantidad de pedidos sin cumplir, el CXMUT es la alternativa que obtiene mejores resultados en la mayoría de los escenarios. El algoritmo genético CXEDGES es muy buena alternativa cuando ya hay varios tipos de recetas y el CXPOS, por otro lado, sirve más que nada cuando existen pocos lotes y recetas. El SA obtiene resultados relativamente buenos en casi todos los escenarios.

Siempre es preferible utilizar cualquiera de estos algoritmos antes que una búsqueda totalmente aleatoria.

En el ANEXO K se muestra un mayor detalle de los resultados comparados de cada repetición. Cada escenario cuenta con una tabla para ambas funciones objetivo.