UN ALGORITMO METAHEURÍSTICO DE RECOCIDO SIMULADO PARA EL 3AP-AXIAL

A METAHEURISTIC ALGORITHM OF SIMULATED ANNEALING FOR THE 3AP- AXIAL

MANUEL CENTENO ROMERO
Universidad de Oriente, Venezuela
RICHARD VELÁSQUEZ
PDVSA, Venezuela

UN ALGORITMO METAHEURÍSTICO DE RECOCIDO SIMULADO PARA EL 3AP-AXIAL

SABER. Revista Multidisciplinaria del Consejo de Investigación de la Universidad de Oriente, vol. 28, núm. 3, pp. 566-573, 2016

Universidad de Oriente

Recepción: 01 Noviembre 2013

Aprobación: 01 Marzo 2016

Resumen: En el presente trabajo se desarrolló una metaheurística de recocido simulado para la solución del problema de asignación 3-dimensional axial (3AP-axial). El 3AP-axial es un problema de optimización combinatoria perteneciente a la clase NP-difícil; es decir, no existe un algoritmo exacto que pueda resolverlo en un tiempo de cómputo razonable, en el peor de los casos. Es por ello, que se hace uso de metaheurísticas para la búsqueda de “buenas” soluciones. El algoritmo de recocido simulado es un método global de optimización muy hábil para escapar de óptimos locales, el cual efectúa una búsqueda estocástica sobre el espacio de soluciones. Los resultados obtenidos mejoran la calidad de las soluciones reportadas por otros métodos. Además, se lograron soluciones a problemas de mayor dimensión, en tiempo de cómputo menor o igual a un (1) minuto.

Palabras clave: Problema de asignación, recocido simulado, metaheurística.

Abstract: In this paper, we developed a simulated annealing metaheuristic to solve the 3-dimensional assignment problem axial (3AP-axial). The 3AP-axial is a combinatorial optimization problem belonging to the NP-hard class; that is, there are no exact algorithms that can solve it in a reasonable computating time, in the worst case. For this reason, metaheuristics was used in order to find "good" solutions. The simulated annealing algorithm is a global optimization method very clever to escape local optima, which performs a stochastic search on the solution space. The results improve the quality of the solutions reported by other methods. Furthermore, solutions were obtained to bigger size problems in a computing time of less or equal than one minute.

Keywords: Assignment problem, simulated annealing, metaheuristic.

INTRODUCCIÓN

Al extenderse la aplicabilidad del problema de asignación (AP), surge el problema de asignación 3-dimensional (3AP), con el cual se pueden plantear problemas más complejos, como por ejemplo: la asignación de aulas a profesores en determinados horarios, la asignación de trabajos a hombres en determinadas máquinas y asignación de rutas a choferes en determinados horarios (Balas y Saltzman 1991).

Recientemente, se han desarrollado investigaciones para el problema de asignación multidimensional denominado problema de asignación m-dimensional (mAP), tales como: Centeno y Salazar (2008), Gutin y Karapetyan (2009a,b), Karapetyan y Gutin (2010) y Centeno y Salazar (2012), los cuales obtienen buenas soluciones haciendo uso de métodos distintos al utilizado en esta investigación.

El 3AP, por ser tan complejo y difícil de resolver, pertenece a la clase de problemas NP-difíciles (problemas que no pueden ser resueltos eficazmente a través de algoritmos de tiempo polinomial, en el peor de los casos (Brassard y Bratley 1997)). Cabe mencionar que el 3AP fue introducido, en el año 1968, por Pierskalla, presentándose novedades sobre su aplicación entre las que se destacan: un estudio del poliedro asociado al 3AP (Balas y Saltzman 1989), y el desarrollo de un algoritmo de ramificación y acotación para su solución (Balas y Saltzman 1991).

El problema de determinar el menor costo de asignación, con tres características, se denomina problema de asignación 3-dimensional (3AP), en el cual dados tres conjuntos de índice I, J y K; con |I|=|J|=|K|=n, I∩J=∅=J∩K=I∩K, y dada la familia:

