TESIS: "Resolución de Problema Militar de Búsqueda de Camino Óptimo Multiobjetivo mediante el uso de Algoritmos de Optimización basados en Colonias de Hormigas"
Presentación en español de la Tesis de A.M. Mora.
Titulada "Resolución de Problema Militar de Búsqueda de Camino Óptimo Multiobjetivo mediante el uso de Algoritmos de Optimización basados en Colonias de Hormigas"
Presentada el 5 de Mayo de 2009.
How to use Redis with MuleSoft. A quick start presentation.
TESIS: "Resolución de Problema Militar de Búsqueda de Camino Óptimo Multiobjetivo mediante el uso de Algoritmos de Optimización basados en Colonias de Hormigas"
1. Resolución del problema militar de
búsqueda de camino óptimo
multiobjetivo mediante el uso de
algoritmos de optimización basados
en colonias de hormigas
TESIS DOCTORAL
Antonio M. Mora García
05 de Mayo de 2009
Directores:
Juan Julián Merelo Guervós
Pedro Ángel Castillo Valdivieso
2. ÍNDICE
Definición del problema
Problemas multiobjetivo
Optimización basada en colonias de
hormigas
Familia de algoritmos CHAC
Algoritmos adaptados
Experimentos y Resultados
Conclusiones
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 2
3. ÍNDICE
DEFINICIÓN DEL PROBLEMA
Problemas multiobjetivo
Optimización basada en colonias de
hormigas
Familia de algoritmos CHAC
Algoritmos adaptados
Experimentos y Resultados
Conclusiones
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 3
4. DEFINICIÓN DEL PROBLEMA
DEFINICIÓN DEL PROBLEMA DE CAMINO ÓPTIMO
“ Dado un entorno en el que se tienen definidos distintos
puntos y en el que es posible trazar rutas entre ellos, y
dados dos puntos cualesquiera dentro de dicho entorno,
hallar la ruta entre ambos puntos que mejor se adecue a
una serie de criterios predeterminados ”
Dicha ruta partirá de uno de los puntos, llamado origen y llegará
hasta el otro, conocido como destino y a su vez podrá discurrir
por varios puntos intermedios.
El más famoso es el Problema de Camino Mínimo (PCM), en el que
la función a minimizar es la distancia al destino.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 4
5. DEFINICIÓN DEL PROBLEMA
PROPIEDADES DEL PROBLEMA DE CAMINO ÓPTIMO
• Se tiene un conjunto de componentes finitos (puntos).
• Se tiene una serie finita de estados, donde cada estado se
corresponde con una secuencia de componentes (lista de
puntos recorridos).
• Existe una función de vecindad que permite pasar de un
estado a otro.
• Cada cambio de estado tiene un coste asociado.
• Una solución es una secuencia de estados que verifica las
restricciones/condiciones del problema.
• Hay un coste asociado a cada solución.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 5
6. DEFINICIÓN DEL PROBLEMA
MODELADO DEL PROBLEMA DE CAMINO ÓPTIMO
Se resuelve en entornos modelados como grafos, su definición
sería:
“ dado un grafo y dos nodos (origen y destino), hallar la
lista de nodos (o arcos) que se deben atravesar para ir
desde el nodo origen al destino considerando una serie de
criterios predeterminados ”
Dicho grafo deberá cumplir una serie de condiciones:
• Podrá ser dirigido o no.
• Será un grafo conexo.
• Cada arco tendrá un peso/coste asociado.
• Una solución será una secuencia de nodos comunicados mediante
arcos.
• Cada solución tendrá asociado un coste.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 6
7. DEFINICIÓN DEL PROBLEMA
EJEMPLOS DE PROBLEMA DE CAMINO ÓPTIMO
VisualBots for Excel
• TSP hallar el circuito que parta y
llegue al mismo nodo y pase por todos
los demás, minimizando el coste
asociado a los arcos a atravesar.
• VRP hallar el conjunto de rutas que
VRP en la Wikipedia
partan de un nodo y lleguen a todos los
demás, considerando un límite de coste
por cada ruta.
Shortest path en Matlab
• Camino más corto hallar la ruta
que minimice la suma de los pesos de
los arcos a atravesar para llegar de un
nodo origen a un nodo destino.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 7
8. DEFINICIÓN DEL PROBLEMA
PROBLEMA DE CAMINO ÓPTIMO MULTIOBJETIVO
Si existen varios criterios a satisfacer en la ruta y éstos son
independientes, se habla de problemas de camino óptimo
multiobjetivo.
Propiedades:
• Cada cambio de estado tendrá varios costes asociados
• Cada solución (camino) tendrá asociado un coste por cada
uno de los criterios/objetivos.
Respecto al modelado como grafo:
• Cada arco tendrá varios pesos/costes asociados.
• Cada solución tiene asociado un coste por cada objetivo.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 8
9. DEFINICIÓN DEL PROBLEMA
ALGORITMOS DE RESOLUCIÓN DE PROBLEMAS DE CAMINO ÓPTIMO
Algoritmos informados
Metaheurísticas:
(usan heurísticas):
OCH
A*
Años 50 Actualidad
Primeros algoritmos: Aplicación de otras
metaheurísticas y
Bellman-Ford, Dijkstra mejora de las
existentes.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 9
10. DEFINICIÓN DEL PROBLEMA
PROBLEMA MILITAR DE CAMINO ÓPTIMO MULTIOBJETIVO
• Definido para resolver el problema del movimiento
de una unidad militar en el campo de batalla.
• Antes de realizar el movimiento hay que valorar dos
criterios: rapidez y seguridad.
• Son criterios contrapuestos, pero no excluyentes y
siempre deben ser valorados ambos.
• Se trata de un problema multiobjetivo.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 10
11. DEFINICIÓN DEL PROBLEMA
PROBLEMA MILITAR DE CAMINO ÓPTIMO MULTIOBJETIVO
De modo que el problema podría definirse como:
“ La búsqueda (por parte de una unidad militar)
del camino óptimo desde un punto origen hasta un
punto destino, dentro de un campo de batalla y
considerando los criterios de rapidez y seguridad ”
Este problema se llamará PMCO-2C (o PMCOMO), y será modelado
dentro de un simulador para ser resuelto.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 11
12. DEFINICIÓN DEL PROBLEMA
MODELADO DEL PMCO-2C - LA UNIDAD
La unidad militar del problema está compuesta por
soldados y vehículos, y tiene varias propiedades:
nivel de salud/energía:
salud de los soldados, estado
de los vehículos
nivel de recursos:
comida, medicinas,
combustible
no tiene armas
La unidad únicamente se mueve, de un punto origen a un
punto destino, consumiendo recursos y mermando su
salud, y evitando a los enemigos y las zonas peligrosas
del campo de batalla.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 12
13. DEFINICIÓN DEL PROBLEMA
MODELADO DEL PMCO-2C - EL MAPA
El mapa (escenario) es una rejilla de celdas hexagonales que modela un
campo de batalla. la unidad está situada en un
punto origen
la unidad debe llegar a un
punto destino
puede haber uno o más
enemigos
puede haber zonas con
impacto de armas
• coordenadas X, Y
• Tipo
• Subtipo
• Altura
• Coste en Recursos (dificultad de
atravesarla).
• Coste en Salud (bajas de no combate,
deterioro de los vehículos).
• Letalidad (consumo de salud debida al
Resolución del PMCOMO mediante OCH – Antonio M. Mora García de armas).
impacto 13
14. DEFINICIÓN DEL PROBLEMA
MODELADO DEL PMCO-2C - REALISMO
Es posible utilizar
mapas ‘reales’ como
base, definiendo una
capa de información
subyacente.
Cada celda corresponde a una zona de 500x500 metros
(tamaño real de la unidad desplegada).
Se ha considerado la línea de visión, y la capacidad de
adquisición para unidad y enemigos.
Existen obstáculos naturales.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 14
15. DEFINICIÓN DEL PROBLEMA
DEFINICIÓN DEL PMCO-2C MODELADO
El problema se define como:
Encontrar el mejor camino para
una unidad militar, que parte de
un punto y debe alcanzar otro
dentro de un campo de batalla,
en el que puede haber enemigos
vigilando y/o disparando. Dicho
camino deberá minimizar el
coste en salud y en recursos
El criterio del mejor camino a encontrar lo podrá definir
el usuario.
Estos objetivos son independientes, por lo que se trata de un
problema multiobjetivo.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 15
16. DEFINICIÓN DEL PROBLEMA
RESOLUCIÓN DEL PMCO-2C
El problema será resuelto utilizando un algoritmo de
OCH, porque:
• es una metaheurística ideada para trabajar con
grafos
• es flexible y se adapta bien a nuevas condiciones y
restricciones
• es eficiente
• ha demostrado dar muy buenos resultados en este
tipo de problemas
Dado que se trata de un problema multiobjetivo, se
utilizará un OCHMO.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 16
17. ÍNDICE
Definición del problema
PROBLEMAS MULTIOBJETIVO
Optimización basada en colonias de
hormigas
Familia de algoritmos CHAC
Algoritmos adaptados
Experimentos y Resultados
Conclusiones
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 17
18. PROBLEMAS MULTIOBJETIVO
DEFINICIÓN
• Son problemas en los que se trata de satisfacer
varios criterios.
• Cada uno de ellos será considerado un objetivo y
tendrá asociado una función a optimizar.
F(x) = ( f1(x), … , fk(x) ), para k objetivos
• Una solución será un vector x = ( x1, …, xk )
• Dominancia (si se tiende a la minimización):
en ese caso, se diría que la solución b es dominada por a.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 18
19. PROBLEMAS MULTIOBJETIVO
DEFINICIÓN
• EL grupo de soluciones no dominadas forman el llamado
Conjunto de Pareto (CP). Su representación gráfica es el
Frente de Pareto.
• En el ejemplo:
- a y b son no dominadas
- ambas dominan a c
• Generalmente los algoritmos
para resolución de problemas
multiobjetivo buscan encontrar
el máximo número de
soluciones posible del CP.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 19
20. ÍNDICE
Definición del problema
Problemas multiobjetivo
OPTIMIZACIÓN BASADA EN
COLONIAS DE HORMIGAS (OCH)
Familia de algoritmos CHAC
Algoritmos adaptados
Experimentos y Resultados
Conclusiones
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 20
21. OCH
HORMIGAS NATURALES
• Basada en el comportamiento de las hormigas
naturales. [Dorigo et al. 1991]
• Las hormigas son insectos sociales que
viven en una colonia y cooperan por un
beneficio común.
• En su búsqueda de comida, van dejando
un rastro de feromona que les permite
volver al nido.
• Cuando llegan a una bifurcación, eligen
el camino a seguir considerando con
mayor probabilidad el camino que mayor
concentración de feromona tenga.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 21
22. Hormigas Naturales
Elección de camino en una bifurcación
Rastro de Feromona
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 22
23. Hormigas Naturales
Elección de camino en una bifurcación
?
Rastro de Feromona
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 23
24. Hormigas Naturales
Elección de camino en una bifurcación
Rastro de Feromona
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 24
25. OCH
HORMIGAS NATURALES
• Los mejores caminos (los más cercanos a la comida)
van acumulando una mayor cantidad de feromona,
pues son recorridos por un mayor número de hormigas.
• Los menos prometedores van perdiendo la
feromona por evaporación, por lo que cada vez los
recorren menos hormigas.
• Tras un tiempo, las hormigas habrán creado un
camino mínimo (con rastros de feromona).
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 25
26. OCH
HORMIGAS ARTIFICIALES
• Resuelven problemas modelados como grafos con pesos en
los arcos.
• Cada arco aij del grafo contiene dos tipos de información:
– Información heurística (η ij) preferencia heurística del arco, en
base al conocimiento previo del problema. Las hormigas no la
modifican durante la ejecución del algoritmo.
– Información memorística (τ ij) medida de la “deseabilidad”
del arco, representada por la cantidad de feromona depositada
en él. Es modificada durante la ejecución del algoritmo.
• Cada hormiga artificial es un agente que construye una
solución completa recorriendo el grafo en cada iteración.
• En base a la bondad de esa solución hace un aporte de
feromona a cada arco del camino construido por ella.
• Además, se hace una evaporación de todos los arcos para evitar
el estancamiento en óptimos locales (si perduran los malos rastros)
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 26
27. OCH
CONSTRUCCIÓN DE LA SOLUCIÓN
• Para construir una solución, cada hormiga debe decidir en cada
paso el siguiente nodo al que moverse.
• Utiliza una regla de transición de estados (RTE), con la que
calcula la probabilidad de pasar a cada nodo.
- define la probabilidad con la que
una hormiga h situada en un nodo i,
pasaría al nodo j (alcanzable).
- depende de la información heurística
(η ij) y memorística (τ ij) de cada arco.
• Una vez calculada la probabilidad, se elige el siguiente nodo en
función de ésta (ruleta de probabilidades, el de mayor
probabilidad, …)
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 27
28. OCH
ALGORITMO
• El funcionamiento general de un algoritmo de OCH es:
Para cada hormiga:
Inicialización
Elegir siguiente nodo
Actualización Local
de Feromona
No hay más
hormigas
Búsqueda Local
Elegir mejor solución
Criterio de Criterio de
FIN FIN
FIN Actualización Global
es VERDAD
de Feromona es FALSO
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 28
29. OCH
MODELOS PRINCIPALES
• Sistema de Hormigas (SH):
- la actualización de feromona se hace cuando todas las
hormigas han terminado su proceso
- evaporación y aporte global lo hacen todas las hormigas
sobre los arcos de sus soluciones
• Sistema de Colonias de Hormigas (SCH):
- utiliza una regla de transición llamada regla proporcional
pseudo-aleatoria, que depende de un parámetro q0
- se incluye una actualización local (evaporación y aporte)
cada vez que una hormiga añade un nodo a su solución
- la actualización global únicamente la realiza la mejor
hormiga
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 29
30. ÍNDICE
Definición del problema
Problemas multiobjetivo
Optimización basada en colonias de
hormigas
FAMILIA DE ALGORITMOS CHAC
CHAC
Mono-CHAC
CHAC-4
CHAC-N
Algoritmos adaptados
Experimentos y Resultados
Conclusiones
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 30
31. CHAC
INTRODUCCIÓN
CHAC significa ‘Compañía de Hormigas
ACorazadas’.
Se trata de un algoritmo de Optimización basada en
Colonias de Hormigas MultiObjetivo (OCHMO).
Para resolver el problema, se transforma el espacio de
búsqueda en un grafo (cada celda es un nodo y cada arco
conecta 2 celdas vecinas).
Hay 2 pesos en cada arco.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 31
32. CHAC
DESCRIPCIÓN
CHAC es un Sistema de Colonias de Hormigas (SCH)
adaptado para trabajar con 2 objetivos.
Usa el parámetro q0 para controlar el equilibrio entre
exploración y explotación en la búsqueda.
Se utiliza una única colonia
Se tienen 2 matrices de feromona
Se usan 2 funciones heurísticas
Un parámetro (λ ∈ (0,1)) fija la importancia relativa
de cada objetivo
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 32
33. CHAC
DESCRIPCIÓN
Existen 2 reglas de transición de estados, ambas
basadas en la regla proporcional pseudoaleatoria típica
de los SCH:
Regla de Transición Combinada (RTC)
Combina la feromona con la información heurística de
los dos objetivos (multiplicándolos). Usa λ para
ponderar el primer objetivo y (1-λ ) para el segundo.
Regla de Transición basada en Dominancia (RTD)
Calcula la probabilidad de cada nodo alcanzable en
base al número de vecinos que domina, considerando la
combinación de feromona e información heurística en cada
objetivo.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 33
34. CHAC
DESCRIPCIÓN
Las funciones heurísticas:
- camino rápido (η r)
- camino seguro (η s)
La actualización de feromona (τ r, τ s):
- local al añadir un nodo a la solución en construcción.
- global al final de cada iteración y solo para las
soluciones dentro del Conjunto de Pareto (CP).
Las funciones de evaluación (una por objetivo):
- camino rápido coste en recursos y ocultación. Ff
- camino seguro coste en energía y ocultación. Fs
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 34
35. CHAC
ALGORITMO
• El funcionamiento general del algoritmo CHAC es:
Para cada hormiga:
Inicialización
Elegir siguiente nodo
Actualización Local
de Feromona
Solución
completa
Evaluar Solución
Incluir en el CP
Eliminar Dominadas
No hay más
hormigas
Criterio de Criterio de
FIN FIN
FIN Actualización Global
es VERDAD
de Feromona es FALSO
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 35
36. Mono-CHAC
DESCRIPCIÓN
Transformación de CHAC para tratar un solo objetivo.
Se hace una agregación de los objetivos para
tratarlos como uno solo. La función a minimizar sería:
F(x) = ωr · Fr(x) + ωs · Fs(x)
Es un SCH monobjetivo (también dispone del
parámetro q0).
Solo considera una función heurística, que se define
como fusión de las dos de CHAC.
Solo considera una matriz de feromonas.
Existe una función de evaluación, que combina los
factores de las dos funciones de CHAC.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 36
37. Mono-CHAC
DESCRIPCIÓN
Solo utiliza una regla de transición, la proporcional
pseudoaleatoria clásica de los SCH estándar.
No utiliza el parámetro λ.
Se hace una actualización local de feromona cada
vez que se añade un nuevo nodo a una solución.
Se hace una actualización global de feromona, pero
únicamente se aplica a los arcos de la mejor solución.
La estructura del algoritmo es igual que la de CHAC,
excepto por la consideración de una sola solución en lugar
de un Conjunto de Pareto.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 37
38. CHAC-4
DESCRIPCIÓN
Interpretación del problema para considerar 4 objetivos.
Cada uno de los criterios se subdivide en 2 objetivos:
• Rapidez consumo de recursos y
distancia media al destino
• Seguridad consumo de salud y
visibilidad
Es un SCH adaptado para tratar 4 objetivos.
Considera 4 funciones heurísticas, cada una dedicada
a minimizar uno de los objetivos.
Considera 4 matrices de feromonas, una por objetivo.
Existen 4 funciones de evaluación, una por objetivo.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 38
39. CHAC-4
DESCRIPCIÓN
Considera dos reglas de transición, RTC y RTD.
Utiliza el parámetro λ (en RTC).
Se hace una actualización local de feromona cada
vez que se añade un nuevo nodo a una solución.
Se hace una actualización global de feromona, pero
únicamente se aplica a los arcos de las soluciones en el
Conjunto de Pareto.
La estructura del algoritmo es igual que la de CHAC,
trabajando nuevamente con un conjunto de soluciones no
dominadas.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 39
40. CHAC-N
DESCRIPCIÓN
Generalización de los anteriores.
Aplicable a cualquier problema multiobjetivo resoluble
con OCH.
Trabaja con N funciones heurísticas, N matrices de
feromona y N funciones de evaluación, una por cada
objetivo.
Considera dos reglas de transición, RTC y RTD.
Se hace una actualización local de feromona cada vez que
se añade un nuevo nodo a una solución.
Se hace una actualización global de feromona, pero
únicamente se aplica a los arcos de las soluciones en el CP.
La estructura del algoritmo es igual que la de CHAC,
considerando un conjunto de soluciones no dominadas.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 40
41. ÍNDICE
Definición del problema
Problemas multiobjetivo
Optimización basada en colonias de
hormigas
Familia de algoritmos CHAC
ALGORITMOS ADAPTADOS
MOACS
BIANT
GREEDY MO
Experimentos y Resultados
Conclusiones
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 41
42. MOACS
DESCRIPCIÓN
SCH propuesto por Barán et al. en 2003, para la resolución del
VRPTW.
Propiedades:
Utiliza una sola matriz de feromonas para dos objetivos.
Considera las mismas funciones heurísticas que CHAC.
Utiliza la RTC.
Usa el parámetro λ, pero siguiendo la filosofía de CHAC
(valor fijo para todas las hormigas).
Hace reinicialización de feromona si no se mejora el CP.
actualización local de feromona.
actualización global de feromona (soluciones en el CP).
La estructura del algoritmo es similar a la de CHAC,
considerando un conjunto de soluciones no dominadas, pero con
el mecanismo de reinicialización.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 42
43. BIANT
DESCRIPCIÓN
SH presentado por Iredi et al. en 2001, para la resolución del
SMTTP.
Propiedades:
Utiliza 2 matrices de feromonas.
Considera las mismas funciones heurísticas que CHAC.
Utiliza una RTE similar a la RTC, pero sin considerar q0.
Usa el parámetro λ, pero siguiendo la filosofía de CHAC
(valor fijo para todas las hormigas).
Se hace una única actualización global de feromona, una
vez han terminado todas las hormigas de cada iteración.
Evaporación de todos los arcos + aporte de las soluciones
dentro del CP.
La estructura del algoritmo es similar a la de CHAC, con
soluciones no dominadas, pero considerando la RTE de un SH, no
hay actualización local de feromona y la actualización global
incluye evaporación y aporte.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 43
44. GREEDY MO
DESCRIPCIÓN
Enfoque greedy (voraz) clásico adaptado a un problema
multiobjetivo (con 2 objetivos).
Se basa en elegir siempre los elementos más
prometedores en cada paso.
Muy simple, construye la solución en 1 sola iteración
muchas veces no encuentra solución.
Adaptación al problema:
Elegirá como nodo siguiente aquel que domine a más
vecinos según una comparativa de funciones de coste.
Considerará como funciones de coste las funciones
heurísticas de CHAC (η r y η s).
No utiliza el parámetro λ.
Tiene un componente estocástico soluciones diferentes
en diferentes iteraciones/ejecuciones.
Si se ejecuta varias iteraciones, puede obtener un conjunto
de soluciones no dominadas.
Añade backtracking hasta 3 niveles evita estancamientos
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 44
45. ÍNDICE
Definición del problema
Problemas multiobjetivo
Optimización basada en colonias de
hormigas
Familia de algoritmos CHAC
Algoritmos adaptados
EXPERIMENTOS Y RESULTADOS
Conclusiones
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 45
46. EXPERIMENTOS Y RESULTADOS
CONSIDERACIONES PREVIAS
• Se han analizado todos los algoritmos en los mismos
mapas, con la misma configuración de parámetros.
• Los resultados han sido obtenidos para λ = 0,9 y λ =
0,1 (los extremos con λ = 1 y λ = 0).
• Todos los algoritmos obtienen un conjunto de soluciones,
excepto mono-CHAC.
• Se muestran las mejores soluciones obtenidas de
entre todos los CPs.
• Fr es el coste en rapidez/recursos y Fs es el coste
en seguridad/salud.
• En última instancia las soluciones de todos los algoritmos
han sido evaluadas usando esas funciones, incluso las de
Mono-CHAC y CHAC-4.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 46
47. EXPERIMENTOS Y RESULTADOS
DESCRIPCIÓN DEL MAPA DE EJEMPLO
El mapa ejemplo a resolver es:
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 47
48. EXPERIMENTOS Y RESULTADOS
DESCRIPCIÓN DEL MAPA DE EJEMPLO
El mapa ejemplo a resolver es:
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 48
49. EXPERIMENTOS Y RESULTADOS
CHAC-RTC
Más Rápido (λ = 0,9) 1500 iteraciones - 50 hormigas Más Seguro (λ = 0,1)
Fr = 68,5 Fs = 295,4 Fr = 80,5 Fs = 7,3
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 49
50. EXPERIMENTOS Y RESULTADOS
CHAC-RTC
Más Rápido (λ = 0,9) 1500 iteraciones - 50 hormigas Más Seguro (λ = 0,1)
Fr = 68,5 Fs = 295,4 Fr = 80,5 Fs = 7,3
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 50
51. EXPERIMENTOS Y RESULTADOS
CHAC-RTD
Más Rápido 1500 iteraciones - 50 hormigas Más Seguro
Fr = 70,5 Fs = 295,6 Fr = 102,5 Fs = 9,5
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 51
52. EXPERIMENTOS Y RESULTADOS
CHAC-RTD
Más Rápido 1500 iteraciones - 50 hormigas Más Seguro
Fr = 70,5 Fs = 295,6 Fr = 102,5 Fs = 9,5
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 52
53. EXPERIMENTOS Y RESULTADOS
CHAC-4-RTC
Más Rápido (λ = 0,9) 1500 iteraciones - 50 hormigas Más Seguro (λ = 0,1)
Fr = 70,0 Fs = 305,5 Fr = 89,0 Fs = 8,3
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 53
54. EXPERIMENTOS Y RESULTADOS
CHAC-4-RTC
Más Rápido (λ = 0,9) 1500 iteraciones - 50 hormigas Más Seguro (λ = 0,1)
Fr = 70,0 Fs = 305,5 Fr = 89,0 Fs = 8,3
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 54
55. EXPERIMENTOS Y RESULTADOS
CHAC-4-RTD
Más Rápido 1500 iteraciones - 50 hormigas Más Seguro
Fr = 71,0 Fs = 305,6 Fr = 77,37 Fs = 9,4
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 55
56. EXPERIMENTOS Y RESULTADOS
CHAC-4-RTD
Más Rápido 1500 iteraciones - 50 hormigas Más Seguro
Fr = 71,0 Fs = 305,6 Fr = 77,37 Fs = 9,4
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 56
57. EXPERIMENTOS Y RESULTADOS
Extremo-CHAC-RTC
Extremad. Rápido (λ = 1) 1500 iteraciones - 50 hormigas Extremad. Seguro (λ = 0)
Fr = 68,5 Fs = 295,4 Fr = 80,5 Fs = 7,3
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 57
58. EXPERIMENTOS Y RESULTADOS
Extremo-CHAC-RTC
Extremad. Rápido (λ = 1) 1500 iteraciones - 50 hormigas Extremad. Seguro (λ = 0)
Fr = 68,5 Fs = 295,4 Fr = 80,5 Fs = 7,3
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 58
59. EXPERIMENTOS Y RESULTADOS
extremo-CHAC-RTD
Extremad. Rápido 1500 iteraciones - 50 hormigas Extremad. Seguro
Fr = 72,0 Fs = 285,8 Fr = 93,0 Fs = 9,0
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 59
60. EXPERIMENTOS Y RESULTADOS
extremo-CHAC-RTD
Extremad. Rápido 1500 iteraciones - 50 hormigas Extremad. Seguro
Fr = 72,0 Fs = 285,8 Fr = 93,0 Fs = 9,0
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 60
61. EXPERIMENTOS Y RESULTADOS
extremo-CHAC-4-RTC
Extremad. Rápido (λ = 1) 1500 iteraciones - 50 hormigas Extremad. Seguro (λ = 0)
Fr = 69,5 Fs = 295,5 Fr = 91,0 Fs = 8,2
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 61
62. EXPERIMENTOS Y RESULTADOS
extremo-CHAC-4-RTC
Extremad. Rápido (λ = 1) 1500 iteraciones - 50 hormigas Extremad. Seguro (λ = 0)
Fr = 69,5 Fs = 295,5 Fr = 91,0 Fs = 8,2
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 62
63. EXPERIMENTOS Y RESULTADOS
extremo-CHAC-4-RTD
Extremad. Rápido 1500 iteraciones - 50 hormigas Extremad. Seguro
Fr = 71,0 Fs = 305,6 Fr = 97,0 Fs = 9,4
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 63
64. EXPERIMENTOS Y RESULTADOS
extremo-CHAC-4-RTD
Extremad. Rápido 1500 iteraciones - 50 hormigas Extremad. Seguro
Fr = 71,0 Fs = 305,6 Fr = 97,0 Fs = 9,4
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 64
65. EXPERIMENTOS Y RESULTADOS
MOACS
Más Rápido (λ = 0,9) 1500 iteraciones - 50 hormigas Más Seguro (λ = 0,1)
Fr = 74,0 Fs = 286,0 Fr = 89,50 Fs = 8,2
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 65
66. EXPERIMENTOS Y RESULTADOS
MOACS
Más Rápido (λ = 0,9) 1500 iteraciones - 50 hormigas Más Seguro (λ = 0,1)
Fr = 74,0 Fs = 286,0 Fr = 89,50 Fs = 8,2
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 66
67. EXPERIMENTOS Y RESULTADOS
BIANT
Más Rápido (λ = 0,9) 1500 iteraciones - 50 hormigas Más Seguro (λ = 0,1)
Fr = 84,5 Fs = 297,0 Fr = 146,50 Fs = 13,9
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 67
68. EXPERIMENTOS Y RESULTADOS
BIANT
Más Rápido (λ = 0,9) 1500 iteraciones - 50 hormigas Más Seguro (λ = 0,1)
Fr = 84,5 Fs = 297,0 Fr = 146,50 Fs = 13,9
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 68
69. EXPERIMENTOS Y RESULTADOS
GREEDY MO
Más Rápido (λ = 0,9) 1500 iteraciones - 50 hormigas Más Seguro (λ = 0,1)
Fr = 96,0 Fs = 307,5 Fr = 104,13 Fs = 301,1
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 69
70. EXPERIMENTOS Y RESULTADOS
GREEDY MO
Más Rápido (λ = 0,9) 1500 iteraciones - 50 hormigas Más Seguro (λ = 0,1)
Fr = 96,0 Fs = 307,5 Fr = 104,13 Fs = 301,1
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 70
71. EXPERIMENTOS Y RESULTADOS
Mono-CHAC
1500 iteraciones - 50 hormigas
Fr = 78,0 Fs = 7,5
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 71
72. EXPERIMENTOS Y RESULTADOS
Mono-CHAC
1500 iteraciones - 50 hormigas
Fr = 78,0 Fs = 7,5
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 72
74. EXPERIMENTOS Y RESULTADOS
CONCLUSIONES DE LOS RESULTADOS
• CHAC obtiene los mejores resultados tras su
implementación extrema. RTC mejor que RTD.
• CHAC-4 consigue muy buenos resultados con RTD.
• MOACS encuentra buenas soluciones, pero peores en
media que las de los algoritmos propuestos
• BiAnt tiene soluciones a las que les falta bastante
refinamiento (alto componente explorativo).
• Greedy MO obtiene soluciones directas al destino en
todos los casos, por lo que serán buenas si la zona
intermedia es segura.
• Mono-CHAC consigue buenas soluciones ‘consenso’.
Los algoritmos propuestos resuelven satisfactoriamente el
problema y son mejores que los adaptados.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 74
75. EXPERIMENTOS Y RESULTADOS
ÉSTUDIO PARÁMETRO λ
• Comparación de resultados obtenidos con configuración de λ fija
(enfoque de CHAC) y variable (enfoque original de MOACS y BiAnt).
• La configuración fija obtiene mejores resultados en general.
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 75
76. EXPERIMENTOS Y RESULTADOS
APLICACIÓN DE BÚSQUEDA LOCAL
• Se ha implementado un método de refinamiento de soluciones que se aplica una
vez generadas las soluciones de todas las hormigas.
• Cada una de ellas se modifica en ciertos puntos buscando una mejora.
• Se han conseguido mejoras en los algoritmos que peores resultados ofrecían (los
más explorativos).
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 76
77. ÍNDICE
Definición del problema
Problemas multiobjetivo
Optimización basada en colonias de
hormigas
Familia de algoritmos CHAC
Algoritmos adaptados
Experimentos y Resultados
CONCLUSIONES
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 77
78. Publicaciones
EN EL MARCO DEL TRABAJO
• Revistas Internacionales:
“CHAC. A MOACO Algorithm for Computation of Bi-Criteria
Military Unit Path in the Battlefield: Presentation and First
Results”.
International Journal of Intelligent Systems. Aceptado 2007,
publicado 2009.
• Congresos Internacionales:
NICSO 2006
EVO* 2007
GECCO 2007
ECAL 2007
NICSO 2007
CEC 2008
• Congresos Nacionales:
CEDI 2005
MAEB 2007
Resolución del PMCOMO mediante OCH – Antonio M. Mora García 78
Con la venia del tribunal comenzaré la defensa de mi tesis.
En primer lugar
A continuación se definirá formalmente el problema a tratar en esta tesis, partiendo desde su definición general de PCO, hasta su modelización como PMCO-2C.
El problema que nos ocupa en esta tesis es el llamado problema de camino óptimo (PCO). Su definición sería: … (contenido transparencia) … Incluso como parte del problema se pueden tener restricciones que limiten en cierta forma las soluciones, como el hecho de tener que pasar por determinados puntos obligatoriamente. En el PCM las distancia al destino es la suma de las distancias parciales entre cada dos puntos que se atraviesen en el camino desde el origen al destino.
A continuación veremos las propiedades que tienen los PCOs. Los componentes finitos sería los puntos del problema. Los estados representan la serie de puntos atravesados en un determinado momento. La función de vecindad define el llamado vecindario de cada punto (puntos a los que se puede pasar en cada momento). El coste asociado al cambio de estado lo define la función a minimizar. La solución cumple con las restricciones o condiciones impuestas al principio. Una solución será mejor o peor en función de su coste.
Este problema normalmente se resuelve en entornos modelados como grafos. De modo que se puede volver a definir como: Los arcos podrán tener una sola dirección o no ambas Conexo cada nodo está comunicado con al menos otro (hay un camino entre cada par de nodos). Aunque es posible que no se pueda ir de un nodo a otro por restricciones Una solución es un camino dentro del grafo Cada solución tendrá asociado un coste, calculado como suma de los costes de moverse entre cada dos nodos dentro del camino solución. Los costes/pesos podrán ser vectores.
TSP circuito o ciclo que parte y llega a un mismo nodo y pasa una sola vez por cada uno de los demás. La función de coste suele ser la distancia entre cada dos nodos. VRP dado un nodo central, encontrar el conjunto de rutas que pasan por todos los nodos y vuelven a éste, estando limitados los costes para cada ruta Camino mínimo llegar de un nodo a otro con el menor coste posible
La mejora de uno de ellos no implica una mejora en otro, e incluso puede significar un empeoramiento. Se hará por tanto una redefinición del problema... … tanto general, como del modelado como grafo.
Los primeros algoritmos se diseñaron para resolver PCMs en los años 50. Bellman-Ford Construye todos los caminos mínimos desde el nodo origen a todos los demás dentro del grafo. Puede trabajar con arcos con pesos negativos y con ciclos Dijkstra similar al anterior, pero más eficiente. Tiene como condición que no haya pesos negativos Los algoritmos informados (los que usan heurísticas para guiar la búsqueda) aparecieron en los años 60-70 El máximo exponente de los algoritmos informados es el: A* algoritmo que usa heurísticas para guiar la búsqueda Metaheurísticas son técnicas de propósito general utilizadas para guiar la búsqueda o construcción de soluciones, así como para la mejora de soluciones. Se aplican a problemas de difícil resolución, como problemas de optimización combinatoria. Utilizan conceptos de diversas ramas, como la biología, la física, las matemáticas,… OCH es la que mejor se adapta a la resolución de los PCOs porque fue diseñada desde un principio para tratar con problemas que se pudiesen formular como grafos. De hecho en su primera concepción fue aplicada a la resolución del TSP. En la actualidad se adaptan otras metaheurísticas y se mejoran las ya aplicadas. Redefinición del problema (multiobjetivo, casos concretos, etc)
El movimiento es la forma de acción fundamental junto con el fuego. Es la primera de las acciones de la maniobra militar. Con dicha acción, la unidad se acerca o aleja del enemigo o se mueve hasta un punto de objetivo. Se considerará una CIA como unidad, ya que es la entidad más pequeña con autonomía plena. Antes de realizar esa acción, se deben valorar dos criterios: rapidez y seguridad. El primero prima cuando hay una restricción de tiempo para llegar al destino o cuando no hay cobertura. Se buscarán los caminos más directos y menos costosos en general. El segundo tiene más prioridad cuando la misión es informar o no se conoce a ciencia cierta la situación del enemigo. Se buscará moverse por zonas ocultas. Hay que tenerlos siempre en cuenta los dos. PMCO-2C Problema Militar de Camino Óptimo Bi-Criterio
El movimiento es la forma de acción fundamental junto con el fuego. Es la primera de las acciones de la maniobra militar. Con dicha acción, la unidad se acerca o aleja del enemigo o se mueve hasta un punto de objetivo. Se considerará una CIA como unidad, ya que es la entidad más pequeña con autonomía plena. Antes de realizar esa acción, se deben valorar dos criterios: rapidez y seguridad. El primero prima cuando hay una restricción de tiempo para llegar al destino o cuando no hay cobertura. Se buscarán los caminos más directos y menos costosos en general. El segundo tiene más prioridad cuando la misión es informar o no se conoce a ciencia cierta la situación del enemigo. Se buscará moverse por zonas ocultas. Hay que tenerlos siempre en cuenta los dos. PMCO-2C Problema Militar de Camino Óptimo Bi-Criterio
Respecto a la Unidad: Salud/Energia un número que representa el total de puntos de vida o estado de los vehículos Recursos un número que representa los consumibles, comida, medicinas, etc No tiene armas porque la unidad únicamente se mueve, no ataca La salud también merma por cansancio, heridas, etc, son las llamadas ‘bajas de no combate’
Hemos implementado un mini-simulador para crear y editar mapas, además de la posibilidad de ejecutar los algoritmos y visualizar las soluciones obtenidas. Los colores indican el tipo de la celda: Marrón normal/tierra, dificultad mínima para atravesarla Azul agua. La mayor dificultad Verde bosque, vegetación. Mayor dificultad y proporciona ocultación Negro obstáculo. La unidad no puede atravesarlo Los tonos dentro del mismo color indican altura, de forma que a mayor altura más oscuro será el color (siguiendo el esquema de los tonos hipsométricos), aunque en ellos el agua se representa al revés (oscuro es profundo) y aquí sigue el mismo esquema que lo demás. Los subtipos se representan con cambios en el diseño de la celda: Borde negro punto de origen (posición de la unidad) Borde amarillo punto de destino Borde rojo enemigo El color rojo de algunas celdas indica su letalidad debida al impacto de armas enemigas, cuanto más rojo sea, mayor daño producirá a la unidad si las atraviesa. Por tanto, en este mapa (de 30x30) se puede ver un bosque con el punto de destino, un río y un lago (con diferentes profundidades), un monte, una sima y un obstáculo. Además hay un enemigo batiendo una zona con sus armas.
Existen una serie de propiedades y funciones que aportan realismo al modelado del problema, lo hacen más fiel a la realidad. En el mapa de la izquierda se puede ver una zona con mucha vegetación y en medio un lago con varios ríos. Existen dos enemigos. La unidad está situada (punto origen) en la parte noroeste y debe ir hacia el sureste (punto destino). A la derecha se puede ver la capa de información subyacente que modela dicho mapa. La línea de visión es lo que puede ver un enemigo. Es obstruida por celdas con altura superior a aquella en la que está situado el enemigo. También por celdas de tipo bosque si son tan altas como la suya o si la unidad está dentro de ellas. La capacidad de adquisición es la distancia máxima a la que una unidad puede ver. Limita la línea de visión y es el radio de exploración de la unidad cuando no hay enemigo conocido en el mapa. Son 9 Km en el mundo real 18 celdas. Los obstáculos naturales los constituye la máxima diferencia de alturas que la unidad puede atravesar. Son distintos de los artificiales, los cuales los define el enemigo y se señalan con celdas negras.
El coste en recursos depende del tipo de las celdas que atraviesa la unidad y sus diferencias de altura (mayor si se pasa de una más baja a otra más alta). El coste en energía es la suma de la letalidad y el coste en energía que tenga asociado la celda (bajas de no combate). Hablamos de ‘rápidez’ como bajo coste en recursos porque los recursos son la dificultad de atravesar la celda, de forma que, a más dificultad, menos velocidad (considerando velocidad constante). Además, si la unidad atraviesa menos celdas, menos coste de recursos habrá, lo cual corresponde a un camino más directo. Hablamos de ‘seguridad’ como bajo coste en salud (energía) y además el evitar moverse por zonas visibles (para los enemigos). Los criterios son independientes porque generalmente un camino rápido será inseguro (el enemigo verá a la unidad más tiempo) y viceversa, pero esto no siempre es así, pudiendo tener un camino rápido y a la vez seguro. La prioridad la define el usuario, de modo que podrá ser el camino más rápido (menor coste en recursos), el más seguro (menor coste en energía) o uno que combine ambos criterios en cierta proporción
De hecho inicialmente la OCH se planteó como resolución del TSP (un PCO)
A continuación se definirán los problemas de optimización multiobjetivo, formulándolos formalmente, dado que el problema que se trata en este estudio es multiobjetivo.
Dónde F(x) es la función global a optimizar, la cual está compuesta de k funciones objetivo. Cada solución será un vector de variables, dónde cada una optimiza una de las funciones objetivo. Dado que se tienen varios objetivos a optimizar, A la hora de comparar la bondad de dos soluciones se introduce el concepto de dominancia, la cual se define con la fórmula… … de modo que una solución a dominará a una solución b si se intenta minimizar las funciones objetivo (y se nota así), si el valor del vector solución a para todas las funciones es menor o igual que el valor del vector solución b para todas ellas, y existe al menos una para la que el valor de a es menor que el valor de b . Si no se cumple esta condición, ambas soluciones serán consideradas ‘igual de buenas’.
No hay otras soluciones que las dominen. Aquí se muestra un ejemplo para dos objetivos. Se puede ver gráficamente que las soluciones a y b son no dominadas: a es mejor que b respecto a la función objetivo f2 b es mejor que a respecto a la función objetivo f1 ambas soluciones dominan a c (son mejores en las dos funciones objetivo) En este caso, no se busca el máximo número de soluciones, sino unas cuantas, debido a las propiedades del problema y al tipo de aplicación que es (la utilizará un usuario final que asignará una prioridad a los objetivos y elegirá una única solución.
Es el siguiente apartado se comentarán las propiedades de los algoritmos de optimización basada en colonias de hormigas. Pues los algoritmos propuestos (y adaptados) para la resolución del problema están englobados dentro de este tipo.
En concreto se basa en su comportamiento a la hora de establecer los mejores caminos entre el nido y la fuente de comida. La forma en que llevan la comida al nido es sorprendente porque muchas especies de hormigas son ciegas . La feromona es una sustancia que todas pueden oler
Aquí vemos a la hormiguita siguiendo el rastro de vuelta al nido con comida. Al llegar a la bifurcación de caminos, decide ir por el camino de abajo porque tiene una mayor concentración de feromona, para así llegar a la escuela de informática (que sería el nido supongo).
Aquí vemos a la hormiguita siguiendo el rastro de vuelta al nido con comida. Al llegar a la bifurcación de caminos, decide ir por el camino de abajo porque tiene una mayor concentración de feromona, para así llegar a la escuela de informática (que sería el nido supongo).
Aquí vemos a la hormiguita siguiendo el rastro de vuelta al nido con comida. Al llegar a la bifurcación de caminos, decide ir por el camino de abajo porque tiene una mayor concentración de feromona, para así llegar a la escuela de informática (que sería el nido supongo).
Los mejores caminos los más cercanos a la comida son recorridos en menos tiempo y por un mayor número de hormigas
Para resolver un problema mediante OCH, éste debe ser modelado como un grafo. La información heurística se basa en el conocimiento previo que se tenga del problema. Ejemplo: elegir el arco con menor peso. Cada hormiga construye una solución completa en cada iteración. El aporte indicará a las restantes si el camino es prometedor. La evaporación irá desechando los caminos menos prometedores al no ser reforzados.
P ij h es la probabilidad asociada al nodo j para ser elegido como siguiente del i , respecto de la hormiga h N i h es el vecindario de nodos alcanzables para el nodo i , respecto de la hormiga h . Son nodos a los que se puede llegar. alpha y beta son dos parámetros que ponderan la importancia relativa de la información memorística (feromona) y heurística respectivamente El mecanismo más utilizado es la ruleta de selección basada en probabilidades, en la que se asigna una ‘porción’ de ruleta proporcional a la probabilidad de cada nodo. Luego se hace una tirada y se selecciona el nodo elegido. Otras variantes eligen siempre al de mayor probabilidad. El primer mecanismo hace que haya un componente de exploración que haga salir de óptimos locales y que se busque en zonas menos prometedoras a priori.
Las cajas rojas indican procesos que se hacen en algunos modelos, pero no en todos. Como se puede ver: El criterio de terminación suele ser un número de iteraciones concreto El aporte/evaporación local de feromona lo hacen algunos modelos (SCH) El refinamiento de las soluciones se hace mediante la aplicación de búsqueda local La elección de la mejor hormiga es opcional El aporte global lo pueden hacer todas las hormigas o únicamente la mejor. A veces la hacen todas y después también la mejor. La evaporación global suele hacerse sobre todos los arcos
SH es el modelo que se planteó inicialmente, sigue el esquema que se ha comentado. El aporte global se hace en función de la bondad de la solución. Los autores propusieron una mejora consistente en hacer un aporte extra sobre los arcos pertenecientes al camino de la mejor solución (SH elitista). SCH en la regla proporcional pseudoaleatoria se considera como siguiente el nodo con mayor probabilidad o se usa la misma RT que en el SH en función de q0. El parámetro q0 establece el equilibrio entre explotación y exploración en la búsqueda, dado que: - Se obtiene un valor aleatorio (según una distribución normal) q. Si q <= q0, entonces se elige como siguiente el nodo con la mayor probabilidad asociada En caso contrario, se elige como siguiente una según la RTE del SH, con la ruleta de selección de probabilidades La actualización local incluye una evaporación y un pequeño aporte, para incitar a las demás hormigas a seguir otras líneas de búsqueda. La actualización global refuerza los rastros de la mejor solución. SHMM se realiza una actualización de feromona en línea como el SCH. Aplica BL generalmente. El rango de feromona está en [Tmin, Tmax], por lo que siempre habrá probabilidad de escoger cada arco, aunque sea muy pequeña. Se utilizan mecanismos de reinicialización de feromona (si las soluciones no mejoran en varios pasos). SHO se ordenan las hormigas en base a la calidad de sus soluciones, éstas realizarán el aporte proporcionalmente a su orden (o únicamente las X primeras harán el aporte global)
En este apartado se describirán los algoritmos propuestos en la tesis para la resolución del PMCO-2C. Se trata de OCHMOs diseñados para la resolución del mismo.
El nombre relaciona el campo militar con las OCH. Es Multiobjetivo, como hemos comentado previamente. Los pesos serán los costes en recursos que implicaría ir de una celda a otra (considerando la diferencia de altura), y el coste de energía que tiene asociado la celda destino.
q0 es el parámetro habitual de los SCH. Otros MOACOs usan más de una colonia. Una matriz de feromona y una función heurística por cada objetivo. LAMBDA se usa en la regla de transición de estados, a la hora de elegir el siguiente nodo en la construcción del camino solución. Su valor lo fija el usuario del algoritmo para fijar la importancia de los dos objetivos.
La regla pseudoaleatoria proporcional depende de q0 porque: Si un número aleatorio q es q<q0 se elige el mejor nodo (explotación) Sino, se elige uno con una ruleta de probabilidades (exploración) RTC Usa 2 matrices de feromona y dos funciones heurísticas (un par por objetivo) y considera lambda como ponderación, además de alpha y beta RTD Para cada nodo alcanzable, cuenta a cuantos de los demás vecinos alcanzables domina, considerando el valor de la heurística1+feromona y el valor de la heurística2+feromona, nuevamente ponderados con alpha, beta y lambda. La probabilidad será asociada a ese número.
Moverse por zonas ocultas al enemigo es muy importante en los caminos seguros, para evitar posibles disparos. heurística rapidez intenta minimizar la distancia al punto destino y el coste en recursos. En los caminos rápidos también se considera la visibilidad (ocultación), pero en poca medida. heurística seguridad intenta ,minimizar el coste en energía y la visibilidad (por parte de los enemigos) de la unidad. En los caminos seguros también se considera la distancia al destino, pero en poca medida Actualización Local de Feromona añade poca cantidad. Actualización Global de Feromona añade cantidad dependiente del fitness.
- La feromona inicial es un número pequeño - Para construir una solución se utiliza una de las reglas de transición y la actualización de feromona local - La solución se incluirá en el CP si es no dominada. Al incluirla se eliminarán las que sean dominadas por ella - Solamente las soluciones en el Conjunto de Pareto hacen la actualización global de feromona - Se repite un número de iteraciones El algoritmo obtiene un conjunto de soluciones no dominadas
Es un algoritmo monoobjetivo. Se ideó para probar si el problema podía ser resuelto como una función agregativa de los criterios deseados. La función a optimizar se define en función de las dos anteriores, ponderadas con sendos pesos. La función heurística considera los componentes de las de CHAC, pero mezclados. Se haya la media de los pesos comunes para ponderar elementos comunes (distancia media el destino u ocultación).
Es una RTE combinada, pero con una sola función heurística y matriz de feromonas. No usa lambda porque solo hay un objetivo, no hay que asignar prioridades.
Se interpreta que cada uno de los criterios principales se subdivide en 2 objetivos: - consumo de recursos el camino deberá discurrir por celdas que requieran el menor consumo posible de los recursos de la unidad. - distancia media al destino las celdas del camino deberán estar cada vez más cerca del destino. Los caminos con menor media tendrán celdas más próximas al destino en general, lo que significará que serán más directos. - consumo de salud las celdas a atravesar en el camino deberán suponer el menor consumo de salud posible para la unidad, evitando para ello las más penalizadas tanto en dicho consumo, como en letalidad por impacto de armas enemigas. - visibilidad el camino deberá contener el mayor número de celdas ocultas al enemigo (no visibles), pues de esa forma, se garantiza la seguridad de la unidad respecto a posibles ataques.
RTC combina la información de los 4 objetivos RTD compara la información de los 4 objetivos
RTC: Combinan la información de los N objetivos. RTD: Compara la información de los N objetivos.
A continuación se presentarán varios algoritmos que se presentan en la literatura para a resolución de otros problemas multiobjetivo, adaptados para la resolución del problema abordado en este estudio. Se trata de dos OCHMOs y la adaptación de una heurística básica como es el enfoque Greedy a un entorno multiobjetivo.
A su vez, el de Barán se basa en el MACS propuesto por Gambardella et al. en 1999. Problema de enrutamiento de vehículos con ventana de tiempo. Versión MO del VRP. LAMBDA pondera cada uno de los objetivos (sus términos), pero es fijo durante toda la ejecución y para todas las hormigas. Originalmente, tomaba un valor para cada hormiga, siendo 0 para la primera y 1 para la última. Se hará un estudio de este parámetro (y su mejor configuración) en la sección de experimentos. Se calcula un valor representativo del CP en función de los valores medios de las soluciones en él. Si dicho valor empeora entre dos iteraciones, se reinicializa la feromona. Las actualizaciones de feromona son las mismas que hace CHAC, pero combinando los valores de las funciones de evaluación, ya que solo hay una matriz de feromona.
Problema de programación de tareas a máquinas con costes variables. LAMBDA pondera cada uno de los objetivos (sus términos), pero es fijo durante toda la ejecución y para todas las hormigas. Originalmente, tomaba un valor para cada hormiga, siendo 0 para la primera y 1 para la última. Se hará un estudio de este parámetro (y su mejor configuración) en la sección de experimentos. No se tiene q0 porque es un SH, no un SCH. Las actualización de feromona es únicamente global: evaporación de TODOS los arcos + aporte de las soluciones en el CP son las mismas que hace CHAC, pero combinando los valores de las funciones de evaluación, ya que solo hay una matriz de feromona.
El criterio de selección será similar a la RTD, pero sin tener en cuenta la feromona (no hay en GRMO). El componente estocástico es que ante varios nodos con el mismo valor (dominan al mismo número de vecinos), se elegirá de forma aleatoria el nodo siguiente. El backtracking vuelve un paso atrás si el nodo elegido conduce a un nodo sin salida (sin vecinos alcanzables). Puede volver hasta 3 pasos atrás.
En este apartado se presentarán los resultados de ejecutar los algoritmos propuestos y los adaptados para la resolución de un problema concreto (un escenario). Previamente se describirá dicho escenario. Finalmente se comentarán dos estudios desarrollados sobre los algoritmos.
Se muestran los resultados de un mapa de ejemplo (uno de los resueltos en la tesis). Los valores de LAMBDA obtienen los caminos más rápidos o más seguros (muy rápidos o muy seguros) y los extremos no consideran al otro objetivo. Estas son las soluciones encontradas después de 30 ejecuciones y eligiendo los mejores de todos los CPs. Se han evaluado incluso las soluciones de Mono-CHAC y CHAC-4 con Fr y Fs para poder compararlas todas.
Descripción del mapa.
Descripción del mapa.
There are some patches of forest, some rivers and hills. There is one enemy on the top of a hill. Cells with white border are hidden to enemy and those with black border are visible. There are big differences between safe objective in both cases, because visible cells have a high cost in the safety objective. We can see that the fastest path is quite straight, avoiding move very close to enemy and hidding when possible. It crosses the bridges if possible, because water cells have associated a higher cost in resources. The safest path does a curve in order to hide to enemy (moving outside its adquisition capability distance). This behaviour increments the cost in resources, but it is logical.
There are some patches of forest, some rivers and hills. There is one enemy on the top of a hill. Cells with white border are hidden to enemy and those with black border are visible. There are big differences between safe objective in both cases, because visible cells have a high cost in the safety objective. We can see that the fastest path is quite straight, avoiding move very close to enemy and hidding when possible. It crosses the bridges if possible, because water cells have associated a higher cost in resources. The safest path does a curve in order to hide to enemy (moving outside its adquisition capability distance). This behaviour increments the cost in resources, but it is logical.
There are some patches of forest, some rivers and hills. There is one enemy on the top of a hill. Cells with white border are hidden to enemy and those with black border are visible. There are big differences between safe objective in both cases, because visible cells have a high cost in the safety objective. We can see that the fastest path is quite straight, avoiding move very close to enemy and hidding when possible. It crosses the bridges if possible, because water cells have associated a higher cost in resources. The safest path does a curve in order to hide to enemy (moving outside its adquisition capability distance). This behaviour increments the cost in resources, but it is logical.
There are some patches of forest, some rivers and hills. There is one enemy on the top of a hill. Cells with white border are hidden to enemy and those with black border are visible. There are big differences between safe objective in both cases, because visible cells have a high cost in the safety objective. We can see that the fastest path is quite straight, avoiding move very close to enemy and hidding when possible. It crosses the bridges if possible, because water cells have associated a higher cost in resources. The safest path does a curve in order to hide to enemy (moving outside its adquisition capability distance). This behaviour increments the cost in resources, but it is logical.
There are some patches of forest, some rivers and hills. There is one enemy on the top of a hill. Cells with white border are hidden to enemy and those with black border are visible. There are big differences between safe objective in both cases, because visible cells have a high cost in the safety objective. We can see that the fastest path is quite straight, avoiding move very close to enemy and hidding when possible. It crosses the bridges if possible, because water cells have associated a higher cost in resources. The safest path does a curve in order to hide to enemy (moving outside its adquisition capability distance). This behaviour increments the cost in resources, but it is logical.
There are some patches of forest, some rivers and hills. There is one enemy on the top of a hill. Cells with white border are hidden to enemy and those with black border are visible. There are big differences between safe objective in both cases, because visible cells have a high cost in the safety objective. We can see that the fastest path is quite straight, avoiding move very close to enemy and hidding when possible. It crosses the bridges if possible, because water cells have associated a higher cost in resources. The safest path does a curve in order to hide to enemy (moving outside its adquisition capability distance). This behaviour increments the cost in resources, but it is logical.
There are some patches of forest, some rivers and hills. There is one enemy on the top of a hill. Cells with white border are hidden to enemy and those with black border are visible. There are big differences between safe objective in both cases, because visible cells have a high cost in the safety objective. We can see that the fastest path is quite straight, avoiding move very close to enemy and hidding when possible. It crosses the bridges if possible, because water cells have associated a higher cost in resources. The safest path does a curve in order to hide to enemy (moving outside its adquisition capability distance). This behaviour increments the cost in resources, but it is logical.
There are some patches of forest, some rivers and hills. There is one enemy on the top of a hill. Cells with white border are hidden to enemy and those with black border are visible. There are big differences between safe objective in both cases, because visible cells have a high cost in the safety objective. We can see that the fastest path is quite straight, avoiding move very close to enemy and hidding when possible. It crosses the bridges if possible, because water cells have associated a higher cost in resources. The safest path does a curve in order to hide to enemy (moving outside its adquisition capability distance). This behaviour increments the cost in resources, but it is logical.
These solutions are very good for the priorized objective, but the other one is almost unconsidered, so the cost is big.
These solutions are very good for the priorized objective, but the other one is almost unconsidered, so the cost is big.
The fast path is very fast, but also very unsafe, so the cost in security grows dramatically. The safe path is good, but is has some extra cells which increments the cost in resources.
The fast path is very fast, but also very unsafe, so the cost in security grows dramatically. The safe path is good, but is has some extra cells which increments the cost in resources.
There are some patches of forest, some rivers and hills. There is one enemy on the top of a hill. Cells with white border are hidden to enemy and those with black border are visible. There are big differences between safe objective in both cases, because visible cells have a high cost in the safety objective. We can see that the fastest path is quite straight, avoiding move very close to enemy and hidding when possible. It crosses the bridges if possible, because water cells have associated a higher cost in resources. The safest path does a curve in order to hide to enemy (moving outside its adquisition capability distance). This behaviour increments the cost in resources, but it is logical.
There are some patches of forest, some rivers and hills. There is one enemy on the top of a hill. Cells with white border are hidden to enemy and those with black border are visible. There are big differences between safe objective in both cases, because visible cells have a high cost in the safety objective. We can see that the fastest path is quite straight, avoiding move very close to enemy and hidding when possible. It crosses the bridges if possible, because water cells have associated a higher cost in resources. The safest path does a curve in order to hide to enemy (moving outside its adquisition capability distance). This behaviour increments the cost in resources, but it is logical.
The fast path is very fast, but also very unsafe, so the cost in security grows dramatically. The safe path is good, but is has some extra cells which increments the cost in resources.
The fast path is very fast, but also very unsafe, so the cost in security grows dramatically. The safe path is good, but is has some extra cells which increments the cost in resources.
The fast path is very fast, but also very unsafe, so the cost in security grows dramatically. The safe path is good, but is has some extra cells which increments the cost in resources. The cost in higher than hCHAC approaches because it moves throught cells with high cost in resources (like forest and water ones). The safe path is longer than those founded by the other algorithms.
The fast path is very fast, but also very unsafe, so the cost in security grows dramatically. The safe path is good, but is has some extra cells which increments the cost in resources. The cost in higher than hCHAC approaches because it moves throught cells with high cost in resources (like forest and water ones). The safe path is longer than those founded by the other algorithms.
The fast path is very fast, but also very unsafe, so the cost in security grows dramatically. The safe path is good, but is has some extra cells which increments the cost in resources. The cost in higher than hCHAC approaches because it moves throught cells with high cost in resources (like forest and water ones). The safe path is longer than those founded by the other algorithms.
The fast path is very fast, but also very unsafe, so the cost in security grows dramatically. The safe path is good, but is has some extra cells which increments the cost in resources. The cost in higher than hCHAC approaches because it moves throught cells with high cost in resources (like forest and water ones). The safe path is longer than those founded by the other algorithms.
The fast path is very fast, but also very unsafe, so the cost in security grows dramatically. The safe path is good, but is has some extra cells which increments the cost in resources. The cost in higher than hCHAC approaches because it moves throught cells with high cost in resources (like forest and water ones). The safe path is longer than those founded by the other algorithms.
The fast path is very fast, but also very unsafe, so the cost in security grows dramatically. The safe path is good, but is has some extra cells which increments the cost in resources. The cost in higher than hCHAC approaches because it moves throught cells with high cost in resources (like forest and water ones). The safe path is longer than those founded by the other algorithms.
The algorithm only yields a single solution with a single cost, but we have evaluated this solution as a multiobjective one, so we have two costs.
The algorithm only yields a single solution with a single cost, but we have evaluated this solution as a multiobjective one, so we have two costs.
Las conclusiones comentadas anteriormente se pueden contrastar con los resultados de la tabla. CHAC-RTC es casi tan bueno como el extremo. CHAC-4-RTD es también muy bueno. BiAnt es muy explorativo como demuestra su alta desviación típica. GRMO es ‘directo’ bueno si la zona intermedia es segura.
Se muestran los resultados de un mapa de ejemplo (uno de los resueltos en la tesis). Los valores de LAMBDA obtienen los caminos más rápidos o más seguros (muy rápidos o muy seguros) y los extremos no consideran al otro objetivo. Estas son las soluciones encontradas después de 30 ejecuciones y eligiendo los mejores de todos los CPs. Se han evaluado incluso las soluciones de Mono-CHAC y CHAC-4 con Fr y Fs para poder compararlas todas.
Fija todas las hormigas con el mismo valor para LAMBDA durante todo el algoritmo (todas buscan en la misma zona del espacio de soluciones) Variable cada hormiga con un valor para LAMBDA l=(h-1)/(m-1), 0 para la primera y 1 para la última. La fija es mejor, sobretodo en BiAnt. Se han señalado algunos ejemplos. En cualquier caso la mejora no es significativa y habría que probar otros escenarios.
Se han marcado algunos ejemplos.
A continuación paso a leer las conclusiones y aportes obtenidos en la realización de este trabajo de tesis doctoral.
Durante el desarrollo del trabajo, se han ido publicando los resultados parciales obtenidos, tanto en revistas internacionales, como en congresos internacionales. Consiguiendo incluso alguna cita.