Está en la página 1de 35

Comparación de Estrategias de Optimización para la

Solución de un Problema Combinatorio

Sebastián Bravo-Heycmar Cucás

Universidad de Nariño

Febrero 21, 2019

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 1 / 24
Agenda

1 Introducción

2 Métodos de Solución

3 Resultados

4 Conclusiones

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 2 / 24
Agenda

1 Introducción

2 Métodos de Solución

3 Resultados

4 Conclusiones

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 3 / 24
Motivación

Problemas de tipo combinatorio cuya solución demanda elevado


costo computacional.
(combinatorio = incremento de las variables de decisión, aumento
del número de soluciones factibles)
Aplicaciones: Inteligencia Artificial, Biologı́a, Transporte,
Comunicaciones, Control, entre otros.

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 4 / 24
Motivación

Problemas de tipo combinatorio cuya solución demanda elevado


costo computacional.
(combinatorio = incremento de las variables de decisión, aumento
del número de soluciones factibles)
Aplicaciones: Inteligencia Artificial, Biologı́a, Transporte,
Comunicaciones, Control, entre otros.
Estudio de distintas estrategias de Optimización.
Solución de problema combinatorio: TSP.

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 4 / 24
Planteamiento del Problema

Problema del agente viajero (TSP)


Se tienen n ciudades.
El agente debe recorrer todas las ciudades.
Cada ciudad se visita una sola vez.
El agente debe volver a la ciudad de origen (Primera ciudad
visitada).
Se encuentra la ruta más corta que recorre todas las ciudades.

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 5 / 24
Planteamiento del Problema

Conceptos
G = (V, E)
V = {v1 , v2 , v3 , v4 }
E = {e1 , e2 , e3 , e4 , e5 }

Ejemplo de Grafo. Tomado de[1]

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 6 / 24
Planteamiento del Problema

Matemáticamente
n X
X n
min f = cij yij (1)
i=1 j=1

Sujeto a: X
yij = 1 ∀ j ∈ V (2)
i=1,i6=j
X
yji = 1 ∀ i ∈ V (3)
j=1,j6=i

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 7 / 24
Planteamiento del Problema

Problema de Ingenierı́a

Diseño de Redes de Comunicación


Cableadas. Tomado de [2].

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 8 / 24
Planteamiento del Problema

Problema de Ingenierı́a

Diseño de Redes de Comunicación Entrega automática de materiales en una fábrica.


Cableadas. Tomado de [2]. Tomado de [3]

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 8 / 24
Agenda

1 Introducción

2 Métodos de Solución

3 Resultados

4 Conclusiones

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 9 / 24
Métodos de Solución

Ant Colony Optimization


Basado en el comportamiento natural de
las hormigas: foraging.
Búsqueda del camino más prometedor:
feromonas.
Intercambio de información: stigmergy

ACO. Tomado de [4]

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 10 / 24
Métodos de Solución

Ant Colony Optimization


Basado en el comportamiento natural de
las hormigas: foraging.
Búsqueda del camino más prometedor:
feromonas.
Intercambio de información: stigmergy

ACO. Tomado de [4]

Branch and Bound


Basada en dos subrutinas.
Calcula un lı́mite inferior y superior en el
valor óptimo de una región.
Evalúa distintas alternativas al mismo
tiempo, descartando las menos óptimas.
Branch & Bound. Tomado de [5]

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 10 / 24
Ant Colony Optimization
En cada iteración t, la hormiga k contruye un camino, xk (t).

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 11 / 24
Ant Colony Optimization
En cada iteración t, la hormiga k contruye un camino, xk (t).
En cada nodo ni ∈ Nik ejecuta una rutina de decisión. La hormiga
en el nodo i selecciona el siguiente nodo j ∈ Nik basada en la
probabilidad de transición:
 α ηβ
τij ij
j ∈ Nik

k α ηβ
Pij = (4)
P
j∈N k τij ij
0 j∈Nik

donde α, β ∈ R+ . ηij es la atractividad de movimiento


1 dij correponde a la distancia
ηij = (5)
dij desde el nodo i al nodo j.

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 11 / 24
Ant Colony Optimization
En cada iteración t, la hormiga k contruye un camino, xk (t).
En cada nodo ni ∈ Nik ejecuta una rutina de decisión. La hormiga
en el nodo i selecciona el siguiente nodo j ∈ Nik basada en la
probabilidad de transición:
 α ηβ
τij ij
j ∈ Nik

k α ηβ
Pij = (4)
P
j∈N k τij ij
0 j∈Nik

donde α, β ∈ R+ . ηij es la atractividad de movimiento


