Así, el problema de optimización a estudiar es el siguiente:
min 𝐸(𝑊) 𝑠. 𝑎. ∑ ∑ 𝑐𝑖,𝑗 14 𝑗=1 42 𝑖=1 = 𝐻𝐻. (5.4)
El valor de 𝐸(𝑊) es imposible de determinar en función del resto de las variables del problema, por lo que para realizar esta optimización se deben ocupar herramientas específicas de optimización en simulación como OptQuest.
Además de lo anterior, las variables del problema son enteras, lo que agrega aún mayor dificultad al problema. Finalmente, el espacio factible del problema es de gran tamaño. En efecto, la cantidad de variables del problema es 42 ⋅ 14 = 588, donde
576 (588 − 14) son variables binarias. Luego, se define el espacio factible del problema:
Ω = {𝑐𝑖,𝑗; ∑ ∑ 𝑐𝑖,𝑗 14 𝑗=1 42 𝑖=1 = 𝐻𝐻, 𝑐𝑖,𝑗∈ {0,1}, 𝑐42,𝑗 ∈ {1, … ,10} ∀𝑖 = 1, … ,41, 𝑗 = 1, … ,14 }. (5.5)
Además, se define un subconjunto de este donde todas las variables son binarias: Ωb = {𝑐𝑖,𝑗; ∑ ∑ 𝑐𝑖,𝑗 14 𝑗=1 42 𝑖=1 = 𝐻𝐻, 𝑐𝑖,𝑗 ∈ {0,1} ∀𝑖 = 1, … ,42, 𝑗 = 1, … ,14}. (5.6)
Así, es claro que:
|Ω| ≥ |Ωb| = (588𝐻𝐻). (5.7) Por ejemplo, considerando 𝐻𝐻 = 396 (que corresponde al valor de horas hombre real usado en el caso práctico que se ocupó como base para este problema) se obtiene que
|Ω| ≥ 7 ⋅ 10159. (5.8) Es importante notar que en este problema es posible estimar el tamaño del espacio factible (que también corresponde al espacio de búsqueda de soluciones) ya que la restricción del problema es completamente determinística.
Además de lo anterior, este problema presenta características interesantes. Primero, el valor de la función objetivo es relativamente insensible a variaciones leves en las variables de decisión. Esto se debe a que cada 𝑐𝑖,𝑗 solo afecta a una hora de las 14 que considera el horizonte de simulación, por lo que el impacto de aumentar o disminuir en 1 el valor de un
𝑐𝑖,𝑗 particular no es muy alto. Por otro lado, dado que el supermercado es separado en sectores, existe cierta “simetría” en la función objetivo, como se muestra a continuación: suponer que se tiene una solución 𝑐 al problema donde 𝑐1,1 = 1 y 𝑐2,1 = 0 y otra solución 𝑐′ idéntica a 𝑐 pero con 𝑐′1,1 = 0 y 𝑐′2,1 = 1. Dado que las cajas 1 y 2 pertenecen al sector 1, el valor de la función objetivo es el mismo para ambas soluciones. De esta forma se pueden construir soluciones en apariencia muy diferentes pero con el mismo valor de la función objetivo. Este fenómeno es similar al observado en Martí, Laguna et al (2005) donde se aplica Scatter Search al problema de reducción de ancho de banda, que presenta propiedades similares. En dicho experimento, Scatter Search no funcionó bien debido a que la función objetivo era un mal guía para la búsqueda, por lo que es interesante analizar si algo similar ocurre con OptQuest en este caso.
5.3 Experimentos de OptQuest y resultados
En la siguiente sección se describen los resultados obtenidos al correr el algoritmo OptQuest sobre el modelo construido. Para esto, se ocupó el software de simulación Arena para programar el modelo y el paquete integrado de OptQuest para realizar las iteraciones del algoritmo. Cada réplica de este modelo tomó, en promedio, 0.148 segundos en correr en un computador PC con procesador i7-2600 3.4GHz y 8GB de memoria RAM.
Cabe recordar que una iteración de OptQuest corresponde a evaluar una solución, por lo que involucra correr más de una réplica de la simulación para así obtener valores confiables del valor de la función objetivo en dicha solución.
Se realizan cuatro experimentos diferentes. Primero, se corren 1,000 iteraciones del algoritmo para obtener primeras conclusiones acerca del rendimiento del OptQuest. Luego, se corren 10,000 iteraciones para ver si estas conclusiones se mantienen al aumentar la cantidad de iteraciones. Tras esto se ejecutan 500 iteraciones pero ahora cambiando las soluciones iniciales para analizar el efecto de éstas. Finalmente, se prueba el rendimiento del algoritmo al variar el problema, buscando minimizar la cantidad de horas hombre necesarias para mantener cierto nivel de servicio, medido según el tiempo promedio de espera en las colas.
5.3.1 Experimento 1: 1,000 iteraciones
Para analizar el rendimiento de OptQuest en este problema, primero se realizará una corrida del algoritmo de 1,000 iteraciones con 10 réplicas por iteración y 𝐻𝐻 = 396 para la restricción del problema. Se ocupan 10 réplicas ya que estas permiten realizar estimaciones de la función objetivo con un error relativo cercano al 5%. Este valor fue determinado analizando resultados obtenidos por el modelo para distintos valores de las variables de input. Este experimento tomó alrededor de 30 minutos en ejecutarse, considerando el tiempo que toma realizar cada réplica de simulación y el tiempo que toma a OptQuest realizar su lógica interna.
Para analizar el rendimiento del algoritmo, primero se estudiará la trayectoria que sigue la búsqueda. Como se explicó en la sección 4.2, en cada iteración se generan soluciones
candidatos a entrar al RefSet, ya sea mediante la combinación de dos soluciones de este conjunto u ocupando el método de diversidad. Luego, el RefSet se actualiza considerando las nuevas soluciones generadas. Se debe destacar que los paquetes comerciales de OptQuest no muestran el RefSet en ningún momento por lo que no se puede analizar qué soluciones están en este y, por tanto, se estudian las soluciones generadas durante la búsqueda. Primero, se analiza el comportamiento de la mejor solución encontrada (es decir, la mejor solución del RefSet en cada iteración), cuya evolución durante la búsqueda se ve en la figura 5-3.
Figura 5-3: Evolución de la mejor solución encontrada para el primer experimento
Las primeras soluciones probadas por el algoritmo son generadas de acuerdo a lo descrito en la sección 4.2.1, es decir, se toman los extremos (cada variable toma el valor 0 y cada variable toma el valor máximo, que es 1 o 10), el punto medio y soluciones diversas. Además, a cada solución generada se le aplica el método de mejora, buscando mejorar la calidad de la solución mediante búsquedas locales. Luego, se elige un subconjunto diverso de las soluciones anteriores como el primer RefSet y se empiezan a evaluar las soluciones.
Se observa que en las primeras iteraciones el algoritmo logra mejorar la mejor solución encontrada de forma rápida y agresiva, pero que se estabiliza mientras el número
0 1 2 3 4 5 6 1 31 61 91 121 151 181 211 241 271 301 331 361 391 421 451 481 511 541 571 601 631 661 691 721 751 781 811 841 871 901 931 961 991 Ti e mpo d e e sper a (mi n u to s) Iteración
de iteraciones aumenta. En efecto, el mejor valor encontrado mejora un 87.07% en las primeras 100 iteraciones (de 5.499 a 0.711 minutos), pero sólo mejora un 4.15% en las últimas 100 (de 0.452 a 0.433 minutos, que es el valor de la mejor solución encontrada). Más aún, en las primeras 10 iteraciones el algoritmo obtiene un mejor valor de 1.071 minutos, es decir, una mejora de 80.52% respecto a la primera solución generada. Si bien esto se debe principalmente a que la primera solución generada es de baja calidad, es interesante como el algoritmo logra generar soluciones de relativamente buena calidad muy rápidamente, probablemente gracias al método de mejora ocupado por el algoritmo.
Ahora, es interesante analizar qué tan buena es la solución encontrada. Dada la estructura del problema, no se conoce el óptimo real, pero es posible realizar estimaciones de buenos valores de la función objetivo. Para esto, se simplifica el proceso modelado, representando cada sector como un sistema 𝑀/𝑀/𝑘 independiente, donde la tasa de llegada de cada uno de ellos corresponde a la tasa promedio del día por la probabilidad de ir a ese sector y las tasas de atención se calculan ocupando los tiempos de atención por tipo de caja. Los parámetros por sector se resumen en la tabla 5-1.
Tabla 5-1: Parámetros por Sector
Sector
Probabilidad de elegir
Sector
Tasa de Llegada (clientes por hora)
Tiempo Promedio de Atención
(minutos)
Tasa Atención (clientes por hora)
Express 40% 274.32 1.23 48.83
Normal 1 24% 164.59 1.76 34.12
Normal 2 24% 164.59 1.76 34.12
Normal 3 12% 82.30 1.76 34.12
Con estos parámetros y, considerando que hay 𝑛𝑖 cajas abiertas en el sector 𝑖,
sigue (Kulkarni, 2010). Primero, se define 𝜌𝑖 = 𝜆𝑖/(𝑛𝑖𝜇𝑖), donde 𝜆𝑖 es la tasa de llegada del sector 𝑖 y 𝜇𝑖 es la tasa de atención del sector 𝑖. Si 𝜌𝑖 < 1 entonces se tiene que:
𝑃0,𝑖= ( ∑ (𝑛𝑖𝜌𝑖)𝑘 𝑘! 𝑛𝑖−1 𝑘=0 +(𝑛𝑖𝜌𝑖)𝑛𝑖 𝑛𝑖! ⋅ 1 1 − 𝜌𝑖) −1 , 𝑃𝑄,𝑖= (𝑛𝑖𝜌𝑖)𝑛𝑖 𝑛𝑖! ⋅ ( 1 1 − 𝜌𝑖) ⋅ 𝑃0,𝑖.
Aquí, 𝑃0,𝑖 es la probabilidad de que el sistema esté vacío en el largo plazo y 𝑃𝑄,𝑖 es la probabilidad de que exista cola en el largo plazo. Con todo esto, el tiempo de espera promedio a largo plazo en cada sector se calcula como
𝑊𝑖 = 𝑃𝑄,𝑖⋅
𝜌𝑖
𝜆𝑖(1 − 𝜌𝑖). (5.9) Finalmente, el tiempo de espera promedio global del sistema en el largo plazo corresponde a
𝑊 = ∑ 𝑝𝑖𝑊𝑖
4
𝑖=1
. (5.10)
En la ecuación anterior, 𝑝𝑖 es la probabilidad de que un cliente ingrese al sector 𝑖. Con todo esto, es posible encontrar la configuración que minimiza el tiempo de espera a largo plazo, evaluando todas las opciones posibles (recordar que 𝑛1 está limitado entre 1 y 10, 𝑛2 y 𝑛3 entre 1 y 14 y 𝑛4 entre 1 y 13), imponiendo que ∑4𝑖=1𝑛𝑖 = ⌊39614⌋ = 28 y que
𝜌𝑖 < 1, ∀𝑖 = 1, … ,4. Al realizar esto se obtiene que la configuración que minimiza el tiempo de espera en el largo plazo es (𝑛1, 𝑛2, 𝑛3, 𝑛4) = (9,7,8,4).
Ahora, se desea obtener un valor de tiempo de espera a corto plazo para comparar con el valor obtenido por OptQuest. Para esto, se construye una configuración de cajas para el problema original ponderando la tasa de llegadas por hora con la cantidad de cajas abiertas en la configuración anterior de la siguiente forma. Sea 𝜆ℎ la tasa de llegada en la hora ℎ, 𝜆 la tasa promedio de llegadas por hora y 𝑛𝑖ℎ la cantidad de cajas del sector 𝑖 abiertas durante la hora ℎ. Entonces, se define
𝑛𝑖ℎ = min {𝑛𝑚𝑎𝑥 𝑖, ⌈
𝜆ℎ
𝜆⌉ ⋅ 𝑛𝑖} , 𝑖 = 1, … ,4, ℎ = 1, … ,14. (5.11)
Aquí, 𝑛𝑖 es la cantidad de cajas abiertas en el sector 𝑖 en la mejor configuración a largo plazo y 𝑛𝑚𝑎𝑥𝑖 es la cantidad máxima de cajas en el sector 𝑖. Así, la matriz
{𝑛𝑖ℎ}
𝑖=1,…,4,ℎ=1,…,14 representa cuántas cajas abrir por sector y hora (ver figura 5-4). Ahora, al sumar la cantidad total de cajas abiertas se nota que hay 400 > 396 cajas abiertas, por lo que se disminuye la cantidad de cajas en el sector 3 para que sea igual al sector 2. Con esto, la cantidad de cajas abiertas pasa a ser 388 < 396. Finalmente, se abren dos cajas adicionales (una en el sector 2 y otra en el sector 3) en las horas 13 a 16 (las de mayor demanda) para así alcanzar las 396 cajas abiertas.
Figura 5-4: Cajas abiertas por hora y sector para “mejor” solución
Ahora, esta configuración se puede representar fácilmente con las variables de decisión originales 𝑐𝑖,𝑗 para encontrar una solución al problema (5.4). Para esto, se nota que
𝑐1,𝑗 = 𝑛1𝑗 ∀𝑗 y, para las cajas de los demás sectores basta con hacer que la suma de los 𝑐𝑖,𝑗 correspondientes a cada sector y hora sean iguales al 𝑛𝑖𝑗 correspondiente (por ejemplo,
0 2 4 6 8 10 12 14 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Caja s ab ie rt as Hora
Cajas abiertas por hora y sector
∑15 𝑐𝑖,1
𝑖=2 = 𝑛1𝑗 = 2). Finalmente, al evaluar la configuración encontrada, corriendo 100 réplicas del modelo de simulación, se obtiene un tiempo de espera promedio de 0.136 minutos, 69% mejor que el encontrado por OptQuest. Si bien no se puede afirmar que el valor encontrado sea el óptimo (ya que este puede ser aún menor), sí se muestra que la solución encontrada no está cerca del mejor valor posible.
En lo que sigue de esta sección se analiza la trayectoria seguida por el algoritmo. Primero, es estudian las soluciones que explora el algoritmo para verificar si no se está estabilizando en torno a un óptimo local. La figura 5-5 muestra los valores que toma la función objetivo en cada iteración, es decir, se muestra el valor de cada candidato generado por el algoritmo durante las 1,000 iteraciones.
Figura 5-5: Soluciones probadas por el algoritmo en el primer experimento
A diferencia de la figura 5-3, no se aprecia ninguna tendencia en los valores que toma la función objetivo, que oscila permanentemente entre soluciones de alta calidad (tiempos menores a 2 minutos) y soluciones de baja calidad (tiempos mayores a 10 minutos). Ahora, esto no permite verificar qué tan diferentes son las soluciones probadas por el algoritmo.
0 2 4 6 8 10 12 14 1 32 63 94 125 156 187 218 249 280 311 342 373 404 435 466 497 528 559 590 621 652 683 714 745 776 807 838 869 900 931 962 993 Ti e mp o d e e sper a (mi n u to s) Iteración
Para esto, se define la distancia entre dos soluciones 𝑐 = (𝑐𝑖,𝑗) y 𝑐′ = (𝑐𝑖,𝑗′ ) de la siguiente manera: 𝑑(𝑐, 𝑐′) = ∑ ∑ |𝑐 𝑖,𝑗− 𝑐𝑖,𝑗′ | 14 𝑗=1 42 𝑖=1 . (5.12)
Esta diferencia corresponde a la cantidad de cajas que tienen estados diferentes en cada solución. Es decir, si 𝑑(𝑐, 𝑐′) = 2, entonces las soluciones 𝑐 y 𝑐′ difieren en el estado de 2 cajas. Luego, con este indicador se puede analizar si las soluciones probadas por el algoritmo son distintas o parecidas entre sí. Se destaca que esta distancia se elige para ilustrar la diferencia entre las soluciones probadas por el algoritmo, ya que como se describe en la sección 4.2, el algoritmo evalúa la diversidad ocupando distancia euclidiana. Sin embargo, es fácil ver que cuando la métrica ocupada es alta o baja, lo mismo ocurre para la distancia euclidiana, por lo que la métrica ocupada no altera las conclusiones.
La figura 5-6 muestra la distancia entre soluciones generadas en iteraciones consecutivas del algoritmo.
Figura 5-6: Distancia entre iteraciones consecutivas primer experimento 0 100 200 300 400 500 600 1 32 63 94 125 156 187 218 249 280 311 342 373 404 435 466 497 528 559 590 621 652 683 714 745 776 807 838 869 900 931 962 993 D istan ci a Iteración
Para entender los números de la figura 5-6 es necesario calcular la distancia máxima entre dos puntos factibles para este problema. Para esto, se construyen dos soluciones
𝑥 = (𝑐𝑖,𝑗) y 𝑥′ = (𝑐𝑖,𝑗′ ) de la siguiente manera: Primero, se busca que la diferencia entre las variables del tipo 𝑐42,𝑗 sea máxima (ya que estas pueden tomar los valores más altos), luego se definen 𝑐42,𝑗 = 1, 𝑐42,𝑗′ = 10 ∀𝑗 ∈ {1, … ,14}. Después, se busca maximizar la diferencia entre las variables 𝑐𝑖,𝑗, 𝑖 ≤ 41. Considerando la restricción del problema (5.4), se deben cumplir las siguientes condiciones:
∑ ∑ 𝑐𝑖,𝑗 14 𝑗=1 41 𝑖=1 = 382, ∑ ∑ 𝑐′𝑖,𝑗 14 𝑗=1 41 𝑖=1 = 256. (5.13)
Para maximizar la diferencia, se busca que si 𝑐𝑖,𝑗 = 1 entonces 𝑐𝑖,𝑗′ = 0. Ahora, considerando que 382 + 256 = 638 y que se tienen 41 ∗ 14 = 574 variables 𝑐𝑖,𝑗, 𝑖 ≤ 41 entonces se debe tener 𝑐𝑖,𝑗 = 𝑐𝑖,𝑗′ = 1 en al menos 638 − 574 = 64 variables. Así, se construyen las variables 𝑥 y 𝑥′ de la siguiente manera: Para 𝑥, las primeras 318 = 382 − 64 variables 𝑐𝑖,𝑗 toman el valor 1, las siguientes 192 = 256 − 64 variables 𝑐𝑖,𝑗 toman el valor
0 y las últimas 64 variables 𝑐𝑖,𝑗 toman el valor 1. Para 𝑥′, las primeras 318 variables toman el valor 0, las siguientes 192 toman el valor 1 y las últimas 64 toman el valor 1. Así, para ambas variables se cumple la restricción (5.10) y se obtiene que la distancia entre ellas es:
𝑑(𝑥, 𝑥′) = 9 ∗ 14 + 318 ∗ 1 + 192 ∗ 1 + 64 ∗ 0 = 636. (5.14) Así, la figura 5-6 muestra que el algoritmo prueba soluciones diversas, donde algunas iteraciones consecutivas son muy similares mientras que otras son muy distintas (alcanzando distancias cercanas al 50% de la distancia máxima).
Por otro lado, es interesante analizar si existe alguna relación entre la diversidad de las soluciones con su calidad, es decir, si el algoritmo logra aprovechar la diversidad como medio para mejorar las soluciones encontradas durante la búsqueda. La figura 5-7 muestra en forma conjunta la distancia entre iteraciones y los valores de la función objetivo para las últimas 100 iteraciones de la búsqueda.
Figura 5-7: Relación entre distancia y valor de la función objetivo para el primer experimento
De la figura se aprecian distintos fenómenos. Primero, se observa que cuando la distancia entre iteraciones consecutivas aumenta, el valor del tiempo de espera empeora considerablemente. Por otro lado, cuando la distancia entre iteraciones consecutivas es pequeña, se observa que el valor de la función objetivo no varía considerablemente. Además, se observa que la búsqueda alterna entre grupos de iteraciones donde la distancia entre iteraciones consecutivas es baja y grupos donde la distancia entre iteraciones consecutivas es alta. Para analizar más en detalle este comportamiento, la figura 5-8 muestra el grupo de iteraciones entre la 905 y 935 para así poder apreciar de forma más clara lo que ocurre en la trayectoria de búsqueda. 0 2 4 6 8 10 12 14 0 50 100 150 200 250 300 350 400 450 901 905 909 913 917 921 925 929 933 937 941 945 949 953 957 961 965 969 973 977 981 985 989 993 997 Ti e mp o d e e sper a (mi n u to s) D istan ci a Iteración
Distancia entre iteraciones consecutivas y valor de la
función objetivo
Figura 5-8: Relación entre distancia y tiempo de espera para el grupo de iteraciones entre la 905 y 935 del primer experimento
Primero, se observa que el algoritmo prueba soluciones cercanas entre ellas entre las iteraciones 905 y 916. Dado que no se conoce el RefSet y que el algoritmo no indica el detalle de las operaciones que realiza, no se puede saber con total exactitud que está haciendo exactamente OptQuest pero es probable que en este grupo de iteraciones se estén generando soluciones mediante la combinación de soluciones del RefSet. Ahora, en la iteración 916 se observa que la distancia entre iteraciones consecutivas aumenta de forma considerable, y se mantiene en niveles altos hasta la iteración 926. Nuevamente, no se puede saber con certeza qué está haciendo el algoritmo, pero es probable que el RefSet se haya estabilizado y que el algoritmo haya ocupado el método de diversidad para generar un grupo de soluciones diversas, buscando evitar que el RefSet se estabilicé. La búsqueda vuelve a una solución de alta calidad en la iteración 927 y luego vuelve a probar soluciones cercanas hasta, al menos, la iteración 935. El comportamiento observado en este grupo de iteraciones es interesante ya que grafica la relación entre calidad y diversidad que es mencionada reiteradas veces en las descripciones de Scatter Search y OptQuest. Ahora, de este análisis surge una pregunta
0 1 2 3 4 5 6 7 8 0 50 100 150 200 250 300 350 400 450 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 Ti emp o d e e sp er a (mi n u to s) D istan ci a Iteración
Distancia entre iteraciones consecutivas y valor de la
función objetivo
natural: ¿sirve de algo la diversidad? La teoría indica que la diversidad es un elemento útil ya que permite explorar varias regiones del espacio factible y evita atascarse en óptimos locales. Sin embargo, que la diversidad efectivamente logre esto depende de cómo esté implementada, por lo que es importante analizarla.
La figura 5-8 muestra que OptQuest prueba un grupo de iteraciones diversas (de baja calidad) entre las iteraciones 916 y 927, ambas de alta calidad. Para entender el efecto de la diversidad se analiza la relación entre ambas soluciones. Primero, ambas son similares en valor de la función objetivo, con un tiempo de espera de 0.488 minutos en la iteración 916 y un tiempo de 0.465 minutos en la iteración 927. Además, la distancia entre iteraciones es 10, es decir, ambas soluciones son muy cercanas. Luego, no se logra apreciar que el uso de diversidad tenga un gran impacto en esta sección de la búsqueda. Este fenómeno se repite entre las iteraciones 943 y 954 y también entre las iteraciones 963 y 974. Es decir, las soluciones 943 y 963 son de alta calidad y el algoritmo prueba soluciones diversas de baja calidad hasta las iteraciones 954 y 974, respectivamente, ambas de alta calidad. En los dos casos los valores de la función objetivo varían poco y las distancias son pequeñas, con una distancia de 12 entre las iteraciones 943 y 954 y una distancia de 10 entre las iteraciones 963 y 974. Así, se observa que el uso de diversidad no parece tener un gran impacto sobre la búsqueda, ya que no permite encontrar soluciones de alta calidad en vecindades lejanas a las soluciones que el algoritmo genera mediante combinaciones de soluciones del RefSet. Esto puede explicarse, en parte, a que el método de diversidad descrito en la sección 4.2.1 se basa solo en encontrar soluciones alejadas al RefSet actual, sin considerar la calidad de las soluciones que genera. Luego, es altamente probable que el método no logre encontrar soluciones de alta calidad.
Así, para seguir analizando si la diversidad tiene efectos notorios en la búsqueda se estudia el conjunto de las 100 mejores soluciones encontradas por el algoritmo, que se mueve en un rango de 0.433 minutos a 0.497 minutos (lo que equivale a un rango de variación del 15%). La figura 5-9 muestra la distancia de cada una de las mejores soluciones encontradas con la mejor solución encontrada por el algoritmo.
Figura 5-9: Distancia de las mejores 100 soluciones encontradas respecto a la mejor solución encontrada para el primer experimento
En este caso, se observan distancias pequeñas entre las mejores soluciones. En efecto, la mayor diferencia observada en este gráfico (24) corresponde a un del 3.774% de la distancia máxima posible. Es decir, la diversidad de soluciones no se ve reflejada en las mejores soluciones. ¿Es posible que el algoritmo se estabilice en torno a “óptimos” locales durante la búsqueda?
Para estudiar esto, se realizó otra corrida de 1,000 iteraciones de OptQuest, independiente de la anterior (la independencia tiene efectos sobre el método de diversidad, ya que cambia la semilla aleatoria que genera soluciones diversas). En esta corrida se obtuvo un valor óptimo de 0.435 minutos, similar al obtenido en la primera corrida. Sin embargo, la distancia entre esta solución y la mejor solución encontrada en el primer experimento es de 114, valor considerablemente más alto que la distancia observada entre las 100 mejores soluciones del primer experimento. Por otro lado, el valor de 0.435 minutos es menor que el