Rodrigo Ros Diego Fernández

download Rodrigo Ros Diego Fernández

If you can't read please download the document

description

Aplicación de algoritmos genéticos híbridos para resolver el problema de “airline crew scheduling”. Paper: Genetic algorithm based approach for the integrated airline crew-pairing and rostering problem - Nadia Souai , Jacques Teghem. Rodrigo Ros Diego Fernández. - PowerPoint PPT Presentation

Transcript of Rodrigo Ros Diego Fernández

  • Aplicacin de algoritmos genticos hbridos para resolver el problema de airline crew schedulingRodrigo RosDiego FernndezPaper: Genetic algorithm based approach for the integrated airline crew-pairing and rostering problem - Nadia Souai, Jacques TeghemMeta heursticas, 2do Cuatrimestre del 2010

  • IntroduccinIntroduccin al problema

    Airline Crew Scheduling Problem El problema de programar la tripulacin de una compaa area es un problema difcil y que deben afrontar todas las compaas. El costo relacionado a los miembros de la tripulacin constituye, despus del combustible, el principal costo directo que debe afrontar las compaas areas. El problema se conoce como Airline Crew Scheduling Problem. Generalmente se divide este problema en dos problemas menores.

  • IntroduccinAirline crew schedulingATLMIAJFKMEM10:00 11:008:30 9:309:00 11:0011:30 12:3012:45 14:00< 4hs 75%4-8hs 100%+8hs 200%

  • IntroduccinAirline crew schedulingATLMIAJFKMEM10:00 11:008:30 9:309:00 11:0011:30 12:3012:45 14:000.75

  • IntroduccinAirline crew schedulingATLMIAJFKMEM10:00 11:008:30 9:309:00 11:0011:30 12:3012:45 14:001.00

  • IntroduccinAirline crew pairingATLMIAJFKMEM10:00 11:008:30 9:309:00 11:0011:30 12:3012:45 14:00

  • IntroduccinAirline crew rosteringATLMIAJFKMEM10:00 11:008:30 9:309:00 11:0011:30 12:3012:45 14:00

  • Introduccin

    Airline Crew Pairing Problem: Consiste en encontrar un conjunto de viajes (secuencia de vuelos) que comiencen y terminen en el lugar base de la tripulacin y que cubran todos los vuelos programados para un periodo de tiempo.

    Airline Crew Rostering Problem: Consiste en asignar los pairings encontrados como solucin del problema anterior a cada uno de los tripulantes teniendo en cuenta, entre otras cosas, su disponibilidad (vacaciones, exmenes mdicos, das de entrenamiento), preferencia de vuelo, rango, etc. Ambos problemas son NP-Hard.

  • Introduccin

  • IntroduccinRestricciones diarias: necesarias para armar duty days legales La ciudad de llegada de un vuelo debe ser la ciudad de partida del vuelo que sucede en el da de trabajo. El tiempo de espera entre dos vuelos consecutivos debe estar dentro de un mnimo y un mximo prescripto. El tiempo de duracin de un da de trabajo debe ser menor a un mximo permitido. El tiempo total en vuelo no puede exceder un mximo permitido. El da de trabajo no puede tener mas de una cantidad mxima de vuelos.

    Restricciones del pairing: La ciudad de llegada en un da de trabajo debe ser la ciudad de partida del da de trabajo siguiente dentro del pairing. Cada pairing debe comenzar y terminar en la misma ciudad (ciudad base de la tripulacin). El numero de das de trabajo debe ser menor a un mximo. El tiempo de descanso entre dos das consecutivos debe estar dentro de un rango permitido. El tiempo total del pairing debe ser menor a un tiempo permitido.

  • IntroduccinRestricciones semanales: restricciones generales para armar una agenda semanal personalizada por tripulante. Los pairings no se pueden superponer. El tiempo total de vuelo de todos los pairings no puede superar un mximo. Cada agenda semanal debe contener al menos un da de descanso.

    Restricciones mensuales: restricciones requeridas para armar una agenda mensual personalizada por tripulante. Las agendas semanales no se pueden superponer. El tiempo total de vuelo de todos los pairings del mes no puede superar un mximo. Cada uno de los tripulantes recibe un salario mnimo garantizado por cierta cantidad de horas de trabajo mas un monto adicional por las horas extras en vuelo.

  • Algoritmos GenticosAlgoritmos Genticos

    Comienzan con un conjunto de soluciones (representados por cromosomas) llamado poblacin. Las soluciones de una poblacin son usadas para generar nuevas poblaciones con la esperanza de que las nuevas poblaciones sean mejores que las anteriores.

    Estructura general del algoritmo:

    Empezar t := 0 inicializar P(t) evaluar P(t) Mientras no se cumpla la condicin de parada hacer Empezar t:= t + 1 construir P (t) a partir de P( t-1) modificar P(t) evaluar P (t) FinFin

  • Algoritmos GenticosPara construir un algoritmo gentico especfico para un problema se necesita:

    Representacin gentica de las soluciones (Cromosomas)

    Forma de generar la poblacin inicial

    Funcin de evaluacin (fitness)

    Operadores genticos que alteren la composicin de los hijos. (Crossover, Mutacin)

    Determinacin de parmetros

  • ResolucinResolucin

    Solucin de ambos problemas en simultaneo (pocos estudios).

    Algoritmo gentico hbrido

    Multi-point Crossover Roulette wheel selection Heursticas de bsqueda local Elitist replacement

    Una solucin X del problema es un conjunto de agendas personalizadas para cada uno de los miembro de la tripulacin.

  • Resolucin - ObjetivoObjetivo

    Definicin del costo:

    El costo de un da de trabajo, expresado en tiempo es:

    mg1 es el mnimo garantizado de horas. f1 es una fraccin del tiempo transcurrido elpasedl del da de trabajo. flyl es el tiempo de vuelo del da de trabajo.

    El costo de un pairing, expresado en tiempo es:

    un mnimo garantizado de mg2 veces el numero de das de trabajo (NDP) en el pairing. una fraccin f2 del tiempo total del pairing TAFB_P. la suma de los costos de cada uno de los das del pairing.

  • Resolucin - ObjetivoSea X una solucin al problema (un conjunto de las agendas personalizadas de los para cada uno de los tripulantes), se define

    donde HS es el monto que la compaa area paga por cada hora excedente de vuelo. El costo total de la solucin X es:

  • Resolucin - ObjetivoDefinicin del desvo:

    Es deseable que el trabajo este bien repartido entre la tripulacin.Sean RF_k(X) el tiempo real de vuelo del tripulante k en la solucin X AVf el tiempo promedio de vuelo para los tripulantes

    Se define el desvo de la solucin X como:

    Objetivo:

    Se establece un bi-objetivo jerrquico: minimizar el costo cost(X) y para las soluciones que tengan igual costo el segundo objetivo es minimizar el desvo DV(X).

  • Resolucin - NotacinNotacin

    JConjunto de das del mes KConjunto de todos los tripulantes IConjunto de todos los segmentos de vuelo a asignar DP(j)Conjunto de todos los periodos de trabajo del da j IjlConjunto de los vuelos del da j que constituyen el periodo de trabajo l

    Legalidad de una solucin: X es legal si se cumplen todas las restricciones.

    Factibilidad de una solucin: X es factible si cada vuelo es cubierto exactamente una vez.

  • Resolucin - AlgoritmoAlgoritmo

    Cada iteracin del algoritmo gentico propuesto se puede dividir en dos etapas:

    La primera etapa esta basada en un multi-point crossover o una mutacin. Las operaciones consisten principalmente en reasignar ciertos das de trabajo entre los diferentes tripulantes. Se permiten soluciones que sean solamente legales (pueden no ser factibles).

    Para la segunda etapa dos heursticas son aplicadas al azar para reducir la penalidad relacionada a la factibilidad de la solucin.

  • Resolucin - Algoritmo

  • Resolucin - AlgoritmoRepresentacin gentica

    Los cromosomas de las soluciones son representados mediante una matriz

    Donde el gen puede tomar los siguientes valores:

  • Resolucin - AlgoritmoPoblacin inicial

    Determinacin de las tareas diarias DP(j)

    Se construye un grafo dirigido G(j) = para cada da j.V(j) representa los vuelosEl eje significa que el vuelo i puede suceder al vuelo i en el mismo da.

    1) Por cada nodo raz seleccionar de manera aleatoria un camino factible segn las reglas de restriccin.2) Eliminar los nodos del camino recientemente elegido del grafo.3) Repetir hasta que todos los nodos hayan sido utilizados.

    El conjunto DP(j) cubre todos los vuelos exactamente una vez pero puede no de cardinalidad mnima.

  • Resolucin - AlgoritmoAsignacin de las tareas diarias

    : posibles tareas diarias para el tripulante k en el da j que cumplen la legalidad de la solucin respecto a las asignaciones de das anteriores.

  • Resolucin - AlgoritmoSeleccin

    Se utiliza el mtodo roulette wheel selection.El mtodo consiste en asociar una probabilidad de seleccin a cada una de las soluciones basado en el valor de evaluacin de la solucin.

    Se utiliza principalmente para incluir dentro de la seleccin algunas soluciones que no estn dentro de las mejores.

    La funcin de evaluacin esta dada por:

    donde

  • Resolucin - AlgoritmoMulti Point Crossover

    Se seleccionan de forma aleatoria: Un numero T, 1

  • Resolucin - AlgoritmoHeurstica de bsqueda local: legality repair

    Se aplica despus de los algoritmos de crossover y mutacin, para obtener soluciones legales

    Objetivo: Reconstruir el conjunto de asignaciones (DP) para que cubra la mayor cantidad de vuelos posibles.

    Una solucin es legal si cumple con las restricciones. Para una solucin X, L(X) es la lista de pares (crew, da) con asignaciones ilegales. X es legal si L(X) =

  • Resolucin - AlgoritmoHeurstica de bsqueda local: legality repair

    Por cada solucin ilegal XPor cada xkj = (k, j) L(X)Construir un conjunto DPkj(X) con todas las posibles asignaciones para k que cubra al menos uno de los vuelos posibles (Nf = vuelos del da j vuelos no asignados) .

    Si DPkj(X) entoncesSeleccionar el I DPkj(X) que cubra el mximo nmero de vuelos de Nf xkj Isi no xkj 0

  • Resolucin - AlgoritmoMutacin

    La mutacin consiste en seleccionar de forma aleatoria un da j y dos tripulantes k1 y k2 que tenga disponibilidad ese da ( y ) e intercambiarlos.

    Como no se puede asegurar la legalidad de la solucin es necesario correr la heurstica reparacin de legalidad.

  • Resolucin - AlgoritmoHeursticas feasibility repair

    El objetivo de estas heursticas es mejorar la solucin propuesta en cada iteracin del algoritmo gentico.

    Una solucin es viable (feasible) si cubre todos los vuelos solo una vez.

    Se aplican dos posibles heursticas de reparacin de viabilidad:Random feasibility repair (RFRH)Improved feasibility repair (IFRH)

    La eleccin de una heurstica u otra se hace aleatoriamente en base a un parmetro que determina la probabilidad de aplicar o no RFRH.

  • Resolucin - Algoritmo

    ri = asignaciones que cubren el vuelo i

    Heurstica Random feasibility repair (RFRH)|ri| = 0Selecciona al azar un miembro que pueda cubrir el vuelo i.Y reemplaza la asignacin para ese miembro de forma tal de cubrir i.|ri| > 1Del conjunto de miembros que cubren el vuelo i (Ki) selecciona uno al azar y quita la asignacin del resto mientras se mantenga la legalidad.

    Heurstica Improved feasibility repair (IFRH)|ri|= 0 Igual que la heurstica anterior|ri| > 1Reasigna las tareas de todos los miembros de Ki de forma tal que se cubra la mayor cantidad de vuelos posibles sin repetir i.

  • Resolucin - AlgoritmoReemplazo de soluciones

    Elitist replacement

    Una vez obtenida una nueva solucin (mutacin o crossover) se reemplaza la peor solucin de la poblacin anterior por la nueva solucin siempre y cuando sta ltima sea mejor (funcin de evaluacin).

    Esta tcnica permite que los mejores padres coexistan con los mejores hijos.

  • ResultadosResultados

    Las instancias de prueba fueron datos reales provistos por la compaa area Air Algrie.

    Instancia 165 pairings, 220 vuelos, 5 pilotos del 1/3/2004 al 31/3/2004

    Instancia 2155 pairings, 631 vuelos, 19 pilotos del 1/5/2005 al 31/3/2005

    Instancia 3558 pairings, 1872 vuelos, 68 pilotos del 1/3/2006 al 31/3/2006

  • ResultadosResultados

    Iteraciones = 300Probabiliad Crossover (Pc) = 0,7#Poblacin = 100

  • Resultados

  • ConclusionesConclusiones

    La combinacin de heursticas RFRH y IFRH dio mejores resultados, que utilizar solo RFHR o IFHR (en este segundo caso la diferencia fue mucho menor)

    El cross-over multipoint probabilstico dio en general mejores asignaciones en cuanto al desvo del tiempo (DV)

    La inicializacin con programacin lineal do mejores resultados en cuanto a DV y obtuvo soluciones viables en una menor cantidad de iteraciones.

  • Gracias por su atencin.