1 dij correponde a la distancia
ηij = (5)
dij desde el nodo i al nodo j.
y τij es el nivel de feromona
10Q
τij (0) = (6)
n ∗ D̄
donde Q ∈ R+ , n es el número de nodos
y D̄ es el promedio de las distancias.
Sebastián Bravo-Heycmar Cucás (Universidad
Introducción
de Nariño)
a la Optimización Febrero 21, 2019 11 / 24
Ant Colony Optimization
En cada iteración t, la hormiga k contruye un camino, xk (t).
En cada nodo ni ∈ Nik ejecuta una rutina de decisión. La hormiga
en el nodo i selecciona el siguiente nodo j ∈ Nik basada en la
probabilidad de transición:
 α ηβ
τij ij
j ∈ Nik

k α ηβ
Pij = (4)
P
j∈N k τij ij
0 j∈Nik

donde α, β ∈ R+ . ηij es la atractividad de movimiento


1 dij correponde a la distancia
ηij = (5)
dij desde el nodo i al nodo j.
y τij es el nivel de feromona
10Q
τij (0) = (6) τ (t + 1) = (1 − ρ)τ (t) (7)
n ∗ D̄ ij ij
+
donde Q ∈ R , n es el número de nodos
donde ρ ∈ [0, 1] es la tasa de
y D̄ es el promedio de las distancias.
olvido.
Sebastián Bravo-Heycmar Cucás (Universidad
Introducción
de Nariño)
a la Optimización Febrero 21, 2019 11 / 24
Branch and Bound

Reducción de matriz de la matriz D


Se calcula los mı́nimos de cada fila de D y restan a todas las
columnas.
Se calcula los mı́nimos de cada columna de D y restan a todas las
filas.

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 12 / 24
Branch and Bound

Reducción de matriz de la matriz D


Se calcula los mı́nimos de cada fila de D y restan a todas las
columnas.
Se calcula los mı́nimos de cada columna de D y restan a todas las
filas.
La suma de todos los mı́nimos es el costo inferior (menor).

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 12 / 24
Branch and Bound

Reducción de matriz de la matriz D


Se calcula los mı́nimos de cada fila de D y restan a todas las
columnas.
Se calcula los mı́nimos de cada columna de D y restan a todas las
filas.
La suma de todos los mı́nimos es el costo inferior (menor).
Las distancias dij se asignan como infinito cuando existe un
camino desde i hasta j. La matriz D cambia a medida que se
recorren nodos.

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 12 / 24
Branch and Bound

Reducción de matriz de la matriz D


Se calcula los mı́nimos de cada fila de D y restan a todas las
columnas.
Se calcula los mı́nimos de cada columna de D y restan a todas las
filas.
La suma de todos los mı́nimos es el costo inferior (menor).
Las distancias dij se asignan como infinito cuando existe un
camino desde i hasta j. La matriz D cambia a medida que se
recorren nodos.
Repetición del proceso hasta recorrer todos los nodos. A medida
que se descartan costos, la solución es la más óptima.

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 12 / 24
Agenda

1 Introducción

2 Métodos de Solución

3 Resultados

4 Conclusiones

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 13 / 24
Bases para la comparación

Conjunto de vértices

Coordenadas
Nodos TSP
Nodos n1 n2 n3 n4 n5 100

x 82 91 12 92 63 90

y 66 3 85 94 68 80

70
Nodos n6 n7 n8 n9 n10 60
x 9 28 55 96 97

y
50

y 76 75 39 66 17 40

Nodos n11 n12 n13 n14 n15 30

20
x 15 98 96 49 80
10
y 71 3 27 4 9 0
0 10 20 30 40 50 60 70 80 90 100
Nodos n16 n17 n18 n19 n20
x
x 14 42 92 80 96
y 83 70 32 95 3

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 14 / 24
Bases para la comparación

Las distancias entre los vértices (o


nodos) son necesarias para el
cálculo de la función de costo y se
almacenan en la matriz D
 
d11 d12 · · · d1n
 d21 d22 · · · d2n 
D= . ..  (8)
 
.. ..
 .. . . . 
dn1 dn2 · · · dnn

donde cada elemento dij ∈ D se


calcula a través de
q
dij = (xj − xi )2 − (yj − yi )2 (9)

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 15 / 24
Bases para la comparación

Las distancias entre los vértices (o


nodos) son necesarias para el
cálculo de la función de costo y se
almacenan en la matriz D
 
d11 d12 · · · d1n Parámetros ACO
 d21 d22 · · · d2n  Variable Descripción Valor
tmax Máximo Número de Iteraciones 50
D= . ..  (8)
 
.. .. k Número de Hormigas 50
 .. . . .  α Influencia concentración feromona 1
β Influencia atractividad de movimiento 1
dn1 dn2 · · · dnn ρ Tasa de evaporación 0.05

donde cada elemento dij ∈ D se


calcula a través de
q
dij = (xj − xi )2 − (yj − yi )2 (9)

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 15 / 24
Solución con diez nodos

ACO Branch and Bound


100 100

90 90

80 80

70 70

60 60
y

y
50 50

40 40

30 30

20 Camino 20 Camino

10 10

0 0
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100