Se desea hallar la partición de S que cubra exactamente la unión de los tres conjuntos y además, que el costo de asignación sea mínimo. Este problema es también denominado 3AP-axial, para distinguirlo de otro problema de asignación 3-dimensional conocido como 3AP-planar, en el cual se desea hallar una colección de mínimos costos de n2 tripletas, formándose n conjuntos disjuntos de n tripletas disjuntas.

El modelo matemático asociado al 3AP-axial viene dado por:

sujeto a:

Debido a la dificultad que se presenta para resolver problemas NP-difíciles, se han diseñado métodos que dan como resultado “buenas” soluciones en tiempo computacional aceptable (Díaz et al. 1996, Burkard 1997). Estos métodos son denominados heurísticas, procedimientos simples, a menudo basado en el sentido común, que se supone ofrecerán una buena solución (aunque no necesariamente la óptima) a problemas difíciles, de un modo fácil y rápido (Díaz et al. 1996).

Con la finalidad de buscar soluciones a problemas NP-difíciles, en tiempos de cómputo reducidos, han surgido una serie de métodos bajo el nombre de metaheurísticas, con el propósito de obtener mejores resultados que los alcanzados por los heurísticos tradicionales. El término metaheurística fue introducido, en el año 1996, por Fred Glover. En la actualidad, suele utilizarse el término heurística para referirse a los métodos clásicos, en contraposición al de metaheurística, el cual hace referencia a los métodos heurísticos más complejos y eficientes (Reeves 1995).

El interés por los métodos metaheurísticos ha crecido imperiosamente, lo que ha llevado a muchos científicos a implementarlos para resolver una gran diversidad de problema, entre estos se tienen trabajos de investigación en los cuales se desarrollaron algoritmos utilizando técnicas metaheurísticas para resolver el problema 3AP-axial, tales como: Balas y Saltzman (1989), Balas y Saltzman (1991), Brassard y Bratley (1997), Burkard (1997), Centeno (2001), González y Centeno (2001), Centeno (2007), Centeno et al. (2010) y Centeno y Salazar (2012).

Entre las metaheurísticas que se pueden diseñar e implementar para la búsqueda de “buenas” soluciones del 3AP-axial, se encuentra el recocido simulado, el cual es un procedimiento metaheurístico utilizado para resolver problemas de optimización de gran escala, dicho procedimiento está basado en una analogía con el proceso de recocido de sólidos de la termodinámica estadística. El empleo de la distribución de Boltzmann para aceptar deterioros de la función de costo, permite guiar a otros métodos (o a procesos competentes) para escapar de la optimalidad local, por lo cual es considerada una metaheurística (Díaz et al. 1996).

Metropolis et al. (1953), determinaron que el proceso físico de recocido de sólido puede ser modelado satisfactoriamente usando métodos de simulación informática. Éstos desarrollaron un algoritmo simple para simular el proceso de enfriamiento de un sólido luego de ser sometido a un baño térmico (recocido), hasta alcanzar su equilibrio fundamental. El algoritmo ideado por estos autores se basa en técnicas de Monte Carlo. En este algoritmo, el equilibrio térmico a una temperatura determinada se consigue mediante la generación de un elevado número de transiciones, utilizando la distribución de Boltzman para describir el equilibrio térmico.

Kirkpatrick et al. (1983), propusieron un procedimiento para obtener soluciones aproximadas a problemas de optimización llamado Recocido Simulado. Este procedimiento se basa en una analogía con el comportamiento de un sistema físico, al someterlo a un baño térmico. Éstos consideraron implementar el recocido simulado en los problemas de optimización combinatoria, que surgen en el diseño de circuitos eléctricos (Pressman 1990). Por otro lado, pensaron que era posible establecer una analogía entre los parámetros que intervienen en la simulación termodinámica y los que aparecen en los métodos de optimización local, quedando relacionados de la siguiente manera: los estados del sistema se corresponden con las soluciones del problema de optimización combinatoria; la energía de los estados con el criterio de evaluación de la calidad de la solución (es decir, su costo); el estado fundamental con la de los óptimos locales. Por otra parte, el papel de la temperatura lo desempeñará un parámetro.

