Post on 17-Jul-2022
ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INFORMÁTICOS.
UNIVERSIDAD POLITÉCNICA DE MADRID
TRABAJO DE FIN DE MÁSTER
MÁSTER U. EN INTELIGENCIA ARTIFICIAL
ALGORITMO CULTURAL Y DE NUBES DE PARTICULAS MULTI-OBJETIVO PARA EVITAR
COLISIONES EN LA GESTIÓN DE TRÁFICO AÉREO
AUTOR:
JONATHAN FELIPE AGUIRRE SAMBONI
TUTOR:
ANTONIO JIMÉNEZ MARTÍN
JUNIO 2017
A mi familia, mi novia y amigos… Gracias!
| i
Resumen
En este trabajo de fin de máster (TFM) se propone un método basado en una metaheurística híbrida entre el Algoritmo cultural y nubes de partículas en el ámbito múltiobjetivo, para afrontar la búsqueda de una solución a un problema de optimización combinatorio que surge de la liberación del sistema de rutas aéreas comerciales, también conocido como “vuelo libre”. Esta liberación busca ampliar la capacidad de dicho sistema a través de una mayor concurrencia de vuelos en el aire, con el objetivo de minimizar costes haciendo un uso eficiente de los recursos y flexibilizar el uso de las rutas aéreas dando autonomía a los pilotos y finalmente, mantener los límites mínimos de seguridad y comodidad.
Los retos son de diferente índole, de los cuales se abordan los relacionados con la detección y resolución de conflictos aéreos en vuelo. Por esto, se crea un sistema que emula el comportamiento de los controladores aéreos.
El método para encontrar la solución implementa la metaheurística Cultural – MOPSO, un algoritmo de búsqueda aproximada que está inspirado en la trasmisión de conocimiento en una población, creando Cultura y combinándolo con la imitación del movimiento síncrono de un banco de peces o una bandada de pájaros. Esta metaheurística híbrida, permite encontrar soluciones subóptimas en tiempos asumibles para un sistema que demanda latencias de respuesta cortas y cercanas al tiempo real.
ii |
| iii
Abstract
In this work end of master degree, is proposed a method based on a hybrid metaheuristic between a Cultural and Swarm Particle algorithm used in a multi-objective scope to face the search for the solution at combinatory problem that involve the liberation of the commercial airline routes also known as “free flight”. Free flight method proposes the use of a no centralized control, and the airspace distribution to ensure the required safe separation between airplanes. The liberation of flights searches a way to extend the capacity of the system through a bigger number of flights on air at same time, minimizing the costs and making a better use of resources.
The facing challenges are from different nature, of which, is addressed the problems related with detection and resolution of flight air conflicts on air. For this reason, a system is created that emulates the behaviour of air traffic controllers.
The method to find the solution implements two algorithms; the MOPSO cultural metaheuristic, an algorithm of approximate search inspired in the transmission of knowledge from a population to another in combination with an algorithm inspired on the movement of fish and flock of birds. This hybrid metaheuristic allows the finding of sub-optimal solutions in acceptable times for a system with the need of short latency responses and quick answers near to real time.
iv |
| v
ÍNDICE GENERAL
Resumen ............................................................................................................................ i
Abstract ............................................................................................................................ iii
ÍNDICE GENERAL ......................................................................................................... v
1 INTRODUCCIÓN..................................................................................................... 1
2 OBJETIVOS ............................................................................................................. 5
3 MODELIZACIÓN DEL PROBLEMA .................................................................... 7
3.1 Restricciones ................................................................................................... 11
3.2 Funciones Objetivo ......................................................................................... 15
3.2.1 Objetivo 1. Minimización de la magnitud de los cambios ................................................... 15 3.2.2 Objetivo 2. Minimización del riesgo de colisión .................................................................. 17 3.2.3 Objetivo 3. Minimización del número de maniobras ........................................................... 20 3.2.4 Objetivo 4. Minimización del retraso temporal .................................................................... 21 3.2.5 Objetivo 5. Minimización del error del punto de salida ....................................................... 22 3.2.6 Objetivo 6. Minimización de la dispersión de las maniobras globales ................................. 23
4 OPTIMIZACIÓN BASADA EN METAHEURÍSTICAS ..................................... 25
4.1 Métodos exactos .............................................................................................. 28
4.2 Heurísticas y metaheurísticas ........................................................................ 33
4.3 Clasificación de metaheurísticas ................................................................... 34
4.3.1 Metaheurísticas de búsqueda global ..................................................................................... 35 4.3.2 Metaheurísticas evolutivas ................................................................................................... 38 4.3.3 Metaheurísticas constructivas ............................................................................................... 43
5 ESTADO DEL ARTE EN LA RESOLUCIÓN DE CONFLICTOS AÉREOS .... 47
6 PARTICLE SWARM OPTIMIZATION - PSO ..................................................... 53
6.1 Orígenes y aplicaciones .................................................................................. 53
vi |
6.2 PSO uniobjetivo .............................................................................................. 54
6.3 Estudio de los parámetros ............................................................................. 58
6.3.1 Técnica de iniciación de las partículas .................................................................................. 58 6.3.2 Máxima velocidad ................................................................................................................. 61 6.3.3 Peso de inercia ...................................................................................................................... 61 6.3.4 Variante con peso de inercia adaptativo................................................................................ 62 6.3.5 Coeficientes de aceleración ................................................................................................... 64 6.3.6 Variante de coeficientes de aceleración adaptativos ............................................................. 64 6.3.7 Variantes de peso de inercia adaptativo y coeficientes de aceleración ................................. 65 6.3.8 Topologías de entorno........................................................................................................... 69 6.3.9 Criterio de Parada ................................................................................................................. 72
6.4 Particle Swarm Optimization sin parámetros ............................................. 73
6.4.1 Algoritmo TRIBES ............................................................................................................... 73 6.4.2 PSO Adaptativo .................................................................................................................... 75
6.5 Cultural MOPSO Multiobjetivo ................................................................... 77
7 PROPUESTA DE PSO ........................................................................................... 97
7.1 Adaptación al problema ................................................................................. 97
7.1.1 Representación de una solución ............................................................................................ 97 7.1.2 Adaptación del problema a la metaheurística. ...................................................................... 98 7.1.3 Aceptación de soluciones .................................................................................................... 100
7.2 Implementación ............................................................................................ 101
7.2.1 Descripción de paquetes y clases ........................................................................................ 102
7.3 Inicialización de una partícula .................................................................... 109
7.1 Ajuste de parámetros ................................................................................... 110
7.1.1 Indicadores para medir la configuración de parámetros ..................................................... 113 7.1.2 Batería de pruebas para 5 aviones ....................................................................................... 115
7.2 Ejemplo de aplicación y discusión de resultados. ...................................... 142
8 CONCLUSIONES ................................................................................................ 147
BIBLIOGRAFÍA .......................................................................................................... 151
| vii
viii |
C A P Í T U L O 1 : I N T R O D U C C I Ó N | 1
Capítulo 1.
1 INTRODUCCIÓN
Los sistemas actuales de gestión de tráfico aéreo se caracterizan, generalmente, por el
uso restrictivo de rutas aéreas preestablecidas por parte de las agencias de tráfico aéreo.
Dichos sistemas obligan a los vuelos seguir estas rutas o trayectorias (waypoints)
ocasionando un uso ineficiente de los recursos debido a la rigidez del sistema.
El uso ineficiente de los recursos se traduce en sobrecostes para todos los agentes que
interactúan con el sistema: usuarios, aerolíneas, tripulación y entes de control. De igual
manera, el rol del controlador aéreo y la intervención que este hace vía voz supone un
cuello de botella que acusa la ineficiencia de la gestión de tráfico aéreo.
Sobre este diseño se sustenta una arquitectura que forma una red flexible pero limitada.
Los entes controladores varían el tamaño de los espacios aéreos en función de la
densidad de vuelos o la demanda, de esta manera se trata de acotar los posibles
conflictos resultantes y el sobreesfuerzo de los controladores aéreos. Sin embargo, esto
no basta, ya que el sistema ha sido concebido para una demanda inferior.
La confianza en la seguridad que el sistema ofrece se debe a las décadas de experiencia
y uso. Sin embargo, el sistema día a día pone a prueba sus límites por la creciente
demanda, y es por este crecimiento progresivo de la demanda en el transporte aéreo que
se prevé una sobrecarga del sistema y congestión. En el año 2014 se superó la barrera
2 | 3 . 1 R e s t r i c c i o n e s
anual de los 100.000 vuelos diarios (una media de 102.465, por 99.700 en 2013).
Aproximadamente, unos 2.000 aterrizajes y despegues diarios son gestionados por los
mayores aeropuertos europeos. Este crecimiento continúa acentuándose
progresivamente y las estimaciones prevén que se dupliquen los viajes hasta 2030.
Por otra parte, la continua mejora de la instrumentación aérea y los sistemas de
comunicación elevan el potencial para resolver estos problemas por medio de nuevas
estrategias en el control de tráfico aéreo. Recientemente, las líneas aéreas y la
Federación de Administración de Aviación (FAA: Federal Aviation Administration)
tienen propuesto implementar el “Vuelo libre” (Free Flight) como un concepto de
operación que depende de la mejora de la comunicación, navegación, y tecnología de
vigilancia; para incrementar la libertad del piloto y la aerolínea. Por ejemplo, cada
piloto deberá ser capaz de optimizar su propia trayectoria, minimizar el tiempo de vuelo
o evitar zonas con eventos climatológicos adversos.
Sin embargo, el impacto del vuelo libre (free flight) sobre los sistemas de seguridad, así
como la relación entre vuelos estructurados con aviones en vuelo libre y las limitaciones
de la gestión del flujo de tráfico aéreo sigue siendo en gran parte desconocido o difuso.
Para tratar de entender algo acerca de seguridad del vuelo libre y eficiencia, se requiere
construir ambientes de simulación que incorporen sistemas autómatas de detección y
resolución óptima de conflictos.
En el esquema de vuelo libre, cada avión está rodeado por un volumen virtual de
seguridad en forma de cilindro. En consecuencia, un conflicto o pérdida de la
separación mínima permitida entre dos aviones ocurre cuando los volúmenes de dos
aviones se solapan. Esta característica del vuelo libre es en la que se enfoca este Trabajo
de Fin de Máster, con objetivo de resolverla y añadir nuevos criterios que puedan
mejorar otros aspectos relevantes en el actual paradigma al que se está dirigiendo la
aviación moderna.
Preferencias como minimizar la magnitud de los cambios, minimizar el número de
maniobras, minimizar la desviación del punto de salida del espacio aéreo, minimizar el
retraso temporal y minimizar la dispersión de maniobras entre aviones; son objetivos
C A P Í T U L O 1 : I N T R O D U C C I Ó N | 3
que se perseguirán mientras se intenta resolver los conflictos aéreos a través de un
conjunto de maniobras aéreas como el cambio de altitud, cambio de velocidad o cambio
de dirección.
La combinación de restricciones que describen y limitan la forma de operar del vuelo
entre aviones dentro de un sector aéreo, junto con los objetivos que buscan minimizar el
uso de recursos de tiempo, espacio y operaciones, hacen de este un problema de
optimización combinatorio con múltiples objetivos que, para hallar una solución,
requiere un método factible en tiempo. Por ello, se usa la metaheurística Cultural
MOPSO [22], un método híbrido entre la metaheurística Cultural [77] y MOPSO [20], y
que en un tiempo razonable ofrece resultados aceptables en comparación al rendimiento
ineficiente de los métodos exactos cuando tratan de resolver un problema combinatorio
NP.
Esta metaheurística híbrida y el problema de evasión de conflictos aéreos, son
adaptados e implementados en una aplicación de software modular que resuelve las
tareas de un operador de tráfico aéreo y ofrece una interfaz que facilita el estudio las
distintas casuísticas que ocurren al implantar la manera de operar del vuelo libre.
Como demostración, se halla una solución a un problema aleatorio a través de la
aplicación de software, se exponen y se explican los resultados.
Finalmente, se consolidan las observaciones y conocimientos adquiridos durante el
TFM en las conclusiones y enuncian posibles mejoras para trabajos futuros.
C A P Í T U L O 2 : O B J E T I V O S | 5
Capítulo 2.
2 OBJETIVOS
El presente trabajo de fin de máster (TFM) tiene como objetivo principal aplicar de
forma eficiente la metaheurística Cultural MOPSO al problema de optimización
elegido, la detección y resolución de conflictos aéreos en el contexto de la gestión de
tráfico aéreo, haciendo uso de los conocimientos, teóricos y prácticos, adquiriros
durante el Máster Universitario de Inteligencia Artificial. Para alcázar este objetivo, se
plantea una serie de subobjetivos que se describen a continuación:
El primero de ellos es hacer el estudio del estado del arte, para entender y comprender
la envergadura del problema, aprender de las soluciones que otros autores han propuesto
a los problemas típicos; identificar autores y contenido de relevancia; generar ideas y
nuevas propuestas inspiradas en los diferentes enfoques revisados.
A continuación, una vez entendido el problema, construir un modelo matemático que lo
sustente. El modelo incluirá las diferentes restricciones del problema, los diversos
criterios u objetivos que se tienen en cuenta a la hora de resolverlo e incluso obtener una
aproximación al conjunto eficiente de soluciones. El modelo matemático será
independiente al método que se usará para solucionarlo.
Otro subobjetivo, es la adaptación de la metaheurística Cultural MOPSO [22] para la
resolución del problema. Para ello se debe entender las implicaciones de los
6 | 3 . 1 R e s t r i c c i o n e s
componentes y parámetros de la metaheurística y orientarlos para que resuelvan el
problema de la detección y resolución de conflictos aéreos.
Una vez lograda la adaptación, implementar el algoritmo, de manera que sea modular y
le permita integrarse a futuras aplicaciones o simuladores. Este TFM está embebido en
un proyecto de equipo y se desea reutilizar algunos módulos resultantes de este trabajo.
No menos importante, y como herramienta útil para probar y validar la aplicación, se
requiere de una interfaz que aporte y resuma la mayor cantidad de resultados
conseguidos.
Se requiere también ajustar los parámetros del Cultural MOPSO para lograr obtener
los mejores resultados que el algoritmo pueda ofrecer en el contexto del problema dado.
Al igual que otras metaheurísticas, su potencial y mejor desempeño está íntimamente
ligado al valor que se les da a los parámetros.
Finalmente, es necesario comparar los resultados obtenidos con los encontrados en el
estado del arte, para validar la consistencia de la salida al igual que el comportamiento
del algoritmo.
C A P Í T U L O 3 : M O D E L I Z A C I Ó N D E L P R O B L E M A | 7
Capítulo 3.
3 MODELIZACIÓN DEL
PROBLEMA
En este capítulo se describirá con mayor profundidad el problema que estudia este
trabajo de fin de máster (TFM) y se presentará detalladamente la modelización
matemática del mismo.
El problema estudiado está compuesto por un número n de aviones que se sitúan en un
mismo sector aéreo. Este sector aéreo es el área del espacio que está gestionada por un
controlador. Cada avión es considerado un vehículo autónomo que vuela en un plano
horizontal y que tiene una configuración inicial. Todos los aviones poseen una misma
meta básica, que es salir del sector aéreo evitando cualquier conflicto con los demás
aviones que se encuentran en el mismo, intentando de manera adicional cumplir una
serie de objetivos.
Las normas aéreas vigentes establecen que la distancia de seguridad horizontal es de 5
millas náuticas y la distancia vertical de 1000 pies. Por consiguiente, se establece
alrededor de cada avión un volumen de seguridad con forma cilíndrica dentro del cual
no puede estar localizado ningún otro avión, es decir, una aeronave nunca podrá
superponer un volumen a otra. Se considera que un conflicto aéreo ocurre si las
8 | 3 . 1 R e s t r i c c i o n e s
distancias horizontales o verticales entre dos aviones es menor a las distancias de
seguridad dadas.
En la Figura 3.1 se muestra el volumen de seguridad de un avión.
Figura 3.1. Volumen de seguridad
En esta aproximación, se permite asignar a cada avión una de las siguientes maniobras
para resolver los posibles conflictos y cumplir los objetivos:
- Maniobra de cambio de velocidad (velocity change, VC)
- Maniobra de cambio de altitud (altitude change, AC)
- Maniobra de cambio de dirección (turn change, TC)
Por simplificación, se asume que cada maniobra sucede de forma instantánea. Cada
maniobra tiene una serie de ventajas y desventajas, por lo que no es posible identificar a
una sola maniobra como la mejor; ya que por ejemplo la maniobra TC es eficiente en
cuanto a consumo de combustible, pero tiende a alejar al avión de su trayectoria
original, lo cual no es deseable.
Primero definamos los parámetros del avión relacionados con su configuración en el
instante de tiempo en el que dicho avión penetra en el sector aéreo. Estos parámetros
mantendrán un valor constante a lo largo de la ejecución del algoritmo, puesto que
poseen la configuración que tenía el avión antes de forzarla o modificarla, pudiendo ser
utilizada para minimizar dicha diferencia.
C A P Í T U L O 3 : M O D E L I Z A C I Ó N D E L P R O B L E M A | 9
Los parámetros iniciales del avión al entrar en el sector aéreo se denotarán con el
subíndice ini.
, :ini i velocidad del avión i al entrar en el sector aéreo.
, :ini iz altitud del avión i al entrar en el sector aéreo.
, :ini ix Coordenada x del avión i al entrar en el sector aéreo.
, :ini iy Coordenada y del avión i al entrar en el sector aéreo.
, :ini i Ángulo del avión i con respecto a la horizontal al entrar en el sector aéreo.
El segundo lugar, definimos la configuración esperada al salir del sector aéreo
suponiendo que la trayectoria no haya sido modificada por el algoritmo:
, :fin ix coordenada x esperada del avión i al salir del sector aéreo siguiendo su trayectoria inicial.
, :fin iy coordenada y esperada del avión i al salir del sector aéreo siguiendo su trayectoria inicial.
, :fin iz coordenada z esperada del avión i al salir del sector aéreo siguiendo su trayectoria inicial.
Pasaremos entonces a definir los parámetros que representan la configuración del avión
en cualquier instante dentro del sector, es decir, pasado cierto tiempo tras penetrar en el
sector aéreo. Estos parámetros cambian constantemente debido a la configuración
inicial del avión, pero son también modificados por la ejecución de maniobras para
evitar conflictos. La combinación de estos parámetros y las variables que el algoritmo
optimiza, generan nuevos parámetros para la siguiente ejecución.
:ti Velocidad del avión i en el instante t.
:tiz Altitud del avión i en el instante t.
:tix Coordenada x del avión i en el instante t.
:tiy Coordenada y del avión i en el instante t.
:it Tiempo que tardara el avión i en llegar al límite del sector aéreo suponiendo
una velocidad ti constante.
10 | 3 . 1 R e s t r i c c i o n e s
:ti t con respecto a la horizontal.
:timan Número de maniobras ejecutadas por el avión i en el instante t desde que
entró en el sector aéreo.
Se continúa con la representación de los parámetros de los límites de la configuración
de cada avión. Los valores que se describieron anteriormente nunca deberán salirse del
rango que definen los siguientes parámetros. Por tanto, generan ciertas restricciones
que se explicarán posteriormente:
min, :ti Velocidad mínima que el avión i puede alcanzar.
max, :ti Velocidad máxima que el avión i puede alcanzar.
min, :tiz Altitud mínima que el avión i puede alcanzar.
max, :tiz Altitud máxima que el avión i puede alcanzar.
max : Variación máxima del ángulo actual del avión que se permite.
Por último, tenemos los parámetros que representan cuestiones relacionadas con las
distancias de seguridad y el riesgo de colisión del avión:
, :hor iS Distancia de seguridad horizontal del avión i.
, :ver iS Distancia de seguridad vertical del avión i.
, :hor verC Importancia que tiene el riesgo vertical sobre el riesgo horizontal.
Las variables del problema están compuestas por un vector de magnitudes de las
maniobras que hace cada avión y otros tres vectores que representan el tipo de maniobra
que realiza cada avión. Estos cuatro vectores representan una solución del problema.
El primer vector solución se define de esta manera 1 2, ,... nQ q q q tal que [ 1,1]iq ,
iq y [1, ],i n donde n es el número de aviones. En otras palabras, el vector Q
contiene las magnitudes de las maniobras para cada uno de los aviones, maniobras que
son representadas por el intervalo de valores reales [-1,1]. Estas magnitudes están
C A P Í T U L O 3 : M O D E L I Z A C I Ó N D E L P R O B L E M A | 11
normalizadas para poder trabajar con magnitudes de cambio de velocidad, cambio de
altitud y cambio de dirección simultáneamente. Entonces para la maniobra cambio de
velocidad el intervalo [-1,1] será equivalente a min, max,[ , ]t ti i i iv v v v , para la maniobra
cambio de altura min, max,[ , ]t ti i i iz z z z y para la maniobra cambio de dirección
max, m x,[ , ]i a i .
Los otros tres vectores solución son vectores binarios que representan el tipo de
maniobra que realiza cada avión y se definen de esta manera 1,..., ,nVC vc vc
1,..., nAC ac ac y 1,..., nTC tc tc . Cada uno de los elementos que componen estos
vectores están restringidos:
1i i ivc ac tc ,
de esta manera, se asegura que a cada avión se le asigne como máximo un tipo de
maniobra en cada ejecución del algoritmo.
3.1 Restricciones
La principal dificultad del modelo está en detectar los conflictos entre las posibles
parejas de aviones, es decir, la distancia de seguridad entre una pareja de aviones no sea
violada en ningún momento; y cuando esta sea violada, resolver los conflictos por
cualquiera de los posibles métodos.
En este TFM se ha optado por la modelización geométrica del problema para detectar
los conflictos horizontales, basada en la propuesta desarrollada en [66].
El modelo se presenta en las Figuras 3.2 y 3.3.
12 | 3 . 1 R e s t r i c c i o n e s
Figura 3.2. Aviones con una distancia de seguridad horizontal y su vector de dirección.
Figura 3.3. Ángulos y distancias de relevancia, para el entendimiento del modelo.
C A P Í T U L O 3 : M O D E L I Z A C I Ó N D E L P R O B L E M A | 13
Considerando un conjunto de aviones 1,..., nA a a en un determinado sector aéreo y
denotado por:
, , , ,( cos( ), sin( ))i new i new i new i new iu v v(ui ((( ,
, , , ,( cos( ), sin( ))j new j new j new j new ju v v(uj (((
a los vectores de velocidad de los aviones i y j, respectivamente, véase la Figura 3.2.
La principal idea del modelo está basada en la construcción del vector relativo de
velocidad jiu u ju ui . Las dos líneas paralelas a este vector que son tangentes al cilindro de
seguridad del avión j limitan un segmento en la dirección de movimiento del avión j, el
cual está referido a la Figura 3.3 que se ha denominado la sombra del avión j sobre la
dirección del i. Un conflicto horizontal ocurre si el cilindro de seguridad i interseca la
sombra generada por j o al revés, ya que iju uiu uj y jiu u ju ui , son paralelos.
Considerando ahora los planos secantes que son tangentes a ambos cilindros el cual se
puede ver en la Figura 3.3 y los ángulos ijg y ijl , no existe conflicto si se cumple una
de estas dos expresiones siguientes:
, , , ,
, , , ,
sin( ) sin( )tan( )
cos( ) cos( )new i new i new j new j
ijnew i new i new j new j
v vl
v v
, , , , ,
, , , ,
sin( ) sin( )tan( )
cos( ) cos( )new i new i new j new j
ijnew i new i new j new j
v vg
v v
donde ,new i es la velocidad actual del avión sumada a la magnitud de la maniobra en
caso de que esta fuera VC, y ,new i es el ángulo del avión respecto a la horizontal más la
magnitud de la maniobra en caso de que esta fuera TC. Se debe tener en cuenta que las
partes de la izquierda de las expresiones anteriores pueden ocasionar un denominador
nulo. Estos casos son referidos como situaciones patológicas del modelo; ya que éstas
producen soluciones inestables debido a que un conflicto especifico entre dos aviones
14 | 3 . 1 R e s t r i c c i o n e s
pueden ser erróneamente resuelto, y esto se debe por el denominador nulo; forzando
incluso a que el avión colisione con otro avión en el peor de los casos.
Para lidiar con esta inestabilidad del modelo, estas situaciones son detectadas en la fase
de pre-procesado cuando , ,| |i j hor i hor jx x s s . Por tanto, a la hora de calcular las
expresiones de detección de riesgo horizontal, las variables ,new j , y los parámetros ijl y
ijg que representan ángulos son girados 2 radianes. Efectuando este cambio la
situación patológica se resuelve.
Los conflictos verticales se detectan de forma más sencilla, ya que se trata de un
cilindro de seguridad. Por lo tanto, calculando la distancia vertical entre dos aviones se
pueden detectar estos conflictos. En la Figura 3.4 se muestra la modelización de los
conflictos verticales.
Figura 3.4. Identificación de conflictos verticales
Hay que tener en cuenta que, en determinados momentos, dentro de un sector aéreo se
pueden dar situaciones muy restrictivas, como por ejemplo con una alta densidad de
aviones cercanos, por lo que puede llegar a ser muy difícil encontrar una solución que
sea factible en la que no exista ningún conflicto ni horizontal ni vertical. Por esta razón,
se ha decidido permitir una relajación de esta restricción, convirtiendo a la misma en un
objetivo, como se verá en la siguiente sección.
C A P Í T U L O 3 : M O D E L I Z A C I Ó N D E L P R O B L E M A | 15
Se elige esta opción, para permitir explotar de mejor manera el espacio de soluciones.
En contrapartida, puede llegar a ser más difícil encontrar las soluciones óptimas con esta
relajación de la restricción. El resto de restricciones son mucho más simples y tratan de
evitar que cada avión, a la hora de adquirir una nueva configuración, rebase sus límites
de velocidad como de altitud:
, , ,
, , ,
, ,
,
,min i new i max i
min i new i max i
new i i max i
v v v
z z z
donde , ,,new i new iv z y ,new i constituyen la nueva configuración del avión en una
determinada iteración del algoritmo tras la maniobra correspondiente. Estas últimas
restricciones son comunes a todos los objetivos, por lo que, desde este punto se omitirán
para evitar ser redundantes en el texto.
3.2 Funciones Objetivo
En este trabajo se han considerado seis funciones objetivo que el sistema trata de
optimizar:
1. Minimización de la magnitud de los cambios.
2. Minimización del riesgo de colisión.
3. Minimización del número de maniobras.
4. Minimización del retraso temporal.
5. Minimización del error del punto de salida.
6. Minimización de la dispersión de las maniobras globales.
3.2.1 Objetivo 1. Minimización de la magnitud de los cambios
Este objetivo es uno de los más importantes y necesarios, ya que es coherente pretender
que los aviones, para evitar conflictos, ejecuten maniobras de magnitudes lo más
pequeñas posibles. Además, se ha tenido en cuenta la distribución o dispersión de las
magnitudes de las maniobras efectuadas por los aviones con respecto a la media de las
16 | 3 . 2 F u n c i o n e s O b j e t i v o
mismas, penalizando entonces las distribuciones que se desvíen mucho. Esto se ha
hecho debido a que si tenemos en cuenta solo la media, se podría llegar a evaluar
soluciones con magnitudes muy dispares cuya media fuera baja de forma favorable, lo
cual no es correcto.
Figura 3.5. Minimización de la magnitud de los cambios.
En la Figura 3.5 se muestra un esquema sobre el objetivo 1. Los cambios representados
a la izquierda de la figura son preferidos a los cambios de la derecha. En el primer
cambio, la evaluación del objetivo tendrá un valor inferior al segundo, puesto que sus
cambios son de menor magnitud, en este caso (TC).
El parámetro que representa la importancia que se da a la dispersión en el valor de la
función objetivo es 1 [0,1]w . Por lo tanto, la expresión de la primera función objetivo
será la minimización del valor absoluto de la media sumado a la dispersión de las
magnitudes de los cambios, es decir, la medida de cuanto se alejan estos de la media,
también en valor absoluto:
11 1 1
1
11
,
1 ,
n
ii
n
ii
c
wmin f a a qn
a qonn
C A P Í T U L O 3 : M O D E L I Z A C I Ó N D E L P R O B L E M A | 17
donde 1a se calcula a partir de magnitudes iq en valor absoluto.
3.2.2 Objetivo 2. Minimización del riesgo de colisión
Este objetivo consiste básicamente en la restricción que se decidió relajar. Aparte de
conseguir una mayor exploración a lo largo del espacio de búsqueda para intentar
encontrar más fácilmente soluciones factibles donde no se den conflictos, se puede ver
cómo una vez que estos son resueltos, hay soluciones con un mayor riesgo dado que
existe una menor distancia entre un par de aviones. Por lo tanto, esta función objetivo
pretende minimizar la medida del riesgo entre pares de aviones, teniendo en cuenta la
dispersión de este, del mismo modo en el que se procedió en el objetivo anterior. Se
debe dejar claro que el riego de conflicto existirá si entre una pareja de aviones su riesgo
es 0ijr ; en caso contrario, no habrá conflicto.
Si existe conflicto entre una o más parejas de aviones, solo se considerarán estos valores
de riesgo para evaluar la solución; en caso contrario, sino hubiese ningún conflicto, se
considerarán todos. Con esto se pretende evitar que los valores de riesgo de parejas de
aviones sin conflicto (valores negativos) anulen los valores positivos del riesgo de las
parejas en conflicto. Como se ha dicho, si habido algún conflicto a2 será mayor que cero
ya que se calcula solamente a partir de los valores de riesgo de los aviones con
conflictos. Sin embargo, si no ha habido conflicto, a2 será negativa. Se diferencia entre
los dos casos debido a que no tiene sentido medir la dispersión del riesgo cuando hay
conflicto:
2 2
2 22 2
1 11
, si 0
, en caso contrarion n
iji j i
a amin f wa a r
k
La medida a2 se calcula para todos los valores de riesgo si no hay conflictos y solamente
para las parejas conflictivas si las hay:
18 | 3 . 2 F u n c i o n e s O b j e t i v o
1 11
2
1 12
1 , si 0 ,
1 , si al menos un 0
n n
ij iji j i
n n
ij iji j i
r r i jk
a
rk
,
siendo ij :
, si 00, en caso contrario ij ij
ij
r r,
1k y 2k son el número de aviones para los que se ha calculado la media. Si no hay
conflictos serán todas las parejas, y si hay, solamente las parejas con conflictos, 2k
:
1!2 !4
nkn
.
El riesgo de colisión ijr entre una pareja de aviones tiene cuatro formas de calcularse,
dependiendo de las combinaciones que existen de conflictos verticales y horizontales. Si
no existen conflictos, o existen para las dos clases de riesgo a la vez, las expresiones son
las mismas. El valor del parámetro ,hor verc , mide la importancia del riesgo vertical
comparado con el horizontal. Esto se hace para que su efecto sea coherente, es decir,
suponiendo que importe más el riesgo vertical que el horizontal, en caso de que no haya
conflictos deberá existir una tendencia a disminuir el valor de la función objetivo, y en
caso de que exista conflicto deberá tender a aumentarlo.
, , , , ,
, , , , ,
, , ,
, , , ,
, si 0 0, si 0 0
,, si 0 0
, si 0 0
hor ij hor ver ver ij hor ij ver ij
hor ij hor ver ver ij hor ij ver ijij
hor ij hor ij ver ij
hor ver ver ij hor ij ver ij
r c r r rr c r r r
rr r rc r r r
C A P Í T U L O 3 : M O D E L I Z A C I Ó N D E L P R O B L E M A | 19
Si existe riesgo vertical o riesgo horizontal, el riesgo global será el valor del riesgo que
genera el conflicto, sea cual sea de los dos.
El riesgo horizontal se calcula hallando el mínimo entre ij y ij , que son las
expresiones mostradas en las restricciones de la Sección 3.1. Restando un lado de la
inecuación sobre otro, se halla la diferencia con el punto en el que se distingue la
existencia o no del conflicto 0ijr . De esta forma, es posible evaluar lo cercano que
están dos aviones de invadir sus respectivos cilindros de seguridad horizontalmente o
medir cuanto lo han invadido, es decir, su riesgo recíproco.
,
, , , ,
, , , ,
, , , ,
, , , ,
, ,
sin( ) sin( )tan( ) ,
cos( ) cos( )
sin( ) sin( )tan( ) ,
cos( ) cos( )
hor ij ij ij
new i new i new j new jij ij
new i new i new j new j
new i new i new j new jij ij
new i new i new j new j
r min
v vl
v v
v vg
v v
donde la nueva configuración del avión cambiará o no, dependiendo de la maniobra que
se realice.
, ,
,
,,
si 0( ) si 0 ,( ) si 0
si 0.
si 0
i i
new i i i i min i i
i i max i i i
i inew i
i i max i i
v qv v q v v q
v q v v q
qq q
Los parámetros ijl y ijg se calculan en base a los ángulos y distancias que se muestran
en la Figura 3.3:
, ,ij ij ij ij ij ijgl
20 | 3 . 2 F u n c i o n e s O b j e t i v o
, ,
arctan( ) ,
/ 2arcsin( ) .
/ 2
i jij
i j
hor i hor jij
ij
y yx x
s sd
El riesgo vertical simplemente consiste en calcular la distancia vertical entre los aviones
sumando la distancia de seguridad vertical, de tal manera que si no hay conflicto
, , ,, ,
, , ,
,
, , ,, ,
, , ,
, si
,,
si
new j new i ver jnew i new j
new j new i ver i
ver ij
new i new j ver inew i new j
new i new j ver j
z z smax z z
z z s
rz z s
max z zz z s
donde ,new iz tomara distintos valores en función de si se realiza esta maniobra y si
aumenta la altitud o disminuye.
, ,
,
0 si 0( ) si 0 ,( ) si 0
i
new i i i i min i i
i i max i i i
qz z q z z q
z q z z q
No sobra decir que 2 [0,1]w es parámetro que representa la importancia relativa que se
da a la dispersión del valor de la función objetivo 2a respecto al promedio.
3.2.3 Objetivo 3. Minimización del número de maniobras
Este objetivo pretende minimizar el número de aviones que efectúan maniobras
necesarias para evitar todos los conflictos. Esto es particularmente importante en el
contexto de minimizar la carga de los controladores, ya que éstos deben comunicar las
maniobras que debe realizar cada avión. Por tanto, este objetivo realmente trata de
minimizar la carga de trabajo de los controladores.
C A P Í T U L O 3 : M O D E L I Z A C I Ó N D E L P R O B L E M A | 21
El valor de la función objetivo vendrá dado por el sumatorio de los valores de las
variables binarias que indican la maniobra que se está realizando. Por lo tanto, el
resultado será la suma de maniobras de todos los aviones:
31
( ) .n
i i ii
min f vc ac tc
3.2.4 Objetivo 4. Minimización del retraso temporal
Si se produce un cambio de velocidad en un avión, también cambiará el tiempo en el
que este alcanzará el borde del sector aéreo con respecto al estimado al entrar,
suponiendo la velocidad constante inicial. Lo que pretende minimizar este objetivo es
esa diferencia. La Figura 3.6 muestra un esquema explicativo de este objetivo.
Figura 3.6. Ejemplo de retraso temporal
La expresión del cuarto objetivo viene dada por la media sumada a la dispersión en
valor absoluto de la diferencia temporal entre el tiempo estimado en llegar al límite del
sector aéreo con una velocidad iv , y el tiempo estimado en llegar al límite con una
velocidad ,new iv obtenida tras el cambio, también en valor absoluto.
44 4 4 ,
1
,n
new i ii
wmin f a a t tn
con:
4 ,1
1 n
new i ii
a t t yn
22 | 3 . 2 F u n c i o n e s O b j e t i v o
2 2, ,
,,
( ) ( )fin i i fin i inew i
new i
x x y yt
v,
que será igual a it si no realiza una maniobra VC.
Por otra parte, 4 [0,1]w es el parámetro que representa la importancia relativa que se
da a la dispersión del valor de la función objetivo 4a respecto al promedio.
3.2.5 Objetivo 5. Minimización del error del punto de salida
Si se produjese un giro del avión, en el punto del sector aéreo por el que tenía que salir
el avión con su configuración inicial y el punto por el que saldrá con la actual, diferirán.
Este objetivo pretende minimizar dicha diferencia. La Figura 3.7 muestra un esquema
explicativo de este objetivo.
Figura 3.7. Cambio en el punto de salida del sector aéreo.
La quinta función objetivo se calcula sumando la media y la dispersión de la distancia
entre el punto de salida original y el nuevo al efectuar el cambio.
55 5 5
1
n
ii
wmin f a a dn
,
con
51
1 n
ii
a dn
,
C A P Í T U L O 3 : M O D E L I Z A C I Ó N D E L P R O B L E M A | 23
donde la distancia es calculada obteniendo los nuevos puntos de salida del sector aéreo
de cada avión,
2 2 2, , , , , , , , ,( ) ( ) (+ ) i fin i fin new i fin i fin new i fin i fin new id x x y y z z ,
tal que:
, , ,
, , ,
, , ,
( , ),
( , ),
( , ),
fin new i i new i
fin new i i new i
fin new i i new i
x intersecti n xy interse
ooo
cti n yz intersecti n z
definen las coordenadas del nuevo punto de salida del sector aéreo, donde ,new i es el
nuevo ángulo con respecto al horizontal del avión i una vez la maniobra asociada a la
solución bajo consideración es ejecutada.
donde 5 [0,1]w es el parámetro que representa la importancia relativa que se da a la
dispersión del valor de la función objetivo 5a respecto al promedio.
3.2.6 Objetivo 6. Minimización de la dispersión de las maniobras globales
El sexto y último objetivo tiene que ver con la dispersión de las maniobras a lo largo
del tiempo, es decir a lo largo de las diferentes ejecuciones del algoritmo. El propósito
es repartir el esfuerzo de maniobra de todos los aviones para intentar que no se den
situaciones en las que, por ejemplo, un avión efectúa maniobras continuamente mientras
que otro no ejecuta ninguna. Simplemente, se calcula la dispersión de los valores de las
maniobras acumuladas de cada avión desde que entro en el sector aéreo:
6 61
1i
n
newi
min f a mann
con 61
1 ( )i
n
newi
a mann
siendo el promedio del número de maniobras y
24 | 3 . 2 F u n c i o n e s O b j e t i v o
, si 0 0 0, si 1 1 1i
i i i inew
i i i i i i i
man vc ac tcman
man vc ac tc vc ac tc,
es el nuevo número de maniobras acumuladas para el avión i si la maniobra asociada a
la solución, llega a ser ejecutada.
C A P Í T U L O 4 : O P T I M I Z A C I Ó N B A S A D A E N
M E T A H E U R Í S T I C A S | 25
Capítulo 4.
4 OPTIMIZACIÓN BASADA EN
METAHEURÍSTICAS
A continuación, se hace una definición sobre el concepto de optimización, en su
variante uniobjetivo y multiobjetivo, también se hace un resumen de algunos métodos
que existen para hallar una solución.
La optimización, es el proceso de selección de la mejor solución posible a un problema
entre un conjunto de soluciones y bajo un criterio dado. Generalmente este proceso se
realiza en tiempo limitado. Se le llamará solución óptima al resultado de este proceso
cuando el mejor valor se llegue a alcanzar. La optimización está presente en ciencias
como las matemáticas, estadística, la computación, economía, etc. por ello se ha
convertido en una importante disciplina y su necesidad ha estimulado diferentes
estudios.
Los problemas de optimización con sólo una función objetivo son conocidos como
optimización uniobjetivo, y los de varias funciones objetivo como optimización
multiobjetivo, optimización vectorial o multicriterio.
26 | 3 . 2 F u n c i o n e s O b j e t i v o
Desde un enfoque matemático el problema de optimización uniobjetivo (o
programación matemática) se pude describir como la terna (f, X, ) donde f es la
función a optimizar, X es el conjunto de soluciones factibles y es el espacio de
soluciones. En otras palabras, una optimización trata de determinar un máximo o un
mínimo para una única función objetivo:
f(x)
con
x=(x1,…,xn)T
variables de decisión (xj, j=1,…,n) sujetas a un conjunto de restricciones que delimitan o
constituyen la región factible X, es decir x X.
En contraparte a los problemas de optimización uniobjetivo, existen los problemas de
optimización multiobjetivo que, a diferencia de los uniobjetivo, buscan la mejora
simultánea de múltiples objetivos aun cuando sean conflictivos entre ellos. Es frecuente
que la mejora de uno o varios objetivos con lleve al deterioro de otros.
Una posible descripción para una optimización multiobjetivo sería la necesidad de
determinar los valores para un vector de variables de decisión x que satisfaga el
conjunto de restricciones y “optimice” una función vectorial, cuyos elementos
representan las funciones objetivo individuales.
“optimizar” f(x)
sujeto a x
donde es el conjunto discreto y finito de soluciones factibles del problema y f es una
función objetivo de n dimensiones a minimizar.
f(x)={f1(x), f2(x),…, fn(x)}.
C A P Í T U L O 4 : O P T I M I Z A C I Ó N B A S A D A E N
M E T A H E U R Í S T I C A S | 27
Es frecuente que para este tipo de problemas no existe una ninguna solución que
proporciones simultáneamente el mejor valor para todos los objetivos por lo tanto no
existe ningún x* tal que:
fi(x*) ≤ fi(x), x , i=1,…,n.
En consecuencia, se requiere conseguir una solución que proporcione valores aceptables
para el usuario decisor en todas las funciones objetivos. Se trata entonces de obtener
soluciones eficientes, no dominadas o óptimas de Pareto [24]. Una solución x* es no
dominada en un contexto de minimización, si no existe otra solución factible que tome
un valor menor en algún objetivo sin causar un incremento simultáneo en al menos otro.
Una definición formal para una solución no dominada, sería x* , es una solución no
dominada, si no existe otra solución x tal que fi(x) ≤ fi(x*), para todo x
fi(x) < fi(x*). Entonces se puede decir que x* x,
que significa x* domina a x.
El conjunto no dominado o de Pareto o eficiente se refiere a la no existencia de un x’
que pertenezca al conjunto de soluciones eficiente y que domine a x, que si pertenece
al conjunto de soluciones eficiente
P = {x :¬ x’ con x’ x }.
Nótese que la optimalidad de Pareto no garantiza la unicidad de la solución.
A partir del conjunto no dominado P, se puede definir la Frontera de Pareto PF como:
1 , , |nPF f f x f x x Pf ff f x .
En un caso general, es imposible encontrar una expresión analítica de la superficie que
contiene estos puntos. El procedimiento habitual para generar la frontera de Pareto es el
de computar los puntos que pertenezcan al conjunto de soluciones eficiente , en donde
existe un número suficiente de estos, lo que hace posible determinar los puntos no
dominados y así producir la frontera de Pareto.
28 | 4 . 1 M é t o d o s e x a c t o s
Por otra parte, el conjunto eficiente podría ser muy grande, por lo que se han hecho
varias propuestas orientadas a encontrar una única solución denominada solución de
compromiso, solución satisfaciente o satisfactoria. Igualmente, la generación de todo el
conjunto de Pareto resulta muy difícil y conlleva un alto coste computacional.
4.1 Métodos exactos
Los métodos exactos se dividen en diferentes clases según el tipo de problema que
resuelvan: programación lineal, que se divide a su vez en continua y entera,
multiobjetivo y programación no lineal, que se divide en restringida y no restringida.
Algunos algoritmos de programación lineal continua son los siguientes (véase la Figura
4.1):
Figura 4.1. Métodos exactos
Método símplex: Es un algoritmo muy popular utilizado para la resolución de
problemas lineales [23].
C A P Í T U L O 4 : O P T I M I Z A C I Ó N B A S A D A E N
M E T A H E U R Í S T I C A S | 29
El algoritmo busca el óptimo del problema recorriendo algunos de los vértices del
poliedro que representa el conjunto de soluciones factibles. En cada iteración, el
algoritmo se desplaza de un vértice a otro de forma que el valor de la función objetivo
mejore con el desplazamiento.
Este algoritmo trabaja basándose en m ecuaciones y las n restricciones iniciales que se
modelan mediante programación lineal aunque no lo sea, para ello hay que convertir
estas inecuaciones en ecuaciones utilizando unas variables denominadas de holgura y
exceso ("Slack or surplus"), estas variables adquieren un gran valor en el análisis de
sensibilidad y juegan un rol fundamental en la creación de la matriz identidad base del
Simplex.
Método del punto interior: Aunque el método del símplex ha funcionado bien para
resolver problemas grandes, la cantidad de iteraciones necesarias para llegar a la
solución óptima puede crecer de forma exponencial.
En el método del punto interior se permite cruzar por el medio de la región factible en
vez de moverse solamente por las aristas [45].
Entre los métodos más conocidos de programación lineal entera están los siguientes:
Ramificación y acotación: Este método realiza una enumeración parcial del espacio de
soluciones basándose en la generación de un árbol de expansión, asignando un coste a
cada rama [51].
Además, esta técnica utiliza cotas para podar aquellas ramas del árbol que no conducen
a la solución óptima. Para ello, calcula en cada nodo una cota del posible valor de
aquellas soluciones alcanzables desde éste. Si la cota muestra que cualquiera de estas
soluciones tiene que ser necesariamente peor que la mejor solución hallada hasta el
momento no se necesita seguir explotando por esa rama del árbol, lo que permite
realizar el proceso de poda.
Método de los planos de corte: Funciona resolviendo el problema entero como si fuera
continuo. Si la solución encontrada es entera, esa será la solución del algoritmo. En caso
contrario, se añade una nueva restricción que corta la solución no entera pero no corta
30 | 4 . 1 M é t o d o s e x a c t o s
ningún otro punto de la región factible [36]. Esto se repite hasta que se encuentra la
solución entera óptima. Bajo una interpretación geométrica, una restricción es
equivalente a un hiperplano, permitiendo soluciones solo en uno de los lados del plano.
Algunos métodos de programación lineal multiobjetivo [97]:
Método de las ponderaciones: La idea básica es transformar el problema multiobjetivo
en uniobjetivo introduciendo un modelo aditivo ponderado en la función objetivo. Para
llevarlo a cabo se tiene que considerar en forma sistemática una serie de conjuntos de
pesos positivos que se multipliquen a cada objetivo del problema. Usualmente se
empieza por la optimización individual de cada objetivo, equivalente a considerar los
pesos {1,0,...,0}, {0,1,...,0}, ..., {0,0,...,1}. Posteriormente, se introduce una variación
sistemática de estos pesos con una tasa de aumento prefijada. Cada problema de
ponderación es un problema de programación lineal cuya resolución conduce a una
solución eficiente.
Se pueden tener distintos inconvenientes: distintos conjuntos de pesos pueden generar el
mismo punto, el tamaño del peso de un conjunto de pesos a otro puede no permitir
generar todos los puntos extremos y, por lo tanto, se obtendría una aproximación al
conjunto eficiente.
Método de las Σ-restricciones: Consiste en optimizar la función objetivo más
importante que las otras, donde éstas estarán limitadas por unas cotas inferiores. Las
cotas inferiores representan preferencias subjetivas del decisor, por lo que si no existiera
una solución se tendría que relajar al menos una de las cotas. La solución del problema
será eficiente si es una única solución.
Algunos algoritmos de programación no lineal restringida son:
Multiplicadores de Lagrange: Se trata de un procedimiento que reduce un problema
con n variables y k restricciones a otro sin restricciones y n+k variables, cuyas
ecuaciones pueden ser resueltas más fácilmente [11]. Estas nuevas variables escalares
desconocidas, una para cada restricción, son llamadas multiplicadores de Lagrange. El
método postula que los puntos donde la función tiene un extremo condicionado con k
C A P Í T U L O 4 : O P T I M I Z A C I Ó N B A S A D A E N
M E T A H E U R Í S T I C A S | 31
restricciones, están entre los puntos estacionarios de una nueva función sin restricciones
construida como una combinación lineal de la función y las funciones implicadas en las
restricciones, cuyos coeficientes son los multiplicadores.
Sea f(x) la función a optimizar, sujeta a la equidad g(x)=0.
Se sustituyen por L(x, λ) conocida como la función de Lagrange o Lagrangiana, tal que
L(x, λ) = f(x) + λ g(x)
donde los parámetros λ, reciben el nombre de multiplicadores de Lagrange.
Nótese que cuando se satisface g(x)=0 se cumple que L(x, λ)= f(x).
Luego se trata de encontrar los valores que cumplan las condiciones donde las derivadas
parciales con respecto a las variables independientes de la función sean iguales a cero.
1
( , ) , ,n
L L LLx x
x 0,,,xx
, LLLLLL, LL
Condiciones de Karush-Kuhn-Tucker (KKT): [50] Se basa en una generalización de
los multiplicadores de Lagrange.
Sea f(x) la función a optimizar, sujeta a las desigualdades gm(x) 0 donde m=1,…,k. y
las funciones f y g son diferenciables.
Se requiere que:
1. Se cumplan las condiciones de primer orden de optimalidad local, es decir:
a. x* es máximo local x* satisface KKT para máximo.
b. x* es mínimo local x* satisface KKT para mínimo.
si un punto satisface las condiciones de KKT para máximo, sólo podemos decir
que es un “posible” máximo local; si en cambio, no las satisface, sí podremos
asegurar que NO es máximo local.
32 | 4 . 1 M é t o d o s e x a c t o s
2. 1
( *) ( *)k
i ii
f x g x , así se obliga que el gradiente de la función objetivo en
x* sea combinación lineal de los gradientes de las restricciones en x*.
donde λi recibe el nombre de multiplicadores de KKT.
3. , ( *) 0i i ig x , así se limita a los multiplicadores de KKT asociados a las
restricciones no activas (o saturadas) en x* a que sean nulos.
4. En un contexto de maximización , 0i i .
En un contexto de minimización , 0i i .
Cuando el punto satisface KKT para máximo, todos los multiplicadores deben
ser positivos. Cuando el punto satisface KKT para mínimo, todos los
multiplicadores deben ser negativos.
5. , ( *) 0i ig x , así el punto x* debe satisfacer todas las restricciones del
problema, es decir, debe pertenecer al conjunto de soluciones factibles del
problema.
Por último, algunos métodos de resolución de problemas de programación no
restringida:
Método de Newton-Raphson: [95] Es un método que iterativamente va aproximando
incrementalmente la solución de una ecuación del tipo 0f x . Se parte de una
estimación inicial de la solución x0 y se construye una sucesión de aproximaciones de
forma recurrente mediante la ecuación:
1j
j jj
f xx x
f x.
Algoritmo de Broyden-Fletcher-Goldfarb-Shanno: Es un método iterativo que intenta
mejorar al de Newton-Raphson utilizando segundas derivadas [35, 11].
C A P Í T U L O 4 : O P T I M I Z A C I Ó N B A S A D A E N
M E T A H E U R Í S T I C A S | 33
4.2 Heurísticas y metaheurísticas
Una característica de los problemas combinatorios es que existe un algoritmo exacto
que puede permitir alcanzar la solución óptima, a través de un recorrido exhaustivo del
conjunto de soluciones. Durante el estudio de estos problemas se ha llegado a la
diferenciación de dos tipos, problemas de clase P y clase NP.
Los problemas de clase P son problemas cuya resolución presenta una complejidad
polinómica.
Los problemas de clase NP, son problemas cuya resolución no cumple con una
complejidad polinómica, su resolución es extremadamente ineficiente y el tiempo de
ejecución suele crecer de forma exponencial con el tamaño del problema.
Por ello, las estrategias de solución a los procesos de optimización multiobjetivo han
sido orientados a la obtención directa de una solución no dominada y además
satisfactoria. Estas estrategias conforman los denominados métodos aproximados o de
aproximación o heurísticas, que constituyen una alternativa razonable y aceptable, a los
métodos exactos. Estos métodos pretenden alcanzar un equilibrio en el consumo de
recursos de tiempo y memoria mientras intentan conseguir una aproximación del
conjunto de Pareto.
En las heurísticas se suele incorporar al algoritmo conocimiento del problema para
poder resolverlo de forma inteligente. Se tratan de procedimientos que tratan de aportar
una solución al problema de manera eficiente, es decir, intentan encontrar una solución
de calidad o próxima a la óptima con un coste computacional razonable.
Sin embargo, al incorporar conocimiento del problema tienen una aplicabilidad muy
restringida. Otro inconveniente asociado al uso de heurísticas es la posibilidad de
quedarnos atrapados en un óptimo local en el proceso de búsqueda. Un ejemplo es el
método Húngaro y el método Flood, diseñados para resolver el problema de la
asignación de recursos para la realización de tareas al menor coste.
34 | 4 . 3 C l a s i f i c a c i ó n d e m e t a h e u r í s t i c a s
Con el objetivo de superar los inconvenientes asociados a las heurísticas se
desarrollaron las metaheurísticas. Como su propio nombre indica son heurísticas de alto
nivel, algoritmos potentes normalmente aplicables a un gran número de problemas y
con una alta capacidad de escapar de óptimos locales.
Proporcionan un marco general para crear algoritmos híbridos combinando diferentes
conceptos de la inteligencia artificial, de la evolución biológica y mecanismos
estadísticos.
Son una gran ayuda a la hora de obtener soluciones satisfacientes en un tiempo
razonable. Esto se consigue con un equilibrio entre la exploración y la explotación del
espacio de búsqueda. Solo recorren una pequeña parte del espacio de búsqueda, siendo
una de sus ventajas, pero se necesita un equilibrio para evitar en la medida de lo posible
perder mejores soluciones.
La evolución de las metaheurísticas y su actividad como área de investigación han
tenido un comportamiento exponencial en las últimas décadas, permitiendo resolver
problemas que tiempo atrás se consideraban inabordables.
4.3 Clasificación de metaheurísticas
Desde los años 60, se han ido creando y evolucionando un gran número de técnicas
metaheurísticas tanto para el caso uniobjetivo, como multiobjetivo. Hay varias
clasificaciones que se pueden encontrar sobre estos métodos aproximados de resolución
de problemas combinatorios, pero en la Figura 4.2 se muestra una de las más aceptadas
que divide a éstas en tres grandes grupos: metaheurísticas de búsqueda global,
evolutivas y constructivas.
C A P Í T U L O 4 : O P T I M I Z A C I Ó N B A S A D A E N
M E T A H E U R Í S T I C A S | 35
Figura 4.2. Clasificación de metaheurísticas
4.3.1 Metaheurísticas de búsqueda global
Las metaheurísticas de búsqueda global o trayectoriales se apoyan en búsqueda
probabilística y su filosofía consiste en conseguir no quedarse atrapadas en un óptimo
local. Para escapar de esta situación se consideran las siguientes estrategias:
Volver a comenzar la búsqueda desde otra solución inicial, también llamado
recomienzo.
Modificar la estructura de entornos necesaria para generar nuevas soluciones.
Permitir movimientos de empeoramiento de la solución actual.
Surgen así, respectivamente, las metaheurísticas de arranque múltiple [34], las
metaheurísticas de entorno variable y las metaheurísticas de búsqueda no monótona. Las
metaheurísticas de arranque múltiple establecen pautas para reiniciar de forma
inteligente las búsquedas descendentes. Las metaheurísticas de entorno variable
modifican de forma sistemática el tipo de movimiento con el objetivo de evitar que la
búsqueda se quede atrapada por una estructura de entornos rígida. Las búsquedas que
36 | 4 . 3 C l a s i f i c a c i ó n d e m e t a h e u r í s t i c a s
también aplican movimientos de empeoramiento durante el proceso se denominan
búsquedas no monótonas.
Las metaheurísticas para búsquedas no monótonas controlan los posibles movimientos
de empeoramiento de la solución mediante criterios de aceptación estocásticos o
utilizando la memoria del proceso de búsqueda. Las metaheurísticas de búsqueda
estocástica establecen pautas para regular la probabilidad de aceptar transformaciones
aunque no mejoren la solución. Los algoritmos más conocidos en el ámbito de búsqueda
global son los siguientes:
Recocido Simulado: Emula la forma en que se enfrían los materiales para alcanzar un
estado de producción total mínima de entropía, consiguiendo alcanzar el estado más
bajo de energía. Fue introducido por [48] y otros autores, en un intento por conseguir
una solución eficiente para el problema del viajante y otros problemas NP-completos.
El algoritmo ejecuta una búsqueda estocástica generando soluciones en el entorno de las
previas, aceptando movimientos de empeoramiento con una cierta probabilidad.
Los pasos del algoritmo básico del RS son los siguientes:
1. Antes de empezar a iterar se ha de generar una solución inicial. Normalmente
ésta se genera aleatoriamente, pero se ha demostrado que utilizar heurísticas para
generar una buena solución de inicio o una búsqueda local puede mejorar el
rendimiento del algoritmo.
2. Se aplica la función o funciones objetivos para evaluar la solución inicial
generada.
3. Se establece una temperatura inicial. La correcta elección de ésta también puede
afectar en gran medida al rendimiento del algoritmo, ya que una temperatura
muy alta origina una mayor capacidad de exploración y mayor tiempo de
ejecución hasta conseguir la convergencia del algoritmo mientras que una muy
baja, produce el efecto contrario; menor exploración y menos tiempo necesario
para converger.
C A P Í T U L O 4 : O P T I M I Z A C I Ó N B A S A D A E N
M E T A H E U R Í S T I C A S | 37
4. Mientras que no se alcance el criterio de convergencia que se establezca y no se
alcance el máximo número de iteraciones establecido, se itera sobre los pasos 5 a
9.
5. Se genera una nueva solución en el entorno de la solución actual. La definición
del entorno depende del problema en concreto que se pretenda resolver.
6. Se evalúa la solución generada.
7. Si la solución generada es mejor que la actual, ésta es sustituida por la generada.
8. Si no, se elige la siguiente solución actual probabilísticamente en función de la
temperatura y la diferencia del valor de evaluación de ambas.
9. Se decrementa la temperatura según el criterio establecido
Búsqueda Tabú: Se inspira en el concepto social tabú para proporcionar una técnica de
búsqueda eficiente que evite el anclaje en un óptimo local. Fue introducido en [34]. Se
trata de un procedimiento que combina la búsqueda local con una heurística para evitar
el estancamiento en mínimos locales (permitiendo movimientos hacia soluciones que no
mejoren la actual y evitar entrar en ciclos en el proceso de búsqueda, mediante el uso de
una memoria temporal que se denomina lista tabú, LT).
En esta lista se almacenan los últimos movimientos realizados y es utilizada para
recordar aquellos movimientos que hacen al proceso caer de nuevo en soluciones ya
exploradas. Esto permite prevenir ciclos e inducirá la exploración sobre nuevas
regiones.
Otro elemento clave en la búsqueda tabú BT es el criterio de aspiración. Cuando un
movimiento tabú proporciona una solución mejor que cualquier otra previamente
encontrada, su clasificación tabú puede eliminarse. La condición que lo permite se llama
criterio de aspiración (CA). De esta forma, se refuerza la combinación de movimientos
y las características de buenas soluciones.
El mecanismo de control del algoritmo de la BT está por tanto basado en la interacción
entre las condiciones que restringen y liberan el proceso de búsqueda, es decir, en el uso
de la LT y el CA.
38 | 4 . 3 C l a s i f i c a c i ó n d e m e t a h e u r í s t i c a s
Búsqueda en entornos variables (variable neighborhood search), VNS [62]. Esta
metaheurística se basa principalmente en cambiar la estructura de entornos de forma
sistemática y aprovechar tres hechos simples:
Un mínimo local con una estructura de entornos no lo es necesariamente con
otra.
Un mínimo global es mínimo local con todas las posibles estructuras de
entornos.
Para muchos problemas, los mínimos locales están relativamente próximos entre
sí.
Los dos primeros hechos sugieren el empleo de varias estructuras de entornos en las
búsquedas locales para abordar el problema de optimización. El último hecho,
constatado empíricamente, indica que los óptimos locales proporcionan información
acerca del óptimo global. Puede ser, por ejemplo, que tengan características comunes
pero, generalmente, no se sabe cuáles son esas características. Es conveniente, por tanto,
realizar un análisis de las proximidades de cualquier óptimo local buscando información
que permita orientar la búsqueda hacia el óptimo global.
Las metaheurísticas basadas en VNS, al contrario de lo que ocurre con otras
metaheurísticas, se mantienen simples; no sólo sus esquemas básicos sino también la
mayoría de las extensiones, requiriendo el ajuste de muy pocos parámetros.
Esta característica permite que la metaheurística VNS y sus extensiones sean útiles para
diseñar rápidamente procedimientos heurísticos con los que proporcionar buenas
soluciones con rapidez de manera muy simple, dejando al descubierto cuales son las
razones que determinan su rendimiento, lo que frecuentemente facilita la elaboración de
implementaciones sofisticadas muy eficientes.
4.3.2 Metaheurísticas evolutivas
Las metaheurísticas evolutivas establecen estrategias para conducir la evolución en el
espacio de búsqueda de conjuntos de soluciones (usualmente denominados poblaciones)
con la intención de acercarse a la solución óptima con sus elementos. El aspecto
C A P Í T U L O 4 : O P T I M I Z A C I Ó N B A S A D A E N
M E T A H E U R Í S T I C A S | 39
fundamental de estas metaheurísticas consiste en la interacción entre los miembros de la
población frente a las búsquedas que se guían por la información de soluciones
individuales.
Las diferentes metaheurísticas evolutivas se diferencian por la forma en la que
combinan la información proporcionada por los elementos de la población para hacerla
evolucionar mediante la obtención de nuevas soluciones. Algunos ejemplos de
metaheurísticas evolutivas son las siguientes:
Algoritmos Genéticos: Emulan la forma de procreación y adaptación de las especies en
el campo de la genética y fueron introducidos en [41].
Los AG se utilizan cuatro operadores para combinar la población y explorar el espacio
de búsqueda:
Operador de selección: se utiliza para seleccionar un subconjunto de la
población para posteriormente ser combinada en base a la evaluación de uno o
varios objetivos denominada fitness por hacer analogía con la teoría de la
evolución y la genética.
Los operadores de selección más populares son el método de la ruleta, que
selecciona aleatoriamente individuos de la población dando más probabilidad de
selección a aquellos que tengan un mayor fitness; la selección por torneo,
mediante la cual iterativamente se seleccionan al azar una serie de individuos
cuyos fitness se comparan para seleccionar al individuo más adaptado.
Operador de cruce: combina el subconjunto de la población generada mediante
el operador de selección para generar nuevos individuos que se utilizarán en la
siguiente iteración. El operador de cruce más utilizado es el de cruce en un
punto, que divide el vector de variables de los individuos (denominado genes) en
dos para luego intercambiarse entre sí dando lugar a nuevos genes.
Operador de mutación: cambia aleatoriamente un gen de un individuo. Se utiliza
para aumentar la capacidad de exploración del algoritmo.
Operador de reemplazo: es el método que define la forma en la que los nuevos
individuos sustituyen a los nuevos.
40 | 4 . 3 C l a s i f i c a c i ó n d e m e t a h e u r í s t i c a s
Programación genética, PG [49]: Se basa en los mismos conceptos que los algoritmos
genéticos. La diferencia principal radica en el modo en el que se representa la estructura
de la solución. En los AG ésta se representa mediante un vector de genes mientras que
en la PG se utiliza una representación arbórea. Esta representación permite que el
tamaño de la solución pueda ser variable al contrario que en los AG.
La PG más potente y usada es la guiada por gramáticas o PGGG [87], que restringe la
formación del árbol solución a una serie de reglas que éste ha de cumplir.
Finalmente, la PG se basa en los mismos operadores que los AG; selección, cruce,
mutación y reemplazo, adaptados para ser utilizados con una estructura en forma de
árbol.
Algoritmos meméticos [63]: Se trata de un algoritmo que puede verse como una
variante de los algoritmos genéticos y cuyo nombre proviene del término meme,
acuñado por R. Dawkins. La idea básica del algoritmo es la de incorporar la mayor
cantidad de conocimiento del dominio que sea posible durante el proceso de generación
de una nueva población.
La diferencia más importante entre los algoritmos genéticos y los meméticos radica en
que estos últimos utilizan toda la información heurística posible para mejorar el proceso
de exploración mediante sucesivas búsquedas locales que refinan el conjunto de
soluciones.
Algoritmos Culturales [77]: Se inspiran en teorías y/o modelos que proponen algunos
sociólogos y arqueólogos que han intentado explicar la evolución cultural.
El algoritmo cultural AC básico permite que los individuos se comuniquen vía un
espacio compartido de creencias. El espacio compartido almacena cinco tipos básicos de
información que se puedan compartir cognitivamente o simbólicamente.
Es bien sabido que la escala de interacción dentro de los sistemas complejos afecta la
naturaleza de la estructura que emerge de la interacción de agentes dentro de ese
sistema.
C A P Í T U L O 4 : O P T I M I Z A C I Ó N B A S A D A E N
M E T A H E U R Í S T I C A S | 41
Los AC tienen tres componentes principales: espacio de población, espacio de creencias
y un protocolo que describe cómo el conocimiento es intercambiado entre los dos
primeros componentes. El espacio de población puede soportar cualquier población
basada en el modelo computacional de los algoritmos genéticos y la programación
genética.
Búsqueda Dispersa (Scatter Search), BD [33]. Se trata de un algoritmo que opera sobre
un conjunto de soluciones denominado conjunto de referencia. A diferencia de otras
metaheurísticas evolutivas como los algoritmos genéticos, la BD no está fundamentada
en la aleatorización sobre un conjunto relativamente grande de soluciones sino en
elecciones sistemáticas y estrategias sobre un conjunto pequeño. Un algoritmo genético
suele trabajar con alrededor de 100 elementos, mientras que en la BD puede bastar con
utilizar 10.
Una de las características más notables de la BD es que se basa en integrar la
combinación de soluciones con la búsqueda local. Consta básicamente de cinco
elementos o métodos:
Método de diversificación y generación: genera soluciones diversas. Se basa en
generar un conjunto P de soluciones (alrededor de 100), del que se extrae un
subconjunto pequeño (alrededor de 10) que se denomina conjunto de referencia
CR.
Método de mejora: típicamente se trata de un método local para mejorar las
soluciones, tanto del conjunto de referencia como las combinadas antes de
estudiar su inclusión en el conjunto de referencia. Es importante destacar que en
las implementaciones donde se manejen soluciones no factibles, este método ha
de ser capaz de, a partir de una solución no factible, obtener una que sea factible
y después intentar mejorarla.
Método de actualización del conjunto de referencia: a partir del conjunto de
soluciones diversas P se extrae el conjunto de referencia según el criterio calidad
y diversidad. Las soluciones en este conjunto están ordenadas de mejor a peor
respecto a su calidad.
42 | 4 . 3 C l a s i f i c a c i ó n d e m e t a h e u r í s t i c a s
Método de generación de subconjuntos: un método para generar subconjuntos
del conjunto de referencia a los que se aplicará el método de combinación. La
BD se basa en examinar de una forma exhaustiva todas las combinaciones del
CR. Este método especifica la forma en la que se seleccionan los subconjuntos
para aplicarles el método de combinación.
Método de combinación de soluciones: la BD se basa en obtener todas las
soluciones del conjunto de referencia. Para ello, se consideran los subconjuntos
formados por el método de generación de subconjuntos y se les aplica el método
de combinación. La solución o soluciones que se obtienen de esta combinación
pueden ser inmediatamente introducidas en el conjunto de referencia o
almacenadas temporalmente en una lista hasta terminar de realizar todas las
combinaciones y después de ver qué soluciones entran en éste.
Optimización por Enjambre de Partículas, (particle swarm optimization – PSO) [27].
Se inspira en el comportamiento social de las bandadas de pájaros o bancos de peces
que evolucionan teniendo en cuenta la mejor solución encontrada en su recorrido y al
líder.
El algoritmo emplea una población de soluciones (partículas) que influyen unas a otras
para recorrer el espacio de búsqueda. En concreto, se basan en la velocidad actual de la
partícula, su mejor solución encontrada hasta el momento y la mejor solución
encontrada por el enjambre en su totalidad. El algoritmo consta de dos partes,
inicialización y proceso iterativo:
Inicialización: se genera una población y se le asignan los parámetros iniciales
para el proceso posterior.
Proceso iterativo: una vez inicializada la población, iterativamente, se va
actualizando la velocidad y posición de cada partícula basándose en la mejor
solución encontrada por cada partícula y la mejor solución global
C A P Í T U L O 4 : O P T I M I Z A C I Ó N B A S A D A E N
M E T A H E U R Í S T I C A S | 43
Este proceso que sigue el algoritmo intenta mezclar explotación (enjambre en su
conjunto) y exploración (partículas individuales).
Estimación de Distribuciones, EDA [52]. Son una serie de métodos de optimización
estocástica que guían la búsqueda hacia el óptimo global construyendo y muestreando
modelos probabilísticos explícitos de soluciones candidatas prometedoras. La
optimización se puede ver como una serie de actualizaciones del modelo, empezando
con el modelo codificando una distribución uniforme sobre las soluciones factibles y
finalizando con el modelo que generaría solamente el óptimo global.
La principal diferencia entre los EDA y las metaheurísticas evolutivas convencionales
radica en que éstos generan soluciones candidatas usando una distribución implícita
definida por uno o más operadores de variación, mientras que los EDA usan una
distribución de probabilidad explícita codificada por una red bayesiana, una distribución
normal multivalente u otra clase de modelo.
4.3.3 Metaheurísticas constructivas
Éstas aportan soluciones al problema por medio de un procedimiento que incorpora
iterativamente elementos a una estructura, inicialmente vacía, que representa la
solución. Las metaheurísticas constructivas establecen estrategias para seleccionar las
componentes con los que se construye una buena solución del problema.
Colonias de Hormigas [25]. Los algoritmos de optimización por colonias de hormigas
reproducen el comportamiento de las hormigas reales en una colonia artificial de
hormigas para resolver problemas complejos de camino mínimo en grafos.
Cada hormiga artificial es un mecanismo probabilístico de construcción de soluciones al
problema (un agente que imita a la hormiga natural) que usa:
Rastros de feromona (artificiales): Cambian con el tiempo para reflejar la
experiencia adquirida por los agentes en la resolución del problema. Los
caminos más prometedores irán aumentando su nivel de feromonas mientras que
los menos prometedores irán disminuyéndolo.
44 | 4 . 3 C l a s i f i c a c i ó n d e m e t a h e u r í s t i c a s
Información heurística: Al ser una metaheurística constructiva, el procedimiento
necesita información heurística extra para determinar el modo en el que se van
añadiendo componentes a la solución.
El procedimiento, por tanto, consiste en una serie de hormigas explorando el espacio de
búsqueda. Éstas van eligiendo los arcos entre nodos del grafo mediante una función
probabilística basada en la cantidad de feromona que haya en el arco e información
heurística del problema. El algoritmo tiende pues a aumentar el nivel de feromona en
los arcos que forman el camino óptimo.
Procedimiento de Búsqueda Voraz, Aleatoria y Adaptativa, GRASP [30, 31]: se trata
de un proceso iterativo que consiste en dos fases, una fase de construcción y otra fase de
búsqueda local. La mejor solución de las encontradas se mantiene como resultado.
En la fase de construcción, se construye elemento a elemento, iterativamente, una
solución válida. En cada iteración, la elección del siguiente elemento a ser añadido se
determina ordenando todos los posibles elementos en una lista de candidatos en base a
los valores que proporciona una función que mide el beneficio de seleccionar un
elemento en concreto. GRASP es adaptativo porque el beneficio asociado a la inclusión
de un elemento se actualiza en cada iteración para reflejar los cambios producidos al
seleccionar el elemento anterior. También es aleatorio porque va eligiendo los
elementos a incluir en la solución en construcción de la lista de candidatos
aleatoriamente entre los n mejores. A esta sub-lista se le denomina lista de candidatos
restringida. Esta técnica de construcción permite obtener diferentes soluciones en cada
iteración del GRASP.
Las soluciones generadas por la fase de construcción no garantizan ser localmente
óptimas en su entorno. Para esto se utiliza la fase de búsqueda local, que utiliza un
algoritmo voraz (greedy). La búsqueda local trabaja de forma iterativa sustituyendo la
solución actual por una mejor de su entorno. El algoritmo termina cuando no se
encuentra una solución mejor en el entorno actual.
C A P Í T U L O 4 : O P T I M I Z A C I Ó N B A S A D A E N
M E T A H E U R Í S T I C A S | 45
Se ha demostrado empíricamente que los algoritmos voraces, cuanto mejor sea la
solución inicial desde la que empiezan, de forma más eficiente realizarán la búsqueda.
Ese es precisamente el objetivo de la fase de construcción; proporcionar a la fase de
búsqueda local una solución aceptablemente buena y diferente a la de la iteración
anterior con la que empezar a buscar.
Concentración Heurística [78]. Se basa en la premisa de que cada óptimo local puede
ser considerado como una fuente de información acerca de la estructura de una parte de
la solución óptima. Se espera que un conjunto de éstos aporte información sobre todas
las partes de ésta.
El proceso de CH consta de dos etapas:
Búsqueda heurística: se ejecuta un número determinado de veces una búsqueda
heurística básica. Las mejores soluciones, según el valor de la función objetivo,
forman lo que se denomina conjunto de concentración, que se utilizará en la
segunda fase.
Combinación de soluciones: en esta fase se utiliza un método heurístico o exacto
para desarrollar una nueva solución a partir de la información del conjunto de
concentración que generalmente será mejor que las obtenidas en la primera fase.
Optimización Parcial Metaheurística bajo Condiciones Especiales de Intensificación,
POPMUSIC [84]. Partir de una solución inicial es algo típico usado frecuentemente en
los algoritmos de búsqueda local. A partir de dicha solución se genera un entorno de
soluciones posibles y el algoritmo de búsqueda trata de desplazarse hacia una solución
buena partiendo de la solución inicial (cuya calidad puede ser menor).
Para problemas grandes, a menudo es posible dividir una solución dada en sub-partes,
tradicionalmente llamadas chunks. Cada una de estas subpartes tiene una mayor o
menor relación con las otras. La idea central de POPMUSIC es generar un sub-
problema nuevo a partir de la selección de una de estas subpartes del problema, que
pasa a llamarse semilla, y también de aquellas subpartes que estén más relacionadas con
46 | 4 . 3 C l a s i f i c a c i ó n d e m e t a h e u r í s t i c a s
la primera. Si las partes y los sub-problemas están bien definidos, cada optimización de
un sub-problema redunda en una mejora de la solución global al problema principal.
POPMUSIC trata de alcanzar un mínimo optimizando independientemente cada sub-
problema que pueda ser definido a partir de las partes de la solución inicial y la función
de relación entre ellas.
C A P Í T U L O 5 : E S T A D O D E L A R T E E N L A
R E S O L U C I Ó N D E C O N F L I C T O S A É R E O S | 47
Capítulo 5.
5 ESTADO DEL ARTE EN LA
RESOLUCIÓN DE CONFLICTOS
AÉREOS
En la literatura actual, existen múltiples enfoques que afrontan la resolución y evasión
de conflictos aéreos, usando un variopinto número de tipos maniobras admisibles y
desde diferentes perspectivas que incluyen los métodos exactos, técnicas de simulación
y metaheurísticas. A continuación, se destacan algunos de estos enfoques.
Una de las primeras aproximaciones para la resolución del problema fue presentada en
la [66]. En ella se muestran dos formas de solución mediante las maniobras de cambio
de velocidad y cambios de dirección. La modelización del problema que ahí se describe
se basa en un modelo geométrico, el TFM se basa en este modelo. A pesar de la
evidencia de casos imposibles, como los conflictos frente a frente, en este modelo no se
consideraban, ya que no existe cambio de velocidad que resuelva estos. De igual manera
no controlaba los casos o situaciones patológicas, anteriormente mencionadas.
Finalmente, el problema de optimización ha sido resuelto de forma exacta utilizando
CPLEX.
48 | 4 . 3 C l a s i f i c a c i ó n d e m e t a h e u r í s t i c a s
Se ha desarrollado otros enfoques en el modelado con resoluciones exactas, en donde la
mayoría de estos se basan en cambios de velocidad, ya que la resolución de conflictos a
través de cambio de dirección tiene implícito una no linealidad que incrementa la
complejidad; a continuación, se explica brevemente cada uno estos enfoques:
En [15] se propone un modelo de 3 dimensiones con maniobras de cambios de
velocidad, modelado como un problema entero mixto no-lineal resulto por CPLEX. Sin
embargo, no se tienen en cuenta aún los casos imposibles que se mencionaron antes.
Usando técnicas de simulación, se encuentran los enfoques [14, 73]. En [14] se explica
una propuesta interesante ya que analiza el desempeño en el consumo de recursos
cuando se ejecuta una maniobra de cambio de velocidad para resolver un conflicto,
teniendo en cuenta factores realistas como la aerodinámica del avión y el consumo de
combustible del mismo, entre otros factores. Estos factores no suelen ser comunes en
este campo en particular en donde solo se tiene en cuenta el evitar los conflictos aéreos.
Existen varias aproximaciones que siguen una misma línea, como es el caso de [73], en
la cual se formula un modelo desde un punto de vista diferente, se resuelve el problema
distinguiendo entre conflicto de cruce (el más general), en el que los aviones en algún
punto se cruzan y superponen sus cilindros de seguridad, y conflicto de rastro o de
persecución en el que un avión persigue al otro teniendo diferentes velocidades.
[13] se basa en el cambio a discreción de la velocidad, acelerando o desacelerando
durante un periodo de tiempo determinado, recuperando la velocidad inicial del avión
después de salir del conflicto. En este caso, se propone resolver el problema de dos
formas; usando programación entera-mixta y, por otro lado, dividiendo el problema en
sub-problemas locales más pequeños, los cuales son resueltos mediante métodos
exactos.
Otras propuestas son estudiadas con menos frecuencia ya que requieren afrontar un
problema de optimización no lineal que surge al permitir el cambio de dirección como
posible maniobra. En [6] se asume la problemática de trabajar con este tipo de
maniobras y se adopta una estrategia de dos pasos: uno exacto y otro aproximado. En
primera instancia, se minimiza la magnitud de los cambios de dirección de los aviones a
C A P Í T U L O 5 : E S T A D O D E L A R T E E N L A
R E S O L U C I Ó N D E C O N F L I C T O S A É R E O S | 49
través de una optimización no lineal no-convexa entera mixta. Para el segundo, tan
pronto un avión está libre de conflictos con el resto, se le obliga a retornar a su plan de
vuelo original a través de una serie de modelos de optimización cuadráticos sin
restricción. Esta estrategia reduce el espacio de búsqueda discretizando los posibles
cambios de dirección.
Otra propuesta bastante realista es la realizada en [5], en donde se añade la variable
aceleración al modelo. Se propone resolver los conflictos aéreos discretizando el tiempo
restante hasta que éste se produzca en diferentes intervalos, optimizando la aceleración
y la velocidad que debe ser asignada al avión en cada uno de los intervalos. Para
resolver el problema se utiliza un modelo mixto 0-1 no lineal, que va linealizando
iterativamente por medio de la utilización de polinomios de Taylor.
Posteriormente, esta aproximación es mejorada en [7], en la que se extiende el control
de aviones que estén fuera del sector aéreo que se debe gestionar. Dicho de otro modo,
tiene en cuenta aquellos aviones que vayan a salir o entrar del espacio aéreo a gestionar.
Además, esta propuesta tiene en cuenta los conflictos que puedan surgir cuando un
avión está descendiendo o ascendiendo al ejecutar una maniobra de cambio de altitud.
En [4] se añaden cambios de altitud cuando son necesarios, mejorando así el modelo de
cambios de velocidad, por ejemplo, ante la presencia de un conflicto frente a frente. En
este caso, se ejecuta un cambio de altitud AC, resolviendo de esta manera la incapacidad
de los modelos basados únicamente en cambios de velocidad. Además, se asume el
problema desde una perspectiva multiobjetivo, centrándose en la disminución de la
variación de la velocidad, la disminución del número de maniobras y la recuperación de
la ruta original del avión cuando este no tenga conflictos. Para este enfoque se utilizó
una técnica exacta de optimización lineal mixta 0-1, con un desempeño destacable y
cercano al tiempo real.
Otro punto de vista diferente e innovador es el propuesto en [72], que se basa en la
elección de diferentes tipos de estrategias para evitar conflictos. Cada avión dispone de
un cierto conjunto de maniobras que son típicas para resolver el problema, y a partir de
ahí, se propone una combinatoria exacta en tiempo continuo para asignar las maniobras
50 | 4 . 3 C l a s i f i c a c i ó n d e m e t a h e u r í s t i c a s
estratégicamente adecuadas para la resolución de los conflictos. La estrategia usada es
la selección de una trayectoria generada por un modelo Basis splines (una línea
polinómica suave básica) junto con la separación de las restricciones del problema de
detección y resolución de conflictos, a través de un modelo de programación semi
infinito.
Por otro lado, existen propuestas que resuelven el conflicto por medio de
metaheurísticas, como es el caso visto en [26], usando la metaheurística de colonia de
hormigas desde una perspectiva de dos dimensiones y bajo una velocidad contante para
todos los aviones. Asume el cambio de dirección como única maniobra admisible, y
dentro de ésta, solo 7 ángulos de giro con 3 ángulos por lado. Se centra en resolver los
posibles conflictos minimizando la distancia recorrida como único objetivo.
Durante la ejecución del algoritmo, relaja la resolución de los conflictos en búsqueda de
una mayor cantidad de soluciones descartando al final las soluciones con el mayor
número de conflictos.
Representa los aviones como un conjunto de hormigas que recorren un espacio. Las
posibles trayectorias que puede seguir una hormiga son modelados a través de un grafo,
donde los nodos son validados como libres de conflicto mediante el depósito de
feromonas. Por otra parte, en la búsqueda del camino más corto, se seleccionan los
caminos con menos aristas y con mayor probabilidad aportada por la cantidad de
feromonas en sus nodos.
En [61] se utiliza la metaheurística de colonias de hormigas con el propósito de
encontrar el camino más corto y con menor cambio de dirección que resuelva el
conflicto. Afronta el problema desde una perspectiva de dos dimensiones, donde los
aviones mantienen una velocidad constante, asume el cambio de dirección como única
maniobra admisible, y dentro de ésta, solo 5 ángulos de giro.
Genera rutas de planes de vuelo de principio a fin para cada avión, aumentando la
complejidad del problema y limitando su posibilidad de uso para una mayor cantidad de
aviones. No tiene en cuenta la repartición de maniobras entre aviones por lo tanto llega
a sobrecargar de maniobras a una misma aeronave.
C A P Í T U L O 5 : E S T A D O D E L A R T E E N L A
R E S O L U C I Ó N D E C O N F L I C T O S A É R E O S | 51
En [32] se aplica la metaheurística PSO para hallar el camino más corto de un avión tras
la evasión de una situación de riesgo. Al igual que los enfoques anteriores [26], se basa
en un espacio de dos dimensiones con el cambio de dirección como única maniobra, y
donde las trayectorias son representadas por grafos cuyos nodos representan waypoints.
Sin embargo, este enfoque suaviza el cambio de dirección al permitir utilizar valores
numéricos del conjunto de lo reales. La densidad de los waypoints aumenta en zonas
donde es probable que suceda un conflicto.
El objetivo del algoritmo de [17] es encontrar la trayectoria libre de riego que surge de
añadir waypoints como puntos intermedios en el plan de vuelo para la evasión del
riesgo. Las aeronaves solo pueden aplicar el cambio de dirección como tipo de
maniobra, y este cambio se produce en aquellos puntos intermedios. Las trayectorias
con menor coste serán seleccionadas. Se modela el volumen de seguridad que rodea a
las aeronaves como la composición de cajas o bounding box, gracias a este el modelo
detecta conflictos en las tres dimensiones. Sin embargo, resuelve los conflictos en un
espacio de dos dimensiones. El proceso de búsqueda de la solución se hace a través de
PSO. Los autores de este enfoque lo destacan por su bajo tiempo computacional y los
pocos parámetros que requiere para describir el sistema, pero plantean retos a superar,
como la baja precisión debido al bouding box. Luego en [18] se mejora este enfoque
aumentando la precisión de sus resultados, gracias al uso del tiempo disponible antes de
una situación de conflicto. Ese tiempo sobrante se invierte en más tiempo de computo.
En [8] se propone como función objetivo la minimización de los cambios de dirección
relajando la restricción del riesgo. En esta propuesta, el autor (Alonso-Ayuso, Escudero,
Martin-Campo y Mladenovic) utiliza la misma modelización que utiliza en sus otros
estudios [63], pero en esta ocasión utiliza cambios de dirección. No obstante, esta vez
propone una resolución basada en la metaheurística de búsqueda en entornos variables -
VNS obteniendo así buenos resultados en un tiempo de computación bajo.
52 | 4 . 3 C l a s i f i c a c i ó n d e m e t a h e u r í s t i c a s
Desde [60] se aborda el problema del riesgo desde una perspectiva de múltiples
maniobras, como un objetivo más que competirá con los objetivos de minimización de
magnitud de maniobra, minimización de número de maniobras, minimización de retraso
temporal, minimización de desviación del punto de salida y minimización de dispersión
de maniobras del conjunto de aviones; y con la metaheurística AMOSA (archive
simulated annealing-based multi-objective optimization algorithm) la variante
multiobjetivo del Recocido Simulado obteniendo excelentes resultados y convirtiéndose
en referencia fundamental para este trabajo.
Finalmente, en este trabajo se retoma el reto propuesto en [58] bajo el mismo contexto
multiobjetivo, con las mismas restricciones de tres maniobras por avión, pero con una
distinta técnica de solución. Se afronta el problema con la metaheurística Cultural
MOPSO, un método hibrido entre los algoritmos Culturales y el PSO multiobjetivo.
Cada posición de una partícula en el PSO representa un posible cambio de la magnitud
de la maniobra de un avión. A su vez, cada partícula tiene asociada una copia del
problema a solucionar, así la partícula con mejor desempeño en el espacio objetivo,
influencia con su posición al resto de partículas. El Cultural MOPSO extrae información
de las posiciones de las partículas y su contexto, le da significado y lo almacena
convirtiéndolo en conocimiento. El conocimiento se usa para influenciar a las partículas
del PSO y orientarlas a áreas de interés del espacio objetivo. Las áreas de interés son
determinadas por métricas extraídas del conocimiento. El concepto de cultura emerge
cuando el conocimiento pasa de una generación a la siguiente.
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 53
Capítulo 6.
6 PARTICLE SWARM
OPTIMIZATION - PSO
En esta sección se describe los orígenes de la metaheurística de nubes de partículas o
Particle Swarm Optimization, la forma general de ésta, la fijación de los parámetros,
variantes de la metaheurística sin parámetros para luego pasar al caso multiobjetivo y
finalizar describiendo la adaptación al problema que se afronta en este TFM.
6.1 Orígenes y aplicaciones
Antes de la creación del algoritmo de PSO, existían varios estudios basados en el
comportamiento social de los animales, motivados por la estética y la coreografía de su
desplazamiento en conjunto. En estos casos cada ave o pez tiene un comportamiento
autónomo, descentralizado y sigue unas simples reglas que no parecen tener sentido
individualmente, sin embrago al observar la bandada o el banco de peces en conjunto,
surge un comportamiento que demuestra cierta inteligencia.
Reynols [74] por una parte y Heppner y Grenander [39] por otra, presentaron
simuladores de bandadas de pájaros, que trataban de imitar las reglas que permitían a un
gran número de aves volar de manera síncrona, frecuentemente cambiando de dirección
54 | 6 . 2 P S O u n i o b j e t i v o
de forma repentina, dividiéndose, agrupándose y sin colisionar, siendo esta la última la
clave principal y motivacional para recrear este movimiento en un simulador.
Por otra parte, el sociobiólogo Wilson E.O [89] planteó la idea de que la compartición
de información entre individuos de una misma especie proporciona una ventaja
evolutiva. Esta idea surgió al observar las aves obteniendo beneficios de los
descubrimientos y experiencias previas de su bandada durante la búsqueda de comida,
sopesando el hecho de una competición por los alimentos y recursos.
En la convergencia de estas ideas y motivaciones emerge un concepto, Particle Swarm
Optimazation, como un algoritmo de simulación de ambiente social, donde cada agente
o pájaro (partículas en este caso) finge “volar”, sin llegar a colisionar, en el espacio de
búsqueda con la motivación de encontrar regiones prometedoras en el paisaje, ajustando
su vuelo a sus experiencias y a las de otros individuos.
La primera aplicación del PSO fue en el entrenamiento de los parámetros de una red de
neuronas artificiales y reportado en [46]. Hoy en día se usa en múltiples y diferentes
contextos tales como comunicaciones, data mining, optimización combinatoria,
procesamiento de señales [19], para el estudio de la optimización electromagnética o el
estudio de [21] aplicado a la visión artificial.
Actualmente, existen diferentes líneas de investigación activas, tales como:
Aspectos teóricos.
Algoritmos de emparejamiento.
Selección de parámetros.
Comparación de las variantes del PSO y otros algoritmos.
Múltiples aplicaciones en diferentes tipos de problemas.
6.2 PSO uniobjetivo
En esta sección se detalla el algoritmo PSO uniobjetivo. Los individuos en un enjambre
de partículas tienen un comportamiento muy simple: emular el éxito de los individuos
vecinos y sus propios éxitos. El comportamiento colectivo que emerge de este
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 55
comportamiento simple es que se encuentran regiones óptimas de un amplio espacio de
búsqueda dimensional.
El algoritmo PSO maneja una población (denominada nube de puntos, enjambre o
swarm) de soluciones candidatas al problema a ser resuelto. A estas soluciones
potenciales se les denomina partículas, su posición actual está determina por la solución
que estas representan en el espacio objetivo. Una partícula se mueve atendiendo a la
mejor posición que ha tenido ésta a través de su historia y a la mejor posición global de
toda la población. Las partículas que son usadas para guiar a las otras a mejores
regiones se les conocen como líderes. Las nuevas posiciones obtenidas orientan los
movimientos de las partículas. El proceso se repite hasta hallar una solución lo
suficientemente satisfactoria.
Dada la posición de la partícula i en el instante de tiempo t (xit), se calcula su nueva
posición xit+1 usando la velocidad vit+1:
xit+1 = xit + vit+1 .
La velocidad (vector) dirige el proceso de optimización, determina la dirección en el
que la partícula se necesita “volar” (mover) en búsqueda de una mejor posición a su
actual. El cálculo de la nueva velocidad se basa en la siguiente idea:
Nueva velocidad = inercia + componente cognitiva + componente social ,
donde la inercia se define como la contribución del movimiento de la partícula en el
pasado reciente. Esto puede ser visto como la prevención de cambios repentinos en la
dirección. La componente cognitiva será vista como la “memoria” individual, la cual
tiende a dibujar la partícula en la mejor localización visitada, lo que se define como
nostalgia. Por último, la componente social indicará la “memoria” colectiva, la cual
dirige la partícula a la actual mejor solución global.
Más formalmente:
56 | 6 . 2 P S O u n i o b j e t i v o
vit+1 = ω (vit) + c1 (personalBesti - xit) + c2 (bestNeighbori - xit)
Inercia Componente Cognitiva Componente Social
,
donde ω, c1, c2 son constantes usadas para ajustar los pesos de cada una de las tres
influencias. Particularmente ω es el peso de la inercia, y se usa para controlar el impacto
de la historia previa de la velocidad sobre la actual velocidad de una partícula dada. Por
otra parte, c1 y c2 representan el factor de aprendizaje, c1 el factor de aprendizaje
cognitivo que representa la atracción de una partícula hacia su propio éxito y c2 es el
factor de aprendizaje social que representa la atracción de una partícula hacia el éxito de
sus vecinas. Usualmente tiene un valor constante durante la ejecución del algoritmo y es
por esto que también se les conoce como constante de aceleración local y global
respectivamente, de ahí su notación cj.
El problema de este movimiento es que el algoritmo puede caer en mínimos locales, por
lo que es necesario introducir algunos elementos de aleatoriedad para prevenir el
estancamiento en mínimos locales y fomentar la búsqueda en partes no visitadas del
espacio de búsqueda:
vit+1 = ω (vit) + c1 r1 (personalBesti - xit) + c2 r2 (bestNeighbori - xit)
Inercia Componente Cognitiva Componente Social
,
donde r1 y r2 son variables aleatorias con las que se trata de solventar el problema de los
mínimos locales.
Finalmente, el algoritmo PSO se puede formalizar de la siguiente forma. Sea f: n →
la función de coste que se desea minimizar. La función f tiene por argumento una
solución candidata, que se representa como un vector de números reales, y de salida
proporciona un número real que es la función objetivo de la solución candidata
obtenida. Las mejores posiciones son los mejores valores de la función objetivo f.
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 57
El objetivo es determinar una solución a que verifique f(a) ≤ f(b) para todo b en el
espacio de búsqueda, con lo que a sería el mínimo global. Se podría hacer el proceso
inverso para un problema de maximización con la función h = -f.
Sea S el número de partículas en la nube, y cada una de las cuales tiene una posición
xin en el espacio de búsqueda, y una velocidad vi n. Sea pi la mejor posición
conocida de una partícula i, y g la mejor posición global conocida de todas las
partículas. El algoritmo PSO básico sería el siguiente.
1. Para cada partícula i = 1, ..., S:
a. Inicializar la posición de la partícula mediante un vector aleatorio
uniformemente distribuido: xi ~ U(blo, bup), donde blo y bup son
respectivamente el límite inferior y el límite superior del espacio de
búsqueda.
2. Inicializar la mejor posición conocida de la partícula a su posición inicial:
pi ← xi.
3. Si (f (pi) < f (g)) actualizar la mejor posición global conocida: g ← pi.
4. Inicializar la velocidad de la partícula: vi ~ U(-|bup – blo|, |bup – blo|).
5. Mientras no se cumpla el criterio de parada (p.ej. límite máximo de iteraciones,
encontrada una solución satisfactoria), repetir:
a. Para cada partícula i = 1, ..., S:
i. Para cada dimensión d = 1, ..., n:
1. Elegir números aleatorios: r1, r2 ~ U(0,1).
2. Actualizar la velocidad de la partícula:
vi,d ← ω vi,d + c1 r1 (pi,d –xi,d) + c2 r2 (gd – xi,d).
ii. Actualizar la posición de la partícula: xi ← xi + vi.
58 | 6 . 3 E s t u d i o d e l o s p a r á m e t r o s
iii. Si (f (xi) < f (pi)) entonces:
1. Actualizar la mejor posición conocida de la partícula:
pi ← xi.
2. Si (f (pi) < f (g)) actualizar la mejor posición global:
g ← pi.
b. Devolver g como la mejor solución encontrada.
Los parámetros ω, c1 y c2 son definidos por un especialista, y regularán el
comportamiento y la eficacia del método PSO.
6.3 Estudio de los parámetros
En esta sección se estudian en detalle cada uno de los parámetros más relevantes del
algoritmo, así como su influencia sobre el comportamiento del mismo. Además, se
presentan múltiples estrategias para seleccionar estos parámetros de manera adecuada
así como las diferentes variedades presentes en la literatura.
6.3.1 Técnica de iniciación de las partículas
Las experiencias recogidas de diferentes ejecuciones demuestran que una buena
distribución aleatoria en el espacio de búsqueda facilita la exploración de múltiples
regiones del mismo y mejora el desempeño computacional del PSO. Se entiende como
buena distribución aquella cuyo resultado distribuye de forma homogénea los puntos.
Sin embargo, los ordenadores presentan una dificultad implícita en la generación de
números aleatorios, lo que impide cumplir con el deseo de una distribución homogénea
de las partículas sobre el espacio de búsqueda.
Por ello diferentes estudios, que se expondrán a continuación, se centraron en aliviar
dicho inconveniente, reemplazando la distribución uniforme de las partículas por la de
generadores de sucesiones de baja discrepancia (también conocidas como cuasi-
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 59
aleatorias o sub-aleatorias en inglés se encuentra como low-discrepancy secuence),
véase la Figura 6.1 con la sucesión de Sobol [88], un ejemplo de sucesiones de baja
discrepancia.
Sucesión de Sobol Distribución de números pseudoaleatoria
Figura 6.1. Representación de una distribución de Sobol en dos dimensiones versus una distribución de
números aleatorios.
En [85] investigaron el rendimiento del algoritmo usando algunas sucesiones de baja
discrepancia (Halton, Sobol y Faure) para la iniciación de las partículas del PSO. En
este estudio se compara el rendimiento de PSO con las tres distribuciones mencionadas
y con la sucesión de Sobol se consigue mejorar el rendimiento.
Por otra parte, en [68] proponen la generación de las posiciones iniciales de la población
mediante el algoritmo Nonlinear Simplex Method (o NSM), suponiéndose que se inicia
con un simplex en un espacio de búsqueda D-dimensional, los D+1 vértices del simplex
serán las D+1 partículas de la población. Entonces se aplica, NSM por N-(D+1) pasos,
donde N es el número de partículas deseadas. Por cada paso del NMS, se obtiene un
nuevo vértice, como una nueva partícula que será agregada a la población. Así la
población inicial es generada en base a la información de las buenas regiones que posee
cada partícula como un vértice del NSM simple en cada paso. Según el autor, el coste
computacional del algoritmo no es excesivo, a pesar que una función de evaluación es
aplicada a cada partícula de la población inicial, algo que ocurre incluso si la población
fuera iniciada de una forma aleatoria. Los resultados obtenidos suponen una mejora en
60 | 6 . 3 E s t u d i o d e l o s p a r á m e t r o s
la convergencia del PSO, y en algunos, casos aumenta la cantidad de éxitos del
algoritmo.
Finalmente, en [64], proponen el algoritmo de Arado-PSO (Plowing PSO Algorithm), se
centra en explorar el espacio con la ventaja de la búsqueda aleatoria. Para ello, definen
el operador de Arado (Plowing operator), que consiste en elegir una posición global que
se corresponderá con una posición aleatoria que pertenece a una distribución uniforme,
evaluar la función de ajuste y en el caso que se mejore dicho resultado, desechar la
posición global anterior y almacenar la nueva. Este proceso de búsqueda y desecho se
asemeja al proceso de arado en la agricultura, de ahí su nombre. A continuación una
psudoalgoritmo del operador de arado:
for i=1 to Problem Dimension for j=1 to k X = global best position; X(i) = Random number between Upper and lower bound; Compute Fitness of X; if (fitness(X) < fitness(global_best_position) ) then global_best_position=X end end end
El operador de arado cambia el valor de cada dimensión k veces, su valor exacto
depende de la amplitud del espacio de búsqueda, convirtiendo a este parámetro en el
más relevante para este algoritmo.
Los resultados obtenidos por este método son una mejora de la precisión, estabilidad y
robustez.
Finalmente, como síntesis de este apartado, se han expuesto tres enfoques, comparados
y probados con bancos de pruebas reconocidos y valorados por su diversidad,
concluyéndose que la eficiencia de la técnica de iniciación es por sí solo un problema
complejo. La elección de una técnica de iniciación dependerá del comportamiento
deseable, porque una elección arbitraria nos puede conducir a buenos resultados para
algunos casos pero en otros poco satisfactorios.
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 61
6.3.2 Máxima velocidad
El valor de la máxima velocidad (Vmax) también afecta el desempeño del PSO. Si es
muy grande las partículas se mueven erráticamente quedando rápidamente fijadas a una
posición global, sin explorar suficientemente el espacio de búsqueda. De igual manera
podrían a llegar a sobrepasar el espacio de búsqueda aumentando el riesgo de quedar
atrapadas en un óptimo falso. Por otra parte, para una velocidad máxima muy pequeña,
el movimiento de las partículas se hace lento, conllevando una sobrecarga
computacional y el algoritmo podría ser incapaz de converger.
Entonces el parámetro de la velocidad máxima debe ser ajustado. Además, para
asegurar la uniformidad de la velocidad en todas las dimensiones, [1] presenta el valor
de la como:
donde N1 es el número de intervalos en las di dimensión seleccionada por el usuario.
Xmax y Xmin son el máximo el mínimo, respectivamente, de valores que las partículas han
logrado alcanzar.
Nótese que, en términos generales, Vmax es un valor distinto para cada dimensión porque
cada dimensión tiene sus propias escalas y magnitudes, que hacen que los rangos
puedan llegar a ser distintos en otras dimensiones.
6.3.3 Peso de inercia
En primer lugar, [80] introdujeron el concepto de inercia que mejora el rendimiento del
PSO, y la importancia del cual depende de un peso. Qué valor debe ser asignado a este
peso y cómo debe comportarse durante la ejecución del algoritmo ha sido un tema de
estudio en múltiples artículos.
En [9] y [57] investigaron sobre una adaptación borrosa, donde el peso de inercia era
dinámicamente ajustado usando una evaluación borrosa. Por otra parte, [79] y [80]
presentaron un método en el que decrementaban el peso de inercia linealmente. De
manera similar, [94] propusieron una aproximación en la que reducían el peso de inercia
62 | 6 . 3 E s t u d i o d e l o s p a r á m e t r o s
linealmente, pero en múltiples etapas. En [102] investigaron sobre las ventajas de
incrementar el peso de inercia linealmente. En contraposición a esta idea, en [53]
introdujeron un método para actualizar el peso de inercia de manera no lineal.
En [96] estudiaron un método para cambiar el peso de inercia de manera aleatoria.
Similar a este estudio, en [29] introdujeron un peso de inercia con descendencia caótica.
Por otra parte [90] propusieron un método para actualizar el peso de inercia de manera
exponencial; [67] expusieron un nuevo método en el que la novedad de este enfoque era
la combinación de un peso de inercia de nuevo desarrollo con diferentes distribuciones
de probabilidad. Finalmente, en [58] expusieron un método para hallar el peso de
inercia de una forma paralela y en [3] utilizaron el recocido simulado para modificar el
peso de inercia.
Se implementó un estudio comparativo en [38] con diferentes tipos de pesos de inercia
dando como resultado que el decremento lineal junto con el recocido simulado de pesos
de inercia fueron los mejores. Teniendo en cuenta tanto la simplicidad y la eficiencia, el
decrecimiento lineal es el método más apropiado para establecer el peso de inercia y se
utiliza normalmente en aplicaciones de PSO. Los valores ωmax = 0.9 y ωmin = 0.4 son
ampliamente aceptados en la literatura.
6.3.4 Variante con peso de inercia adaptativo
El proceso de búsqueda PSO es un proceso no lineal y complejo, mientras que
estrategias como la disminución lineal del peso de inercia tienen una transición lineal de
búsqueda global a local, que no encaja exactamente en el proceso de búsqueda de PSO.
Por lo tanto, para un mejor rendimiento, el peso de inercia debería ser cambiado de
forma no lineal y dinámica para inducir mejor el equilibrio dinámico entre la capacidad
de búsqueda global y local.
Debido a la falta de conocimiento sobre el proceso de búsqueda, es imposible diseñar un
modelo matemático para adaptar el peso de inercia de forma dinámica. Sin embargo,
existe una cierta comprensión y experiencia sobre el proceso de búsqueda PSO que hace
a la técnica borrosa un buen candidato para adaptar el peso de inercia dinámicamente.
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 63
Para diseñar dicho sistema borroso, las entradas al sistema son variables que miden el
rendimiento del PSO y la salida del sistema es el peso de inercia o su cambio.
En el estudio de [81], el gbest y el peso de inercia actual son entradas, y el cambio en el
peso de inercia es la salida del sistema de control. La evaluación del mejor rendimiento
actual (CBPE) mide el rendimiento de la mejor solución candidata encontrada hasta el
momento. Para que sea aplicable a una amplia gama de problemas, el CBPE se ha
normalizado, y después se definen tres variables para tener tres conjuntos borrosos,
concretamente, baja, media y alta. Con sus correspondientes funciones triangulares de
pertenencia, los valores críticos para estas funciones de pertenencia han sido
establecidos, y también se han definido nueve reglas borrosas para determinar la salida
(cambio en el peso de inercia). Los resultados han demostrado la superioridad del peso
de inercia adaptativo borroso sobre el peso de inercia de decrecimiento lineal en algunos
aspectos.
En [57] se puso en marcha un PSO adaptativo borroso utilizando un peso de inercia
borroso y también una posición de control borrosa. Los resultados presentados muestran
que la estrategia de control evita que el PSO quede atrapado en óptimos locales y
también conduce a una mayor precisión.
En [93] presentan una auto-adaptación del PSO. La adaptación se realiza mediante la
sustitución de partículas inactivas por otras nuevas con el fin de mantener la atribución
social del enjambre. Para cada partícula i, se define un contador de similitud, y cada vez
la distancia entre el objetivo de esta partícula y gbest es inferior a un valor predefinido
(ε), se añade uno al contador de similitud, y cuando después de alguna iteración el
contador de similitud alcance el valor umbral (Tc), se reinicializa la velocidad y la
posición de la partícula i.
El principal inconveniente de esta variante es que, no sólo es necesario fijar el tamaño
del enjambre, el peso de inercia y los coeficientes de aceleración, sino que también
introduce algunos parámetros nuevos (Tc y ε) para ser establecidos por el usuario.
64 | 6 . 3 E s t u d i o d e l o s p a r á m e t r o s
6.3.5 Coeficientes de aceleración
Los coeficientes de aceleración representan la ponderación de los términos de
aceleración estocásticos que llevan las partículas hacia pbest y gbest. Si el valor de estas
constantes es demasiado alto, las partículas se mueven bruscamente y el riesgo de
quedar atrapadas en falsos óptimos aumenta. Por el contrario, si su valor es demasiado
bajo, las partículas se mueven muy lentamente, aumenta el coste computacional
significativamente y es probable que el algoritmo no llegue a converger.
Por otro lado, el valor relativo de estos dos coeficientes de aceleración es crítico e
influye en el comportamiento del algoritmo. Cuando el valor del coeficiente de
aceleración cognitivo (c1) aumenta, aumenta la atracción de partículas hacia pbest y
disminuye su atracción hacia gbest. Además, el aumento del coeficiente de aceleración
social en relación con el coeficiente de aceleración cognitiva, aumenta la atracción de
partículas hacia gbest.
En la literatura, el ajuste c1 = c2 = 2 se ha propuesto como un ajuste aceptable, en
general, para la mayoría de los problemas [65] y es ampliamente utilizado en
aplicaciones prácticas de PSO. Pero normalmente, mediante la aplicación de un poco de
ensayo y error, se puede lograr un comportamiento computacional más eficiente que el
obtenido con los valores generalmente aceptados arriba mencionados.
Asimismo, en la literatura, se han aplicado en algunos problemas variaciones en el
tiempo de coeficientes de aceleración [2, 10], y coeficientes de aceleración adaptativos
[37, 86, 98, 91, 103].
6.3.6 Variante de coeficientes de aceleración adaptativos
En [10] proponen una técnica de agrupación para adaptar los coeficientes de
aceleración. En primer lugar, la población se divide en tres grupos, y después del
proceso de agrupación a través de K-medias, la adaptación se lleva a cabo basándose en
el tamaño relativo del grupo que contiene la mejor partícula y el que contiene la peor
partícula, a través de las siguientes reglas:
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 65
1) Si la mejor partícula se encuentra en el grupo más pequeño y la peor partícula
está en el grupo más grande, se incrementa c1 y se decrementa c2.
2) Si la mejor y la peor partícula están en el grupo más pequeño, decrementar c1 y
c2.
3) Si la mejor y la peor partícula están en el grupo más grande, incrementar c1 y c2.
4) Si la mejor partícula se encuentra en el grupo más grande y lo peor partícula está
en el grupo más pequeño, se decrementa c1 y se incrementa c2.
Esta variante adaptativa supera las variantes básicas del PSO en términos de
optimalización global, velocidad de convergencia y precisión de solución para la
mayoría de las funciones de prueba.
En [2] han presentado un enfoque adaptativo para los coeficientes de aceleración en el
que, a diferencia de las variantes anteriores, diferentes partículas tienen diferentes
coeficientes de aceleración. Si gbest no ha cambiado en k iteraciones sucesivas, luego,
0.5 ( ),( 1) ,
2 ( ), 1,..., 1i
ii
C k i IC k
C k i N
donde I es el conjunto de índices de los [Np/2] partículas más fuertes, y Np es el tamaño
enjambre. Por otro lado,
( 1) ( ).i iC k C k
Por lo tanto, los coeficientes de aceleración de las partículas menos aptas se duplican y
las de las demás se reducen a la mitad.
6.3.7 Variantes de peso de inercia adaptativo y coeficientes de aceleración
Además de las explicaciones mencionadas en las secciones anteriores, que adaptan bien
el peso de inercia y los coeficientes de aceleración, existen algunas estrategias para la
adaptación de ambos.
En [37] propusieron una variante adaptativa que asigna el peso de inercia específico y el
coeficiente de la aceleración social a cada partícula, mientras que el coeficiente de
66 | 6 . 3 E s t u d i o d e l o s p a r á m e t r o s
aceleración cognitivo se mantiene constante. La adaptación se lleva a cabo basándose en
el valor de “distancia relativa”, que se calcula de la siguiente manera:
( ( 1)) ( 1) , ( ( 1)) 0( ( 1))( ) ,0 , ( ( 1)) 0
i besti
ii
i
f X t g t f X tf X tR t
f X t
donde f(Xi (t-1)) y gbest(t-1) son el valor objetivo y el gbest de la partícula i en la iteración
(t-1), respectivamente.
1. Para la adaptación del peso de inercia:
1 2
( ( )) 2(1 cos ( )) ,2
( ) ( ( )) ,
i i
i i
F R t R t
t F R t
donde ω1 y ω2 son dos constantes positivas.
Cuando una partícula está lejos de gbest, su Ri(t) es alta, así que, de acuerdo a las dos
ecuaciones anteriores, su peso de inercia coge altura. Por lo tanto, la adaptación de peso
de inercia por encima causa una búsqueda global más fuerte en partículas lejos de gbest.
Por otro lado, para las partículas cerca de gbest, Ri(t) y F bajan, lo que conduce a un peso
más bajo de inercia que provoca una búsqueda local más fuerte.
2. Para la adaptación del coeficiente de aceleración social:
1 2
( ( )) 2(1 cos ( )) ,2
( ) ( ( )) ,
i i
i i
G R t R t
C t C F R t C
donde C1 y C2 son dos constantes positivas.
El valor de G se incrementa con Ri(t), por lo que, cuando las partículas se acercan a gbest,
Ri(t) se reducirá a atraerlos de gbest a pbest, para dificultar que el enjambre caiga en un
mínimo local, y por otro lado, cuando las partículas están muy lejos de gbest, Ci(t) se
incrementará para atraerlas de pbest a gbest para impulsar la convergencia.
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 67
Los resultados observados en esta variante demuestran su rendimiento superior en
comparación con otros enfoques de adaptación, especialmente para problemas de gran
dimensión.
Los autores de [44] adaptaron el peso de inercia y los coeficientes de aceleración con el
fin de crear un enjambre linealmente decreciente con velocidad media durante la
ejecución. Aquí, la velocidad media se calcula para el enjambre en cada instante de
tiempo:
1 1
1 ,pN n
ave idi dp
V VN n
donde Vid es la velocidad de la partícula i en la dimensión d.
También en cada instante de tiempo, después de actualizar las posiciones y las
velocidades de las partículas y después de actualizar pbest para las partículas y gbest para
el enjambre, los siguientes dos pasos adicionales son implementados.
Vave ref (valor deseado para la velocidad media) es actualizado:
( 1) ( ) ,initave averefref
end
VV t V tT
donde Vinit es la velocidad media inicial y Tend es el número de iteraciones después de las
cuales la velocidad media alcanza el valor cero.
Si el actual Vave es mayor que Vave ref, cambiar los valores de C1, C2 y ω a valores
divergentes (valores que disminuyen la velocidad), y también si el actual Vave es menor
que Vave ref, cambiar los valores de C1, C2 y ω a valores convergentes (valores que
aumentan la velocidad). Valores convergentes y divergentes se explican por [44].
En [99] introdujeron una adaptación PSO extremadamente eficiente, que adapta el peso
de inercia y los coeficientes de aceleración. En este enfoque, primero se realiza una
estimación de la evolución del estado (ESE). ESE tiene en cuenta la información de la
68 | 6 . 3 E s t u d i o d e l o s p a r á m e t r o s
distribución de la población en cada generación, como se muestra en los siguientes
pasos:
(1) Se calcula la distancia media de cada partícula i a todas las demás partículas
usando la métrica euclidiana
2
1, 1 1
1 ( ) ,1
pN n
i id jdj j dp
d X XN
donde n es la dimensión del problema y Np es el número de partículas en el
enjambre.
(2) El di para el gbest se llama dg, mediante la comparación de todos los di's, las
distancias mínimas dmin y máxima dmax son determinadas y luego un factor
evolutivo (F) se define como sigue:
min
max min
.gd dF
d d (3) Usando la clasificación borrosa, F se clasifica en cuatro grupos diferentes que
representan los estados de la exploración, la explotación, la convergencia y
saltar.
(4) La adaptación del peso de inercia se lleva a cabo según el parámetro F a través
de la siguiente ecuación:
2.6
1( ) .1 1.5 FF
e
(5) La adaptación de los coeficientes de aceleración se lleva a cabo invocando las
siguientes cuatro estrategias:
o Si el algoritmo está en estado de exploración, C1 se incrementa mientras C2
se decrementa.
o Si el algoritmo está en estado de explotación, C1 se incrementa suavemente
mientras que C2 se decrementa suavemente.
o Si el algoritmo está en estado de convergencia, C1 y C2 se incrementan
suavemente.
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 69
o Si el algoritmo está en estado de exploración, C1 se incrementa mientras C2
se decrementa.
Este enfoque adaptativo se ha aplicado en las diferentes variantes de PSO estándar y ha
mejorado todos los términos de óptimo global, precisión de la solución, fiabilidad y
tiempo computacional, tanto en problemas uniobjetivo y multiobjetivo. El aspecto más
importante de este enfoque es que aumenta tanto la velocidad de convergencia y el
óptimo global, cuando se mejora un término generalmente conduce a la degradación del
otro. A pesar de todos los méritos del enfoque, su inconveniente es que introduce dos
nuevos parámetros que deben ser ajustados.
6.3.8 Topologías de entorno
Como se ha visto en la definición original del algoritmo, cada partícula puede acceder a
la información de aquella partícula cuyo valor en la función objetivo es el mejor global
de todas las partículas, con el fin de modificar su posición para aproximarse a ella. No
obstante, esta estrategia puede conllevar una convergencia excesivamente rápida, lo que
puede dar lugar a problemas de estancamiento en óptimos locales al no realizarse una
exploración exhaustiva del espacio de búsqueda.
Existen diversos estudios como el de [47] que propone una alternativa a este problema.
La idea consiste en limitar el flujo de información entre partículas estableciendo el
concepto de entorno (o vecindad). Este concepto de entorno representa que cada
partícula sólo puede conocer el valor de la función objetivo de una serie de partículas,
sus vecinos. Al limitar el flujo de información, se consigue que el algoritmo converja
localmente para después ir convergiendo globalmente a la mejor solución a medida que
esta se va transmitiendo. Por consiguiente, se consigue mejorar la calidad de los
resultados alcanzados a costa de incrementar el tiempo de ejecución del algoritmo.
En concreto, en este artículo mencionado [47] de se establecen varias topologías
comunes: topología de anillo, donde cada partícula está conectada con dos vecinos;
topología Von Neumann donde cada partícula tiene cuatro vecinos (arriba, abajo,
derecha, izquierda); grafo totalmente conectado, como su nombre lo indica todas las
70 | 6 . 3 E s t u d i o d e l o s p a r á m e t r o s
partículas están conectadas entre sí; y topología focal o estrella, donde las todas las
partículas se comunican con una sola. Estas son sólo algunas de las más comunes y cada
una ofrece unos resultados para un tipo específico de problemas, siendo según los
autores algo superior la topología Von Neumann.
Topología de anillo Topología focal
Topología de grafo
totalmente conexo
Figura 6.2. Representación de algunas topologías
No obstante, se ha explorado también la posibilidad de tener topologías dinámicas, es
decir, que la forma del entorno cambie en cada iteración del algoritmo. Esta
aproximación conlleva un mayor coste computacional, pero puede mejorar
sustancialmente los resultados finales obtenidos por el algoritmo. A continuación, se
detallan algunas de ellas.
Incremento gradual del entorno:
En esta estrategia [83] se propone que el número de vecinos vaya incrementándose de
manera progresiva, de tal modo que el algoritmo comience con las partículas aisladas y
vayan conectándose de manera gradual hasta terminar todas interconectadas entre sí. El
principal problema de esta aproximación es el coste computacional que conlleva
calcular el entorno, es decir, cómo elegir los ni elementos de la iteración i que deben
considerarse como vecinos. En este artículo se propone la distancia entre soluciones
como medida discriminatoria, la cual se va incrementando en cada iteración.
Topología FDR (Fitness Distance Ratio):
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 71
La principal idea [71] es combinar la información en el espacio de la función objetivo
con la posición en el espacio de búsqueda. Se calcula la proporción entre la diferencia
de la función objetivo para dos partículas frente a la diferencia entre sus posiciones en el
espacio de búsqueda. Esto garantiza que el vecino elegido tiene un alto nivel de ajuste
pero está espacialmente próximo a la partícula que se quiere mover. Este método ofrece
mejores resultados frente a las topologías estáticas, pero su coste computacional puede
ser muy elevado.
PSO Jerárquico:
Consiste en ordenar las partículas siguiendo una estructura jerárquica de árbol [10]. Este
árbol tiene una estructura determinada en cuanto a su altura, el número de hijos por cada
nodo y el número total de nodos. Dependiendo de la calidad de las partículas, éstas
pueden ir moviéndose a lo largo del árbol, siendo las de mayor calidad aquellas en
posiciones más altas de la jerarquía y teniendo por tanto mayor influencia sobre el resto
de partículas. Existen diferentes aproximaciones sobre cómo transmitir esta influencia:
unas permiten que para cada partícula sólo influya aquella partícula inmediatamente
superior en la jerarquía; otras permiten que lo puedan hacer todas aquellas partículas
superiores, pero de manera ponderada con respecto a la distancia jerárquica a la
partícula en cuestión. Esta estructura es más eficiente computacionalmente hablando,
pues no tiene que calcular tantas distancias, si bien sigue requiriendo de un gran número
de comparaciones para reorganizar la estructura.
Clubs-based PSO:
En este caso las partículas pertenecen a múltiples “clubs” o grupos de partículas, los
cuales son los entornos de cada partícula [28]. La posición de una partícula será
influenciada con la mejor de todas las partículas de todos los clubs a los que pertenezca.
Aquellas partículas que tengan un peor rendimiento son obligadas a pertenecer a más
clubs, con el fin de que puedan aprender de mejores partículas; y aquellas que tengan
mejor rendimiento, serán asociadas a menos clubs para reducir el número de
comparaciones necesarias. Cuando una partícula pertenece a muy pocos clubs o excede
72 | 6 . 3 E s t u d i o d e l o s p a r á m e t r o s
un determinado número de clubs, se vuelve a establecer su pertenencia de clubs original
para evitar el aislamiento o el exceso de clubs.
Subpoblaciones aleatorias:
Se basa en la aleatoriedad [56], cada partícula está conectada con un subconjunto de la
población total de partículas, el cual se ha calculado de manera aleatoria. Durante la
ejecución del algoritmo, de manera ocasional se restablece otro subconjunto distinto
donde se vuelven a asignar todas las conexiones entre partículas. Este método tiene la
ventaja de ser muy poco exigente computacionalmente hablando, pues no requiere de
ningún tipo de cálculo y permite salvar el problema de la convergencia prematura. No
obstante, al ser puramente aleatorio, no ofrece ninguna garantía sobre las conexiones
establecidas.
Tribes-PSO:
Presenta la idea de tribus [16], las cuales varían según la calidad de sus individuos. Este
algoritmo se explica con mayor detalle más adelante.
Como hemos visto existen múltiples topologías disponibles para tratar de conseguir que
el algoritmo converja a una velocidad más adecuada, fomentando la exploración de este
con el fin de evitar los óptimos locales. Las topologías estáticas ofrecen un buen
rendimiento para el caso general, pero pueden ser mejoradas por las topologías
dinámicas a cambio de incrementar el coste computacional requerido. Queda por tanto a
criterio del responsable de la implementación elegir cual de todas las opciones es la más
conveniente para su caso particular.
6.3.9 Criterio de Parada
Según la definición original del algoritmo de PSO, no existe un criterio de parada
definido. Esta misma situación tiene lugar en otras metaheurísticas como el Recocido
Simulado o los Algoritmos Evolutivos. El principal motivo de este problema es que no
se conoce de antemano el óptimo global de la solución, ya que es éste precisamente el
que se quiere buscar, y por tanto, no existe la posibilidad de reconocerlo.
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 73
Debido a esto, se tienen que buscar alternativas que nos permitan decidir cuándo detener
el algoritmo. Entre los criterios más comunes se encuentran: limitar la ejecución a un
número concreto de iteraciones o un límite de tiempo, lo que no ofrece garantías sobre
la calidad de la solución alcanzada; iterar hasta alcanzar una calidad aceptable para la
mejor solución, es decir, para el caso de PSO que una partícula alcance un nivel mínimo
o máximo, según se trate de minimizar o maximizar el objetivo, en la función objetivo;
establecer un número máximo de iteraciones en las que no se produce un cambio, lo que
significaría que el algoritmo se ha quedado estancado en una solución. O finalmente,
una combinación de cualquiera de los criterios anteriores según lo que se quiera
garantizar.
6.4 Particle Swarm Optimization sin parámetros
Como ya se ha visto en los apartados anteriores, una de las tareas fundamentales para el
buen funcionamiento del algoritmo PSO es ajustar apropiadamente todos los parámetros
que éste requiere. Esta tarea puede resultar complicada para algunos problemas y ser
costosa para el usuario, por lo que se han buscado alternativas que permitan llevar a
cabo este proceso de manera automática.
A continuación, se muestran dos ejemplos de implementaciones alternativas que no
requieren la especificación de ningún tipo de parámetros. Ambas alternativas son
bastante recientes, pero parecen ser bastante prometedoras.
6.4.1 Algoritmo TRIBES
El algoritmo TRIBES (del inglés, tribus) fue presentado en [16] y se basa en las
siguientes ideas. Las partículas están agrupadas por tribus, como el nombre del
algoritmo indica. En el comienzo del algoritmo existe una única partícula. Según el
comportamiento de cada tribu, nuevas partículas son añadidas o eliminadas de cada
tribu, y según el rendimiento de cada partícula, éstas son desplazadas siguiendo una
estrategia de movimiento concreta.
74 | 6 . 4 P a r t i c l e S w a r m O p t i m i z a t i o n s i n p a r á m e t r o s
La calidad de las tribus se basa en la calidad de las partículas que las componen, es
decir, que una tribu será mejor cuanto mayor sea el número de “buenas” partículas. Una
“buena” partícula es definida como aquella que ha mejorado su valor en la función
objetivo tras realizar un movimiento. Una partícula es considerada como “excelente” si
ha mejorado su valor de la función objetivo en sus últimas dos iteraciones. Y
finalmente, una partícula es considerada como “neutral” si el último movimiento no ha
producido una mejora.
Para considerar si una tribu es “buena”, se genera un número aleatorio entre 0 y el
número total de partículas de una tribu. Si este número es menor que el número de
partículas buenas de esa tribu, se considera como “buena”. En caso contrario, se etiqueta
como “mala”.
Cada L/2 iteraciones, siendo L el número total de enlaces entre partículas, se actualiza la
estructura de las tribus: de aquellas tribus “buenas” se eliminan las peores partículas con
el fin de reducir el coste computacional del algoritmo; por otra parte, en aquellas tribus
“malas”, su mejor partícula genera aleatoriamente otra partícula, la cual está enlazada
con la partícula madre, es decir, compartirán información sobre la calidad de las
partículas. Con esta nueva partícula se trata de fomentar la exploración para lograr
mejorar la calidad de la tribu.
Una vez que las partículas han sido creadas, queda por definir cómo se mueven en el
espacio de búsqueda. En este algoritmo no existe el concepto de velocidad, en su lugar
existen dos estrategias distintas: pivote simple y pivote ruidoso (“simple pivot” y “noisy
pivot” en inglés).
El pivote simple se aplica a aquellas partículas consideradas como “excelentes”. En esta
estrategia se seleccionan dos posiciones: la mejor posición p de la partícula (recordamos
que la partícula recuerda sus últimas dos posiciones) y la mejor posición q de sus
informadores. La nueva posición será una posición que probablemente diste lo menos
posible de las dos posiciones p y q. Para obtener esta posición se establecen dos valores
w1 y w2 que son proporcionales al ajuste de p y q, y se generan dos valores aleatorios hp
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 75
y hq próximos a p y q. La posición finalmente obtenida es aquella resultante de la
operación: w1 hp + w2 hq.
Para el caso del pivote ruidoso, se aplica la misma idea pero se añade un ruido aleatorio
que permite alcanzar posiciones más alejadas, con el fin de aumentar la exploración.
Esta estrategia se aplica a las partículas “buenas” y “neutrales”.
El algoritmo por tanto queda resumido de la siguiente manera:
1. Inicializar la tribu con una única partícula.
2. Evaluar la calidad de cada partícula.
3. Aplicar las estrategias de movimiento.
4. Iterar 2 y 3 durante L/2 iteraciones.
5. Actualizar las estructuras de las tribus.
6. Iterar hasta alcanzar criterio de parada.
Como se ve, el algoritmo no requiere de parámetros seleccionados por el usuario, ya que
el propio algoritmo decide cómo distribuir las partículas, cuántas debe haber, cómo
deben moverse y cómo deben comunicarse.
Este algoritmo, a pesar de ser reciente, está siendo aplicado en distintos campos, como
en el caso de [19] para el estudio de la optimización electromagnética o el estudio de
[21] aplicado a visión artificial, ofreciendo resultados muy prometedores en todos ellos.
6.4.2 PSO Adaptativo
Existen diferentes algoritmos que plantean la utilización de estrategias adaptativas para
la elección de los parámetros del algoritmo PSO. En este caso hemos escogido el
algoritmo presentado por [101]. La idea es aplicar diferentes estrategias adaptativas a
los diversos parámetros del algoritmo PSO en función de la mejora de la calidad de las
partículas. Estas estrategias se muestran a continuación con el fin de tener una idea
general, sin entrar en los pormenores de cada una de las estrategias.
Tamaño del swarm:
76 | 6 . 4 P a r t i c l e S w a r m O p t i m i z a t i o n s i n p a r á m e t r o s
Si una partícula muestra suficiente mejora con respecto con su valor de ajuste inicial,
pero es la peor partícula de su entorno, esta partícula es eliminada para evitar
redundancia y mejorar el rendimiento del algoritmo. Si por el contrario, muestra
suficiente mejora con respecto su valor de ajuste inicial y es la mejor partícula del
entorno, se genera una nueva partícula para fomentar la diversidad y tratar de aumentar
la exploración. Con esta estrategia se está decidiendo por tanto el equilibrio entre
exploración y rendimiento del algoritmo.
Coeficiente de aceleración:
Si una partícula ha mejorado lo suficiente con respecto al valor inicial de ajuste, su
coeficiente de aceleración es reducido, puesto que es conveniente que explore los
alrededores. En caso contrario, su coeficiente de aceleración se incrementa para buscar
zonas con mejores valores. Con esta estrategia se trata de equilibrar la búsqueda local y
la búsqueda global.
Tamaño del entorno:
Como ya se vio anteriormente, cuanto más pequeño sea el entorno, más lenta es la
convergencia, pero se ven reducidas las probabilidades de quedar atrapado en un
mínimo local. Por ello, si una partícula es la mejor partícula local y ha mejorado por
encima de un determinado umbral, esa partícula no requiere tantos vecinos, y por tanto
su entorno se puede ver reducido. En el caso inverso, donde no haya mejora en la mejor
partícula local, se requiere más información y por tanto el tamaño del entorno es
ampliado.
Se puede apreciar que el propio algoritmo es capaz de ajustar y adaptar sus parámetros
durante la ejecución, reduciendo por tanto la importancia dada a los parámetros
iníciales, ya que estos se ajustarán automáticamente. Aplicando estas estrategias
adaptativas se mejoran los resultados obtenidos y se reduce el coste añadido de tener
que encontrar los parámetros adecuados.
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 77
6.5 Cultural MOPSO Multiobjetivo
En esta sección se describe el enfoque Cultural MOPSO [22] que se usará como método
para resolver el problema de optimización que atañe a este TFM. La metaheurística
Cultural MOPSO, es una metaheurística híbrida entre algoritmos culturales, algoritmos
de optimización de nubes de partículas e incorpora el operador de mutación de los
algoritmos genéticos.
Con esta combinación consigue aprovechar el concepto de cultura que surge del paso de
información entre una población, tipifica esta información como conocimiento y la
subdivide en tres tipos, situacional, normativo y topográfico. Esta información será
extraída de las mejores partículas y será usada para influenciar al resto de la población.
Dicha influencia se efectúa a través del uso de una aceleración global variable por cada
iteración, de un peso personalizado para la inercia y la aceleración local.
Esta última parte es la que lo hace diferente de los PSO tradicionales que usan pesos
constantes, o incluso de otros enfoques, que se han decantado por pesos decrementales
en función del avance del algoritmo [69, 100, 54, 55, 92] o de valor aleatorio [42, 43,
59, 82, 40]. Sin embargo, este enfoque emula inteligencia al hacer ajustes
personalizados en para cada partícula en función del conocimiento y experiencia
extraída del enjambre.
Por lo tanto, MOPSO [20], de similar al PSO, se basa en el simple vuelo de las
partículas y representado en la siguiente expresión:
1 2( 1) ( ) ( ( ) ( )) ( ( ) ( ))d d d d d di i p i i g iv t v t c r pbest t x t c r gbest t x t (6.1)
( 1) ( ) ( 1)d d di i ix t x t v t (6.2)
donde ( )dix t es la d-ésima dimensión de la posición de la i-ésima partícula en el tiempo
( 1,2,...,t i n y 1,2,..., )d M . ( )div t es la d-ésima dimensión de la velocidad de la i-
ésima partícula en el tiempo t. ( )dipbest t es la d-ésima dimensión de la mejor posición
individual de la i-ésima partícula en el tiempo t. ( )dgbest t es la d-ésima dimensión de
la mejor posición global, grupal, en el tiempo t.
78 | 6 . 5 C u l t u r a l M O P S O M u l t i o b j e t i v o
pc y gc son valores constantes, las aceleraciones individuales y globales, las cuales
dan diferentes pesos de importancia a los términos individuales y globales respectivos
de (6.1).
1r y 2r son números aleatorios uniformes en el intervalo (0, 1) lo cual confiere
características estocásticas al vuelo de una partícula.
es la inercia de la partícula.
Cuando una partícula requiere ser usada para explorar o explotar, el énfasis en cada
término de la expresión (6.1) debería ser diferente, por ello, ninguna partícula debería
tener los mismos valores para la inercia y las aceleraciones locales y globales.
Sin embargo, la adaptación de estos términos durante el vuelo de la partícula, es una
tarea que no puede ser resuelta a menos que se tenga acceso al conocimiento a través del
proceso de búsqueda. Por ello, en [22] se ha hecho una propuesta computacional basada
en un algoritmo cultural (cultural algorithm - CA) [75, 76] adaptando el conocimiento
guardado en el espacio de creencia con el fin de adaptar los parámetros de vuelo de
MOPSO para cada partícula y así cada una tendrá sus propios valores en cada iteración
para acercarse a la frontera de Pareto.
Los algoritmos culturales [75] son un marco computacional que consiste de dos
espacios diferentes: espacio poblacional y espacio de creencia. El espacio de creencia es
información que se extrae de la población, pero no depende de cada individuo, y puede
ser accedido por todos los miembros del espacio poblacional. El espacio poblacional
consiste de individuos evolucionados mediante paradigmas computacionales tales como
los algoritmos genéticos, mientras que el espacio de creencia consiste de varias formas
de información llamada “conocimiento”.
Ahora bien, varios investigadores han identificado cinco categorías básicas de
conocimiento en el espacio de creencia: conocimiento situacional, normativo,
topológico, histórico y dominio.
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 79
El conocimiento situacional(CS) es un conjunto de individuos ejemplares útiles para la
experiencia de cada individuo, esta categoría de conocimiento guía a cada individuo
para moverse hacia los ejemplares.
El conocimiento normativo(CN) es un conjunto de rangos prometedores, provee una
guía como principio estándar dentro del cual se pueden hacer ajustes individuales. Los
individuos se mueven a un buen rango usando el conocimiento normativo.
El conocimiento topográfico(CT) realiza un seguimiento de los mejores individuos, los
cuales han sido encontrados a lo largo de la región prometedora. Este conocimiento
lidera a todos los individuos hacia las mejores celdas en el espacio de búsqueda.
El conocimiento del dominio adopta información sobre el dominio del problema para
modificar la búsqueda. El conocimiento del dominio sobre un área y sus parámetros
relacionados guían el proceso de búsqueda.
El conocimiento histórico mantiene la historia del proceso de búsqueda y registra los
eventos clave en este proceso de búsqueda. Puede ser un movimiento considerable en el
espacio de búsqueda o un descubrimiento de un cambio en el área. Los individuos usan
el conocimiento histórico como una guía para moverse hacia una dirección específica.
El conocimiento del dominio y el histórico son útiles en espacios de búsqueda
dinámicos [70].
Por consiguiente, usando las nociones de los conocimientos, para ajustar los factores de
MOPSO, se guardan, adaptan y actualizan varios tipos de información requerida de la
manera más conveniente y apropiada. Todas estas necesidades fueron satisfechas
implementando el algoritmo cultural(CA). El CA proporciona las bases para el depósito
de información a través de su espacio de creencia, utiliza esta información a través de
una función de influencia para fijar la manera en que se afectará el espacio de
población, luego, actualiza los espacios de población y de creencia simultáneamente. La
Figura 6.3 muestra un diagrama del mismo.
80 | 6 . 5 C u l t u r a l M O P S O M u l t i o b j e t i v o
Figura 6.3. Esquema del planteamiento cultural propuesto.
El pseudocódigo del algoritmo sería:
1. Inicialización ESPACIO_POB y ESPACIO_CRE ent = 0.
2. Repetir.
2.1. Evaluar ESPACIO_POB(t) usando fitness.
2.2. Aplicar función de ACEPTACIÓN a ESPACIO_POB(t) para seleccionar
partículas las cuales afectan ESPACIO_CRE(t).
2.3. Aplicar el operador de mutación que decrece en el tiempo a partículas que
no son seleccionadas mediante la función de ACEPTACIÓN.
2.4. Actualizar el ESPACIO_CRE(t).
2.5. Aplicar la función de INFLUENCIA en el ESPACIO_CRE(t) para
seleccionar gbest, pbest y para adaptar la aceleración e inercia de las
partículas en ESPACIO_POB(t).
2.6. t=t+1.
2.7. Actualizar ESPACIO_POB(t) usando nueva aceleración, inercia, gbest y pbest.
3. Hasta que un criterio de terminación se cumpla.
4. Fin.
El espacio poblacional (ESPACIO_POB) y su correspondiente espacio de creencia
(ESPACIO_CRE) se inicializan como primer paso en tiempo inicial (t = 0). Luego, se
evalúa el espacio poblacional usando los valores fitness. Se aplica la función de
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 81
aceptación para seleccionar algunas partículas, que se usarán para actualizar el espacio
de creencia, el cual consiste de tres secciones: conocimiento situacional, normativo y
topográfico.
Las partículas que no son seleccionadas a través de este proceso se mutarán mientras
que las partículas seleccionadas se usarán luego en el espacio de creencia. A
continuación, se aplica la función de influencia y el conocimiento almacenado en
espacio de creencia, para adaptar los parámetros del espacio poblacional para la
siguiente iteración, tales como la aceleración global, la aceleración local, y la inercia.
Además, se usa información del espacio de creencia para seleccionar la mejor partícula
global y el mejor individuo para la siguiente iteración. Tras esto, las partículas en el
espacio poblacional vuelan usando los mejores individuos locales y globales. El proceso
continúa hasta que se alcance algún criterio de parada.
A continuación, se explica cada uno de los componentes del algoritmo.
6.5.1.1 Función de aceptación
El espacio de creencia debería verse afectado por los individuos seleccionados. Por lo
tanto, se aplica la no-dominancia de Pareto [24] como función de aceptación a la
población actual de PSO. El conjunto no-dominado de las partículas se escoge en cada
iteración para actualizar el espacio de creencia.
6.5.1.2 Espacio de creencia
El espacio de creencia en [22] consiste de tres secciones: conocimiento situacional,
normativo y topográfico. Como los MOPs de interés se basan en componentes estáticos,
solo se implementaron las tres secciones porque el conocimiento histórico y del dominio
son útiles cuando el entorno es dinámico. A continuación, se explica cómo se actualiza
cada uno de los conocimientos y qué información se debería almacenar en cada uno.
Conocimiento Situacional (CS). Es usado para almacenar los buenos ejemplares de
cada individuo. Su representación es mostrada en la Figura 6.4. PAt(t) (i=1,2,…,n
donde n es el número de partículas) es el archivo individual para la i-ésima partícula que
registra el conjunto no-dominado en la historia de dicha i-ésima partícula.
82 | 6 . 5 C u l t u r a l M O P S O M u l t i o b j e t i v o
PA1 PA2 … PAn
Figura 6.4. Representación del conocimiento situacional.
Si se nombran todas las historias de las posiciones de la i-ésima partícula como
(1), (2),..., ( )i i i ix x xt t , entonces, dado un MOP de f xf x (donde f xf x es un
vector que contiene todas las funciones objetivo), iPA t en el tiempo t se define:
: | , , 1,..., , (3)i i iPA t p t p t f p f p i nf ,,
donde u vu vv significa que uu domina a vv .
El tamaño total del archivo individual, es decir, la cardinalidad de i t , es igual al
número de partículas, sin embargo, el tamaño de iPA t cambia cada vez en la
iteración. El conocimiento situacional será usado luego para adaptar la aceleración local
para el MOPSO y también para seleccionar el óptimo individual de cada partícula
ipbest .
En ese orden, para actualizar el conocimiento situacional, se compara la posición actual
de una partícula ix t con su archivo individual almacenado iPA t .
1. Si ix t domina algún miembro de iPA t , entonces ese miembro es
eliminado, y ix t será agregado al archivo.
2. Si ix t es dominado por todos los miembros de iPA t , luego, ix t no es
agregado a iPA t .
3. Si ix t domina o es dominado por algunos miembros de iPA t entonces
ix t se agrega a iPA t .
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 83
ip PA t el proceso de actualización del archivo personal está definido así:
( ) ( ) , : ( ( )) ( )
( 1) ( ), : ( ) ( ( )) (4)
( ) ( ), ( ) ( ( )) ( ( )) ( )
i i i
i i i
i i i i
PA t x t p p f x t f p
PA t PA t p f p f x t
PA t x t f p f x t y f x t f p
( ( )) ( )(
))
( ( ))( (( ( ))( ( ))( i ( ))i(
( )(( )
( ( ))( ( )( )( )( )f p( )(
))( ((( ( ))( ((: ( ): (: ( )
( )( )( )( )
( )( ))))i( (i( ii ))( ((
,,,,
)i i f p( ( )) ( ( )) (( ( )) ( ( )) (i i( ( )) (( )) (( ( )) (( ( )) ( ( )) ( )( ( )) ( ( )) (( ( )) ( ( )) )( ( )) ( ( )) (( ( )) ( ( )) )( ( )) ( ( )) ( )( ( )) ( ( )) (( ( )) ( ( ))
La Figura 6.5 muestra un esquema de cómo se escoge los elementos que componen el
archivo individual, en este caso el i-ésimo elemento o partícula del conocimiento
situacional para todas sus posiciones. Las posiciones 1ix , 5ix , 6ix se seleccionan
como el archivo individual para la i-ésima partícula dado que estas tres posiciones
pertenecen al conjunto no-dominado. En este ejemplo: ,1 ,5 6i i i iP xA x xt
Figura 6.5. Vista esquemática ,1 ,5 6i i i iP xA x xt
Conocimiento Normativo (CN). Representa la mejor área en el espacio objetivo. Se
muestra en la Figura 6.6.
L U Vl Vu
Figura 6.6. Representación del conocimiento normativo.
84 | 6 . 5 C u l t u r a l M O P S O M u l t i o b j e t i v o
donde, 1 2 ... NL t L t L t L t , 1 2 ... NU t U t U t U t están
todos los límites mínimos y máximos (en el espacio objetivo) del conjunto no-dominado
de individuos que son generados por la función de aceptación en cada iteración,
respectivamente. Por lo tanto:
( ) ( ), ( ) , 1,2,..., (5)
( ) ( ), ( ) , 1,2,..., , (6
,
)i x i
i x i
L t min f x x t i N
U t max f x x t i N
donde 1 2, ,..., nt x t x t x t , if es la i-ésima función objetivo en el vector
objetivo de ff , y N es el número de objetivos.
La Figura 6.7 muestra un esquema de dos secciones del conocimiento normativo para
un ejemplo de un espacio bi-objetivo. Esta sección del espacio normativo se usa después
para adoptar la aceleración global y también para encontrar el óptimo global del
MOPSO mediante la construcción del conocimiento topográfico. Los otros dos
elementos del CN son:
1 2
1 2
... y
... ,
Ml l l l
Mu u u u
V t V t V t V t
V t V t V t V t
que son los menores y mayores valores de la velocidad para los individuos aceptados,
donde M es el número de variables del espacio de decisión.
( ) , 1,2,..., (7)
( )
,
, 1,2,... ., (8)
d dl i i
d du i i
V min v t d M
V max v t d M
Esta sección del conocimiento normativo se usará luego para modificar la inercia del
MOPSO. El conocimiento normativo se actualiza en cada iteración basándose en el
nuevo conjunto no-dominado, como se resume en las expresiones (9, 10) (asumiendo
que todos los objetivos están basados en un problema de minimización):
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 85
( ( )), ( ( )) ( ), , ( ) ( )( 1) , (9)
( ), en caso contrarioi i i ns
ii
f x t Si f x t L t x t tL t
L t
( ( )), ( ( )) ( ), , ( ) ( )( 1) , (10)
( ), en caso contrarioi s i s i s ns
ii
f x t Si f x t U t s x t tU t
U t
donde kx t y sx t son miembros del conjunto no-dominado en el tiempo t , .ns t
La Figura 6.8 muestra el proceso de actualización de esta sección del conocimiento
normativo. Nótese que 1 1tL L t y 1
1 1 1tL L t . No obstante, se actualiza el
mínimo y máximo valor de las velocidades lV t y uV t respectivamente, usando las
mínimas y las máximas velocidades del nuevo conjunto de individuos no-dominados.
Figura 6.7. Esquema del conocimiento normativo sobre cómo puede ser encontrado.
86 | 6 . 5 C u l t u r a l M O P S O M u l t i o b j e t i v o
Figura 6.8. Esquema del conocimiento normativo sobre cómo puede ser actualizado.
Conocimiento Topográfico (CT). Para representar este conocimiento se adopta el
conocimiento normativo para luego dividir el espacio en cuadrículas de
1 2 ... Ns s s , donde is es el número de las divisiones en la i-ésima dimensión
del espacio objetivo y N es el número de objetivos.
Lcell Ucell Ncell
Figura 6.9. Representación del conocimiento en cada celda.
Cada una de las celdas resultantes se representarán como se muestran en la Figura 6.9,
donde 1 2...cell NL l l l y 1 2
...cell NU u u u que consisten de todos los
límites mínimos y máximos de la celda correspondiente, respectivamente, y cellN es el
número de individuos no-dominados de toda la población ubicada en dicha celda.
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 87
( ) ( )( ) ( ) , 0,1,..., 1 1,2,..., , (11; )i ii i i
i
U t L tl t L t s i Ns
( ) ( )( ) ( ) , 1,2,..., , (12)i ii i
i
U t L tu t l t i Ns
donde Ui(t) y Li(t) son dados en (5) y (6). La Figura 6.10 muestra un ejemplo de cómo
se representa una celda.
En cada iteración, se actualiza el conocimiento topográfico. Para hacerlo, el
conocimiento normativo actualizado se utilizará para reconstruir las celdas, y se
contarán los puntos no-dominados en cada una. El conocimiento topográfico se
consultará para adaptar la aceleración global y también para encontrar el mejor global
gbest.
Figura 6.10. Representación de celda aquella que es resaltada para este ejemplo (Lcell = [l1, l2], Ucell =
[u1, u2], Ncell= 1) donde s1= s2 = 4.
6.5.1.3 Funciones de influencia
Una vez se actualiza el espacio de creencia, el conocimiento correspondiente debería
utilizarse para que influya en los parámetros de MOPSO. En [22] se propuso el uso del
88 | 6 . 5 C u l t u r a l M O P S O M u l t i o b j e t i v o
conocimiento en el espacio de creencia para adaptar los parámetros PSO como la
aceleración global Cg, la aceleración local Cp y la inercia, ω.
1. Adaptación de la aceleración global. El conocimiento topográfico se usa para
adaptar esta aceleración. Este ajusta la dirección y el tamaño de cambio en la
aceleración global. La idea es dar poco peso a la búsqueda global dependiendo de la
relativa sobrepoblación de una celda en la que se ubica gbest. Si gbest se mueve de una
celda muy poblada a una menos poblada, se necesita mantener esta dirección dado
que esto ayuda a preservar la diversidad en la frontera de Pareto. Por tanto, hay que
incrementar la aceleración global. Por otro lado, si gbest se mueve de una celda poco
poblada a una muy poblada, en una iteración a la siguiente, entonces se necesita
disminuir el peso de esta dirección. Finalmente, si la población de gbest no ha sido
modificada, entonces no se debe aumentar ni disminuir su peso, por lo que:
( ) | ( ) ( 1) |, Si ( ) ( 1)( 1) ( ) | ( ) ( 1) |, Si ( ) ( 1) , (13)
( ), en caso contrario
g g g g g
g g g g g g
g
c t N t N t N t N tc t c t N t N t N t N t
c t
donde ( )gN t es el número de las partículas no-dominadas en la celda en la cual
( )gbest t está ubicado, asimismo, ( 1)gN t es el número de partículas no-dominadas
en la celda que se ubica ( 1)gbest t , | | denota el valor absoluto y es un factor
de normalización.
Cuando se aplica (13) se obliga a un cambio lineal por trozos en la variación de la
aceleración global, de hecho, es la dinámica más simple que se puede considerar.
Los valores de ( )gN t y ( 1)gN t se almacenan en el conocimiento topográfico y
pueden usarse para adaptar la aceleración global.
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 89
La aceleración global se limitará en el rango de ,min ,max,g gc c . Por lo tanto,
( 1)gc t calculado en (12) se comparará en (14) para verificar si está dentro del
rango, y así mantener el algoritmo divergente.
, ,
, ,
Si ( 1)( 1) Si ( 1) (14)
( 1) en caso contrario,
g max g g max
g g min g g min
g
c c t cc t c c t c
c t
2. Adaptación de la aceleración local. Se usa el conocimiento situacional para
construir cuadrículas locales para ajustar la aceleración local. Se ajusta la dirección
y el tamaño de cambio en la aceleración local. Sin embargo, en este caso, se usa el
archivo individual almacenado en el conocimiento situacional del espacio de
creencia.
Por lo tanto, para cada partícula, habrá diferentes ajustes en su aceleración local
basados en la relativa sobrepoblación de la celda en la que se ubica ipbest . Para
cada partícula, se usa el archivo individual para construir la cuadrícula local con el
fin de hallar la sobrepoblación relativa de ipbest en una iteración respecto a la
siguiente. La Figura 6.11 muestra un esquema de cómo está configurada una
cuadrícula local, usando el conocimiento situacional para la i-ésima y j-ésima
partícula.
Figura 6.11. Esquema de la cuadrícula local para un archivo individual.
90 | 6 . 5 C u l t u r a l M O P S O M u l t i o b j e t i v o
Cada partícula decide si incrementa o disminuye su aceleración local e
individualmente, basándose en su registro personal. Si la partícula se mueve de una
celda poco poblada a una más poblada, se penaliza su dirección al disminuir el peso
para la aceleración local, y si la partícula se mueve de una celda muy poblada a una
poco poblada, se necesita mantener esta dirección, por lo que se incrementa el peso
para la aceleración local. Sin embargo, si no hay un cambio en el tamaño
poblacional de la celda de la partícula, entonces no se incrementa o disminuye la
aceleración local. Por tanto,
, , , , ,
, , , , , ,
,
( ) ( ) ( 1) , Si ( ) ( 1)
( 1) ( ) ( ) ( 1) , Si ( ) ( 1) , (15)
( ) en caso contrario
p i p i p i p i p i
p i p i p i p i p i p i
p i
c t N t N t N t N t
c t c t N t N t N t N t
c t
donde , ( )p iN t es el número de partículas no-dominadas localizadas en la misma
celda de la cuadrícula local de la i-ésima partícula como ( )ipbest t ; , ( 1)p iN t es
el número de partículas no-dominadas localizadas en la misma celda de la
cuadrícula local de la i-ésima partícula como ( 1)ipbest t ; y β es un factor de
normalización.
El comportamiento lineal a trozos o escalonado de (15) muestra una dinámica
simple a la variación de la aceleración local. La aceleración local será también
restringida dentro de un rango ,min ,max,p pc c . Esto significa que , ( 1)p ic t , que
se calculó en (15), será luego verificado a través de (16) para ver si está en el rango,
y así mantener el algoritmo divergente:
, , ,
, , , ,
,
, Si ( 1)( 1) , Si ( 1) , (16)
( 1), en caso contrario
p max p i p max
p i p min p i p min
p i
c c t cc t c c t c
c t
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 91
3. Adaptación de la inercia. Se usa el conocimiento normativo para adaptar la inercia
de las partículas. Se ajusta la dirección de la inercia para cada partícula al adoptar la
información de las velocidades de las partículas con un comportamiento óptimo. Si
cualquier partícula tiene una velocidad más allá del rango de las partículas mejor
comportadas, esta se ajusta para estar más cercana a este rango:
( ) , Si ( ) ( )( 1) ( ) , Si ( ) ( ) , (17)
( ), en caso contrario
d d di i l
d d d di i i u
di
t v t V tt t v t V t
t
donde ( )div t es la velocidad actual de la i-ésima partícula en la d-ésima dimensión.
( )dlv t y ( )d
uv t es la información guardada en la sección del conocimiento normativo
del espacio de creencia, los cuales son el mínimo y el máximo valor de velocidad
para el actual conjunto de partículas no-dominadas (véase las expresiones 7 y 8).
es un valor constante predefinido para la tasa de cambio de la inercia.
( )di t es la velocidad de la inercia para la i-ésima partícula en la d-ésima
dimensión. La inercia debe ser limitada en un rango de min, max, para mantener
el algoritmo divergente. Esto significa que ( 1)di t , calculado en (16), será
comparado para determinar si está en el rango:
Si ( 1)( 1) Si ( 1) . (18)
( 1) en caso contrario
dmax i max
d di min i min
di
tt t
t
4. Selección de gbest. Se usa el conocimiento topográfico almacenado en el espacio de
creencia para seleccionar gbest en cada iteración. El método propuesto en [20] se
basa en seleccionar un punto no-dominado localizado en el área poco poblada del
espacio objetivo. En el artículo se usó el método de la ruleta para escoger la celda
92 | 6 . 5 C u l t u r a l M O P S O M u l t i o b j e t i v o
más probable en ser la celda menos poblada, y luego se escogió aleatoriamente una
partícula de la celda, para ser líder global de las partículas. A cada celda le es
asignado un fitness [20]
10 (19),cellcell
fitnessN
donde cellN es el número de puntos no-dominados ubicados en esa celda escogida.
La probabilidad de cada celda para ser seleccionada en una ruleta será proporcional
a su fitness dado. La Figura 6.12 muestra el método para seleccionar gbest para un
ejemplo con dos funciones objetivo.
Figura 6.12. Método para seleccionar gbest del conocimiento topográfico
5. Selección de pbest. Con el fin de seleccionar el pbest, se usa el conocimiento
situacional. La Figura 6.13 muestra gráficamente la representación de cómo se
selecciona pbest, Cada cuadro ( ) representa un miembro del archivo personal para
la i-ésima partícula ( )iPA t . Este algoritmo ha sido mostrado experimentalmente
como uno de los mejores métodos para seleccionar pbest con el fin de preservar a
una buena diversidad en la frontera de Pareto [12]. ( )ipbest t será seleccionado
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 93
como un miembro del archivo que tiene la distancia más grande de todas las
poblaciones actuales:
2
1 1
( ) ( ) | max ( ( )) (20)i nN
i m i m im i
pbest t p PA t p x t
donde pm es el miembro del archivo personal de la i-ésima partícula ( )iPA t y iN es
el número de partículas en el archivo personal ( )iPA t
Figura 6.13. Procedimiento para la selección de pbest del archivo personal PAi para la partícula xi
en el espacio objetivo.
6.5.1.4 Archivo global
El archivo global almacena las mejores soluciones y tiene un tamaño limitado. Para
actualizar el archivo global, se comprueba cada nueva solución no-dominada con todos
los miembros del archivo. Este método se usa y explica en [20].
Si la nueva solución (g’) domina algún miembro del archivo global (GA),
entonces ese miembro será eliminado, y g’ será introducida en el archivo.
Si g’ es dominado por todos los miembros del archivo, entonces g’ no se tendrá
en cuenta y será descartado.
Si g’ ni domina y no es dominado por los miembros del archivo, entonces
ocurren dos posibilidades.
o Si el tamaño del archivo no excede el límite, g’ se introduce al archivo.
94 | 6 . 5 C u l t u r a l M O P S O M u l t i o b j e t i v o
o Si el archivo está lleno, g’ será añadida, y otro miembro, que esté en el
área más poblada del espacio objetivo, será eliminado.
Las reglas de actualización del archivo global, una vez se reciba una nueva solución g’,
serán así:
( ) { }, , ( ) ( )
( ), , ( ) ( )( 1) (21)
( ) , ( ) ( ), ( ) ( ), y
( ) { }, ( ) ( ), ( ) ( ), yGA tamano
GA tamano
GA t g g g f g f g
GA t g f g f gGA t
GA t g f g f g f g f g N GA
GA t g g f g f g f g f g N GAno
no
( )(( ( )((( )(
( )(
( )( )(( )((
( )((, ( )(, ( ), (
( )( )(( )
( )( ))(((( )((
( )( )
)))
( )
( )( )(( )( )(( )
N) ( )( ) (( )) ( N( ) ( ) ( ) y( ) ( ) (( ) (( )) ( GAf g f g f g N( ), ( ) ( ), y, GAN( ), ( ) ( ), y GAN( ) ( ) ( ) y
GAf g f g f g N( ), ( ) ( ), y( ), ( ) ( GAN( ), ( ) ( ), y, GAN) ( )( ) (( )) ( N( ) ( ) ( ) y( ) (( )) (
{ },{ }{ },{ }
{{{{ },},}},},}
donde, GAN es el tamaño actual del archivo global, tamañoGA es el tamaño máximo del
archivo global, y gg se ubica en el área más poblada.
Para encontrar ,g,g se aprovecha la estructura de cuadriculada ubicando, entre todas las
celdas que contienen un miembro de GA, la celda más poblada. Luego se selecciona gg
aleatoriamente de esa celda sobrepoblada y se elimina.
6.5.1.5 Operador de mutación que decrece en el tiempo
Debido a la tendencia de convergencia prematura para el óptimo local en PSO, en [22]
se propuso una versión modificada de un operador de mutación, explicado en [20], que
se aplica a las partículas que no son aceptadas mediante la función de aceptación. El
porcentaje de partículas mutadas MP es:
5/
1 (22),tMPT
donde es la tasa de mutación ( > 0), t es la iteración actual, y T es la iteración
final.
El adoptar esta forma de mutar ayuda a escanear una región amplia en el espacio al
principio del proceso de búsqueda. Según se incrementa el tiempo t , el porcentaje de
C A P Í T U L O 6 : P A R T I C L E S W A R M O P T I M I Z A T I O N -
P S O | 95
las partículas a mutar disminuye y se acerca a cero. Esta mutación que decrece en el
tiempo se produce de tres formas:
1. El número de partículas que son susceptibles a la mutación es:
´ (23),tmutacion
N MP N
donde Nt es el número de partículas dominadas en la actual iteración t , que no son
aceptadas mediante la función de aceptación. Estas partículas se seleccionarán
aleatoriamente.
2. El rango de la mutación para cada partícula mutada irá decreciendo en el tiempo.
Para la d-ésima dimensión de la partícula ( )dix t , este rango se define como:
´ UP LOW( ) (24, )d d
mutacionR MP x x
donde dUPx y d
LOWx son el límite máximo y mínimo de la partícula en la d-ésima
dimensión.
La partícula mutada será luego un número aleatorio en el rango de di mutaciónx R .
Al incorporar el decremento en el tiempo de MP en (24) resulta en un rango de
búsqueda amplio para cada partícula mutada al principio de la búsqueda. Según
pasen las iteraciones, el rango de búsqueda para la partícula mutada se hará más
estrecho.
3. La mutación solo se aplica sobre algunas dimensiones de la partícula seleccionada.
El número de dimensiones de estas partículas seleccionadas decrece en el tiempo:
(2, 5)DIMN MP M
donde M es el número de variables de decisión y es el operador de redondeo.
De igual manera, al incorporar el MP, el número de dimensiones susceptibles de la
96 | 6 . 5 C u l t u r a l M O P S O M u l t i o b j e t i v o
mutación será mayor e irá decayendo hasta cero cuando se llegue al fin del proceso.
Estas dimensiones serán seleccionadas aleatoriamente.
En este diseño, al comienzo, la mayoría de partículas en la población están sujetas a la
mutación (así como también el rango completo de las variables de decisión), intentado
producir un comportamiento exploratorio alto en el algoritmo. Al ir incrementando el
número de iteraciones, el efecto de la mutación decrece. A continuación, en la Figura
6.14 se muestra un ejemplo del operador de mutación para el que se ha usado μ=2 y
T=150.
Figura 6.14. Variación del operador de mutación para T=150 y μ=2.
0
0,2
0,4
0,6
0,8
1
1,2
0 50 100 150 200
MP:
Ope
rado
r de
Mut
ació
n
t: Iteración
MP: Operdor de Mutación (μ=2)
MP(t)
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 97
Capítulo 7.
7 PROPUESTA DE PSO
En las siguientes subsecciones se describen la adaptación de la metaheurística al
problema de resolución de conflictos aéreos considerado en este TFM, la
implementación de este y el ajuste de los parámetros. Además, se expone una serie de
ejemplos de aplicación y se finaliza con un apartado de análisis de resultados.
7.1 Adaptación al problema
A continuación, se describen la adaptación del algoritmo Cultural MOPSO [22] para
afrontar la resolución de conflictos aéreos durante el vuelo. Se iniciará explicando la
representación de una solución, se expone cómo se transfiere la información conseguida
por la metaheurística al problema. Y, finalmente, los criterios tenidos en cuenta para
aceptar o discernir sobre la dominancia entre las soluciones.
7.1.1 Representación de una solución
Como se explicó anteriormente en la Sección 3.1, una solución está constituida por un
vector de magnitudes Q y tres vectores VC, AC y TC, que representan las maniobras que
realiza cada avión, siendo excluyentes entre ellas. Sin embargo, la metaheurística
utilizada explora las soluciones ligadas a las variables de decisión que se han concebido
para un espacio continuo. Es por esto necesario permitir la exploración de las soluciones
98 | 7 . 1 A d a p t a c i ó n a l p r o b l e m a
en un espacio de este tipo. Por ello, se adaptan los vectores VC, AC y TC; para que
contengan valores continuos en el intervalo [-1,1] que representarán las magnitudes de
las maniobras correspondientes para cada uno de los aviones. De esta manera, si un
avión tiene una magnitud de cero en el vector de VC, quiere decir que no realiza una
maniobra de cambio de velocidad.
Sin embargo, además de permitir la exploración de un espacio de soluciones con
variables continuas, también conlleva la posibilidad de conseguir resultados en los que
una aeronave efectúe más de una maniobra a la vez. Esto no es deseable, pero puede ser
usado a favor de una mayor exploración del espacio de soluciones limitando los
resultados intermedios con una serie de restricciones que se explicarán más adelante en
esta sección. Al final, se seleccionarán las soluciones factibles con sólo una maniobra a
la vez por avión, que es lo mismo decir que f7 = 0.
Mientras el algoritmo explora el espacio de soluciones, se penalizará el uso de las
maniobras simultáneas así:
71
, (7.1)n
i i i i i ii
min f VC AC AC TC TC VC
donde n es el número de aviones e i se corresponderé al i-ésimo avión.
Entonces, la función que calcula la penalización a una solución está dada por la suma de
los productos en valor absoluto de las diferentes combinaciones posibles de tipos de
maniobras que puede hacer un avión.
7.1.2 Adaptación del problema a la metaheurística.
A continuación, se expone cómo se usa la posición de una de las partículas del Cultural
MOPSO, para modificar los valores de los vectores VC, AC y TC.
Retomando la expresión (6.1), donde ( )dix t es la posición de la i-ésima partícula en el
tiempo t para la dimensión d. Se limita el dominio de valores de ( ) [ 1,1]dix t , y se les
da significado a las dimensiones así:
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 99
- d=0, será la dimensión dedicada a representar el espacio de búsqueda para las
magnitudes correspondientes con el cambio de velocidad.
- d=1, será la dimensión dedicada a representar el espacio de búsqueda para las
magnitudes correspondientes con el cambio de altitud.
- d=2, será la dimensión dedicada a representar el espacio de búsqueda para las
magnitudes correspondientes con el cambio de dirección.
Se elige un avión j de manera equiprobable, para el cual sus valores correspondientes en
los vectores VC, AC y TC, podrán ser modificados.
Se definen jp {VC, AC, TC, VC AC, VC TC, AC TC, VC AC TC} y
0,1,2,3,4,5,6jk cómo la combinación y enumeración, de maniobras que llevará a
cabo la aeronave j, tal que existen una relación de uno a uno entre los posibles valores
de k y p. Como ejemplo, el elemento 0 que podrá asignarse a k se corresponde con el
elemento VC, que representa el tipo de maniobra de cambio de velocidad; mientras que
el elemento 6 que podrá tener k se corresponde con los tres tipos de maniobras de forma
simultánea (VC AC TC).
El valor de kj se define 1 6 ,jk r donde 1 ~ 0,1r U .
Por lo tanto, la asignación de la magnitud de maniobra a los vectores VC, AC y TC, se
realiza de la siguiente manera:
0( ), Si 0 3 4 6,
0 en caso contrarioi j j j j
j
x t k k k kVC
1( ), Si 1 3 5 6,
0 en caso contrarioi j j j j
j
x t k k k kAC
2 ( ), Si 2 4 5 6,
0 en caso contrarioi j j j j
j
x t k k k kTC
100 | 7 . 1 A d a p t a c i ó n a l p r o b l e m a
De esta manera se permite que una aeronave ejecute una o múltiples maniobras de
manera simultánea, haciendo uso del espacio recorrido sobre múltiples dimensiones del
Cultural MOPSO.
7.1.3 Aceptación de soluciones
La selección del conjunto de soluciones se hace en cuatro momentos del algoritmo y de
tres maneras distintas dependiendo del grado de ejecución del mismo. Los momentos en
los que se requiere seleccionar una solución no-dominada son: la aceptación de las
soluciones a partir del espacio de población, la aceptación de soluciones dentro de la
historia de la partícula, al construir el archivo global y al seleccionar el conjunto de
salida, con las soluciones no-dominadas.
Para la aceptación de soluciones a partir del espacio solución se probaron diferentes
alternativas, como el criterio de no-dominancia de Pareto, la asignación de pesos a los
objetivos y la generación de un indicador de nivel de dominancia. Sin embargo, los
resultados obtenidos en el primer caso eran de “inmovilismo” de las partículas, pues
éstas optaban por no perjudicar los 5 objetivos a cambio de la disminución un objetivo,
el nivel de riesgo.
En la segunda alternativa, no se logró encontrar un peso adecuado que valiera para
todos los casos y añadía un sesgo al conjunto de posibles soluciones. Como última
alternativa fallida, se probó una muy estricta y precisa en la determinación de la
dominancia entre dos soluciones. En consecuencia, durante toda la ejecución del
algoritmo se trabajaba con un archivo de soluciones con un único que elemento,
produciendo una erosión del archivo temporal de soluciones.
Finalmente, se encontró y adaptó una manera que produjo mejores resultados y se
expone a continuación:
1. Selecciona la solución menos mala: al iniciar el algoritmo, y mientras haya evidencia
de riesgo de colisión, se deberá seleccionar las soluciones con el riesgo más bajo o la
combinación de magnitudes de maniobras f7, propuesta anteriormente, más baja. En
otras palabras, se hace una selección aplicando el criterio de la no dominancia de Pareto
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 101
para dos objetivos del espacio objetivo. Se asume a conveniencia la restricción f7 como
un objetivo en este caso.
2. Una mala, una buena, me quedo con la buena: Ante la presencia de dos soluciones,
una factible (sin riesgo y sin múltiples maniobras en cada avión) y la otra no; me quedo
con la factible.
3. Selecciono la mejor partícula: una vez se llegue al punto de decidir entre dos
soluciones factibles; aplico el criterio de no-dominancia de Pareto para seleccionar la
no-dominada.
7.2 Implementación
El desarrollo del modelo matemático, la metaheurística Cultural MOPSO y la
visualización de los resultados se realizó en el lenguaje de programación java, para
generar una aplicación orientada a objetos que permita extender o reutilizar partes del
código en proyectos futuros; facilitar la validación y detección de errores.
Por otra parte, se desea generar un componente de software que sea parte de un módulo
de simulación multiplataforma que sirva como herramienta de toma de decisiones en el
contexto de la administración del tráfico aéreo. Este componente se subdivide en
paquetes para facilitar su reutilización total o parcial. La subdivisión se hace de acuerdo
a las funcionalidades que desempeñan las clases que la componen. Modelización del
problema, metaheurística como técnica de solución y caja de herramientas son las
funcionalidades que dan lugar a los paquetes ATC, PSO y utils, respectivamente. Ese
módulo de simulación prevé, como trabajo futuro, crear un simulador que afronte este
problema a través de varias técnicas de solución, facilite su estudio, comparación y se
acerque a una aplicación con datos reales que resuelva conflictos reales.
Finalmente se aprovecha la experiencia del autor en ese lenguaje y el paquete de
gráficos JFreeChart, ya que al usar todos los componentes bajo un mismo lenguaje se
garantiza la fluidez en la ejecución y la portabilidad de la aplicación.
102 | 7 . 2 I m p l e m e n t a c i ó n
En las siguientes subsecciones se esboza la arquitectura del software generado, y sin
entrar en mayor detalle, se describen los paquetes y clases.
7.2.1 Descripción de paquetes y clases
En la aplicación implementada se diferencian cuatro temáticas necesarias para modelar
el problema. De acuerdo a estas temáticas se organizan y agrupan las clases en cuatro
paquetes, simulador, ATC, PSO y utils.
Paquete simulador es el contenedor principal, al contener la aplicación y los paquetes
que la componen, aloja la clase Simulador_ATC y sirve para encapsular la aplicación.
Paquete ATC contiene las clases necesarias para modelar el problema de resolución de
conflictos en el tráfico aéreo.
Paquete PSO contiene la implementación de la metaheurística adaptada al problema,
Cultural MOPSO.
Paquete utils contiene los métodos y procedimientos necesarios para gestionar las
estructuras de datos usadas en el problema.
Figura 7.1. Diagrama de paquetes del software
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 103
7.2.1.1 Paquete simulador
Como se mencionó anteriormente, encapsula la aplicación y almacena los paquetes
ATC, PSO y utils. Además, contiene la clase Simulador_ATC.
Clase Simulador_ATC. Se encarga de ejecutar el hilo principal de la aplicación,
es aquí donde se selecciona el número de aviones, el número de partículas,
tamaño del archivo global y número de iteraciones.
7.2.1.2 Paquete ATC
En este paquete se alojan las clases necesarias para modelar el problema de resolución
de conflictos en el tráfico aéreo. Las clases y relaciones que concurren dentro de este
paquete son mostradas en la Figura 7.2. A continuación, se da una breve descripción
para las clases.
Clase EspacioAereo. Se encarga de modelar las tres dimensiones de un espacio
aéreo, contiene un conjunto de aviones cuya configuración será la que se desea
optimizar. Esta clase extiende de javax.swing.JPanel e implementa las interfaces
Runnable e MouseListener, lo que le permite pintarse como una animación de
un radar aéreo. Esta última propiedad se hace necesaria para la validación de la
ejecución del programa, que, dada la cantidad de variables en juego, se hace
imposible a través de logs y trazas.
Clase Avion. como su nombre lo indica, será la clase que modele el concepto
avión del problema. Sus atributos son los que definen la configuración inicial,
actual y de salida del espacio aéreo para el avión. Sus métodos validan y
ejecutan las maniobras inherentes al avión; al igual que calculan las
implicaciones que estas maniobras tienen sobre las desviaciones del punto de
salida en tiempo y distancia. Por otra parte, esta clase implementa la interfaz
cloneable, que permite clonar y tomar fotos del estado del problema y así
“clonar” el problema en un estado de tiempo determinado. También incorpora
métodos auxiliares que facilitan la animación del avión en un plano de dos
dimensiones.
104 | 7 . 2 I m p l e m e n t a c i ó n
Clase FabricaAvion. Aunque conceptualmente no modela ningún concepto
relevante en el problema, se hace necesaria para probar y validar diferentes
configuraciones del conjunto de aviones en un espacio aéreo determinado.
Configuraciones como los tipos de conflicto frente a frente, persecución,
direcciones paralelas, falsos conflictos o configuraciones manuales; pueden ser
conseguidas desde esta clase y sin añadir código extra a la clase Avion, que
podría llevar a confusión.
Clases RestriccionATC, RestriccionHorizontal, RestriccionVertical. La
primera es una clase abstracta que reúne los atributos y métodos que modelan un
tipo de restricción aérea para un par de aviones. Prioridad de restricción, nivel de
riesgo, avión_i, avión_j son un ejemplo de los atributos; y validaRestriccion es
un ejemplo de métodos que ofrece RestriccionATC. Las otras dos clases
heredan de RestriccionATC, y modelan las restricciones correspondientes,
horizontales y verticales. Se separan para dar claridad en la interpretación del
algoritmo y para ser consecuentes con los dos tipos de restricciones que se han
descrito en la modelización del problema.
Clase UsaRestriccionesEstimaObjetivos. Como su nombre lo indica, usa las
clases RestriccionHorizontal y RestriccionVertical para estimar el nivel de
riesgo existente entre las posibles combinaciones de parejas de aviones que
pertenecen al espacio aéreo. Además, calcula el valor alcanzado para cada uno
de los objetivos descritos en la modelización del problema y los almacena en un
vector para facilitar su uso. Permite la integración de la metaheurística a través
de la herencia a la clase Particula (Figura 7.3). Por ello, se convierte en una
pieza clave en el enlace del problema de conflictos aéreos con la metaheurística
para la aplicación descrita.
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 105
Figura 7.2. Diagrama de clases para el paquete ATC
106 | 7 . 2 I m p l e m e n t a c i ó n
Figura 7.3. Forma de relacionar el paquete ATC y PSO
7.2.1.3 Paquete PSO
En este paquete se alojan las clases necesarias para modelar la metaheurística Cultural
MOPSO descrita en la Sección 6.5. Las clases y relaciones que se consolidan dentro de
este paquete se muestran en la Figura 7.4. A continuación, se da una breve descripción
para las clases.
Clase EspacioCreencia. Reúne las características y comportamientos comunes
de los conocimientos Topográfico, Normativo y Situacional, y sirve como base
para su definición a través de la herencia. Los atributos comunes son el instante
de tiempo, la lista de partículas aceptadas, número de dimensiones del espacio
objetivo y número de variables de decisión. Los métodos comunes son de
edición y consulta de estos atributos.
Clase ConocimientoTopografico. Hereda de la clase EspacioCreencia, modela
el concepto “Conocimiento topográfico” y tiene un arreglo de objetos de tipo
celda que juntas emulan una rejilla o conjunto de hipercubos que servirá para
dividir el espacio objetivo. Cada celda tendrá un array de enteros como
identificador de la posición que representa en el espacio objetivo.
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 107
_ ( ( )) ( ( )) /
[ ] ( ( ) ( ( ))) / _i i i
i i i
tamaño celda max f min f divic
Coord i f x min f X tamaño celda
X X
Dicha posición es fácil de averiguar para las partículas, pues se conoce el
espacio objetivo. Así, la división del espació objetivo de dimensión n, resulta
ligera, eficiente, flexible y de rápido acceso. Comparte el uso del objeto
conNormativo que describirá el volumen alcanzado por las mejores partículas, y
conserva una referencia a la última mejor partícula global, necesaria para la
siguiente iteración. Esta clase se encarga de hallar la mejor partícula global y
calcular la aceleración global.
Clase ConocimientoNormativo. Hereda de la clase EspacioCreencia, se encarga
de almacenar y gestionar las fronteras del espacio objetivo descrito por las
mejores partículas. Además, conserva las velocidades mínimas y máximas de las
partículas, necesarias para el cálculo de la inercia de las partículas.
Clase ConocimientoSituacion. Hereda de la clase EspacioCreencia y se encarga
de almacenar la mejor posición alcanzada por cada una de las partículas a través
de la ejecución, al igual que las últimas aceleraciones personales usadas para
cada una de ellas y la última mejor partícula de cada partícula. Todos estos datos
son necesarios para el cálculo de la aceleración personal de cada partícula,
función principal de esta clase.
108 | 7 . 2 I m p l e m e n t a c i ó n
Figu
ra 7
.4. D
iagr
ama
de c
lase
s par
a el
paq
uete
PSO
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 109
7.3 Inicialización de una partícula
Como se ha comentado en la Sección 7.1.1, los aviones deberán terminar con sólo una
maniobra a la vez, por lo que se inicia la posición de las partículas con sólo una de ellas
que se elige de manera uniforme, tanto el tipo de maniobra como su magnitud. Así que,
para 100 partículas, su representación gráfica en el espacio de variables de decisión,
sería la mostrada en la Figura 7.5:
Figura 7.5. Inicio de espacio de variables de decisión
Nótese que en las Figura 7.5 y Figura 7.6 se muestran las posibles magnitudes para AC
vs VC, TC vs VC y TC vs AC; respectivamente.
Al finalizar una ejecución, se deberán ver en forma de nube, véase la Figura 7.6.
Figura 7.6. Ejemplo de posible representación de espacio de variables de decisión durante la ejecución.
110 | 7 . 1 A j u s t e d e p a r á m e t r o s
7.1 Ajuste de parámetros
A continuación, se va a exponer la forma en la que se han ajustado los parámetros del
algoritmo con el objetivo de conseguir el mayor desempeño posible de éste, mientras se
enfrenta con un conjunto representativo del problema. Para ello, se ha realizado una
serie de pruebas con todas las combinaciones posibles para un subconjunto de
parámetros del algoritmo, midiendo y contrastando el rendimiento de éste, para cada
posible combinación.
Nótese que los parámetros del algoritmo son distintos a los parámetros del problema, el
conjunto de aviones, el estado de éstos y el sector aéreo.
Las pruebas se han realizado desde un ordenador de sistema operativo de 64 bits
Windows 7 Professional, CPU Intel i5-6200U @2.30 GHz y RAM 8 GB.
Para ajustar parámetros y sacar el máximo rendimiento del algoritmo se ha elegido un
problema estándar, frecuentemente usado en otras aproximaciones en la detección y
resolución de conflictos en la gestión de tráfico aéreo. Este problema consiste en un
número n de aviones con la misma altitud, igual velocidad, situados a la misma
distancia entre ellos, al borde de una circunferencia y con dirección al centro de la
misma, véase la Figura 7.7. Por lo tanto, todos los aviones tienen conflicto entre sí,
puesto que, si no cambian su configuración, se chocarán en el centro del círculo. Este es
el problema más difícil posible, y por ello de uso frecuente para medir el potencial de
los algoritmos.
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 111
Figura 7.7. Ejemplo de inicio para siete aviones en conflicto
Los parámetros para cada avión, han sido elegidos de tal manera que se aproximen a la
realidad, teniendo como referencia el Airbus A320 y las dimensiones de un sector aéreo
español:
Velocidad máxima: 870 Km/h
Velocidad inicial: 800 Km/h
Velocidad mínima: 440 Km/h
Altitud máxima: 15 Km
Altitud inicial: 12 Km
Altitud mínima: 10 Km
Ángulo máximo de giro: ±45º
Distancia de seguridad horizontal: 4.0234 Km
Distancia de seguridad vertical: 0.1524 Km
Número de maniobras iniciales: 0
Radio de sector aéreo: 250 Km
Se realizó un total 51.840 pruebas para ajustar los valores de los parámetros, así como la
combinación de los mismos. Los valores son:
112 | 7 . 1 A j u s t e d e p a r á m e t r o s
Tamaño de la población: 100 para todas las pruebas.
Tamaño de archivo global: 40 para todas las pruebas
Número de iteraciones: 150 para todas las pruebas. Aunque podría considerarse 15.000,
porque a diferencia de otras metaheurísticas que evalúan una solución por iteración, el
MOPSO evalúa toda la población en cada iteración.
Número de aviones: 5
Factor de normalización para el cálculo de la aceleración global – alpha (α):
0.05, 0.1 ,0.15
Cota máxima superior de la constante de aceleración global (cgmax):
2, 2.5, 3
Cota mínima inferior de la constante de aceleración global (cgmin):
0.05, 0.1, 0.5, 1
Número de divisiones requerido para fragmentar el espacio objetivo en hipercubos
(contando desde cero): Para todas las pruebas {2, 2, 2, 2, 2, 2}.
Aunque no está registrado en la memoria, también se evaluaron con {3, 3, 3, 3,
3, 3}, {4, 4, 4, 4, 4, 4} y {5, 5, 5, 5, 5, 5}. Siendo la {2, 2, 2, 2, 2, 2} la que
mejor resultados consiguió.
Factor de normalización para el cálculo de la aceleración local – beta (β):
0.05, 0.1 ,0.15
Cota máxima superior de la constante de aceleración local (cpmax):
2, 3, 6
Cota mínima inferior de la constante de aceleración local (cpmin):
0.05, 0.1, 0.5, 1
Tamaño de cambio de la inercia - : para todas las pruebas: 0.01, 0.05
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 113
Cota máxima superior de la inercia: para todas las pruebas (ω_max): 0.9
Cota mínima inferior de la inercia: para todas las pruebas (ω_min): 0.01, 0.1
Factor de mutación - : 2
Nótese que, al ser un algoritmo con muchas componentes aleatorias, se deberían realizar
varias ejecuciones de una misma configuración de parámetros, y aunque lo ideal sería
más de 100 ejecuciones, se ha fijado en 10 por el alto coste temporal de la sumatoria de
las mismas. A ese bloque de pruebas con la misma configuración se le denominará lote
de prueba. La duración total de este banco de 51.840 pruebas, fue de 13 horas 43
minutos.
7.1.1 Indicadores para medir la configuración de parámetros
Las métricas que se han elegido para supervisar el rendimiento del algoritmo son las
siguientes:
1. Valor mínimo hallado para las funciones objetivo f1 y f2. Dejando a un lado uno
de los propósitos de la optimización multiobjetivo, que es encontrar situaciones
de compromiso situadas equidistantemente del posible frente de Pareto, éste será
un claro indicador de la capacidad de explotación del algoritmo bajo la
influencia de los parámetros dados.
2. Número de soluciones no-dominadas encontradas. Por si solo este indicador no
basta, ya que se puede llegar a encontrar soluciones lejos de la frontera de Pareto
o poco dispersas. Sin embargo, aporta una idea aproximadas sobre la capacidad
del algoritmo.
3. Dispersión de las soluciones, esta medida aporta una cuantificación de la
distribución, buena o mala, de las soluciones no dominadas sobre la frontera de
Pareto. Ésta medida de dispersión se halla calculado la diferencia con la media
de la distancia de cada punto al su punto más cercano correspondiente:
114 | 7 . 1 A j u s t e d e p a r á m e t r o s
,1
1 ,p
i mi
R m dp
donde ,min1
1 p
ii
m dp
y ,minid es la distancia mínima de la solución i a otra
solución en el espacio objetivo.
4. Dominancia del conjunto de soluciones: Se computa como la media del
hipervolumén dominado por cada solución, H . El indicador de hipervolumén,
es una medida que mide la aproximación del algoritmo hacia la verdadera
frontera de Pareto y que tan diversificado es este. Éste indicador calcula el
tamaño de la región cubierta desde un punto de referencia definido. En un
contexto de minimización como este, cuanto más grande sea el indicador, mejor
será el conjunto solución.
5. Penalización por presencia de soluciones con múltiples maniobras simultáneas
para un mismo avión. Para automatizar las pruebas, hubo que relajar el hecho de
que éstas finalizarán con soluciones de este tipo, así se garantiza que el resto de
indicadores aporten información. Se halla calculando la media de 7f . Véase la
expresión (7.1) para los elementos del conjunto de soluciones
7,1
1 .p
ii
L fp
Estas métricas deben tenerse en cuenta en conjunto para evaluar el rendimiento de la
aplicación dada una combinación de parámetros, aunque es imposible seguirla de forma
aislada. Se simplifica el seguimiento de estas pruebas agregándolas así:
1, 2, 2,1,
1 2,
( ) ( )0.05 0.075 0.075( , ) ( ) ( )
( )0.25 0.4 0.15 ,( ) ( ) ( )
s s s s s s ss
s s s s s
s s s s s
s s s s s s
f f min f max N Nmmax f s min f max N
R max H Hmax R max H ma
Lx L
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 115
donde 1,sf y 2,sf , son los valores de 1f y 2f para la s-ésima ejecución, sN es el número
de soluciones no dominadas correspondiente a la ejecución s. sR es la redundancia, sH
es la media del hipervolumén dominado y sL es la penalización.
La importancia relativa de estos indicadores viene dada por los pesos que acompañan a
cada operador; transformando los objetivos de maximización en minimización,
normalizándolos y descartando valores atípicos, cuando sea necesario. Los valores de
los pesos han sido fijados, empíricamente y mediante las preferencias del usuario.
Por otra parte, y de forma complementaria, existe otro indicador que representa el
tiempo computacional de ejecución del algoritmo para conseguir la solución s:
2, .( )
se j
s ss e j
tm
max t
Existe una última métrica orientativa y que no forma parte del criterio de selección. Sin
embargo, puede ser tenida en cuenta a futuro para ajustar el número de iteraciones como
criterio de parada, ya que proporciona la fracción de tiempo usado hasta conseguir la
última solución:
3,,
(,
)se j
s sexe j
max Im
I
donde ,sexe jI es el criterio de parada, y )( s
e jmax I es el instante máximo de ejecución en
el que se consiguió esa solución.
7.1.2 Batería de pruebas para 5 aviones
Los resultados de las pruebas por combinación de parámetros con 5 aviones se exponen
a continuación. En azul el valor obtenido para esa prueba mientras que en rojo el
promedio de las 10 pruebas hechas con la misma configuración de parámetros. Se
considera el promedio del indicador de desempeño, como una métrica más que aporta
información relevante y suaviza el efecto de resultados anómalos propios del algoritmo
116 | 7 . 1 A j u s t e d e p a r á m e t r o s
aleatorio. En el eje de las abscisas el número de la prueba consecuente con la
combinación de parámetros; y en las ordenadas la métrica de evaluación.
Figura 7.8. Valores mínimos del objetivo Min. Magnitud de Maniobra (f1) para 5 aviones.
En la Figura 7.8 se observa que las magnitudes no tienen un cambio significativo e
identificable que proporcionen un valor mínimo destacable o una menor dispersión
entre los valores máximos y mínimos. Por otra parte, se en la Tabla 7.1 se muestran los
parámetros que aportan el valor mínimo de f1 en la prueba y el valor mínimo del
promedio de f1 del lote de 10 pruebas. Además, estos valores se complementan con el
valor promedio para el lote de pruebas correspondiente al lote del valor mínimo de
prueba, y el valor mínimo dentro del lote con el mínimo promedio. De esta manera la
prueba 44763 consigue el valor mínimo para f1 con un 0.057, su lote de prueba
correspondiente sería 44760-9 que tiene un promedio de f1 igual a 0.163, y se compara
con el lote de prueba 11050-9 que genera el mínimo valor promedio para f1 con 0.122,
el valor mínimo de f1 para el lote 11050-9 es 0.071. Sin embargo, no puede deducirse
una combinación de parámetros asociada a ambos. Nótese que los resultados deseados
en esa categoría se identifican en verde.
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 117
Tabla 7.1. Mejor combinación de parametros aportado por f1
Parámetro Prueba 44763 Prom. lote 11050-9
α 0.15 0.05 cgmin 0.5 0.5 cgmax 2.5 2.5 β 0.05 0.15 cpmin 0.1 1 cpmax 2 6 Δω 0.01 0.05 ω_min 0.01 0.01 ω_max 0.9 0.9 μ 2 2 f1 0.057 0.071 f1_prom 0.163 0.122
Por otra parte, se analizó el objetivo 2, mínimo nivel de riesgo. En la Figura 7.9 se
representa el mínimo nivel de riesgo obtenido para las combinaciones de parámetros.
Figura 7.9. Valores mínimos del objetivo Min. Nivel de riesgo(f2) para 5 aviones.
118 | 7 . 1 A j u s t e d e p a r á m e t r o s
Tabla 7.2: Mejor combinación de parametros aportado por f2
Parámetro Prueba 46062
Prom. lote 4060-9
α 0.15 0.05 cgmin 0.5 0.05 cgmax 2.5 3 β 0.15 0.15 cpmin 1 0.1 cpmax 6 6 Δω 0.05 0.05 ω_min 0.01 0.01 ω_max 0.9 0.9 μ 2 2 f2 -2.020 -1.429 f2_prom -0.983 -1.141
En Tabla 7.2 se muestran los parámetros que aportan el valor mínimo de f2 en la prueba
y el valor mínimo del promedio de f2 del lote de 10 pruebas. Además, estos valores se
complementan con el valor promedio para el lote de pruebas correspondiente al lote del
valor mínimo de prueba, y el valor mínimo dentro del lote con el mínimo promedio. De
esta manera la prueba 46062 consigue el valor mínimo para f2 con un -2.02, su lote de
prueba correspondiente sería 46060-9 que tiene un promedio de f2 igual a -0.983, y se
compara con el lote de prueba 4060-9 que genera el mínimo valor promedio para f2 con
-1.141, el valor mínimo de f2 para el lote 4060-9 es -1.429. Sin embargo, no puede
deducirse una combinación de parámetros asociada a ambos indicadores mínimos.
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 119
Figura 7.10. Número de soluciones encontradas para 5 aviones
En la Figura 7.10 se ve que el promedio del número de soluciones obtenidas está entre 3
y 2 soluciones, sin embargo, no se llega a producir una variación sobre la media que
sugiera un mejor comportamiento. Y aunque en las pruebas aisladas (azul) se llegan a
conseguir hasta un máximo de 8 soluciones, no deben considerarse suficientes por si
solas, ya que no consiguen iguales resultados para el resto de pruebas con igual
combinaciones de parámetros, como se puede ver en Tabla 7.3.
En Tabla 7.3 se muestran los parámetros que aportan el número de soluciones
halladas(f3) en la prueba y el promedio del número de soluciones halladas en el lote de
10 pruebas. Además, estos valores se complementan con el valor promedio para el lote
de pruebas correspondiente al lote del f3 en la prueba, y el valor máximo dentro del lote
con el máximo promedio. De esta manera la prueba 16753 consigue el valor máximo
para f3 con un 8, su lote de prueba correspondiente sería 16750-9 que tiene un promedio
de f3 igual a 3.4, y se compara con el lote de prueba 13130-9 que genera el máximo
valor promedio para f3 con 3.7, el valor máximo de f3 para el lote 13130-9 es 6.
120 | 7 . 1 A j u s t e d e p a r á m e t r o s
Tabla 7.3: Mejor combinación de parametros aportado por Número de Soluciones.
Parámetro Prue. 16753
Prue. 21042
Prue. 38511
Prom. lote 13130-9
α 0.05 0.1 0.15 0.05 cgmin 1 0.05 0.05 1 cgmax 3 3 3 2 β 0.1 0.1 0.15 0.05 cpmin 1 1 0.05 0.1 cpmax 3 3 6 3 Δω 0.05 0.01 0.05 0.01 ω_min 0.1 0.01 0.1 0.1 ω_max 0.9 0.9 0.9 0.9 μ 2 2 2 2 Num Soluc. 8.0 8.0 8.0 6.0 Num Soluc. Prom. 3.4 2.7 2.8 3.7
Por otra parte, se estudió el resultado de la redundancia (Figura 7.11) generado por la
dispersión de las partículas que pertenecen al conjunto solución, para este caso se desea
minimizar esta redundancia, sin embargo, existen muchos casos donde se alcanza el
valor mínimo, cero. Por lo que no aporta información suficiente para que se pueda
deducir una combinación de parámetros adecuada.
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 121
Figura 7.11. Media de redundancia encontradas para 5 aviones.
Los parámetros que aporta el indicador de la media de hipervolumén (Figura 7.12), no
son concluyentes y no permiten determinar una combinación adecuada de parámetros.
Sin embargo, en la Tabla 7.4 se muestran los parámetros que aportan la máxima media
de hipervolumén(f5) en la prueba y el promedio de f5 en el lote de 10 pruebas. Además,
estos valores se complementan con el valor promedio para el lote de pruebas
correspondiente al lote de f5 en la prueba, y el valor máximo dentro del lote con el
máximo promedio. De esta manera la prueba 15160 consigue el valor máximo para f5
con un 2.986.916, su lote de prueba correspondiente sería 15160-9 que tiene un
promedio de f5 igual a 799.113, y se compara con el lote de prueba 2050-9 que genera el
máximo valor promedio para f5 con 1.647.746, el valor máximo de f5 para el lote 2050-9
es 2.517.458.
122 | 7 . 1 A j u s t e d e p a r á m e t r o s
Figura 7.12. Media de hipervolumen encontrados para 5 aviones.
Tabla 7.4: Mejor combinación de parametros aportado por Media de hipervolumen
Parámetro Prueba 15160 Prom. lote 2050-9
α 0.05 0.05 cgmin 1 0.05 cgmax 2.5 2.5 β 0.1 0.1 cpmin 0.5 0.1 cpmax 3 2 Δω 0.01 0.01 ω_min 0.01 0.1 ω_max 0.9 0.9 μ 2 2 Hip. Vol. 2.986.916 2.517.458 Hip. Vol. Prom. 799.113 1.647.746
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 123
Figura 7.13. Media de Combinación de Maniobras para prueba de 5 aviones.
Como resultado de la media de combinación de parámetros (Figura 7.13), se obtuvo una
media de cero a lo largo de toda la ejecución y para todos los parámetros. Esto hace que
el valor deseado para este indicador se consiga con cualquiera de las combinaciones de
parámetros probada.
Por otra parte, como resultado del proceso las medidas para el tiempo se obtuvieron
valores similares en todas las combinaciones de parámetros (Figura 7.14). Nótese que
en el periodo 0 – 5000 (Figura 7.15) el algoritmo va aumentando su tiempo de ejecución
de forma lineal, esto se debe a la ocupación en memoria que el programa de ejecución
de banco de pruebas, va añadiendo, provocando un llamado al recolector de basura e
incrementando el tiempo de ejecución. Además, también se puede interpretar que
indistintamente de la combinación de parámetros, que la aplicación como máximo
tardará en ejecutarse de 0.7 a 1.5seg. Aunque se vean picos superiores a los 2 seg., éstos
se corresponden al tiempo adicional que proporciona el recolector de basura de la
máquina virtual de java, hecho que no sucederá cuando la aplicación haga ejecuciones
asiladas y no en “banco de pruebas” como se está haciendo para este trabajo.
124 | 7 . 1 A j u s t e d e p a r á m e t r o s
Figura 7.14. Tiempo de ejecución para cada una de las pruebas, correspondiente al banco de pruebas de 5 aviones.
Figura 7.15. Tiempo de ejecución (0-5500) para cada una de las pruebas, correspondiente al banco de pruebas de 5 aviones.
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 125
Una vez conseguidos todos los indicadores, se proceden a componer m1, m2 y llevarlos a
una gráfica ( Figura 7.16). En ella, se hace la diferenciación del valor obtenido para
cada prueba (cruces negras), además se hace una distinción de las soluciones no
dominadas (triángulos rojos). Estas últimas se contrastan con otras puntuaciones que
han recibido otras pruebas con la misma combinación de parámetros (puntos azules). De
igual manera se complementa con la mejor posición según el promedio de los
indicadores m1, en rombos verdes.
Estas diferenciaciones se hacen con el propósito de entender que la selección de los
parámetros, que eventualmente llegan a ofrecer soluciones no-dominadas, no garantiza
el mejor comportamiento del algoritmo; puesto que en la gráfica se ve que los puntos
azules están muy lejos de los puntos rojos, a pesar de compartir los mismos parámetros.
Sin embargo, si hacemos un promedio de m1 por cada lote de prueba (un lote de prueba
son 10 pruebas independientes con los mismos parámetros) y seleccionamos el menor,
podemos extraer que esta combinación de parámetros es la que mejor comportamiento
ofrece.
126 | 7 . 1 A j u s t e d e p a r á m e t r o s
Figura 7.16. Indicadores m1 Vs m2, correspondiente al banco de pruebas de 5 aviones..
Si, por otra parte, contrastamos los parámetros que proporcionan las soluciones no
dominadas, Tabla 7.5, y el mejor grupo de soluciones promedio (lote de prueba 205),
podemos ver que existe una relación de compensación entre el número de cambios (α)
que caben entre cgmax a cgmin; y el número de cambios (β) que caben entre cpmax y
cpmin.
Por ejemplo, el lote de prueba 205, con Δp / β = 19, se compensa con Δg / α = 49; y
el lote de prueba 3179, con Δp / β = 119, se compensa con Δg / α = 15.
Esta relación es cuantificada con %( / ( ))z z k y %( / ( ))k z k ; que se podrá
considerar como la proporción de la aceleración, del algoritmo, que es destinada a la
exploración y explotación respectivamente.
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0 0,2 0,4 0,6 0,8 1 1,2
m1
m2
m1 Vs m2
M1: mismos parametros No dominadas mejor promedio
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 127
A partir de estas medidas podemos concluir que el mínimo valor del indicador de
rendimiento en promedio (m1) aportado por el lote de prueba 205, se debería conseguir
con 72% de exploración y un 28% de explotación dado por el tamaño de cambio de
Δg= 2.45 y Δp = 1.9; a partir de los parámetros α = 0.05; cgmin = 0.1; cgmax = 2.5; ß =
0.1; cpmin = 0.1; cpmax = 2.
Mientras que para el mínimo valor de m2, aportado por el lote de prueba 2997, se
debería conseguir con un 39% de exploración y un 61% de explotación dado por el
tamaño de cambio de cambio de Δg= 2.5 y Δp= 5.9 bajo los parámetros de α = 0.1;
cgmin = 0.5; cgmax = 3.0; ß = 0.15; cpmin = 0.1; cpmax = 6.
128 | 7 . 1 A j u s t e d e p a r á m e t r o s
Tabl
a 7.
5: M
ejor
com
bina
ción
de
pará
met
ros p
ara
Solu
cion
es n
o do
min
adas
(m1 V
s m2)
y m
ejor
m1 p
rom
edio
.
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 129
A continuación, se muestra la evolución de diferentes aspectos del algoritmo para una
ejecución de ejemplo con los parámetros escogidos:
Progreso de la aceleración global: En la Figura 7.17 se observa que la aceleración
global se mantiene casi constante, porque la densidad de población de los hipercubos no
llega a ser lo suficientemente grande para provocar una variación significativa. Esta
falta de densidad de población se debe a una baja diversidad en el conjunto de
soluciones, seguramente causado por la convergencia prematura del algoritmo en una
solución óptima local; característica principal de este algoritmo.
Figura 7.17. Aceleración global
Progreso de la aceleración local: En la Figura 7.18 se muestran los valores máximos,
promedio y mínimos para las aceleraciones locales, que toman las partículas que
conforman la población a través del tiempo de ejecución. Aunque para este ejemplo el
promedio de las aceleraciones tenga variación baja, el valor mínimo nos dice que en al
menos una de las partículas se disminuyó la aceleración, promoviendo la explotación de
un sector del espacio objetivo.
130 | 7 . 1 A j u s t e d e p a r á m e t r o s
Progreso del número de partículas a mutar: En la Figura 7.19 se muestra el número de
partículas susceptibles de mutación, como consecuencia de haber sido rechazadas por la
función de aceptación del algoritmo. Este número de partículas inicia con un 90% de la
población y converge a cero gracias al operador de mutación que decae al aumentar el
número de iteraciones.
Figura 7.18. Aceleración local
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 131
Figura 7.19. Número de partículas mutar
Progreso de número de soluciones en el archivo global: En la Figura 7.20 se observa
que el programa inicia con un ritmo acelerado al hallar soluciones, sin embargo, este
progreso se interrumpe por una solución factible (sin riesgo y con una maniobra por
avión como máximo), y como resultado al programa le cuesta encontrar nuevas
soluciones no dominadas. Se recuerda que el algoritmo elimina del archivo de
soluciones aquellas que son dominadas y no son factibles. Este evento penaliza
diversidad de las soluciones y la facilidad de consecución de nuevas soluciones.
132 | 7 . 1 A j u s t e d e p a r á m e t r o s
Figura 7.20. Número de soluciones en archivo global
Progreso de objetivo 1 – mínima magnitud de maniobras: En la Figura 7.21 se observa
cómo el algoritmo explora en soluciones no factibles, provocando un pico entre las
iteraciones 0 a 10. Sin embargo, cuando se encuentra con una solución factible elimina
las soluciones que superan el 0.2 de magnitud de cambio de maniobra. Finalmente, el
algoritmo termina probando varias configuraciones de magnitudes entre el 17% y 37%.
Conservando este objetivo como perspectiva y contrastado con el nivel de riesgo, se ve
en la Figura 7.22 la evolución de las partículas líderes globales que han sido
seleccionadas a lo largo del proceso de ejecución, mientras que en la Figura 7.23 se
muestran las resultantes al finalizar el algoritmo, siendo estas últimas las factibles no-
dominadas.
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 133
Figura 7.21. Desviación magnitud maniobras
Figura 7.22. Evolución de la partícula (o solución) referencia o líder global desde la perspectiva de las
funciones objetivos 1 y 2.
134 | 7 . 1 A j u s t e d e p a r á m e t r o s
Figura 7.23. Situación de las soluciones no-dominadas desde la perspectiva de las funciones objetivo
1 y 2.
Progreso de objetivo 2 - mínimo nivel de riesgo de colisión: En la Figura 7.24, al igual
que la figura anterior, el algoritmo prueba con soluciones no factibles hasta que en la
iteración 10 se halla una solución que domina a la mayoría de las existentes en el
archivo global, eliminándolas del archivo y, como consecuencia, disminuyendo la
posibilidad de tener diversidad en las soluciones. Por otra parte, a partir de la iteración
100 el algoritmo cambia de partícula líder, y a su vez cambia de enfoque objetivo,
provocando la pérdida en un objetivo, con la ganancia en otro; característica de
compensación propia del criterio de no dominancia de Pareto.
En la Figura 7.22 se observa que se hace la exploración desde un área de soluciones no
factibles a una que si lo es, ya que se parte de un nivel de riesgo positivo a uno negativo.
Progreso de objetivo 3 – mínimo número de maniobras: En la Figura 7.25 se observa
cómo el algoritmo explora en soluciones no factibles permitiendo que los aviones, en su
conjunto, realicen hasta un máximo de 7 maniobras. Por otra parte, se llegan a evaluar
soluciones con 4, 5 y 6 maniobras quedándose con las de 5 por que en conjunto con el
resto de objetivos, es la que mejor resultados ofrece en ese grado de avance del
algoritmo. Este hecho se podría tratar de explicar con el nivel de riesgo positivo cuando
el número de maniobras es 4 entre las iteraciones 10 a 15. A pesar que 4 podría verse
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 135
como una solución no-dominada en la Figura 7.26, si llega a serlo; por este motivo no es
seleccionada en la Figura 7.27.
Figura 7.24. Nivel de riesgo de colisión
Figura 7.25. Número de maniobras
136 | 7 . 1 A j u s t e d e p a r á m e t r o s
Figura 7.26. Evolución de la partícula (o solución) referencia o líder global desde la perspectiva de las
funciones objetivos 2 y 3.
Figura 7.27. Situación de las soluciones no-dominadas desde la perspectiva de las funciones objetivo 2
y 3.
Progreso de objetivo 4 – mínimo retraso temporal: En la Figura 7.28 se muestran las
variaciones en este objetivo para la mejor partícula global seleccionada en ese instante.
Estas variaciones son resultado de maniobras de cambio de dirección o de velocidad,
puesto que las variaciones en la altura se consideran instantáneas y no suponen un
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 137
tiempo extra de consumo. Esta información se complementa en las Figura 7.29 y Figura
7.30.
Figura 7.28. tiempo de retardo
Figura 7.29. Evolución de la partícula (o solución) referencia o líder global desde la perspectiva de las
funciones objetivos 2 y 4.
138 | 7 . 1 A j u s t e d e p a r á m e t r o s
Figura 7.30. Situación de las soluciones no-dominadas desde la perspectiva de las funciones objetivo
2 y 4.
Progreso de objetivo 5 – mínima desviación del punto de salida: En la Figura 7.33 se
observa cómo hasta la iteración 10, el objetivo 5 carece de relevancia mientras se
buscan las soluciones factibles; y una vez éstas son alcanzadas, este objetivo adquiere
importancia teniendo unas variaciones pequeñas con tendencia a la baja. En la Figura
7.31 se exponen las soluciones usadas como líder global en algún momento del
programa para el resto de población. En la Figura 7.32 se exponen la distribución en el
espacio objetivo los objetivos 2 y 5.
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 139
Figura 7.32. Situación de las soluciones no-dominadas desde la perspectiva de las funciones objetivo
2 y 5.
Figura 7.31. Evolución de la partícula (o solución) referencia o líder global desde la la perspectiva de
las funciones objetivos 2 y 5.
140 | 7 . 1 A j u s t e d e p a r á m e t r o s
Figura 7.33. Desviación del punto de salida
Progreso de objetivo 6 – mínima dispersión de maniobras: Al igual que en el objetivo
3, este objetivo refleja (véase la Figura 7.34) la exploración en el espacio de variables
con aviones que realizan múltiples maniobras a la vez, hasta que se encuentra una
solución factible que sustituirá al resto de infactibles del archivo global. Una vez dado
este paso se procede a la exploración teniendo como referencia a una solución factible,
provocando menos variación. El número de maniobras que realiza cada uno de los
aviones es 1, por lo tanto, la dispersión para el conjunto de estos es uno. En la Figura 7.35
se muestra la posición de las soluciones en el espacio objetivo y en la Figura 7.36 las
soluciones no dominadas resultado del proceso iterativo.
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 141
Figura 7.34. Dispersión de maniobras en el espacio
Figura 7.35. Evolución de la partícula (o solución) referencia o líder global desde la perspectiva de las
funciones objetivos 2 y 6.
142 | 7 . 2 E j e m p l o d e a p l i c a c i ó n y d i s c u s i ó n d e
r e s u l t a d o s .
Figura 7.36. Situación de las soluciones no-dominadas desde la perspectiva de las funciones objetivo
2 y 6.
7.2 Ejemplo de aplicación y discusión de resultados.
A continuación, se ilustra el posible uso de la aplicación para un problema de 7 aviones
dispuestos de manera aleatoria y con presencia de riesgo en el sector aéreo.
Esta ejecución se ha realizado desde un ordenador de sistema operativo de 64 bits
Windows 7 Professional, CPU Intel i5-6200U @2.30 GHz y RAM 8 GB.
Para facilitar el uso y validación del programa se hace una interfaz intuitiva y que
exponga los datos más relevantes. En consonancia con esto, se muestra una
representación gráfica y animada que emula un radar aéreo (véase la Figura 7.37). Los
valores que identifican la configuración de un avión se exponen como una etiqueta de
valores que sobresalen desde su posición. Estos valores se corresponden con la
identificación del avión, dirección, altura y velocidad.
Una vez dicho esto, en la Figura 7.37 se observa, que, a pesar de existir 6 intersecciones
en la trayectoria de los aviones, sólo en una de ellas existe riesgo, entre los aviones
29911 y 1811. En consecuencia, el algoritmo detecta los aviones libres conflicto y los
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 143
marca en verde; además sus waypoints los marca en rojo. Cuando el avión se encuentra
en riesgo, se marca en azul y sus waypoints se marcan en violeta.
Una vez el algoritmo se ejecuta, se obtienen varias soluciones de las que se destacan dos
por resolver el problema haciendo uso de dos tipos de maniobras diferentes. La primera
solución (véase la Figura 7.38) es disminuir la altura del avión de 12 km a 11.8 km.
Mientras que la otra solución (véase la Figura 7.39) es disminuir la velocidad de
636.4km/h a 520.1km/h.
La duración de ejecución para este caso ha sido de 9 milisegundos. Sin embrago como
se vio anteriormente en la Sección 7.1, esta duración puede variar.
Como información complementaria el programa expone los valores de inicio,
finalización y cambio para cada avión. Así para la solución de cambio de altura la
descripción de esta será:
id:29911;angle:(-76.389->-76.389)=0;x:(0->0)=0;xFin:(48.426-
>48.426)=0;y:(-50->-50)=0;yFin:(-250->-250)=0;z:(11.976-
>11.833)=-0.143;zFin:(11.976->11.833)=-0.143;v:(636.37-
>636.37)=0;t:(0.323->0.323)=0;vc:0;ac:-0.073;tc:0;Maniobras:1->2
id:2811;angle:(-152.099->-152.099)=0;x:(0->0)=0;xFin:(-250->-
250)=0;y:(50->50)=0;yFin:(-82.373->-82.373)=0;z:(11.913-
>11.913)=0;zFin:(11.913->11.913)=0;v:(631.785-
>631.785)=0;t:(0.448->0.448)=0;vc:0;ac:0;tc:0;Maniobras:1->1
id:7111;angle:(101.319->101.319)=0;x:(-100->-100)=0;xFin:(-
160.051->-160.051)=0;y:(-50->-50)=0;yFin:(250->250)=0;z:(11.98-
>11.98)=0;zFin:(11.98->11.98)=0;v:(771.197->771.197)=0;t:(0.397-
>0.397)=0;vc:0;ac:0;tc:0;Maniobras:2->2
id:96811;angle:(30.751->30.751)=0;x:(-100->-
100)=0;xFin:(152.117->152.117)=0;y:(100->100)=0;yFin:(250-
144 | 7 . 2 E j e m p l o d e a p l i c a c i ó n y d i s c u s i ó n d e
r e s u l t a d o s .
>250)=0;z:(11.993->11.993)=0;zFin:(11.993->11.993)=0;v:(563.099-
>563.099)=0;t:(0.521->0.521)=0;vc:0;ac:0;tc:0;Maniobras:1->1
id:47511;angle:(176.107->176.107)=0;x:(100->100)=0;xFin:(-250->-
250)=0;y:(100->100)=0;yFin:(123.821->123.821)=0;z:(11.916-
>11.916)=0;zFin:(11.916->11.916)=0;v:(452.818-
>452.818)=0;t:(0.775->0.775)=0;vc:0;ac:0;tc:0;Maniobras:2->2
id:1811;angle:(60.341->60.341)=0;x:(0->0)=0;xFin:(199.309-
>199.309)=0;y:(-100->-100)=0;yFin:(250->250)=0;z:(12.071-
>12.071)=0;zFin:(12.071->12.071)=0;v:(603.981-
>603.981)=0;t:(0.667->0.667)=0;vc:0;ac:0;tc:0;Maniobras:2->2
id:92211;angle:(39.863->39.863)=0;x:(-100->-
100)=0;xFin:(139.513->139.513)=0;y:(50->50)=0;yFin:(250-
>250)=0;z:(12.01->12.01)=0;zFin:(12.01->12.01)=0;v:(526.131-
>526.131)=0;t:(0.593->0.593)=0;vc:0;ac:0;tc:0;Maniobras:2->2
C A P Í T U L O 7 : P R O P U E S T A D E P S O | 145
Figura 7.37. Ejemplo de uso para 7 aviones dispuestos de forma aleatoria.
146 | 7 . 2 E j e m p l o d e a p l i c a c i ó n y d i s c u s i ó n d e
r e s u l t a d o s .
Figura 7.38. Solución al problema de ejemplo para 7 aviones por cambio de altitud.
Figura 7.39. Solución al problema de ejemplo para 7 aviones por cambio de velocidad.
C A P Í T U L O 8 : C O N C L U S I O N E S | 147
Capítulo 8.
8 CONCLUSIONES
A continuación, se exponen las conclusiones alcanzadas al terminar la realización de
este Trabajo de Fin de Máster (TFM), se finaliza con una serie de propuestas y líneas
fututas de investigación en el contexto de mejora de este trabajo.
Se ha desarrollado un estudio del estado del arte de un gran número de enfoques
relacionados con la gestión del tráfico aéreo en vuelo, consiguiendo alcanzar una
visión general del trabajo que otros investigadores han desarrollado. En
consecuencia, se han extraído ideas de las propuestas más relevantes para
incorporar algunas de ellas en este trabajo.
Se ha conseguido desarrollar un modelo matemático que se ajusta a las
restricciones y características del problema objetivo, incorpora tres posibles
tipos de maniobras y se abarcan múltiples objetivos. Además, el modelo logrado
es independiente de su método de resolución.
Se ha realizado un estudio y adaptación de la metaheurística Cultural MOPSO
para la resolución del problema. Para ello, se inició con un estado del arte de la
variante uniobjetivo PSO y la variante multiobjetivo MOPSO. Luego, una vez
comprendidos todos los componentes del algoritmo, se adaptó, de la mejor
manera, para la resolución del problema.
148 | 7 . 2 E j e m p l o d e a p l i c a c i ó n y d i s c u s i ó n d e
r e s u l t a d o s .
Se desarrolló una aplicación modular que implementa el modelo matemático, la
metaheurística y un interfaz de gráficos como salida de resultados, de manera
independiente, para que se pueda integrar a futuras aplicaciones o simuladores.
Se ha realizado un profundo y arduo análisis del efecto de los valores de los
parámetros y la combinación de estos al afrontar la resolución de instancias del
problema. Se ha obtenido un subconjunto óptimo que servirá de referencia para
el ajuste de otras instancias del problema.
Se hace una comparación con algunas instancias comunes en el trabajo [58]
constatando que el resultado en la calidad de las soluciones es relativamente
similar, pero en el tiempo de ejecución mucho mayor que el expuesto en [58].
Como líneas futuras de investigación y mejoras, se pude extender algunas características
del modelo, al igual que su forma de resolverlo:
- Se desea un modelo matemático capaz de trabajar con múltiples maniobras a la
vez, con esto se lograría sacar el mayor beneficio de la metaheurística usada y
obtener mejores resultados en menos tiempo.
- Hacer un tunning de la aplicación, para disminuir su costo en memoria y aplicar
paralelismo en las operaciones sobre las partículas del MOPSO.
- Paralelizar el sistema de ajuste de parámetros, aunque no forma parte
fundamental de la aplicación, adquiere relevancia al ocupar demasiado tiempo
humano y computacional.
- Se propone la creación de un sistema de ayuda a la toma de decisiones basado en
las soluciones obtenidas y que se complemente con las preferencias del usuario.
- Como el problema resuelto aborda una situación de conflicto en un instante de
tiempo dado, se desea introducir la componente temporal como una
característica más en la configuración del avión.
- Se propone abordar el problema desde una perspectiva de variables discretas en
búsqueda de una mejora en la disminución de cómputo y disminución del
consumo de memoria. Como el PSO opera con números reales es necesario
mapear el espacio de búsqueda de un dominio continuo a uno discreto, operar de
la forma convencional y luego desmapear el resultado. Aunque ese proceso de
C A P Í T U L O 8 : C O N C L U S I O N E S | 149
transformación añada un extra de tareas a computar, el espacio de búsqueda se
reduciría significativamente aumentando la posibilidad de disminuir el consumo
de memoria y tiempo de cómputo.
- Se desea integrar la aplicación creada a un simulador de control de tráfico aéreo,
aprovechando la construcción modular de la misma. Con el motivo de
proporcionar una herramienta que simule y compare diferentes técnicas en la
resolución del problema.
.
151 | B I B L I O G R A F Í A
BIBLIOGRAFÍA
[1] Abido, M. (2002). Optimal power flow using particle swarm optimization.
International Journal of Electrical Power and Energy Systems, 24(7):563–571.
[2] Achayuthakan, C. and Ongsakul, W. (2009). TVAC-PSO based optimal reactive
power dispatch for reactive power cost allocation under deregulated environment. In
IEEE Power and Energy Society General Meeting 2009, 1–9. IEEE.
[3] Al-Hassan, W., Fayek, M., and Shaheen, S. (2006). PSOSA: an optimized
particle swarm technique for solving the urban planning problem. In International
Conference on Computer Engineering and Systems, 401–405. IEEE.
[4] Alonso-Ayuso, A., Escudero, L., and Martín-Campo, F. (2011). Collision
avoidance in air traffic management: a mixed-integer linear optimization approach.
IEEE Transactions on Intelligent Transportation Systems, 12(1):47–57.
[5] Alonso-Ayuso, A., Escudero, L., and Martín-Campo, F. (2012). A mixed 0-1
nonlinear optimization model and algorithmic approach for the collision avoidance in
(ATM): velocity changes through a time horizon. Computers and Operations Research,
39(12):3136–3146.
[6] Alonso-Ayuso, A., Escudero, L., and Martín-Campo, F. (2014a). Exact and
approximate solving of the aircraft collision resolution problem via turn changes.
Transportation Science, 50(1):263–274.
[7] Alonso-Ayuso, A., Escudero, L., and Martín-Campo, F. (2014b). On modeling
the air traffic control coordination in the collision avoidance problem by mixed integer
linear optimization. Annals of Operations Research, 222(1):89–105.
B I B L I O G R A F Í A | 152
[8] Alonso-Ayuso, A., Escudero, L., Martín-Campo, F., and Mladenovic, N.
(2014c). A VNS metaheuristic for solving the aircraft conflict detection and resolution
problem by performing turn changes. Journal of Global Optimization, 1–14.
[9] Bajpai, P. and Singh, S. (2007). Fuzzy adaptive particle swarm optimization for
bidding strategy in uniform price spot market. IEEE Transactions on Power Systems,
22(4):2152–2160.
[10] Bao, G. and Mao, K. (2009). Particle swarm optimization algorithm with
asymmetric time varying acceleration coefficients. In IEEE International Conference on
Robotics and Biomimetics (ROBIO), 2134–2139. IEEE.
[11] Bellman, R. (1956). Dynamic programming and lagrange multipliers.
Proceedings of the National Academy of Sciences, 42(10):767–769.
[12] Branke, J. and Mostaghim, S. (2006). About selecting the personal best in multi-
objective particle swarm optimization. In Parallel Problem Solving from Nature - PPSN
IX, 4193:523–532.
[13] Cafieri, S. and Durand, N. (2014). Aircraft deconfliction with speed regulation:
new models from mixed-integer optimization. Journal of Global Optimization,
58(4):613–629.
[14] Cetek, C. (2009). Realistic speed change maneuvers for air traffic conflict
avoidance and their impact on aircraft economics. International Journal of Civil
Aviation, 1: 47–57.
[15] Christodoulou, M. A. and Kodaxakis, S. G. (2006). Automatic commercial
aircraft-collision avoidance in free flight: the three-dimensional problem. IEEE
Transactions on Intelligent Transportation Systems, 7(2):242–249.
[16] Clerc, M. (2010). Particle Swarm Optimization, 93. John Wiley and Sons.
[17] Cobano, J. A., Alejo, D., Heredia, G., Ollero, A. (2012). Strategic planning in
ATM with a stochastic anytime approach. Second SESAR Innovation Days 2012.
153 | B I B L I O G R A F Í A
[18] Cobano, J.; Alejo, D.; Heredia, G. & Ollero, A. (2013). 4d Trajectory Planning
in ATM with an Anytime Stochastic Approach. Proceedings of the Third International
Conference on Application and Theory of Automation in Command and Control
Systems, 1-8
[19] Coelho, L. D. S. and Alotto, P. (2009). Tribes optimization algorithm applied to
the loney’s solenoid. IEEE Transactions on Magnetics, 45(3):1526–1529.
[20] Coello-Coello, C., Toscano-Pulido, G., and Salazar-Lechuga, M. (2004).
Handling multiple objectives with particle swarm optimization. IEEE Transactions on
Evolutionary Computation, 8(3):256–279.
[21] Cooren, Y., Nakib, A., and Siarry, P. (2007). Image thresholding using
(TRIBES), a parameter-free particle swarm optimization algorithm. In International
Conference on Learning and Intelligent Optimization, 81–94. Springer.
[22] Daneshyari, M. and Yen, G. G. (2011). Cultural-based multiobjective particle
swarm optimization. IEEE Transactions on Systems, Man, and Cybernetics, Part B
(Cybernetics), 41(2):553–567.
[23] Dantzig, G. B., Orden, A., Wolfe, P., et al. (1955). The generalized simplex
method for minimizing a linear form under linear inequality restraints. Pacific Journal
of Mathematics, 5(2):183–195.
[24] Deb, K. (2001). Multi-Objective Optimization Using Evolutionary Algorithms,
16. John Wiley and Sons.
[25] Dorigo, M., Maniezzo, V., and Colorni, A. (1996). Ant system: optimization by
a colony of cooperating agents. IEEE Transactions on Systems, Man, and Cybernetics,
Part B (Cybernetics), 26(1):29–41.
[26] Durand, N. and Alliot, J.-M. (2009). Ant colony optimization for air traffic
conflict resolution. In Eighth USA/Europe Air Traffic Management (ATM) Research
and Developpment Seminar.
B I B L I O G R A F Í A | 154
[27] Eberhart, R. C., Kennedy, J., et al. (1995). A new optimizer using particle swarm
theory. In Proceedings of the Sixth International Symposium on Micro Machine and
Human Science, 1:39–43.
[28] Elshamy, W., Emara, H. M., and Bahgat, A. (2007). Clubs-based particle swarm
optimization. In IEEE Swarm Intelligence Symposium 2007, 289–296. IEEE.
[29] Feng, Y., Teng, G.-F., Wang, A.-X., and Yao, Y.-M. (2007). Chaotic inertia
weight in particle swarm optimization. In Second International Conference on
Innovative Computing, Information and Control 2007 (ICICIC’07), 475–475. IEEE.
[30] Feo, T. A. and Resende, M. G. (1989). A probabilistic heuristic for a
computationally difficult set covering problem. Operations Research Letters, 8(2):67–
71.
[31] Feo, T. A. and Resende, M. G. (1995). Greedy randomized adaptive search
procedures. Journal of Global Optimization, 6(2):109–133.
[32] Gao, Y., Zhang, X., and Guan, X. (2012). Cooperative multi-aircraft conflict
resolution based on co-evolution. In International Symposium on Instrumentation and
Measurement, Sensor Network and Automation 2012 (IMSNA’12), 1:310–313. IEEE.
[33] Glover, F. (1977). Heuristics for integer programming using surrogate
constraints. Decision Sciences, 8(1):156–166.
[34] Glover, F. (1986). Future paths for integer programming and links to artificial
intelligence. Computers and Operations Research, 13(5):533–549.
[35] Goldfarb, D. (1970). A family of variable-metric methods derived by variational
means. Mathematics of Computation, 24(109):23–26.
[36] Gomory, R. E. (1965). On the relation between integer and noninteger solutions
to linear programs. Proceedings of the National Academy of Sciences, 53(2):260–265.
155 | B I B L I O G R A F Í A
[37] Guo, L. and Chen, X. (2009). A novel particle swarm optimization based on the
self-adaptation strategy of acceleration coefficients. In International Conference on
Computational Intelligence and Security 2009 (CIS’09), 1:277–281. IEEE.
[38] Han, W., Yang, P., Ren, H., and Sun, J. (2010). Comparison study of several
kinds of inertia weights for PSO. In IEEE International Conference on Progress in
Informatics and Computing 2010 (PIC’10), 1:280–284. IEEE.
[39] Heppner, F. and Grenander, U. (1990). A stochastic nonlinear model for
coordinated bird flocks. The Ubiquity of Chaos, 233–238.
[40] Ho, S., Yang, S., Ni, G., Lo, E., and Wong, H. (2005). A particle swarm
optimization-based method for multiobjective design optimizations. IEEE Transactions
on Magnetics, 41(5):1756–1759.
[41] Holland, J. H. (1975). Adaptation in Natural and Artificial Systems: an
Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence.
U Michigan Press.
[42] Hu, X. and Eberhart, R. (2002). Multiobjective optimization using dynamic
neighborhood particle swarm optimization. In Proceedings of the Congress on
Evolutionary Computation 2002 (CEC’02), 1-2: 1677–1681.
[43] Hu, X., Eberhart, R., and Shi, Y. (2003). Particle swarm with extended memory
for multiobjective optimization. In Proceedings of the IEEE Swarm Intelligence
Symposium 2003 (SIS’03), 193–197.
[44] Iwasaki, N. and Yasuda, K. (2005). Adaptive particle swarm optimization via
velocity feedback. Transactions of the Institute of Electrical Engineers of Japan, Part
C, 125-C: 987–8.
[45] Karmarkar, N. (1984). A new polynomial-time algorithm for linear
programming. In Proceedings of the Sixteenth Annual ACM Symposium on Theory of
Computing, 302–311. ACM.
B I B L I O G R A F Í A | 156
[46] Kennedy, J. and Eberhart, R. (1995). Particle swarm optimization. In IEEE
International Conference on Neural Networks, 1-6: 1942–1948. IEEE, Neural Networks
Council.
[47] Kennedy, J. and Mendes, R. (2002). Population structure and particle swarm
performance. In Proceedings of the Evolutionary Computation on 2002 (CEC’02),
2:1671–1676. IEEE.
[48] Kirkpatrick, S. (1984). Optimization by simulated annealing: quantitative
studies. Journal of Statistical Physics, 34(5-6):975–986.
[49] Koza, J. R. (1992). Genetic Programming: on the Programming of Computers
by Means of Natural Selection, 1. MIT press.
[50] Kuhn, H. and Tucker, A. (1951). Proceedings of 2nd berkeley symposium.
[51] Land, A. H. and Doig, A. G. (1960). An automatic method of solving discrete
programming problems. Econometrica: Journal of the Econometric Society, 497–520.
[52] Larrañaga, P. and Lozano, J. A. (2002). Estimation of Distribution Algorithms: a
New Tool for Evolutionary Computation, 2. Springer Science and Business Media.
[53] Li, L., Xue, B., Niu, B., Chai, Y., and Wu, J. (2009). The novel non-linear
strategy of inertia weight in particle swarm optimization. In Fourth International
Conference on Bio-Inspired Computing (BIC-TA’09), 1–5. IEEE.
[54] Li, X. (2003). A non-dominated sorting particle swarm optimizer for
multiobjective optimization. In Genetic and Evolutionary Computation Conference, 37–
48. Springer.
[55] Li, X. (2004). Better spread and convergence: particle swarm multiobjective
optimization using the maximin fitness function. In Genetic and Evolutionary
Computation Conference, 117–128. Springer.
[56] Liang, J. and Suganthan, P. (2005). Dynamic multi-swarm particle swarm
optimizer. In IEEE Swarm Intelligence Symposium 2005, 124–129. IEEE.
157 | B I B L I O G R A F Í A
[57] Liu, C., Ouyang, C., Zhu, P., and Tang, W. (2010). An adaptive fuzzy weight
PSO algorithm. In Fourth International Conference on Genetic and Evolutionary
Computing 2010 (ICGEC), 8–10. IEEE.
[58] Liu, H., Su, R., Gao, Y., and Xu, R. (2009). Improved particle swarm
optimization using two novel parallel inertia weights. In Second International
Conference on Intelligent Computation Technology and Automation 2009 (ICICTA’09),
1: 185–188. IEEE.
[59] Mahfouf, M., Chen, M.-Y., and Linkens, D. A. (2004). Adaptive weighted
particle swarm optimisation for multi-objective optimal design of alloy steels. In
International Conference on Parallel Problem Solving from Nature, 762–771. Springer.
[60] Mateos, A. and Jiménez-Martín, A. (2016). Multiobjective Simulated Annealing
for Collision Avoidance in ATM Accounting for Three Admissible Maneuvers.
Mathematical Problems in Engineering, 2016:16.
[61] Meng, G., Qi, F. (2012) Flight conflict resolution for civil aviation based on ant
colony optimization. Fifth International Symposium on Computational Intelligence
and Design 1, 239-241.
[62] Mladenovic, N. and Hansen, P. (1997). Variable neighborhood search.
Computers and Operations Research, 24(11):1097–1100.
[63] Moscato, P. et al. (1989). On evolution, search, optimization, genetic algorithms
and martial arts: towards memetic algorithms. C3P Report Caltech Concurrent
Computation Program, 826:1989.
[64] Norouzzadeh, M. S., Ahmadzadeh, M. R., and Palhang, M. (2010). Plowing
PSO: A novel approach to effectively initializing particle swarm optimization. In Third
IEEE International Conference on Computer Science and Information Technology,
Chengdu, China, 1 :705–709.
B I B L I O G R A F Í A | 158
[65] Ozcan, E. and Mohan, C. K. (1999). Particle swarm optimization: surfing the
waves. In Proceedings of the 1999 Congress on Evolutionary Computation 1999 (CEC-
99), 3. IEEE.
[66] Pallottino, L., Feron, E., and Bicchi, A. (2002). Conflict resolution problems for
air traffic management systems solved with mixed integer programming. IEEE
Transactions on Intelligent Transportation Systems, 3(1):3–11.
[67] Pant, M., Radha, T., and Singh, V. (2007). Particle swarm optimization using
gaussian inertia weight. In Conference on Computational Intelligence and Multimedia
Applications 2007, 1:97–102. IEEE.
[68] Parsopoulos, K. and Vrahatis, M. (2002a). Initializing the particle swarm
optimizer using the nonlinear simplex method. Advances in Intelligent Systems, Fuzzy
Systems, Evolutionary Computation, 216:1–6.
[69] Parsopoulos, K. E. and Vrahatis, M. N. (2002b). Particle swarm optimization
method in multiobjective problems. In Proceedings of the 2002 ACM Symposium on
Applied Computing, 603–607. ACM.
[70] Peng, B. and Reynolds, R. (2004). Cultural algorithms: knowledge learning in
dynamic environments. In Proceedings of the IEEE Congress on Evolutionary
Computation 2004 (CEC’04), 1-2: 1751–1758.
[71] Peram, T., Veeramachaneni, K., and Mohan, C. K. (2003). Fitness-distance-ratio
based particle swarm optimization. In Swarm Intelligence Symposium IEEE 2003
(SIS’03), 174–181. IEEE.
[72] Peyronne, C., Conn, A. R., Mongeau, M., and Delahaye, D. (2015). Solving air
traffic conflict problems via local continuous optimization. European Journal of
Operational Research, 241(2):502–512.
[73] Rey, D., Rapine, C., Fondacci, R., and El Faouzi, N.-E. (2012). Minimization of
potential air conflicts through speed regulation. Transportation Research Record:
Journal of the Transportation Research Board, (2300):59–67.
159 | B I B L I O G R A F Í A
[74] Reynolds, C. W. (1987). Flocks, herds and schools: a distributed behavioral
model. ACM SIGGRAPH Computer Graphics, 21(4):25–34.
[75] Reynolds, R. and Peng, B. (2005). Cultural algorithms: computational modeling
of how cultures learn to solve problems: an engineering example. Cybernetics and
Systems, 36(8):753–771.
[76] Reynolds, R. G. (1994). An introduction to cultural algorithms. In Proceedings
of the Third Annual Conference on Evolutionary Programming, 131139. Singapore.
[77] Reynolds, R. G. and Sverdlik, W. (1994). Problem solving using cultural
algorithms. In IEEE World Congress on Computational Intelligence, Conference on
Evolutionary Computation, 2: 645–650. IEEE.
[78] Rosing, K. and ReVelle, C. (1997). Heuristic concentration: two stage solution
construction. European Journal of Operational Research, 97(1):75–86.
[79] Shi, Y. and Eberhart, R. C. (1998). Parameter selection in particle swarm
optimization. In International Conference on Evolutionary Programming, 591–600.
Springer.
[80] Shi, Y. and Eberhart, R. C. (1999). Empirical study of particle swarm
optimization. In Proceedings of Congress on Evolutionary Computation 1999
(CEC’99), 3. IEEE.
[81] Shi, Y. and Eberhart, R. C. (2001). Fuzzy adaptive particle swarm optimization.
In Proceedings of Congress on Evolutionary Computation 2001, 1: 101–106. IEEE.
[82] Sierra, M. R. and Coello, C. A. C. (2005). Improving PSO-based multi-objective
optimization using crowding, mutation and epsilon-dominance. In International
Conference on Evolutionary Multi-Criterion Optimization, 505–519. Springer.
[83] Suganthan, P. N. (1999). Particle swarm optimiser with neighbourhood operator.
In Proceedings of Congress on Evolutionary Computation 1999 (CEC’99), 3. IEEE.
B I B L I O G R A F Í A | 160
[84] Taillard, r. D. and Voss, S. (2002). POPMUSIC partial optimization
metaheuristic under special intensification conditions. In Essays and Surveys in
Metaheuristics, 613–629. Springer.
[85] Uy, N. Q., Hoai, N. X., McKay, R. I., and Tuan, P. M. (2007). Initialising PSO
with randomised low-discrepancy sequences: the comparative results. In Congress on
Evolutionary Computation 2007, 1985–1992. IEEE.
[86] Wang, G.-y. and Han, D.-x. (2009). Particle swarm optimization based on self-
adaptive acceleration factors. In Third International Conference on Genetic and
Evolutionary Computing 2009. (WGEC’09), 637–640. IEEE.
[87] Whigham, P.A. (1995). Grammatically-Based Genetic Programming. In
Proceedings of the Workshop on Genetic Programming: From Theory to Real-World
Applications 1995. 33–41.
[88] Wikipedia (2016). Sobol sequence - wikipedia - the free encyclopedia. Retrieved
on March 7, 2016 of:
https://en.wikipedia.org/w/index.php?title=Sobol_sequence&oldid=719680813.
[89] Wilson, E. O. (2000). Sociobiology. Harvard University Press.
[90] Wu, J., He, X., Zhao, W., and Wang, R. (2009). Exponential inertia weight
particle swarm algorithm for dynamics optimization of electromechanical coupling
system. In International Conference on Intelligent Computing and Intelligent Systems
2009 (ICIS’09), 2:479–483. IEEE.
[91] Wu, Z. and Zhou, J. (2007). A self-adaptive particle swarm optimization
algorithm with individual coefficients adjustment. In International Conference on
Computational Intelligence and Security 2007, 133–136. IEEE.
[92] Xiao-Hua, Z., Hong-yun, M., and Li-cheng, J. (2005). Intelligent particle swarm
optimization in multiobjective optimization. In Congress on Evolutionary Computation
2005, 1:714–719. IEEE.
161 | B I B L I O G R A F Í A
[93] Xie, X.-F., Zhang, W.-J., and Yang, Z.-L. (2002). Adaptive particle swarm
optimizationon individual level. In International Conference on Signal Processing,
1215–1218.
[94] Xin, J., Chen, G., and Hai, Y. (2009). A particle swarm optimizer with multi-
stage linearly-decreasing inertia weight. In International Conference on Computational
Sciences and Optimization 2009 (CSO’09), 1:505–508. IEEE.
[95] Ypma, T. J. (1995). Historical development of the Newton-Raphson method.
SIAM review, 37(4):531–551.
[96] Yue-lin, G. and Yu-hong, D. (2007). A new particle swarm optimization
algorithm with random inertia weight and evolution strategy. In International
Conference on Computational Intelligence and Security Workshops 2007 (CISW’07),
199–203. IEEE.
[97] Zavala-Díaz, J. C., Cruz-Chavez, M. A., Vanoye, J. R., and Cruz-Rosales, M. H.
(2009). Modelo matemático multiobjetivo para la selección de una cartera de inversión
en la bolsa mexicana de valores. La Computadora, Herramienta Indispensable en
Diversas Áreas de Conocimiento, 217.
[98] Zhan, Z.-h., Xiao, J., Zhang, J., and Chen, W.-n. (2007). Adaptive control of
acceleration coefficients for particle swarm optimization based on clustering analysis. In
Congress on Evolutionary Computation 2007, 3276–3282. IEEE.
[99] Zhan, Z.-H., Zhang, J., Li, Y., and Chung, H. S.-H. (2009). Adaptive particle
swarm optimization. IEEE Transactions on Systems Man and Cybernetics Part B-
Cybernetics, 39(6):1362–1381.
[100] Zhang, L., Zhou, C., Liu, X., Ma, Z., Ma, M., and Liang, Y. (2003). Solving
multi objective optimization problems using particle swarm optimization. In Congress
on Evolutionary Computation, 1-4:2400–2405.
B I B L I O G R A F Í A | 162
[101] Zhang, W. and Liu, Y. (2005). Adaptive particle swarm optimization for reactive
power and voltage control in power systems. In International Conference on Natural
Computation, 449–452. Springer.
[102] Zheng, Y.-l., Ma, L.-h., Zhang, L.-y., and Qian, J.-x. (2003). Empirical study of
particle swarm optimizer with an increasing inertia weight. In Congress on evolutionary
computation 2003 (CEC’03), 1:221–226. IEEE.
[103] Ziyu, T. and Dingxue, Z. (2009). A modified particle swarm optimization with
an adaptive acceleration coefficients. In Asia-Pacific Conference on Information
Processing (APCIP’09), 2:330–332. IEEE.