Documentos de Académico
Documentos de Profesional
Documentos de Cultura
7, 8 Y 9 DE SEPTIEMBRE 2005
ConTECSI
INSTITUTO TECNOLGICO DE LEN
Resumen Bin Packing es un problema clsico de la computacin que busca el acomodo ptimo de
objetos en contenedores y aparece frecuentemente en tareas de distribucin y produccin de diferentes
sectores incluyendo Internet. Este problema pertenece a la clase NP-duro, y por su complejidad e
importancia se requiere contar con algoritmos heursticos que obtengan soluciones aproximadas de
buena calidad. En este trabajo se incorporan estrategias heursticas para incrementar el desempeo del
algoritmo bsico de Recocido Simulado: FFD(First Fit Decreasing), SM (Siempre el Mejor) y XI (X-
Intercambios)
Abstract Bin Packing is a classic problem of the computation that search the ideal arrangement of
objects in containers and appears frequently in tasks of distribution and production of different sectors
including Internet. This problem belongs to the class NP-hard, and by its complexity and importance it
is needed to rely on heuristic algorithms that they should obtain approximate solutions of good quality.
In this work heuristic strategies join to increase the performance of the basic algorithm of Simulated
Restew: FFD (First Fit Decreasing), SM (Always the Best) and the XE (X-Exchanges)
Palabras clave algoritmos heursticos, Bin Packing, problemas reales de optimizacin combinatoria,
Recocido Simulado.
E I. INTRODUCCIN
CONTECSI 2
7, 8 Y 9 DE SEPTIEMBRE 2005
INSTITUTO TECNOLGICO DE LEN
xiste un gran nmero de problemas reales de optimizacin combinatoria que por su complejidad
requieren algoritmos que obtienen resultados aproximados en un tiempo de procesamiento
razonable, llamados algoritmos heursticos. Entre ellos podemos citar: el problema de distribucin
de bases de datos distribuidas (Bin Packing), la asignacin de tareas a mquinas dentro de lneas de
produccin grandes, la programacin de horarios de universidades y el problema de la distribucin
de objetos en contenedores.
En [1] se realiz un anlisis de la herramienta computacional LINDO API 3.0 para Windows,
aplicada a la solucin del problema de distribucin de objetos en contenedores. Para el experimento,
se tomaron 150 casos estndar de dos libreras reconocidas por la comunidad de investigacin de
operaciones [2, 3], y se generaron de manera aleatoria 196 casos. Los recursos disponibles de
memoria (3.87 GB) y tiempo (30 minutos) no permitieron la solucin del 74% de los casos estndar
y 59% de los aleatorios. La memoria no fue suficiente para el 13% de los casos, y el tiempo para el
64%.
Por lo anterior, sera de gran utilidad contar con algoritmos heursticos que den soluciones
aproximadas, sin consumir altos recursos de cmputo. Un ejemplo de un algoritmo heurstico de
optimizacin es el Recocido Simulado que da soluciones diferentes en cada corrida, por lo que
pertenece a los algoritmos no deterministas y se basa en el proceso industrial en el que un material
se calienta por encima de su punto de fusin y luego se enfra gradualmente para eliminar defectos
en su estructura cristalina, produciendo un entramado de tomos ms estable y regular.
El recocido simulado tambin aade el concepto de temperatura'', una cantidad numrica global
que disminuye gradualmente en el tiempo. En cada paso del algoritmo, la solucin muta (lo que es
equivalente a moverse hacia un punto adyacente en el paisaje adaptativo). Luego, la aptitud de la
nueva solucin se compara con la aptitud de la solucin anterior; si es mayor, se conserva la nueva
solucin.
B. Velocidad de enfriamiento
Existe dos parmetros que definen el tiempo de ejecucin del algoritmo: el nmero de iteraciones
en una temperatura T, denotado por L(T), y la velocidad de de enfriamiento .
Al definir el algoritmo hay que lograr un equilibrio entre los parmetros y L, ya que si se realiza
una bsqueda durante pocas iteraciones para cada temperatura, son recomendables rpidos
decrementos de temperatura y viceversa[5].
C. Temperatura Final, Tf
En teora la temperatura correspondiente al sistema fro debera ser T = 0. Sin embargo, mucho
antes de llegar a ese valor es prcticamente nula la probabilidad e-/T de que se acepte un
movimiento hacia una solucin peor. Por lo tanto, normalmente se puede finalizar con valores Tf >
0, sin prdida de calidad en la solucin.
Para el problema matemtico general no existe un mtodo de resolucin, salvo para ciertos casos
particulares en los que la funcin y sus variables satisfacen condiciones especficas (continuidad,
diferenciabilidad, etc.). En numerosos casos de ndole prctica, no se dan tales condiciones y, en
consecuencia, la solucin al problema se aproxima, existiendo para ello una variedad de mtodos
heursticos.
La denominacin de los algoritmos implementados de acuerdo con las estrategias que incorporan
al algoritmo de Recocido Simulado (RS) es: FFD-RS, FFD-SM-RS y FFD-SM-XI-RS.
V. EXPERIMENTACIN
En [8] hay dos clases de casos de Bin Packing, cada una con 80 casos. La primera clase consiste
en los objetos de tamao uniformemente distribuido de 20 hasta 100 para ser distribuidos en
contenedores de tamao 150.
La segunda clase consiste en tripletas de objetos de tamao de (25, 50) para ser distribuidos en
contenedores de tamao 100. Para los casos en tripletas, los casos son construidos con un
conocimiento global ptimo de la tercera parte del nmero total de contenedores. Por ejemplo,
garantizamos una solucin ptima que tiene tres objetos por contenedores.
En [9] se cuenta con dos conjuntos de casos. El primer conjunto de datos (720 casos), es
construido de forma similar a la usada en, para las pruebas que produjeron en MTP. El segundo
conjunto de datos (480 casos) contiene parmetro que no son comprobados por el primero, mientras
el tercer conjunto contiene 9 casos difciles.
CONTECSI 5
7, 8 Y 9 DE SEPTIEMBRE 2005
INSTITUTO TECNOLGICO DE LEN
B. Metodologa de evaluacin
Se hicieron pruebas previas para obtener los parmetros ms adecuados para Recocido Simulado
con Bin Packing, los cuales se obtuvieron los siguientes: To = 40, Tf = 15 y L = 10.
Para evaluar los algoritmos se tomaron en cuenta dos criterios: el primero es el radio, que
representa el cociente entre el la solucin obtenida y la mejor solucin reportada, y el segundo
criterio es el tiempo de ejecucin. Como se trata de minimizar, un menor radio es mejor que uno
mayor.
Con finalidad de clasificar los casos de prueba se calcul el indicador de complejidad de ndice
de factores, presentado en [10]. El ndice de factores se obtuvo con la siguiente frmula:
n
factor (c, si ) (3)
i =1
f =
n
Donde:
1 si (c mod si ) = 0
factor (c, si ) = (2)
0 en caso contrario
El ndice f expresa la proporcin de objetos cuyos tamaos son factores de la capacidad del
contenedor; en donde se entiende que un objeto i es un factor cuando la capacidad del contenedor c
es mltiplo de su correspondiente tamao de objeto si. Utilizando el ndice de factores de los casos
de prueba se formaron cuatro categoras como se puede apreciar en la siguiente tabla.
C. Anlisis de resultados
TABLA I
CATEGORA DE CASOS DE BIN PACKING.
TABLA II
NMERO DE CASOS GANADOS POR LOS ALGORITMOS.
Los resultados
del
desempeo de los algoritmos en funcin del radio promedio para cada categora se muestran en la
siguiente tabla.
TABLA III
DESEMPEO DE LOS ALGORITMOS EN FUNCIN DEL RADIO PROMEDIO.
VI. CONCLUSIONES
Se muestra que los algoritmos que incorporan las estrategias propuestas tienen mejor desempeo
que Recocido Simulado y Aceptacin por Umbral; y de ellos, el algoritmo FFD-SM-XI-RS tiene el
mejor desempeo. Aproximadamente cuatro veces ms de casos ganados que Recocido Simulado.
REFERENCIAS
[1] Garca, N.: Anlisis de las Propiedades del Problema de la Distribucin de Bases de Datos y su Influecia en el Desempeo de
Algoritmos Heursticos, 2004.
[2] Beasley, J. E.: OR-Library. Brunel University. http://www.ms.ic.ac.uk/info.html. (2003)
[3] Friedrich, K.: Bin Packing. Universitt Jena. http://www.bwl.tudarmstadt.de/bwl3/forsch/projekte/binpp.html,
2002.
[4] Cruz Reyes, Laura, Clasificacin de algoritmos heursticos para la solucin de problemas de bin
packing, 2004.
[5] Daz, Adenso, Glover, Fred, Ghazini, Hasan M., y et. al., Optimizacin heurstica y redes neuronales, 1996.
[6] Adam Marczyk Algoritmos genticos y computacin evolutiva, 2004.
[7] Vzquez, Mariano Esp Un nuevo algoritmo para la optimacin de estructuras, Universidad Politcnica de Madrid Escuela
Tcnica Superior de Arquitectura Departamento de Estructuras de Edificacin, Madrid, 23 de enero de 1995.
[8] Falkenauer, E., "A Hybrid Grouping Genetic Algorithm for Bin Packing", http://
people.brunel.ac.uk/~mastjjb/jeb/orlib/binpackinfo.html, 1994.
[9] Scholl, Armin y Klein, Robert, Bin Packing, http://www.wiwi.uni-jena.de/Entscheidung/binpp/index.htm, 2005.
[10] Landero, Vanesa: Anlisis de las Regiones de Dominacin de Algoritmos Heursticos Aplicados al Diseo de Base de
Datos Distribuidas, 2004.