Implementaciones del recocido simulado manejan la cola de enfriamiento como una estructura de memoria. Es decir, la probabilidad de aceptar o rechazar un movimiento de no mejora, depende, no de la iteración (tiempo transcurrido), sino de lo sucedido en la búsqueda.

En este sentido, la probabilidad será función de algunas variables de estado del proceso. Se han diseñado algoritmos híbridos, donde la búsqueda local se realiza con un procedimiento basado en el recocido simulado en ocasiones combinado con búsqueda tabú (Gutiérrez 1991).

Hernández et al. (2011) resuelven el problema de muestra de Bomberger mediante la metaheurística recocido simulado; sus aportaciones consisten en la forma de obtener un espacio de búsqueda más restringido de las variables y una estrategia para controlar la exploración del espacio de soluciones que realiza el algoritmo, realizando una búsqueda eficiente.

En este trabajo de investigación, se desarrolla un algoritmo eficiente para la búsqueda de soluciones del 3AP-axial, utilizando la metaheurística recocido simulado.

MATERIALES Y MÉTODOS

El recocido tiene dos fases. La primera consiste en elevar la temperatura de la mezcla por encima del punto de fusión, a fin de tornarla líquida, perdiéndose toda su estructura anterior y aumentando la movilidad de sus partículas. En la segunda fase, se deja enfriar muy lentamente, para dar oportunidad a que las partículas vuelvan a configurarse de manera ordenada, antes de perder totalmente su movilidad, con el objetivo de que la estructura resultante se aproxime a la forma estable teórica. Este proceso y sus características son comunes a muchos otros fenómenos, tales como los sucesivos cambios de fase entre un gas y el sólido correspondiente. En particular, al crecimiento de un cristal por precipitación de una sustancia disuelta en agua (tal como la sal o el azúcar). La cristalización puede provocarse bien por un descenso de la temperatura o por evaporación del agua a temperatura constante. Ambos procesos son equivalentes y, si son muy lentos, conducen a un macrocristal en el que, salvo ocasionales defectos, el orden de la celda microscópica básica se reproduce sin interrupción y a larga distancia (Vásquez 1995).

En este trabajo de investigación, se desarrolló un programa basado en la metaheurística recocido simulado, para resolver el 3AP-axial, denominado RS3AP-axial. Se tomó como punto de partida el algoritmo general del 3AP-axial, cuyo pseudocódigo se presenta en la Figura 1, donde n representa el cardinal de cada conjunto I, J, K, así como el número de tripletas de cada solución. Además, de las características de los diferentes parámetros que maneja el recocido simulado. Se trata de un enfoque novedoso; ya que no se conocen trabajos en los que se utilice esta técnica heurística para resolver el problema planteado.

Posteriormente, se hicieron los ajustes necesarios al algoritmo general del recocido simulado, mostrando su diagrama de flujo en la Figura 2, donde se parte de una solución inicial x0 y de una cierta temperatura T0, y en cada etapa n se realizan L iteraciones. En cada iteración, se genera una solución xj perteneciente al espacio de soluciones vecinas de la solución actual xi y se acepta como nueva solución actual a través de la aplicación de la siguiente probabilidad de aceptación:

Donde T E R+ denota el parámetro de control. Después de la última iteración, se disminuye la temperatura T(n). Posterior a este procedimiento, se hicieron los ajustes necesarios al algoritmo general del recocido simulado, mostrado en la Figura 2, para adaptarlo al 3AP, tal como se demuestra en la Figura 3.

Algoritmo general del 3AP-axial
Figura 1
Algoritmo general del 3AP-axial

Esquema
general (diagrama de flujo) del algoritmo recocido simulado.
Figura 2
Esquema general (diagrama de flujo) del algoritmo recocido simulado.

Algoritmo RS3AP-Axial
Figura 3
Algoritmo RS3AP-Axial

La base fundamental de este algoritmo es que al principio se aceptan muchas soluciones “malas”, lo que le permite salir de un mínimo local, logrando explorar una buena parte del espacio de soluciones. Además, se pueden manipular lo diferentes parámetros, permitiendo al decisor manejar distintas opciones para obtener una solución que satisfaga el problema planteado.

Por tal motivo, resulta crucial para la implementación de la metaheurística recocido simulado, el diseño correcto de los criterios que determinan los valores de estos parámetros.

