Evaluación de la disposición de imágenes
Los tiempos de ejecución obtenidos mediante el enfriamiento simulado no son demasiados buenos, para 10 iteraciones (un número muy bajo para el enfriamiento simulado) en un computador moderno tarda más de 10 segundos, lo que claramente es un rendimiento inaceptable. Analizando con un el ‘profiler‘ de la extensión Firebug para Mozilla Firebug se detectan los principales cuellos de botella: más del 50% del tiempo es invertido en calcular el fitness de la solución, por lo que utilizando como función de evaluación el número de espacios que quedan en la matriz no es factible aplicar el enfriamiento simulado. Podríamos utilizar otros como función de fitness el número de imágenes utilizado, pero puede utilizándose muchas imágenes el desaprovechamiento de la pantalla sea muy grande.
Analizando también la calidad de la solución obtenida, llegamos a la conclusión de que apenas existe diferencia entre aplicar el enfriamiento simulado unas pocas iteraciones y quedarnos con la primera solución de la que partíamos, como se puede observar comparando las figuras siguientes:
Para estimar cuántas iteraciones serían necesarias para obtener resultados que fuesen apreciables se hace una ejecución de 50 iteraciones en la que se enfría la temperatura cada 5 y los resultados son los observados en la imagen siguiente, comparando el espacio que queda ahora libre con el total disponible ahora sí se aprecia una importante mejora. Sin embargo, debido al tiempo que tarda cada una de las ejecuciones no es viable.
La razón por la que es difícil conseguir mejoras con respecto al algoritmo greedy inicial puede ser debida a la ordenación de mayor a menor realizada al inicio de éste. Como ya estudió Daniel Selator, una buena técnica es empezar colocando las imágenes mayores para después intentar rellenar los huecos dejados por ellas con las imágenes más pequeñas. Es obvio que si en último lugar consideramos las imágenes más grandes nos va a ser más difícil conseguir una óptima distribución.
Aún no hay comentarios.




