You are on page 1of 21

Introducci

on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Un efectivo algoritmo genetico para el


problema del arbol de cobertura mnima
generalizado
Carlos Contreras Bolton1 , Carlos Rey1 , Gustavo Gatica2 ,
Vctor Parada1
1

Departamento de Ingeniera Inform


atica, Universidad de Santiago de Chile
2 Escuela de Inform
atica, Universidad Andr
es Bello

30 de Octubre de 2013
C. Contreras Bolton et al. Un efectivo algoritmo gen
etico para el problema del
arbol de cobertura mnima generalizado

1/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Tabla de contenidos

1 Introduccion
2 Algoritmo Genetico Propuesto
3 Resultados y Discusion
4 Conclusiones

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

2/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Introduccion
Descripci
on del problema

El problema del arbol de cobertura mnima generalizado


(GMSTP), consiste en un grafo no dirigido cuyos nodos
son divididos en un numero de clusters, se busca
determinar un arbol de cobertura de costo mnimo que
incluya solo un vertice de cada clusters.

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

3/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Introduccion
Definici
on formal

Sea un grafo no dirigido G = (V , E ) de n vertices y cuyos


vertices estan particionados en m grupos {V1 , ..., Vm }, o
tambien llamados clusters. Ademas, considere que
V = V1 V2 ... Vm , tal que Vl Vk = ,
l, k {1, ..., m} con l 6= k. Considerese ademas, que las
aristas de este grafo G estan definidas solamente entre los
vertices de grupos distintos y cada arista e, tienen un
costo asociado ce .

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

4/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Introduccion
Aplicaciones del GMSTP

EL GMSTP tiene variadas aplicaciones como el riego


agrcola (Dror et al., 2000).
Aplicaciones en la fsica (Kansal & Torquato, 2001).
En informatica y biologa celular (Magnanti & Wolsey,
1995).
Determinacion de la ubicacion de los centros regionales
de servicios tales como: instalaciones publicas, sucursales,
centros de distribucion, y en los enlaces de
telecomunicaciones (Myung et al., 1995), entre otras.

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

5/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Introduccion
Estado del arte

El GMSTP pertenece a la clase NP-Hard (Myung et al.,


1995),
Ha sido tratado con una diversidad de metodos: exactos,
heursticos y metaheursticos (Ferreira et al., 2012).
Los metodos exactos, consideran distintas formulaciones
en programacion entera (Pop, 2009).
Sin embargo algunos encuentran buenas cotas inferiores
pero en un tiempo muy prolongado (Ferreira et al., 2012).
Incluso en algunos casos, no son capaces de encontrar
cotas para instancias grandes, debido a los altos recursos

requeridos de memoria (Oncan


et al., 2008).

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

6/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Introduccion
Estado del arte
Las primeras heursticas propuestas para el GMSTP son de Dror et
al. (2000). Ademas, proponen un Algoritmo Genetico (AG) canonico
de Goldberg (1989) con representaci
on binaria y operadores
tradicionales que muestra ser mejor que las heursticas planteadas.
Golden et al. (2005) proponen dos nuevos algoritmos: un algoritmo
de b
usqueda local, y un AG con representaci
on entera, el cual
combina b
usqueda local a nivel de operador de mutacion y
heursticas en el cruzamiento.

Oncan
et al.(2008) proponen un algoritmo de b
usqueda tab
u, que
logra resultados que son mejores o iguales a las de Golden et
al.(2005).
Ferreira et al. (2012) propone un GRASP que mezcla cinco
heursticas, una b
usqueda local y la tecnica de path-relinking.

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

7/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Introduccion
Propuesta

En este artculo, se propone un AG paralelo con el


enfoque genotipo-fenotipo (Rothlauf, 2006).

Este
trabaja con diferentes operadores geneticos:
Dos operadores de cruzamiento.
Cinco operadores de mutaci
on, de los cuales tres son
operadores especiales de b
usqueda local.

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

8/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Algoritmo Genetico Propuesto


Proceso Evolutivo

Algorithm 1 Algoritmo Genetico