A continuación se describe el diseño de los criterios para los parámetros del RS3AP-axial:

Mientras la temperatura sea alta, habrá más probabilidad de escoger “malas” soluciones y por lo tanto, de salir de mínimos locales. El esquema propuesto en RS3AP-axial para la actualización de la temperatura, se basa en el decrecimiento geométrico en el cual la temperatura se multiplica por un factor α (factor de enfriamiento geométrico, a < 1, muy cercano a 1). Finalmente, el algoritmo fue codificado en Borland C++ Builder 5.

RESULTADOS Y DISCUSIÓN

Como esquema de trabajo, se procedió a realizar las pruebas del RS3AP-axial, utilizando instancias de problemas resueltos por otras metaheurísticas (González y Centeno 2000, Centeno et al 2010), cuyos resultados se muestran en la Tabla 1.

Se compararon los resultados obtenidos, con los generados por LINGO (lenguaje de modelos matemáticos en el que se pueden desarrollar, ejecutar y modificar dichos modelos) (Hiller y Lieberman 2002), para valores de n comprendidos entre 2 y 6; ya que para valores mayores no arroja resultados. Sin embargo, aparte de estas pruebas, se realizaron otras para valores de n entre 8 y 50.

Tabla 1
Tabla 1

Soluciones obtenidas en Gonzáles y Centeno (2001) y Centeno et al (2010).

Tabla 2
Comparación de soluciones obtenidas por el RS3AP-axial, con los dados por LINGO, los presentados en González y Centeno (2001) y Centeno et al (2010).
Comparación de
soluciones obtenidas por el RS3AP-axial, con los dados por LINGO, los
presentados en González y Centeno (2001) y Centeno et al (2010).

La Tabla 2 muestra la comparación de los resultados obtenidos por el RS3AP-axial, para n = 5, 6, 8, 10, 12, 16, 20, 30, 40 y 50, conjuntamente con los obtenidos por el algoritmo exacto codificado en LINGO y las soluciones dadas por las metaheurísticas: algoritmo genético (González y Centeno 2001) y búsqueda tabú (Centeno et al. 2010). En ella son considerados los promedios de las soluciones de las instancias utilizadas. Los tiempos han sido calculados a través de un computador Pentium III, de 933 MHz, 256 MB de memoria RAM y DD de 20 GB.

En la Tabla 2 se observa que las soluciones obtenidas por el RS3AP-axial, para n = 5 y n = 6, corresponden a la solución óptima. Por otro lado, para 8 ≤ n ≤ 16, estas soluciones, en comparación con las dadas por las otras metaheurísticas, tienen un valor objetivo promedio menor. También se presentan soluciones para 20 ≤ n ≤ 50; es decir, se resuelven problemas de mayor magnitud que los mostrados en la literatura. Además, en general, los tiempos de cómputo para el RS3AP-axial son bastante pequeños; ya que los mismos son menores o iguales a un minuto, siendo para 8 ≤ n ≤ 16 menores a los reportados por el algoritmo genético.

CONCLUSIONES Y RECOMENDACIONES

El RS3AP-axial permite establecer un balance entre eficacia y eficiencia; ya que, se alcanza el efecto esperado, la obtención de buenas soluciones, haciendo uso racional de los medios para alcanzar el objetivo con el mínimo de recursos disponibles y tiempo, lo que hace que sea una buena alternativa para resolver otros problemas de optimización combinatoria.

El RS3AP-axial obtiene la solución óptima para valores de n ≤ 6, mientras que para valores mayores a 6, los resultados van difiriendo mayormente a medida que se aumenta el valor de n; ya que aumenta el número de costos generados y, por ende, de tripletas que conforman las soluciones.

El algoritmo desarrollado mejora los resultados mostrados en González y Centeno (2001) y Centeno et al (2010), con tiempos de cómputos menores a los obtenidos en este último.

El algoritmo recocido simulado tiene muchos parámetros que se pueden ajustar y dependen unos de los otros, con lo que es difícil probar todas las posibles combinaciones dentro del ámbito de esta investigación. Este estudio debería hacerse en un trabajo futuro.

Referencias

