trabajo de fin de mÁster - archivo digital upm

174
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

Upload: others

Post on 17-Jul-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 2: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM
Page 3: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

A mi familia, mi novia y amigos… Gracias!

Page 4: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM
Page 5: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

| 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.

Page 6: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

ii |

Page 7: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

| 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.

Page 8: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

iv |

Page 9: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

| 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

Page 10: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 11: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

| vii

Page 12: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

viii |

Page 13: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 14: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 15: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 16: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM
Page 17: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 18: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 19: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 20: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 21: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 22: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 23: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 24: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 25: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 26: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 27: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 28: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 29: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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:

Page 30: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 31: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 32: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 33: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 34: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

,

Page 35: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 36: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 37: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 38: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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)}.

Page 39: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 40: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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].

Page 41: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 42: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 43: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 44: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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].

Page 45: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 46: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 47: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 48: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 49: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 50: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 51: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 52: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 53: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 54: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 55: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 56: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 57: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 58: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 59: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 60: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 61: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 62: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 63: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 64: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 65: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 66: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 67: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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:

Page 68: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 69: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 70: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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-

Page 71: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 72: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 73: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 74: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 75: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 76: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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:

Page 77: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 78: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 79: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 80: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 81: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 82: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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):

Page 83: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 84: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 85: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 86: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 87: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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:

Page 88: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 89: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 90: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 91: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 92: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 93: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 94: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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 .

Page 95: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 96: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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):

Page 97: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 98: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 99: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 100: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 101: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 102: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 103: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 104: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 105: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 106: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 107: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 108: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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)

Page 109: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 110: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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í:

Page 111: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 112: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 113: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 114: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 115: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 116: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 117: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 118: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 119: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 120: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 121: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 122: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 123: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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:

Page 124: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 125: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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:

Page 126: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 127: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 128: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 129: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 130: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 131: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 132: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 133: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 134: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 135: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 136: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 137: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 138: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 139: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 140: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

.

Page 141: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 142: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 143: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 144: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 145: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 146: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 147: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 148: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 149: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 150: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 151: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 152: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 153: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 154: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 155: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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-

Page 156: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 157: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 158: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 159: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 160: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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

Page 161: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

.

Page 162: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM
Page 163: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 164: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 165: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 166: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 167: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 168: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 169: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 170: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 171: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 172: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 173: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.

Page 174: TRABAJO DE FIN DE MÁSTER - Archivo Digital UPM

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.