1: Generacion Inicial ()
2: for t 0 to numero de individuos do
3:
Evaluaci
on de individuo t
4: end for
5: Generacion 1
6: while Generacion numero maximo de generaciones do
7:
for t 0 to n
umero de individuos do
8:
Selecci
on ()
9:
Cruzamiento (PX o OX)
10:
Mutaci
on (DM o M1 o BL1 o BL2 o BL3)
11:
end for
12:
for t 0 to n
umero de individuos do
13:
Evaluaci
on de individuo t
14:
end for
15:
Elitismo()
16:
if el mejor individuo es
optimo then
17:
return Mejor Individuo
18:
end if
19:
Generar nueva poblaci
on ()
20:
Generaci
on Generaci
on + 1
21: end while

. En paralelo
. En paralelo

. En paralelo

. En paralelo

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

9/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Algoritmo Genetico Propuesto


Representaci
on

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

10/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Algoritmo Genetico Propuesto


Poblaci
on Inicial

Se utilizan dos metodos: Uno genera individuos


aleatoriamente y el otro mediante una heurstica, la cual
funciona como se detalla a continuacion:
Paso 1: Conectar el primer vertice de forma aleatoria.
Paso 2: Conectar a la soluci
on parcial, el vertice de menor arista
de conexion.
Paso 3: Conectar a la soluci
on parcial, el vertice con menor
arista, que corresponda al cluster con el mayor n
umero
de vertice que no este conectado.
Paso 4: Repetir pasos 2 y 3 hasta que no existan clusters sin
conectar a la soluci
on.

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

11/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Algoritmo Genetico Propuesto


Cruzamiento

El AG utiliza dos operadores de cruzamiento:


Order Crossover (OX) (Davis, 1985).
El de dos puntos (PX) (Eiben & Smith, 2003).

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

12/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Algoritmo Genetico Propuesto


Mutaci
on

Son aplicados cinco operadores diferentes de mutacion,


todos con la misma probabilidad de ocurrencia. Dos
operadores convencionales:
Exchange mutation (EM) (Banzhaf, 1990).
Operador ad-hoc (M1), el cual selecciona un cluster
aleatoriamente y cambia al vertice por otro factible de
manera aleatoria, la operaci
on se realiza al 20 % de los
clusters de un cromosoma.
Los tres operadores restantes, son b
usquedas locales
aplicadas en un cromosoma como un tipo de operador
de mutacion. Estos operadores seleccionan un orden
aleatorio u ordenado de visitas a los clusters.

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

13/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Algoritmo Genetico Propuesto


