• No se han encontrado resultados

Parte II Métodos aproximados en problemas

7.6 Resultados Tests comparativos

7.6.1 Análisis de parámetros para SA

Según la Sección 7.2 los parámetros que determinan la bondad de la heurística SA los hemos divididos en dos grupos como mostramos de forma resumida en el siguiente esquema:

• Adaptación del problema

— Conjunto S de conÞguraciones. — FunciónC de coste.

— Vecindad de cada conÞguración. — ConÞguración inicial.

• Estrategias de templado — Temperatura inicial T0.

— Disminución de la temperatura en cada iteración. — Número de iteraciones en cada temperatura N(t). — Criterio de parada.

La mayoría de estos elementos se encuentran ya Þjados y descritos en la Sección 7.2, pero existen2 parámetros que deben ser analizados para encontrar la combinación de su valores que mejor se adapta a nuestro problema. Estos son, la elección de la tempea inicialT0y la disminución

de la temperatura en cada iteración. En este sentido, según lo expuesto en la Sección 7.2 tenemos nueve posibles combinaciones en la elección de T0 y el decremento de la temperatura. Estas

combinaciones producirán nueve Casos que compararemos realizando un estudio heurístico y generando para ello, (utilizando nuestro generador aleatorio de polígonos RPG, descrito en el Apéndice A y cuya implementación se encuentra en el Apéndice B), un conjunto de50polígonos de50,100,150y200vértices y comparando el área iluminada, el tiempo empleado y el número de iteraciones realizadas por la heurística. Debe hacerse notar que en todos los casos se ha impuesto una condición para la temperatura Þnal de parada Tf ≤ 0.005. Si este valor se disminuye la solución se acercará más al óptimo, pero los tiempos de respuesta aumentarán ya que el número de conÞguraciones evaluadas será mayor. Los resultados obtenidos para cada caso, indicando la temperatura inicial T0 y el tipo de decremento son los siguientes:

I Caso 1: T0=C(S0) Tk = 1+T0k (F SA)

Presentaremos los resultados obtenidos en este primer caso en la siguiente tabla.

Vértices % Área visible Tiempo en seg. Iteraciones

50 50.3236 14.44 4621.82 100 33.4460 22.30 2322.84 150 23.7555 29.70 1638.48 200 17.4808 28.18 1076.30

Tabla 7.1:Resultados Caso 1: T0=C(S0) Tk= 1+T0k (F SA)

En esta tabla se expone, como se puede observar, la media del procentaje de área iluminada, la media del tiempo empleado en segundos y la media del número de iteraciones de llamada

del algoritmo. Análogamente presentamos en las Tablas 7.2, 7.3 los resultados obtenidos en los Casos 2 y3.

I Caso 2: T0=C(S0) Tk= Tek0 (V F SA)

Vértices % Área visible Tiempo en seg. Iteraciones

50 28.6057 0.14 37.84 100 14.5109 0.10 18.96 150 9.1404 0.12 13.24 200 6.8468 0.20 12.18

Tabla 7.2:Resultados Caso 1: T0=C(S0) Tk= Tek0 (V F SA)

I Caso 3: T0=C(S0) Tk=αTk−1 (α= 0.9)

Vértices % Área visible Tiempo en seg. Iteraciones

50 40.2871 0.74 270.36 100 20.3790 0.88 129.48 150 13.4328 1.44 98.60 200 11.4124 2.06 99.88

Tabla 7.3:Resultados Caso 1: T0=C(S0) Tk=αTk−1 (α= 0.9)

Como se puede observar en estos tres primeros casos, la elección de una temperatura inicial T0dependiente de la función de costesCsobre la conÞguración inicialS0, provoca que el número

de iteraciones en la búsqueda sea demasiado pequeño, si el decremento de la temperatura es un decremento rápido, como sucede con V F SA. Además, si el número de vértices del polígono es grande el valor de C(S0), (que corresponde al área iluminada por el punto que determina

la conÞguración inicial), tiende a ser pequeño, con lo cual el valor de la temperatura inicial T0 =C(S0)será pequeño y muy cercano a la condición de parada, y por ello la solución obtenida

se alejará del óptimo. Todos estos resultados se pueden observar en las Tablas 7.1, 7.2 y 7.3, en las cuales vemos como para estos tres primeros casos la mejor solución aportada corresponde a un decremento de temperatura lento como es F SA, con un número mayor de iteraciones y un tiempo de respuesta superior, es decir, la mejor solución aportada en estos tres primeros casos es la que produce el Caso 1.

En los tres siguientes casos haremos depender la temperatura inicial de la entrada del problema, es decir, del número de vérticesndel polígonoP. Se ha considerado una temperatura inicial lineal en el número de vértices T0 =n, pudiendo ser motivo de futuras investigaciones el

estudio del comportamiento de la heurística para funciones no lineales en la temperatura inicial. Los resultados obtenidos se muestran en la Tablas 7.4, 7.5 y 7.6 para los tres decrecimientos de temperatura considerados respectivamente.

I Caso 4: T0=n Tk = 1+T0k (F SA)

Vértices % Área visible Tiempo en seg. Iteraciones

50 51.4632 29.52 10156 100 34.7576 218.08 20381 150 24.7619 509.46 30629 200 19.7551 1333.46 40897

Tabla 7.4:Resultados Caso 1: T0=n Tk= 1+T0k (F SA)

I Caso 5: T0=n Tk = Tek0 (V F SA)

Vértices % Área visible Tiempo en seg. Iteraciones

50 26.2933 0.18 82 100 16.1801 1.16 159 150 10.4725 3.38 240 200 7.6786 7.92 318