BALAS E, SALTZMAN MJ. 1989. Facets of the Three-Index Assignment polytope. Discrete Appl. Math. 23:201-229.

BALAS E, SALTZMAN MJ. 1991. An algorithm for three-index assignment problema. Oper. Res. 31(1):150-161.

BRASSARD G, BRATLEY T. 1997. Fundamentos de algoritmia. Editorial Prentice Hall, Madrid, España, pp. 579.

BURKARD R. 1997. Quadratic and Three Dimensional Assignments. J. Oper. Res. Stat. 31(3):355-372.

CENTENO MV. 2001. Búsqueda de soluciones para el problema de asignación 3-dimensional axial a través de heurísticas. Cumaná, Venezuela: Universidad de Oriente, Escuela de Ciencias, Departamento de Matemáticas [Trabajo de Ascenso a Profesor Asociado], pp. 70.

CENTENO MV. 2007. Búsqueda de soluciones para el 3AP-axial usando búsqueda por entornos. FARAUTE. 2(1): 20-27.

CENTENO MV, SALAZAR HA. 2008. Algoritmo para el 4AP haciendo uso de la metaheurística sistema hormiga. Rev. Ing. Ind. (2):73-84.

CENTENO MV, SALAZAR JJ. 2012. Un estudio metodológico y computacional del problema de asignación multidimensional. Universidad de La Laguna, Tenerife, España, pp. 175.

CENTENO MV, URBINA CJ, SALAZAR JJ. 2010. Un algoritmo de búsqueda tabú para resolver el problema de asignación 3-dimensional axial. ICHIO. 1(1):35-45.

DÍAZ A, GLOVER F, HASSAN M., GONZÁLEZ J, LAGUNA M, MOSCATO P. 1996. Optimización heurística y redes neuronales en dirección de operaciones e ingeniería. Primera Edición. Editorial Paraninfo, Madrid, España.

GONZÁLEZ J, CENTENO MV. 2001. Desarrollo de un programa para resolver el problema de asignación 3-dimensional a través de un algoritmo genético. Saber. 13(2):123-126.

GUTIÉRREZ M. 1991. La técnica del recocido simulado y sus aplicaciones. México: Universidad Nacional Autónoma de México [Tesis Doctoral Facultad de Ingeniería], pp. 140.

GUTIN G, KARAPETYAN D. 2009a. Local search heuristics for the multidimensional assignment problem. Lect. Notes Comput. Sci. 5420:100-115.

GUTIN G, KARAPETYAN D. 2009b. A memetic algorithm for the multidimensional assignment problem. Lect Notes Comput Sc. 5752: 125-129.

HERNÁNDEZ JO, HERNÁNDEZ S, FLORES I. 2011. Algoritmo recocido simulado para el problema de la programación del tamaño del lote económico bajo el enfoque de ciclo básico. Rev. Chil. Ing, 19(3):473-485.

HILLER F, LIEBERMAN G. 2002. Investigación de Operaciones. Séptima edición. Mac Graw Hill, México, México, pp. 1085.

KARAPETYAN D, GUTIN G. 2011. A new approach to population sizing for memetic algorithms: a case study for the multidimensional assignment problem. Evol. Comput. 19:345-371.

KIRKPATRICK S, GELATT CD, VECCHI MP. 1983. Optimization by Simulated Annealing. Science, New Series. 220(4598):671-680.

METROPOLIS N, ROSENBLUTH A, ROSENBLUTH M, TELLER A. 1953. Equations of state calculations by fast computing machines. J. Chem. Phys. 21(6):1091-1097.

PRESSMAN R. 1990. Ingeniería de software: un enfoque práctico. Segunda Edición. Editorial McGraw-Hill Interamericana, Madrid, España, pp. 642.

REEVES CR. 1995. Modern heurictic techniques for combinatorial problems. Editorial McGraw-Hill, Maidenhead, UK, pp. 276.

VÁSQUEZ M. 1995. Un nuevo algoritmo para la optimización de estructuras: el recocido simulado. Madrid, España: UPM, Departamento de Estructura de Edificaciones [Tesis Doctoral E.T.S Arquitectura] pp. 205.

HTML generado a partir de XML-JATS4R por