Mutaci
on: B
usquedas locales
Algorithm 2 Busqueda Local BL1, BL2, BL3
Require: Orden[1, . . . , m], C [1, . . . , m]: Cromosoma
1: rand Generar un numero aleatorio entre 0 y 9
2: if rand % 3 6= 0 then
3:
Aleatorizar Orden
4: end if
5: mejor evaluacion (C )
6: for s 0 to m do
7:
f Orden[s]
8:
for p 0 to n
umero de v
ertices del cluster f do
9:
if C [f ] 6= p and actual evaluaci
on (C [f ] p then
10:
if es BL1 then
11:
mejor actual
. Sigue revisando si existe un v
ertice mejor
12:
else if es BL2 then
13:
mejor actual
14:
salir del para actual.
. Sigue con el cluster siguiente
15:
else
. es BL2
16:
terminar algoritmo
17:
end if
18:
else
19:
volver C [f ] a su valor original
20:
end if
21:
end for
22: end for

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

14/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Algoritmo Genetico Propuesto


Parametros geneticos

Tamano de poblacion: 100.


Numero maximo de generaciones: 100.
Probabilidad de cruzamiento: 0,9.
Probabilidad de mutacion: 0,2.
Para el experimento, se utilizaron parametros basados en
estudios de Grefenstette (1986).

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

15/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Resultados y Discusion
Caractersticas del experimento

Se implemento en C++ y Boost Graph Library (Siek et


al., 2001).
Se ejecuto en un cluster de computadores con
procesadores Intel(R) Xeon(R) CPU E5620 de 2.40GHz
con 8 nucleos y 47 Gb. de memoria RAM. En el sistema
operativo de GNU/Linux con la distribucion CentOS 6.2.

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

16/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Resultados y Discusion
Instancias

Se testeo en un conjunto de 169 instancias de tamanos


entre 48 y 226 vertices (Feremans et al., 2004; Fischetti
et al., 1995), de las cuales 150 tienen un valor optimo
conocido y para 19 se conocen solo las cotas inferiores.
Ademas, con otro grupo de 21 instancias llamado cluster
centering que tienen tamano entre 262 y 783 vertices

generados por Oncan


et al.(2008), solo se conocen cotas
inferiores para estas instancias (Ferreira et al., 2012).
Se ejecuto nuestro AG 10 veces con cada una de las 270
instancias.

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

17/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Resultados y Discusion
Resultados con las 169 instancias faciles

Algoritmo
AG
AGG
LS
TS
GRASP

Mejor
Costo
14679,0237
14679,7396
14681,1775
14679,2633
14679,0722

Mejor Error
Promedio ( %)
0,00030
0,00399
0,02169
0,00031
0,00000

Tiempo
Promedio (seg)
0,7360
40,1953
22,8107
0,3300

N
umero
de optimos
167
165
129
167
169

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

18/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Resultados y Discusion
Resultados en cluster centering

Instancias

107ali535
107att532
99d493
132d657
84fl417
53gil262
87gr431
134gr666
64lin318
131p654
113pa561
89pcb442
53pr264
60pr299
88pr439
115rat575
157rat783
80rd400
107si535
115u574
145u724
Promedio

535
532
493
657
417
262
431
666
318
654
561
442
264
299
439
575
783
400
535
574
724

137733
139216
118406
213650
84841
33521
88666
216964
49363
210044
155544
96360
34028
43786
94585
163695
304384
78754
140799
163035
259764

LB

107 114289
107
12001
99
16493
132
19427
84
7935
53
887
87 86885
134 144737
64
18471
131 22207
113
861
89
19571
53
21872
60
20290
88
51749
115
2168
157
3009
80
5868
107
12791
115
15027
145
15904

AG
Costo
114337
12001
16493
19427
7935
887
86885
144737
18471
22207
864
19571
21872
20290
51749
2170
3014
5868
12791
15032
15913
29167,476

TS
Gap
Costo
0,012
114303
0,000
12001
0,000
16493
0,000
19427
0,000
7935
0,000
887
0,000
86885
0,000
144756
0,000
18471
0,000
22208
0,348
864
0,000
19571
0,000
21872
0,000
20290
0,000
51760
0,069
2170
0,166
3017
0,000
5868
0,000
12791
0,033
15037
0,057
15905
0,033 29167,190

Gap
0,012
0,000
0,000
0,000
0,000
0,000
0,000
0,013
0,000
0,005
0,348
0,000
0,000
0,000
0,021
0,069
0,266
0,000
0,000
0,067
0,006
0,038

GRASP
EA
Costo
Gap
Costo
114303 0,012
114303
12001 0,000
12001
16493 0,000
16493
19427 0,000
19427
7935 0,000
7935
887 0,000
887
86885 0,000
86885
144773 0,025
144737
18471 0,000
18471
22207 0,000
22207
864 0,348
865
19571 0,000
19571
21872 0,000
21872
20290 0,000
20290
51749 0,000
51749
2170 0,069
2170
3012 0,100
3015
5868 0,000
5868
12791 0,000
12791
15032 0,033
15034
15904 0,000
15904
29166,905 0,028 29165,476

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

Gap
0,012
0,000
0,000
0,000
0,000
0,000
0,000
0,000
0,000
0,000
0,465
0,000
0,000
0,000
0,000
0,092
0,199
0,000
0,000
0,047
0,000
0,039

19/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Resultados y Discusion
Resultados en cluster centering

EA obtiene 16 optimos versus los 15 que obtienen el AG y


GRASP.
Cabe destacar que en la instancia 134gr666 tanto el AG y
el EA bajan la mejor solucion conocida que tena el
GRASP.
En cuanto al tiempo computacional el AG toma un
tiempo de 300,255 segundos, mientras EA 319,524
segundos, TS 617,952 segundos y GRASP no reporta el
tiempo para cada una de las instancias.
No se compara nuestro AG con el AGG, debido a que este
ultimo tiene mal desempeno con este grupo de instancias.

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

20/21

Introducci
on Algoritmo Gen
etico Propuesto Resultados y Discusi
on Conclusiones

Conclusiones

EL AG es competitivo en terminos de la calidad de


solucion y tambien en tiempo computacional, respecto a
los mejores algoritmos existentes en la literatura.
Como trabajo futuro se considera mejorar los operadores
de mutacion de busqueda local y probar nuevas
combinacion de parametros geneticos.
Usar un preprocesamiento de las instancias mediante su
reduccion.

C. Contreras Bolton et al. Un efectivo algoritmo gen


etico para el problema del
arbol de cobertura mnima generalizado

21/21

You might also like