x x
Algoritmos
Variable ACO Branch & Bound
Costo Mı́nimo 315.3566 315.3566
Operaciones 107704 10000000000
Sebastián Bravo-Heycmar Cucás (Universidad
Introducción
de Nariño)
a la Optimización Febrero 21, 2019 16 / 24
Solución con veinte nodos

ACO Branch and Bound


100 100

90 90

80 80

70 70

60 60
y

y
50 50

40 40

30 30

20 Camino 20 Camino

10 10

0 0
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100

x x
Algoritmos
Variable ACO Branch & Bound
Costo Mı́nimo 376.0711 372.2972
Operaciones 213304 10240000000000
Sebastián Bravo-Heycmar Cucás (Universidad
Introducción
de Nariño)
a la Optimización Febrero 21, 2019 17 / 24
Pruebas sobre ACO

ACO
100

90

80

70

60
y

50

40

30

20 Camino

10

0
0 10 20 30 40 50 60 70 80 90 100

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 18 / 24
Pruebas sobre ACO

ACO ACO
100 100

90 90

80 80

70 70

60 60
y

y
50 50

40 40

30 30

20 Camino 20 Camino

10 10

0 0
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100

x x
Pruebas Algoritmo ACO
Prueba Costo mı́nimo No. de Operciones
tmax = 100 373.7914 2265804
β=3 362.038 1228304
Sebastián Bravo-Heycmar Cucás (Universidad
Introducción
de Nariño)
a la Optimización Febrero 21, 2019 18 / 24
Agenda

1 Introducción

2 Métodos de Solución

3 Resultados

4 Conclusiones

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 19 / 24
Conclusiones

Los algoritmos propuestos para la solución del problema del agente


viajero son adecuados dado que convergen a soluciones apropiadas
y cumplen con el objetivo: encontrar la ruta de menor costo que
recorre todas las ciudades.
El algoritmo de Branch and Bound converge a una solución
adecuada pero requiere de una gran cantidad de operaciones, que
aumenta a medida que se adiciona más variables al problema. Por
su parte, el algorimo de Ant Colony Optimization demanda menor
número de operaciones; no obstante, este último depende de los
parámetros asociados a la implementación del algoritmo.

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 20 / 24
Conclusiones

Si bien con las pruebas realizadas (cambio de parámetros) sobre


Ant Colony Optimization se obtuvo una mejor solución con una
menor complejidad computacional, el uso de este tipo de estrategia
aumenta la incertidumbre dado que no siempre converge al mejor
valor de la función de costo.
La complejidad computacional asociada no requiere un esfuerzo
significativo en MATLAB, pero si se desea adecuar este tipo de
métodos en sistemas que cuentan con elementos de procesamiento
de menor capacidad, la elección de la estrategia de solución se
convierte en un factor determinante.

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 21 / 24
Trabajo Futuro

Se plantea el desarrollo un hı́brido, combinando ambas técnicas: se


extiende las ventajas de uno sobre otro, donde se espera disminuir
la incertidumbre que presentan las técnicas heurı́sticas, y al mismo
tiempo dismiuir la complejidad computacional que implica la
implementación de técnicas de tipo combinatorio.
Se propone un estudio más profundo de la complejidad
computacional puede llevar a la selección adecuada de estrategias
para la implementación en sistemas con menor capacidad de
procesamiento.
Se busca abordar problemas con mayor número de variables y
restricciones.

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 22 / 24
Referencias
Veites Rodrı́guez, A.M., Aguado Martı́n, F., Gago Couso , F.,
Ladra González, M., Peréz Vega,G. y Vidal Martı́n,C, Teorı́a de
grafos. Conceptos básicos, España, Ediciones Parainfo, 2014.
L.F. Galindres, A.H. Escobar, y R.A. Gallego,“Técnicas de
optimización combinatorial aplicada al diseño de redes de
comunicación por cable”, Scientia et Technica Año XIV, vol. 39,
Sep 2008.
G. Laporte, A. Azef-Vaziri, y C. Sriskandarajah, “Some
Applications of the Generalized Travelling Salesman Problem,
Journal of the Operational Research Society, vol. 47, pp. 1461-1467,
1996.
J. Dréo (2006). Shortest path find by an ant colony. [image]
Available at:
https://commons.wikimedia.org/wiki/File:Acobranches.svg
[Accessed 18 Feb. 2019].
Sebastián Bravo-Heycmar Cucás (Universidad
Introducción
de Nariño)
a la Optimización Febrero 21, 2019 23 / 24
Referencias

J. Gyms,M. Mezmaz, N. Melab, y D. Tuyttens, “IVM-based Work


Stealing for Parallel Branch-and-Bound on GPU” in 11th Intl.
Conf. on Parallel Processing and Applied Mathematics, Sep 2015,
Krakov, Poland.LNCS Springer Verlag.

Sebastián Bravo-Heycmar Cucás (Universidad


Introducción
de Nariño)
a la Optimización Febrero 21, 2019 24 / 24

También podría gustarte