Algoritmo-Luci+®rnaga-Binario-para-el-Problema-de-Cobertura-de-Conjuntos

download Algoritmo-Luci+®rnaga-Binario-para-el-Problema-de-Cobertura-de-Conjuntos

of 5

Transcript of Algoritmo-Luci+®rnaga-Binario-para-el-Problema-de-Cobertura-de-Conjuntos

  • 8/17/2019 Algoritmo-Luci+®rnaga-Binario-para-el-Problema-de-Cobertura-de-Conjuntos

    1/5

    Algoritmo Luciérnaga Binario para el Problema deCobertura de Conjuntos

     Binary Firefly Algorithm for the Set Covering

     Problem 

    Broderick Crawford 1,2, Ricardo Soto 1,3, Miguel Olivares Suárez 1, Fernando Paredes 4 y Franklin Johnson 51 Pontificia Universidad Católica de Valparaíso, Valparaíso, Chile

    2 Universidad San Sebastián, Santiago, Chile3 Universidad Autónoma de Chile, Santiago, Chile

    4 Universidad Diego Portales, Santiago, Chile5 Universidad de Playa Ancha, Valparaíso, Chile

     Resumen — El problema de cobertura de conjunto, pertenece a larama de los problemas de combinatoria de optimización, cuyacomplejidad exponencial se ha establecido teóricamente comoproblemas NP-complejos. Consiste en la búsqueda de unsubconjunto de columnas en una matriz de ceros y unos de talmanera que cubran todas las filas de la matriz a un costomínimo. En este trabajo, se resuelve el problema con el algoritmode Luciérnaga binario, basado en el comportamientoparpadeante de las luciérnagas, utilizando la representaciónbinaria. Una luciérnaga produce una modificación en la posiciónbasado en el brillo entre las luciérnagas. La nueva posición sedetermina mediante la modificación del valor de la vieja posiciónde la luciérnaga, pero el número de la nueva posición es unnúmero real, podemos solucionar este problema con la función debinarización tanh comparando con un número aleatoriogenerado uniformemente distribuido entre 0 y 1. El algoritmopropuesto ha sido probado en 65 instancias de referencia. Losresultados muestran que es capaz de producir solucionescompetitivas.

     Keywords: Problema de Cobertura de Conjuntos; Algoritmo

     Luciérnaga Binario; Metaheurística

     Abstract  — The set cover problem, belongs to the branch ofcombinatorial optimization problems, whose complexity isexponential theoretically established as NP-complex problems.Consists in finding a subset of columns in a matrix of zeros andones such that cover all rows of the matrix at a minimal cost. Inthis work, the problem is solved by binary Firefly algorithm,

    based on the flashing behavior of fireflies, using binaryrepresentation. A firefly produces a change in brightness basedposition between the fireflies. The new position is determined bythe change in the value of the old position of the firefly, but thenumber of the new position is a real number, we can solve thisproblem with the function tanh binarization compared with arandom number generated uniformly distributed between 0 and1. The proposed algorithm has been tested on 65 benchmarkinstances. The results show that it is capable of producingsolutions competitivas.virtualización; ultrasecuenciación genetics.

     Keywords: Coverage Problem Sets; Firefly Algorithm Binary;

     Metaheuristic

    I. 

    I NTRODUCTION 

    El problema de cobertura de conjuntos, en inglés SetCovering Problem (SCP), pertenece a la rama de los problemasde combinatoria de optimización, y se ha aplicado en muchos problemas del mundo real [1-3], tales como agendamiento detripulación en aerolíneas, problema de localización deinstalaciones, planificación de la producción en la industria. ElSCP es bien conocido como NP-complejo en el sentido fuerte[4]. Muchos algoritmos se han desarrollado para solucionarlo yse ha informado a la literatura. Algoritmos exactos se basan principalmente en la ramificación y poda y ramificación y corte[5-6]. Sin embargo, estos algoritmos consumen bastantetiempo, y sólo pueden resolver casos de tamaño muy limitado.Por esta razón, muchos de los esfuerzos de investigación se hancentrado en el desarrollo de la heurística para encontrarsoluciones buenas o casi óptimas dentro de un período tiemporazonable. Algoritmos voraces son simples, rápidos y fácil decodificar, pero rara vez producen soluciones de alta calidaddada su naturaleza determinista [7]. Un algoritmo vorazmejorado incorporando la aleatoriedad y memoria en él haobtenido resultados prometedores [8]. En comparación con losalgoritmos voraces clásicos, las heurísticas basadas en larelajación Lagrangiana con la optimización subgradiente sonmucho más eficaces. Las más eficaces son los propuestos en[9-10]. Estrategias de búsqueda de alto nivel, lasmetaheurísticas se han aplicado también al SCP. Una lista

    incompleta de este tipo de heurísticas para el SCP se incluyen:algoritmo genético [11], optimización basada en colonias dehormigas (ACO) [12-13], y algoritmos culturales [14]. Unacomprensión más profunda de la mayoría de los algoritmoseficaces para el SCP se puede encontrar en [15].

    En este trabajo, se presenta una nueva aproximación basadoen el algoritmo luciérnaga binaria para el SCP. El algoritmoluciérnaga ha sido desarrollado recientemente, comometaheurística basada en población [16-17]. Hasta ahora, se hademostrado que el algoritmo de luciérnaga es muy eficiente enel tratamiento de problemas de optimización global,

  • 8/17/2019 Algoritmo-Luci+®rnaga-Binario-para-el-Problema-de-Cobertura-de-Conjuntos

    2/5

    multimodales. Para una comprensión más profunda de larevisión de los avances y aplicaciones del algoritmo luciérnagaconsulte [18].

    II. 

    PROBLEMA DE COBERTURA DE CONJUNTOS 

    El problema de cobertura de conjuntos (SCP) se puedeformular de la siguiente manera. Digamos que ( )ij A a=  sea

    una matriz de ceros y unos de m-filas y n-columnas. Decimosque una columna  j cubre una fila i  si 1

    ija   = . Cada columna  j 

    está asociada con un costo real no negativo jc . Digamos que

    {1,...,m} I  =  y {1,..., n} J  =   como el conjunto de filas y elconjunto de columnas respectivamente. El SCP requiere unsubconjunto de mínimo costo S J ⊆ , de tal manera que cadafila i I ∈   está cubierta por al menos una columna  j S ∈ . Elmodelo matemático del SCP es

    1

    Minimizar (x)n

     j

     j

     f c x=

    = ∑ . (1)

    sujeto a

    1

    1,n

    ij j

     j

    a x i I  =

    ≥ ∀ ∈∑ . (2)

    {0,1}, j x j J ∈ ∀ ∈ . (3)

    El objetivo es reducir al mínimo la suma de los costos delas columnas seleccionadas, donde 1 j x   =  si la columna  j  está

    en la solución, 0 en caso contrario. Las restricciones aseguranque cada fila i está cubierta por al menos una columna.

    III. 

    EL ALGORITMO LUCIÉRNAGA 

    El Algoritmo Luciérnaga, en inglés Firefly Algorithm (FA)es un reciente algoritmo inspirado en la naturaleza [16-17] precisamente en el comportamiento social de las luciérnagas.El FA fue desarrollado utilizando estas tres reglas idealizadas:

    i.  Todas las luciérnagas son unisexuales y se sientenatraídas por otras luciérnagas, independientemente desu sexo.

    ii. 

    El grado de atracción de una luciérnaga es proporcional a su brillo, y por lo tanto para cualquier par de luciérnagas parpadeantes, la que es menos brillante se moverá hacia la más brillante. Más brillosignifica menos distancia entre dos luciérnagas. Sinembargo, si cualquiera de las dos luciérnagas parpadeantes tienen el mismo brillo, éstas se muevenaleatoriamente.

    iii. 

    El brillo de una luciérnaga se determina por el valorde la función objetivo. Para un problema demaximización, el brillo de cada luciérnaga es proporcional al valor de la función objetivo yviceversa.

    Como el atractivo de una luciérnaga es proporcional a laintensidad de la luz vista por las luciérnagas adyacentes, ahora

    se puede definir la variación de atractivo β   con la distancia r   por

    2

    0 e  r γ β β    −= . (4)

    donde 0β    es el atractivo de 0r  = . La distancia ijr   entre dos

    luciérnagas puede ser definida por la distancia Cartesiana. Elmovimiento de una luciérnaga i  se siente atraída por otra

    luciérnaga  j que es más atractiva (más brillante), se determina por

    21

    0

    1e ( ) (rand )

    2ijr t t t t  

    i i j i x x x xγ 

    β α −+

    = + − + − . (5)

    donde t i

     x  y t  x es la posición actual de las luciérnagas y 1t i

     x  +  es

    la ésimai  posición de la luciérnaga de la próxima generación. Elsegundo término es debido a la atracción. El tercer términointroduce la asignación aleatoria, con α    siendo el parámetrode asignación al azar y “rand” es un número aleatorio generadouniformemente distribuido entre 0 y 1.

    IV. 

    DESCRIPCIÓN DEL E NFOQUE PROPUESTO En esta sección, se propone el FA para resolver el SCP

    mediante representación binaria.

    Paso 1. Inicializar los parámetros de la luciérnaga ( γ  , 0β   , eltamaño de la población de luciérnaga y el númeromáximo de generaciones, para el proceso definalización).

    Paso 2. Inicialización de posiciones de las luciérnagas.Inicializar aleatoriamente 1 2[X ; X ;...; X ]n M   = de m soluciones o posiciones de luciérnaga en el espacio de búsqueda multidimensional, donde m  representa el

    tamaño de la población de luciérnagas. Cada soluciónde  X   está representado por un vector binario d -dimensional.

    Paso 3. 

    Evaluación del fitness de la población. Para este casola función de fitness es igual a la función objetivo delSCP (1).

    Paso 4. Modificación de la posición de la luciérnaga. Unaluciérnaga produce una modificación en la posición basada en el brillo entre las luciérnagas. La nueva posición se determina mediante la modificación delvalor (posición de la luciérnaga de antigua) usando (5) para cada dimensión de una luciérnaga. El resultadodel nuevo componente de la luciérnaga, es un númeroreal, para solucionar este problema, se compara conun número aleatorio generado uniformementedistribuido entre 0 y 1. Si es mayor que el número alazar, se asigna un 1, de lo contrario se asigna un 0.Con el fin de lograr esto, la función tanh se usa comose indica en [19]

    ''

    '

    exp(2 | x | 1)tanh(| x |)

    exp(2 | x | 1) p

     p

     p

    −=

    +. (3)

  • 8/17/2019 Algoritmo-Luci+®rnaga-Binario-para-el-Problema-de-Cobertura-de-Conjuntos

    3/5

    Paso 5. 

    La nueva solución se somete a una evaluación, si lasolución generada no es factible entonces se repara.Para hacer una solución que sea factible se debedeterminar qué filas aún no han sido cubiertas y elegirlas columnas necesarias para la cobertura. La búsqueda de estas columnas se basa en: el costo deuna columna / número de filas no cubiertas que cubrela columna j. Una vez que la solución se ha convertido

    en factible se aplica un paso de optimización paraeliminar esas columnas redundantes. Una columnaredundante es aquella que si se quita, la solución siguesiendo factible.

    Paso 6. Memorizar la mejor solución encontrada hasta ahora.Incrementar el número de generaciones.

    Paso 7. Detener el proceso y mostrar el resultado si loscriterios de finalización se cumplen. Criterios definalización utilizados en este trabajo son el númeromáximo especificado de generaciones. De locontrario, ir al paso 3.

    V. 

    EXPERIMENTOS Y R ESULTADOS El rendimiento del FA binario fue evaluado

    experimentalmente utilizando 65 instancias de prueba SCPdesde la OR-Library de Beasley [20]. Estas instancias sedividen en 11 grupos y cada grupo contiene 5 o 10 instancias.La Tabla I muestra la información detallada donde “Densidad”es el porcentaje de entradas distintas de cero en la matriz delSCP. El algoritmo fue codificado en C en NetBeans IDE 7.3con soporte para C/C++ y fue ejecutado en un PC con 1,8 GHzIntel Core 2 Duo T5670 CPU y 3,0 GB de RAM bajo elsistema Windows 8.

    TABLE I. DETALLES DE LAS I NSTACIAS DE PRUEBAS 

    ConjuntoInstancia

    N° deInstancia

    m n Densidad%

    SoluciónÓptima

    4 10 200 1000 2 Conocida

    5 10 200 2000 2 Conocida

    6 5 200 1000 5 Conocida

    A 5 300 3000 2 Conocida

    B 5 300 3000 5 Conocida

    C 5 400 4000 2 Conocida

    D 5 400 4000 5 Conocida

     NRE 5 500 5000 10 Desconocida

     NRF 5 500 5000 20 Desconocida

     NRG 5 1000 10000 2 Desconocida

     NRH 5 1000 10000 5 Desconocida

    En todos los experimentos, el FA binario fue ejecutado 50generaciones, y 30 veces cada instancia. Este número sedeterminó por la rápida convergencia a un óptimo localcercano al óptimo global. Se utilizó una población de 25luciérnagas. Los parámetros γ   , 0β    fueron inicializados en 1.

    Estos parámetros se seleccionaron de forma empírica despuésde un gran número de pruebas y mostraron buenos resultados, pero pueden no ser los óptimos para todas las instancias.

    TABLE II. R ESULTADOS E N 65 I NSTANCIAS DEL SCP

    Instancia Opt. Mejor Prom.

    4.1 429 481 481.03

    4.2 512 580 580.00

    4.3 516 619 619.03

    4.4 494 537 537.00

    4.5 512 609 609.00

    4.6 560 653 653.00

    4.7 430 491 491.07

    4.8 492 565 565.00

    4.9 641 749 749.03

    4.10 514 550 550.00

    5.1 253 296 296.03

    5.2 302 372 372.00

    5.3 226 250 250.00

    5.4 242 277 277.07

    5.5 211 253 253.00

    5.6 213 264 264.03

    5.7 293 337 337.00

    5.8 288 326 326.00

    5.9 279 350 350.00

    5.10 265 321 321.00

    6.1 138 173 173.03

    6.2 146 180 180.07

    6.3 145 160 160.00

    6.4 131 161 161.00

    6.5 161 186 186.00

    A.1 253 285 285.00

    A.2 252 285 285.07

    A.3 232 272 272.00

    A.4 234 297 297.00

    A.5 236 262 262.00

    B.1 69 80 80.03

    B.2 76 92 92.00

    B.3 80 93 93.00

    B.4 79 98 98.03

    B.5 72 87 87.00

  • 8/17/2019 Algoritmo-Luci+®rnaga-Binario-para-el-Problema-de-Cobertura-de-Conjuntos

    4/5

    C.1 227 279 279.00

    C.2 219 272 272.00

    C.3 243 288 288.00

    C.4 219 262 262.00

    C.5 215 262 262.07

    D.1 60 71 71.00

    D.2 66 75 75.00

    D.3 72 88 88.00

    D.4 62 71 71.00

    D.5 61 71 71.00

     NRE.1 29 32 32.03

     NRE.2 30 36 36.00

     NRE.3 27 35 35.00

     NRE.4 28 34 34.00

     NRE.5 28 34 34.00

     NRF.1 14 17 17.03

     NRF.2 15 17 17.00

     NRF.3 14 21 21.00

     NRF.4 14 19 19.00

     NRF.5 13 16 16.00

     NRG.1 176 230 230.03

     NRG.2 154 191 191.00

     NRG.3 166 198 198.00

     NRG.4 168 214 214.00

     NRG.5 168 223 223.00

     NRH.1 63 85 85.07

     NRH.2 63 81 81.03

     NRH.3 59 76 76.00

     NRH.4 58 75 75.00

     NRH.5 55 68 68.00

    Las Tabla II muestra los resultados obtenidos de las 65instancias. La columna “Opt.”, informa el óptimo o el valor dela mejor solución conocida de cada instancia. Las columnas

    “Mejor”, y “Prom.” informan el menor costo y promedio de lasmejores soluciones obtenidas en las 30 ejecucionesrespectivamente.

    VI.  CONCLUSIONES 

    Como se puede observar a partir de los resultadosobtenidos, la metaheurística se comporta de buena manera encasi todos los casos, con el conjunto de instancias 4, 5 y 6,existe una diferencia de costo promedio de 54 entre el óptimoglobal con el mejor óptimo obtenido. Para los demás conjuntosde instancias, el costo empieza a disminuir. El conjunto de

    instancia NRF, el algoritmo se comporta muy bien llegando atener un costo de diferencia de 2 con respecto al valor de lasolución mejor conocida (NRF.2). En este trabajo se hademostrado que el FA binario es una alternativa válida pararesolver el SCP, siendo que su uso principal es para dominioscontinuos.

    Con respecto a la variabilidad en el tamaño de las pruebas,el algoritmo se comporta bien independientemente de la escaladel problema.

    Como trabajo futuro, se llevarán a cabo los experimentostomando las funciones de transferencia binarias en forma-V yen forma-S, para la representación binaria [21].

    AGRADECIMIENTOS 

    El autor Broderick Crawford es apoyado porCONICYT/FON-DECYT/REGULAR/1140897, Ricardo Sotoes apoyado por CONICYT/FONDECYT/INICIACION/11130459 y Fernando Paredes es apoyado por CONICYT/FONDECYT/REGULAR/ 1130455.

    R EFERENCIAS 

    [1] 

    E. Housos, Elmoth, Automatic optimization of subproblems inscheduling airlines crews. Interfaces. 27(5), 1997, pp. 68-77

    [2]  F. J. Vasko, G. R. Wilson, Using a facility location algorithm to solvelarge set covering problems. Operations Research Letters, 3(2), 1984, pp. 85-90.

    [3] 

    F. J. Vasko, F. E. Wolf, Optimal selection of ingot sizes via set covering.Operations Research, 35(3), 1987, pp. 346-353.

    [4] 

    M. R. Garey, D. S. Johnson. Computers and Intractability: A Guide tothe Theory of NP-Completeness. W. H. Freeman & Co., New York, NY,USA, 1990.

    [5] 

    E. Balas, M. C. Carrera. A dynamic subgradient-based branch-and- bound procedure for set covering. Operations Research 44 (6), 1996, pp.

    875-890.[6]  M. L. Fisher, P. Kedia. Optimal solution of set covering/partitioning problems using dual heuristics. Management Science 36 (6), 1990, pp.674-688.

    [7] 

    V. Chvatal. A greedy heuristic for the set-covering problem.Mathematics of Operations Research 4 (3), 1979, pp. 233-235.

    [8]  G. Lan, G. W. DePuy. On the effectiveness of incorporating randomnessand memory into a multi-start metaheuristic with application to the setcovering problem. Comput. Ind. Eng. 51 (3), 2006, pp. 362-374.

    [9]  S. Ceria, P. Nobili, A. Sassano. A lagrangian-based heuristic for large-scale set covering problems. Mathematical Programming 81 (2), 1998, pp. 215-228.

    [10] 

    A. Caprara, M. Fischetti, P. Toth. A heuristic method for the setcovering problem. Operations Research 47 (5), 1999, pp. 730-743.

    [11] 

    J. E. Beasley, P. C. Chu: A genetic algorithm for the set covering

     problem. European Journal of Operational Research, 94(2), 1996, pp.392-404.

    [12]  B. Crawford, R. Soto, E. Monfroy, C. Castro, W. Palma, F. Paredes. Ahybrid soft computing approach for subset problems. MathematicalProblems in Engineering. Article ID 716069, 2013, pp. 1-12.

    [13] 

    Z. G. Ren, Z. R. Feng, L. J. Ke, Z. J. Zhang, New ideas for applying antcolony optimization to the set covering problem. Computers & IndustrialEngineering, 58(4), 2010, pp. 774-784.

    [14] 

    B. Crawford, R. Soto, E. Monfroy, Cultural Algorithms for the SetCovering Problem. International Conference on Swarm Intelligence,2013, pp. 27-34.

    [15] 

    A. Caprara, P. Toth, M. Fischetti, Algorithms for the set covering problem. Annals of Operations Research, 98, 2000, pp. 353-371.

  • 8/17/2019 Algoritmo-Luci+®rnaga-Binario-para-el-Problema-de-Cobertura-de-Conjuntos

    5/5

    [16] 

    X. S. Yang, Nature-Inspired Metaheuristic Algorithms, Luniver Press,UK, 2008.

    [17] 

    X. S. Yang. Firefly algorithms for multimodal optimization. In:Proceedings of the 5th International Conference on StochasticAlgorithms: Foundations and Applications. SAGA'09. Springer-Verlag,Berlin, Heidelberg, 2009, pp. 169-178.

    [18]  I. Fister, I. Fister Jr., X. S. Yang, J. Brest, A comprehensive review offirefly algorithms. Swarm and Evolutionary Computation, 13(0), 2013, pp. 34-46.

    [19] 

    K. Chandrasekaran, S. P. Sishaj, N. Prasad Padhy, Binary real codedfirefly algorithm for solving unit commitment problem. InformationSciences, 249, 2013, pp. 67-84.

    [20] 

    J. E. Beasley, A Lagrangian heuristic for set covering problems. NavalResearch Logistics, 37(1), 1990, pp. 151-164.

    [21]  S. Mirjalili, A. Lewis, S-shaped versus V-shaped transfer functions for binary Particle Swarm Optimization. Swarm and EvolutionaryComputation. 9, 2013, pp. 1-14.