Tabla 7.5:Resultados Caso 1: T0 =n Tk= Tek0 (V F SA)

I Caso 6: T0=n Tk =α Tk−1 (α= 0.9)

Vértices % Área visible Tiempo en seg. Iteraciones

50 37.9920 1.22 523 100 20.8935 8.78 1020 150 15.5067 25.68 1519 200 12.7956 55.42 2018

Tabla 7.6:Resultados Caso 1: T0=n Tk=α Tk−1 (α= 0.9)

Comparando estos tres últimos casos con los tres primeros para los mismo tipos de decre- mento de la temperatura, es decir, el Caso1 con el Caso 4, el Caso 2 con el Caso 5 y el Caso 3 con el Caso 6, vemos claramente como si la temperatura inicial depende de n, la solución aportada por el algoritmo mejora en todos los casos aunque el tiempo y el número de itera- ciones del algoritmo también aumenta, sobre todo cuando el decrecimiento es más lento como sucede en el Caso4. Sin embargo, si el decrecimiento de temperatura esF SA, (Casos1y4), las soluciones aportadas no diÞeren sustancialmente como vemos comparado las Tablas 7.1 y 7.4. Por tanto, podemos concluir que en general si se busca una solución más cercana al óptimo es más adecuado elegir una temperatura inicial dependiente del número de vértices del polígonoP, aunque si el decrecimiento de la temperatura es lento la elección de la temperatura inicial no resulta inßuyente.

• Mejora en general la solución aportada porSA cuando la temperatura inicial depende del número de vértices de P.

• Si el decrecimiento es lento comoF SA, la elección de la temperatura inicial, (T0 =C(S0)

óT0 =n), no resulta determinante. Un decrecimiento geométricoTk =αTk−1 (α= 0.9)

produce mejores soluciones que un decrecimiento más rápido comoV F SA.

Analizamos en los tres siguientes casos como se comportan los tres decrecimientos si la temperatura inicial es un valor constante. Como el número de vértices de los polígonos analizados es 50, 100,150 y200, se ha elegido un valor constante T0 = 100.0. Los resultados obtenidos se

muestran en las tres siguientes tablas.

I Caso 7: T0= 100.0 Tk= 1+T0k (F SA)

Vértices % Área visible Tiempo en seg. Iteraciones

50 51.7463 69.46 20381 100 34.0813 219.12 20381 150 23.5467 458.84 20381 200 19.5442 781.06 20.381

Tabla 7.7:Resultados Caso 1: T0= 100.0 Tk=1+T0k (F SA)

I Caso 8: T0= 100.0 Tk= Tek0 (V F SA)

Vértices % Área visible Tiempo en seg. Iteraciones

50 27.5832 0.46 159 100 13.8940 1.30 159 150 10.7000 2.56 159 200 7.7105 4.26 159

Tabla 7.8:Resultados Caso 1: T0= 100.0 Tk=Tek0 (V F SA)

I Caso 9: T0= 100.0 Tk=α Tk−1 (α= 0.9)

Vértices % Área visible Tiempo en seg. Iteraciones

50 38.9342 2.88 1020 100 21.3399 9.90 1020 150 14.6113 19.44 1020 200 11.4176 31.24 1020

Observando estos tres últimos casos comprobamos sorprendentemente como para una tempe- ratura inicial constante T0= 100.0los resultados mejoran cuando el decrecimiento de la tempe-

ratura es lento, como se puede observar comparando las Tablas 7.4 y 7.7. Sin embargo, este crecimiento no se puede observar si el decrecimiento de la temperatura es más rápido como sucede en los Casos8 y9.

Debemos recordar que hemos tomado una temperatura de parada Tf ≤ 0.005. Evidente- mente, si esta temperatura se disminuye los resultados de las heurística mejoran y en mayor medida aquellos casos que se encuentran más lejos de encontrar el óptimo, es decir para decre- cimientos de temperatura más rápidos:V F SAy geométrico. Por tanto, si se desea una solución aceptable y rápida se podrá obtener reduciendo la temperatura de parada y utilizando un de- crecimiento rápido como Tk=α Tk−1 (α= 0.9),(geométrico).

Es importante observar que el conjunto de variantes respecto a los parámetros de SA que se podrían estudiar es casi inÞnita. Hemos pretendido en esta memoria encontrar referencias generales para dichos parámetros, haciendo notar que un estudio más exhaustivo en futuras investigaciones podrían mejorar los resultados obtenidos.

Así, las conclusiones generales que podemos deducir del estudio realizado paraSA respecto al problema MaxA-p-Pv1(P)son las siguientes:

• Decrecimientos lentos de temperatura mejoran la solución, aunque el tiempo de respuesta del algoritmo es mayor.

• En general las mejores soluciones se consiguen tomando una temperatura inicial depen- diente del número de vértices ndel polígonoP, aunque para polígonos con un número de vértices pequeño, (n200), una temperatura inicial constante produce mejores resultados.

• Los decrecimientos rápidos son útiles cuando se desean peores soluciones pero rápidas. En estos casos una temperatura de parada menor a 0.005mejora las soluciones.

• En general los mejores resultados respecto a porcentaje de área iluminada se obtienen en el Caso 4: T0 = n Tk = 1+T0k (F SA). Este será el caso que utilizaremos para realizar la comparativa con el resto de heurísticas diseñadas.

Presentamos en la Figura 7.7 un diagrama de tallos para mostrar de forma resumida los resultados de los casos anteriores. La coordenada x representa el Caso x, la coordenada y el número de vértices del polígono donde se ha aplicado la heurística SA y la coordenada z el porcentaje medio iluminado. Los puntos representan los elementos de cada una de las tablas.