38 research outputs found

    Optimization of Personnel Cost in Aircrew Assignment Problem using a Simple Fuzzy Logic Approach

    Get PDF
    In aviation industries, the aircrew assignment problem is one of the most important factors in total operational cost optimization. This problem will be solved in two steps: flight pairing and aircrew scheduling. The constraints to be satisfied in flight pairing include having the same airport for first departure and final destination, and the limitations of flying time, duty time and transit time. The optimization process results in optimal flight pairings that minimize the number of personnel needed to serve a flight schedule over a given period of time. Further optimization is needed to obtain a schedule in which an aircrew team can serve a rotation with the largest possible number of pairings on the condition that all constraints are fulfilled. For aircrew scheduling, there are constraints on flying time, resting time, total number of takeoffs, and number of holidays and workdays. The investigated optimization process was designed to get optimal rotations along with maximum total personnel cost reduction. The data set used in this research is a one-month full flight schedule from a big airline in Indonesia. A simple fuzzy logic approach was used to find a new flying time constraint in order to optimize personnel cost and evenly distribute the assignments. The results show that the new optimal flying time constraint can reduce personnel cost up to 5.07% per month, so it can yield significant savings on a yearly basis

    Crew factors in flight operations. Part 3: The operational significance of exposure to short-haul air transport operations

    Get PDF
    Excessive flightcrew fatigue has potentially serious safety consequences. Laboratory studies have implicated fatigue as a causal factor associated with varying levels of performance deterioration depending on the amount of fatigue and the type of measure utilized in assessing performance. These studies have been of limited utility because of the difficulty of relating laboratory task performance to the demands associated with the operation of a complex aircraft. The performance of 20 volunteer twin-jet transport crews is examined in a full-mission simulator scenario that included most aspects of an actual line operation. The scenario included both routine flight operations and an unexpected mechanical abnormality which resulted in a high level of crew workload. Half of the crews flew the simulation within two to three hours after completing a three-day, high-density, short-haul duty cycle (Post-Duty condition). The other half flew the scenario after a minimum of three days off duty (Pre-Duty) condition). The results revealed that, not surprisingly, Post-Duty crews were significantly more fatigued than Pre-Duty crews. However, a somewhat counter-intuitive pattern of results emerged on the crew performancemeasures. In general, the performance of Post-Duty crews was significantly better than that of Pre-Duty crews, as rated by an expert observer on a number of dimensions relevant to flight safety. Analyses of the flightcrew communication patterns revealed that Post-Duty crews communicated significantly more overall, suggesting, as has previous research, that communication is a good predictor of overall crew performance

    Optimisation simultanée des rotations et des blocs mensuels des équipages aériens

    Get PDF
    R´esum´e Le probl`eme int´egr´e de la construction des rotations et des blocs mensuels des pilotes consiste `a d´eterminer un ensemble de rotations et de blocs mensuels pour les pilotes tels que chaque segment de vol est couvert par une seule rotation et un seul bloc, et ce, tout en satisfaisant des contraintes suppl´ementaires comme la disponibilit´e des pilotes dans chaque base. Une rotation est une s´equence de vols effectu´ee par un ´equipage durant une p´eriode donn´ee partant et revenant `a la mˆeme base. Un bloc (ou horaire) mensuel est une s´equence de rotations s´epar´ees par des p´eriodes de repos. La construction des rotations et des blocs mensuels doit ˆetre conforme aux r`egles de la s´ecurit´e a´erienne, aux r`egles d’op´eration de la compagnie et aux r`egles contenues dans les conventions collectives entre les employ´es et la compagnie a´erienne. `A part l’introduction, la revue de litt´erature et la conclusion, cette th`ese est compos´ee de trois chapitres principaux dont chacun pr´esente les travaux r´ealis´ees pour un objectif de recherche bien pr´ecis. Ces trois chapitres utilisent les mˆemes instances du probl`eme bas´ees sur des donn´ees r´eelles fournies par une grande compagnie a´erienne am´ericaine. Le probl`eme de construction des rotations se r´esout traditionnellement en trois phases de mani`ere s´equentielle : un probl`eme journalier, un probl`eme hebdomadaire et un probl`eme mensuel. Cette approche interdit la r´ep´etition du mˆeme num´ero de vol dans une rotation. Le premier objectif de cette th`ese est de mettre en ´evidence deux faiblesses de cette approche s´equentielle et proposer `a la place une approche alternative qui permet la r´ep´etition des vols dans une mˆeme rotation. Premi`erement, nous montrons que lorsque l’horaire des vols est irr´egulier, les deux premi`eres phases ne sont qu’une perte de temps et on peut obtenir de meilleures solutions en moins de temps si le probl`eme mensuel est r´esolu directement en utilisant une approche d’horizon fuyant faisant appel `a une m´ethode de g´en´eration de colonnes. En effet, cette approche a permis de diminuer le gras de la solution de 34% en moyenne o`u le gras est une mesure de qualit´e portant sur le pourcentage du temps non travaill´e mais pay´e durant un horizon. Deuxi`emement, mˆeme si l’horaire des vols est compl`etement r´egulier, la qualit´e de la solution est meilleure si le probl`eme hebdomadaire est trait´e directement sans exploiter le probl`eme journalier. En effet, les diff´erents tests ont montr´e qu’une moyenne de 48.8% des rotations contiennent des r´ep´etitions causant une r´eduction moyenne de 16% dans le gras.----------Abstract The integrated crew pairing and crew assignment problem for pilots consists of producing a minimum-cost set of pairings and schedules such that each flight leg is covered once by one pairing and one schedule, and side constraints are satisfied such as pilot availability in each crew base station. A pairing is a sequence of duties separated by rest periods that must start and end at the same crew base. A duty is a sequence of flights separated by connections and ground waiting times, forming a working day for a crew. The construction of pairings and schedules must respect all safety and collective agreement rules. Besides the introduction, literature review and conclusion, this thesis is composed of three main chapters where each one presents the performed work for a specific research objective. These three chapters use the same problem instances based on real-data provided by a major US airline. The crew pairing problem has been traditionally solved in the industry by a heuristic three-phase approach that solves sequentially a daily, a weekly, and a monthly problem. This approach prohibits the repetition of the same flight number in a pairing. The first objective in this thesis is to highlight two weaknesses of the three-phase approach and propose an alternative solution approach that exploits flight number repetitions in pairings. First, when the flight schedule is irregular, we show that better quality solutions can be obtained in less computational times if the first two phases are skipped and the monthly problem is solved directly using a rolling horizon approach based on column generation. In fact, this approach has reduced the solution fat by 34%. The solution fat is a quality measure that shows the percentage of time not worked but paid. Second, even if the flight schedule is completely regular, we show that better quality solutions can be derived by skipping the daily problem phase and solving the weekly problem directly. Indeed, the proportion of pairings with such repetitions represents 48.8% causing a mean reduction in the solution fat by 16%. In practice, both the crew pairing and crew assignment problems are independently modeled and sequentially solved. The use of a sequential approach considerably reduces the complexity of the global problem but produces solutions that may not be conform with airline desires. The second objective in this thesis is to propose a model that fully integrates the crew pairing and crew assignment problems and solve it in a single step. Due to the large size of this integrated model, we propose a solution method that combines a column generation and a dynamic constraint aggregation method. Since the latter method requires a good initial partition, this partition is provided by a set of pairings found with the sequentia

    Combiner intelligence artificielle et programmation mathématique pour la planification des horaires des équipages en transport aérien

    Get PDF
    RÉSUMÉ: La recherche opérationnelle est un élément central de l’amélioration des horaires d’équipage. L’objectif est d’appliquer des algorithmes de programmation mathématique pour trouver des solutions optimales. Toutefois, cette approche présente un inconvénient important : les temps d’exécution sont longs et nécessitent souvent plusieurs jours pour converger. Cela réduit la valeur pratique d’une solution optimale puisqu’il n’est pas possible d’effectuer une nouvelle exécution avec de nouveaux réglages de paramètres. Étant donné que les horaires des transporteurs aériens sont fréquemment perturbés par des événements météorologiques pendant toute l’année, il est souhaitable de chercher de nouveaux moyens de réduire les durées d’exécution. Dans le cadre de cette thèse, on s’intéresse au problème de rotations d’équipage aériens ou CPP (Crew Pairing Problem), une des étapes de la planification des horaires d’équipage. Pour chaque catégorie d’équipage et chaque type de flotte d’aéronefs, le CPP consiste à trouver un ensemble de rotations à coût minimal afin que chaque vol actif soit effectué par un équipage, en respectant certaines conditions supplémentaires qui varient selon les applications et qui découlent généralement des accords de travail de chaque compagnie. Ce problème devient difficile à résoudre lorsque le nombre de vols augmente car le nombre de rotations possibles augmente de façon exponentielle (nombre de variables). La méthode la plus répandue depuis les années 1990 a été de résoudre le problème de partitionnement d’ensemble avec génération de colonnes insérée dans un algorithme de séparation et évaluation ou B&B (branch-&-bound). Lorsque le nombre de vols augmente dans un problème de rotations d’équipage, le temps pour le résoudre par génération de colonnes devient important. Le nombre d’itérations de génération de colonnes, le temps par itération pour résoudre le problème maître et le nombre de noeuds de branchement augmentent. La méthode d’agrégation dynamique des contraintes (DCA) accélère le problème maître en réduisant le nombre de contraintes de partitionnement définies dans le problème maître restreint en agrégeant en une seule contrainte chaque groupe de tâches qui devraient être consécutives dans la solution optimale. Ceci correspond à fixer temporairement à 1 des variables de connexion de vol. Ceci permet de remplacer toutes les contraintes de couverture des vols d’une grappe par une contrainte unique. L’algorithme modifie dynamiquement ces grappes pour atteindre la solution optimale si certaines prédictions étaient fausses. L’objectif de cette thèse est donc d’utiliser différentes méthodes d’apprentissage machine pour proposer des grappes de vols ayant une forte probabilité d’être effectués consécutivement par le même équipage, dans une solution optimale. Cette information alimente l’optimiseur de program mation mathématique pour terminer le travail en tenant compte de la fonction de coût exacte et des contraintes complexes. Dans le premier sujet de cette thèse, nous présentons une étude de cas sur l’utilisation d’algorithmes d’apprentissage machine pour initialiser solveur commercial à base de génération de colonnes à grande échelle (GENCOL) dans le contexte d’un problème hebdomadaire de rotations d’équipage aérien, où de petites économies de 1.0 % se traduisent par une augmentation des revenus annuels de dizaines de millions de dollars dans une grande compagnie aérienne. Nous nous concentrons sur le problème de la prédiction du prochain vol de correspondance d’un équipage, défini comme un problème de classification multiclasse formé à partir de données historiques, et nous concevons une approche de réseaux de neurones adaptée qui atteint une grande précision (99.7% au total ou 82.5% sur les cas plus difficiles). Nous démontrons l’utilité de notre approche en utilisant une heuristique simple pour combiner les prédictions de connexion de vols afin de former des grappes initiales de vols qui sont fournis comme information initiale au solveur GENCOL, ce qui donne une amélioration de vitesse 10x et jusqu’à 0.2% d’économie. Dans le second sujet de cette thèse, nous proposons de combiner de multiples méthodes d’optimisation mises en oeuvre, développées et testées sur de petits ensembles de données, afin d’obtenir un nouveau solveur efficace pour le problème de rotations d’équipes à grande échelle. Nous utilisons l’apprentissage machine pour proposer des grappes initiales pour un problème de rotations d’équipage important : des problèmes mensuels comportant jusqu’à 50 000 vols. Nous utilisons l’apprentissage machine, pour produire des grappes de vols ayant une forte probabilité d’être effectués consécutivement par le même équipage, dans une solution optimale. Un nouvel algorithme combinant plusieurs techniques avancées de recherche opérationnelle sera utilisé pour assembler et modifier ces grappes, au besoin, afin de produire une bonne solution. Cette nouvelle approche, en commençant par l’apprentissage machine et en terminant l’optimisation par la programmation mathématique, permettra de résoudre des problèmes globalement plus importants et d’éviter la perte d’optimalité résultant de la décomposition heuristique en petites périodes de temps dans l’approche à horizon fuyant. Nous montrons que les grappes produites par l’heuristique à base d’apprentissage machine sont mieux adaptées aux problèmes de rotations d’équipage, ce qui se traduit par une réduction moyenne du coût de la solution entre 6.8 et 8.52 %, qui est principalement dû à la réduction du coût des contraintes globales entre 69.79 et 78.11 %, par rapport aux rotations obtenus avec une solution initiale standard. Dans l’algorithme de génération de colonnes, une solution initiale réalisable est requise pour assurer la faisabilité du problème primal à chaque itération de génération de colonnes. De plus, il est évident, d’après les résultats expérimentaux dans la littérature, que si la qualité de la solution initiale est meilleure, la convergence de génération de colonnes est également plus rapide. Ainsi, une solution initiale de haute qualité devrait être générée dans un laps de temps plus court. Pour pouvoir proposer une telle solution initiale, on a besoin d’un algorithme d’apprentissage machine capable d’incorporer les contraintes locales dans le processus d’entraînement. Dans le troisième sujet de cette thèse, nous présentons donc les réseaux à noyaux convolutifs structurés (SCKN) qui combinent les propriétés des architectures d’apprentissage profond, la flexibilité non paramétrique des méthodes du noyau et les prédicteurs structurés. Plus précisément, nous montrons que l’utilisation supervisée de cette combinaison surpasse les méthodes de pointe en termes de sous-optimalité primale et de précision du test sur l’ensemble de données OCR. Nous appliquons cette méthode à un ensemble de données de prévision de connexions de vols pour proposer de bonnes solutions initiales à un solveur de planification des horaires d’équipage aérien. Les principaux résultats des calculs montrent que l’utilisation de l’approche proposée aboutit à de meilleures solutions avec des coûts significativement plus faibles, réduisant de 9.51 % le coût de la solution et de 80.25 % le coût des contraintes globales. De plus, l’utilisation de la solution obtenue pour relancer le processus d’optimisation donne de meilleurs résultats, réduisant encore le coût de la solution et fournissant une solution avec un coût très négligeable des contraintes globales et un nombre beaucoup plus réduit de repositionnements.----------ABSTRACT: A focal point for improving crew scheduling is the study of operations research methods, in order to find optimal solutions. However, this approach has a major drawback. While optimal solutions are possible to achieve, the run times are lengthy, often requiring days for convergence. This reduces the practical value of an optimal solution because there is limited ability to complete a re-run with new parameter settings. Given that air carrier schedules experience frequent year-round disruption from weather events, it is desirable to look for new ways to reduce run times thus making schedule re-generation quicker and more interactive. For each crew category and aircraft fleet type, the crew pairing problem (CPP) consists of finding a set of minimum-cost rotations so that each active flight is performed by a crew, under certain additional conditions that vary according to the applications and that generally result from the work agreements of each airline. This problem becomes difficult to solve when the number of flights increases because the number of possible rotations increases exponentially (number of variables). The most prevalent method since the 1990s has been the set partitioning problem with column generation inserted in branch-&-bound. When the number of flights increases in a CPP, the time to solve it by column generation becomes important. Specifically, the number of iterations and the time per iteration to solve the master problem and the number of branching nodes increase. The dynamic constraint aggregation (DCA) method accelerates the master problem by reducing the number of partitioning constraints defined in the restricted master problem by aggregating into a single constraint each group of tasks that should be consecutive in the optimal solution. This corresponds to temporarily fixing to one the flight-connection variables. This allows all flightcovering constraints for flights in a cluster to be replaced by a single constraint. The algorithm modifies the clusters dynamically to reach an optimal solution if some predictions were wrong. The objective of this thesis is therefore to use various machine learning methods to propose clusters of flights with a high probability of being performed consecutively by the same crew, in an optimal solution. This information feeds into the mathematical programming optimizer to complete the work taking into account the exact cost function and complex CPP constraints. In the first subject of this thesis, we present a case study of using machine learning classification algorithms to initialize a large-scale commercial operations research solver (GENCOL) in the context of a weekly airline CPP, where small savings of as little as 1% translate to increasing annual revenue by dozens of millions of dollars in a large airline. We focus on the problem of predicting the next connecting flight of a crew, framed as a multiclass classification problem trained from historical data, and design an adapted neural network approach that achieves high accuracy (99.7%) overall or 82.5% on harder instances). We demonstrate the utility of our approach by using simple heuristics to combine the flight-connection predictions to form initial crew-pairing clusters that are provided as initial information to the GENCOL solver, yielding a 10x speed improvement and up to 0.2% cost saving. In the second subject of this thesis, we propose to combine multiple optimization methods implemented, developed and tested on small datasets, in order to obtain an efficient new solver for large-scale CPPs. We use Machine Learning (ML) to propose a good initial partition for a large CPP: monthly problems with up to 50 000 flights. We use ML to produce clusters of flights having a high probability of being performed consecutively by the same crew, in an optimal solution. A new algorithm combining several advanced Operations Research techniques will be used to assemble and modify these clusters, when necessary, to produce a good solution. This new approach, starting with Machine Learning and finishing the optimization with Mathematical Programming will permit to solve globally larger problems and will avoid the loss of optimality resulting of heuristic decomposition in small time slices in the rolling horizon approach. We show that the clusters produced by ML-based heuristics are better suited for CPPs, resulting in an average reduction of solution cost between 6.8% and 8.52%, which is mainly due to the reduction in the cost of global constraints between 69.79% and 78.11%, when compared to pairings obtained with a standard initial solution. In the column generation algorithm, an initial feasible solution is required to ensure the feasibility of the primal problem at each iteration of column generation. Moreover, it is clear from the computational experiments in the literature that if the quality of the initial solution is better, the convergence of column generation is also faster. Thus, a high quality initial solution should be generated in a shorter period of time. To be able to propose such an initial solution, we need a Machine Learning algorithm that is able to integrate local constraints into the training process. In the third subject of this thesis, we therefore introduce a Structured Convolutional Kernel Network, or SCKN, which combines the properties of deep learning architectures, the non-parametric flexibility of kernel methods and the structured predictors. More precisely, we show that using this combination in a supervised fashion outperforms state of the art methods in terms of the primal sub-optimality as well as on the test accuracy on the OCR dataset. We apply this method on a Next-Flight-Prediction dataset to propose good initial solutions to an airline crew scheduling solver. The main computational results show that using our proposed approach yields better results with significantly smaller costs, reducing by 9.51% the solution cost and by 80.25% the cost of global constraints. Furthermore, using the obtained solution to re-launch the optimization process yields better results, further reducing the solution cost and providing a solution with a very negligible cost of global constraints and a much smaller number of deadheads

    Méthodes de décomposition pour la parallélisation du simplexe en nombres entiers

    Get PDF
    RÉSUMÉ: Le SPP est un problème de la programmation linéaire en nombres entiers qui est utilisé pour modéliser des problèmes industriels dans de nombreux domaines comme la planification des horaires du personnel, la logistique et la reconnaissance de formes. Dans l’industrie de transport, il consiste à partitionner un ensemble de tâches (ex : vols d’avion, segments de trajet d’autobus...) en sous-ensembles (routes de véhicules ou rotations de personnel navigant) de sorte que les sous-ensembles sélectionnés aient un coût total minimal et que chaque tâche appartienne à un seul et unique sous-ensemble. Souvent, il est résolu par la méthode ”branch and bound” ou ses variantes. Ces méthodes s’avèrent lentes dans le cas de problèmes denses de grande taille. Cependant, en industrie, il est apprécié d’avoir une solution rapidement et de tenir compte des informations disponibles telles que l’existence d’une solution initiale notamment lors de la ré-optimisation par exemple. Cet aspect est fourni aisément par les méthodes primales qui, à partir d’une solution initiale, produisent une suite de solutions à coûts décroissants qui converge vers une solution optimale. L’algorithme du simplexe en nombres entiers avec décomposition (ISUD) est une méthode primale qui, à chaque itération, décompose le problème original en deux sous-problèmes. Un premier sous-problème, appelé problème réduit, qui ne considère que les colonnes dites compatibles avec la solution courante, i.e., s’écrivant comme combinaison linéaire de colonnes/variables non dégénérées de la solution courante. Un deuxième sous-problème, appelé problème complémentaire, qui contient seulement les colonnes incompatibles avec la solution courante. Le problème complémentaire permet de trouver une direction de descente composée de plusieurs variables garantissant une solution meilleure, mais pas nécessairement entière. Dans le cas de solutions fractionnaires, un branchement en profondeur permet souvent d’aboutir rapidement à une solution entière. De nos jours, l’informatique connaît des évolutions frappantes. Les transformations que connaît le matériel informatique en termes de vitesse et de puissance sont impressionnantes : un ordinateur portable contemporain est l’équivalent des plus grosses machines des années 1970. Cette évolution induit une transformation du logiciel et des algorithmes aussi profonde, en termes de qualité et de complexité. Par conséquent, la tendance actuelle est de produire des processeurs multicoeurs assimilables à des machines parallèles et de concevoir et implémenter des algorithmes parallèles. L’objectif général de cette thèse est d’étudier les apports du parallélisme à l’algorithme d’ISUD. Le but est de proposer des implémentations parallèles d’ISUD afin d’améliorer ses performances et tirer profit des évolutions contemporaines de l’informatique. Pour concevoir ces algorithmes parallèles, nous avons exploité le parallélisme à l’intérieur d’ISUD et nous avons introduit des décompositions spécifiques au SPP. Dans un premier temps, notre démarche est de grouper les colonnes de la solution courante en clusters afin de décomposer le problème initial en sous-problèmes indépendants. Ces derniers sont résolus en parallèle afin d’améliorer la solution courante par combinaison des solutions optimales des sous-problèmes. Pour cela, nous construisons un graphe dont les noeuds sont les colonnes de la solution courante. Nous attribuons aux arêtes des poids calculés par des fonctions de densité qui utilisent les informations issues du problème original comme le nombre de colonnes qui couvrent des tâches des colonnes Ai et Aj de la solution courante. Le graphe construit est scindé en sous-graphes et par la suite nous obtenons des clusters de la solution courante. Ainsi, nous avons ajouté une deuxième décomposition dynamique à celle qui est déjà intrinsèque à ISUD. Le résultat est un algorithme parallèle, le simplexe en nombres entiers avec double décomposition, baptisé ISU2D. Nous avons testé ce nouvel algorithme sur des instances d’horaires de chauffeurs d’autobus ayant 1600 contraintes et 570000 variables. L’algorithme réduit le temps d’exécution d’ISUD par un facteur de 3, voire 4 pour certaines instances. Il atteint la solution optimale, ou une solution assez proche, pour la majorité de ces instances en moins de 10 min alors que le solveur commercial CPLEX ne parvient pas à trouver une solution réalisable avec un gap moins de 10% après une durée de plus d’une heure d’exécution. L’algorithme ISU2D, dans sa première version, représente une première implémentation parallèle de l’algorithme du simplexe en nombres entiers. Cependant, ISU2D souffre encore de la limitation qui est l’utilisation d’une seule décomposition de la solution courante à la fois. Dans un deuxième temps, nous améliorons ISU2D en généralisant certains aspects de son concept. Notre objectif dans cette étape est d’utiliser plusieurs décompositions dynamiques simultanément. Nous proposons un algorithme, nommé DISUD, distribué à base d’ISUD et du paradigme du système multi-agent (SMA). Chaque agent est une entité qui est, au moins partiellement, autonome et caractérisée par la décomposition dynamique de la solution courante qu’elle applique. Les agents peuvent être indépendants ou coopérants suivant la stratégie adoptée. Ainsi, nous augmentons les performances d’ISU2D et nous tirons profit d’avantage des nouveautés en matériel informatique. Les tests faits sur des instances issues de l’optimisation des horaires du personnel navigant de compagnies aériennes montrent que DISUD fonctionne mieux que DCPLEX, la version distribuée du solveur commercial de pointe CPLEX. Il atteint des solutions de qualité meilleure que le DCPLEX en réduisant le temps d’exécution par un facteur de 4 en moyenne. De plus, il a résolu des instances de grande taille que le DCPLEX n’a pu amélioré après une heure d’exécution. Dans un troisième travail, nous réalisons l’objectif d’intégrer le DISUD dans un environnement de génération de colonnes (GC). Ce choix se justifie par le fait que l’intégration de la méthode de génération de colonnes avec les méthodes d’énumération telle le ”branch and price” est largement utilisé dans l’industrie. ISUD présente du potentiel pour remplacer les méthodes d’énumération usuelles pour résoudre le SPP. Par conséquent, il y a du potentiel à intégrer GC et DISUD pour traiter des problèmes de l’industrie. Nous développons donc DICG la version distribuée de génération de colonnes qui utilise DISUD. Les résultats que nous avons obtenus lors de nos tests ont montré que DICG permet d’avoir des solutions de bonne qualité et réduit le temps de calcul d’un facteur de 2 voire 4 par comparaison avec la DRMH, version distribuée de ” Restricted Master Heuristic”. Avec ces trois travaux, nous pensons avoir réalisé des apports intéressants et amélioré les performances d’ISUD. En outre, nous ouvrons la voie pour des travaux futurs afin d’élargir les utilisations de la version distribuée d’ISUD comme par exemple, rendre les agents plus intelligents via des algorithmes d’apprentissage.----------ABSTRACT: SPP is an integer linear programming problem that is used to model many industrial problems such as personnel scheduling, logistics and pattern recognition. In the transport industry, it consists of partitioning a set of tasks ( plane flights, bus itinerary segments, ...) into subsets (rotation of navigating personnel) so that the selected subsets have a minimum total cost and each task belongs exactly to one subset. Usually, SPP is solved by the branch and bound method or its variants. These methods are known to be slow in the case of large and difficult problems. However, in industry it is appreciated to have a solution as quickly as possible and to consider available information such as the existence of an initial solution, especially in the re-optimization case. This aspect is easily provided by the primal methods which from an initial solution produce a sequence of decreasing cost solutions that converge towards an optimal or near optimal solution. The Integral Simplex Using Decomposition, ISUD, is a primal method dedicated to solve SPP. At each iteration, it decomposes the original problem into two sub-problems. The first, called the reduced problem (RP), only considers the so-called compatible columns with the current solution. The second, called the complementary problem (CP), deals only with the columns that are incompatible with the current solution. The complementary problem makes it possible to find a descent direction composed of several variables that could be fractional or integer solution. In the case of fractional solutions, a branching often leads to an integer solution. Nowadays, computing science evolves impressively. The transformation of computer hardware into speedy machines is spectacular : a current laptop is equivalent to the 1970s biggest machines. The current trend is to produce multi-core processors and to design and implement parallel computing techniques. The general objective of this thesis is to study and apply parallel computing techniques to ISUD.We propose parallel implementations of ISUD in order to improve its performances and to profit from the contemporary evolution of the computer science. To design these algorithms we have exploited parallelism within ISUD and introduced specific decompositions. At first, we group the columns of the current solution into clusters in order to decompose the initial problem into independent sub-problems. These will be solved in parallel to get an improving solution by combining the sub-problems optimal solutions. To do so, we construct a graph whose nodes are the current solution columns. The edge (i, j) weight is computed by weighting functions that use the information from the original problem such as the number of columns that span two columns Ai and Aj of the current solution. Then, the constructed graph is split into sub graphs and as a result to a set of the current solution clusters. Thus, we add a second dynamic decomposition to the RP-CP one which is intrinsic to ISUD.We obtain a parallel algorithm, The Integral Simplex Using Double Decomposition, called ISU2D. We tested it on instances of bus drivers having up to 1600 constraints and 570000 variables. The ISU2D reduces the computing time of ISUD by a factor of 3, even 4 for some instances. It reaches an optimal or near optimal solution for the majority of these instances in less than 10 min while the commercial solver CPLEX cannot even find a feasible solution with a gap that is less than 10 % after a one-hour time limit. But, ISU2D suffers of the limitation which is the use of a single decomposition of the current solution at a time. In a second step, we improve our algorithm by generalizing the second decomposition concept. Indeed, our goal is to use multiple dynamic decompositions simultaneously. We propose an algorithm, called DISUD, a distributed algorithm based on ISUD and the multi-agent system (MAS). Each agent is an entity that is, at least partially, autonomous and characterized by the dynamic decomposition that it applies. We implemented two variants where agents can be independent or cooperating according to the strategy adopted. Thus, we increase the performance of ISU2D and benefit more from computing hardware evolution. We tested DISUD on airplane flight scheduling problems. The obtained results show that DISUD is better than DCPLEX, the distributed version of the advanced CPLEX commercial solver on our test instances. It achieves better quality solutions than the DCPLEX and reduces the computing time by an average factor of 4 to 5 for some instances. In addition, it solved large instances that the DCPLEX could not improve after a one-hour time limit. In a third work, we integrate the DISUD in a column generation context (GC). This choice is justified by the fact that the coupling of the method of generating columns with enumeration methods such as branch and price is widely used in industry. ISUD has potential to replace the usual enumeration methods to solve the SPP. As a result, there is potential to integrate GC and DISUD to address industry issues. We develop DICG a column generation algorithm which uses DISUD instead of enumeration methods. The results that we obtained during our tests showed that DICG solutions are of good quality (less than 1%). Moreover, it reduces the time of computation by a factor of 2 or even 4 compared to the DRMH, a distributed version of the Restricted Master heuristic. Thus, we have contributed to ISUD evolution. In addition, we improved the performances of ISUD and reduced its computing time. Furthermore, we paved the way for future work to expand the uses of the distributed version of ISUD

    Trois variantes du problème de rotations pour une approche semi-intégrée de la planification d’horaires de personnel aérien

    Get PDF
    RÉSUMÉ: Les horaires d’équipages aériens sont généralement créés à l’aide d’une procédure séquentielle impliquant la résolution de deux problèmes : le problème de rotations d’équipage (CPP) et le problème d’horaires personnalisés (CRP). Le CPP crée un ensemble de rotations couvrant tous les vols d’une période donnée à coût minimum. Une rotation est une séquence de vols, repositionnements, connexions et repos s’étalant sur un ou plusieurs jours, et qui doit être assignée à un équipage composé de plusieurs membres (pilote, copilote, agent de bord, etc.). Une rotation doit également débuter et se terminer à la même base (aéroport où sont affectés des membres d’équipage), et satisfaire plusieurs contraintes imposées par les autorités, ainsi que par les conventions collectives en place. Le CRP utilise les rotations créées par le CPP afin de construire un horaire personnalisé pour chaque membre d’équipage. Les horaires personnalisés doivent couvrir toutes les rotations et doivent également satisfaire un ensemble de contraintes. Le principal désavantage de cette procédure séquentielle est que l’ensemble de rotations générées par le CPP est généralement inadéquat pour le CRP. Par exemple, certains vols doivent être opérés par un équipage possédant des qualifications spécifiques (e.g. des qualifications de langues). Il est possible que dans la solution du CPP, ces vols soient dispersés dans un grand nombre de rotations, de sorte qu’il soit impossible de créer un horaire respectant toutes les contraintes de qualification. Idéalement, il serait préférable de résoudre un seul problème d’optimisation intégrant la création de rotations et la composition d’horaires personnalisés. Bien que de telles approches aient été proposées dans la littérature, les temps de calcul nécessaires à l’obtention de solutions de qualité sont prohibitifs pour des instances de grande taille. Les approches semi-intégrées permettent de surmonter certaines limites de l’approche séquentielle, en évitant les conséquences négatives des approches intégrées. Ces méthodes sont des variantes de l’approche séquentielle dans lesquelles la formulation mathématique du CPP est enrichie. L’idée est d’inclure dans le CPP certains éléments qui sont traditionnellement traités au niveau du CRP, afin de créer des rotations qui sont mieux adaptées au CRP. Dans cette thèse, nous étudions trois variantes du CPP qui conviennent aux approches semiintégrées. Chacune de ces variantes est définie comme un problème de partitionnement d’ensemble avec contraintes supplémentaires dans lequel les variables de décision principales sont associées à des rotations réalisables. Ces problèmes sont résolus par un algorithme de génération de colonnes qui utilise un problème maître restreint pour sélectionner les rotations et des sous-problèmes pour générer des rotations à ajouter au problème maître restreint. Dans le premier sujet de cette thèse, nous nous intéressons au CPP avec contraintes de base (CPPBC). Les contraintes de base pénalisent le temps de travail excédentaire à chaque base, afin de distribuer équitablement la charge de travail entre les différentes bases. Bien que la plupart des logiciels commerciaux incorporent des contraintes de base dans le CPP, aucune étude scientifique ne s’est penchée sur leur impact sur le processus de résolution du CPP. Nous montrons qu’en présence de contraintes de base assez restrictives, les algorithmes de branchement heuristiques traditionnellement utilisés peinent à obtenir une solution entière de qualité. Ces algorithmes prennent un plus grand nombre de décisions de branchement risquées, ce qui nuit à la qualité des solutions obtenues. Afin de remédier à ce problème, nous développons un algorithme de branchement heuristique, appelé branchement rétrospectif, qui élimine certaines mauvaises décisions de branchement lorsque l’écart relatif entre la meilleure solution fractionnaire et la solution fractionnaire au noeud courant est trop grand, et ce, sans avoir à effectuer de retour en arrière. L’algorithme de branchement rétrospectif est testé sur sept instances hebdomadaires. Nous montrons que le branchement rétrospectif permet d’obtenir des solutions de meilleure qualité qu’avec les autres méthodes de branchement couramment utilisées, en des temps de calcul raisonnables. L’algorithme de branchement rétrospectif est présentement implémenté dans un logiciel commercial de planification aérienne, et a été utilisé afin d’obtenir des solutions de qualité pour des problèmes contenant plusieurs dizaines de milliers de vols par mois. Dans le deuxième article de cette thèse, nous proposons une variante du CPP, appelée CPP avec caractéristiques complexes (CPPCF), qui prend en compte les préférences de vols et de vacances des membres d’équipage, dans le but d’augmenter la satisfaction de ceux-ci envers leurs horaires. Pour ce faire, nous identifions six caractéristiques des rotations en lien avec les préférences des membres d’équipage et qui pourraient être bénéfiques au CRP. Un bonus est accordé aux rotations contenant une ou plusieurs de ces caractéristiques, de manière à favoriser leur présence dans la solution retournée. La méthode de résolution du CPP est adaptée au CPPCF : nous modifions les règles de dominance de l’algorithme d’étiquetage utilisé pour résoudre les sous-problèmes. Cela permet de résoudre les sous-problèmes du CPPCF en des temps raisonnables. L’efficacité de cette méthode est démontrée sur sept instances mensuelles. Nous montrons que les solutions obtenues à l’aide du CPPCF permettent la création d’horaires personnalisés dans lesquels un plus grand nombre de préférences sont accordées, augmentant ainsi la satisfaction des membres d’équipage. Le troisième sujet de cette thèse porte sur les contraintes de langues. Il s’agit de contraintes sur les qualifications linguistiques pour l’équipage de certains vols. Cette recherche est fectuée dans un contexte de création d’horaires pour les agents de bord. Le respect des contraintes de langues est primordial pour les compagnies aériennes qui désirent offrir un service sécuritaire et de qualité. Or, les méthodes actuelles sont inadéquates pour traiter les problèmes contenant un grand nombre de contraintes de langues et peu de membres d’équipage parlant ces langues. En effet, le CPP ne prend pas en considération les contraintes de langues, de sorte que les vols qui possèdent des contraintes de langues similaires se retrouvent distribuées dans un grand nombre de rotations. Nous formulons le CPP avec contraintes de langues (CPPLC), une variante du CPP qui favorise le regroupement de plusieurs vols ayant les mêmes contraintes de langues à l’intérieur d’une rotation. La difficulté principale que pose cette variante est l’explosion combinatoire du nombre de sous-problèmes. Nous mettons de l’avant une stratégie de sélection de sous-problèmes dans laquelle un petit ensemble de sous-problèmes prometteurs est résolu à chaque itération de génération de colonnes. Nous développons également une stratégie d’accélération permettant de diminuer significativement les temps de calcul au début du processus de résolution. Nous montrons que l’utilisation du CPPLC permet de réduire considérablement le nombre de contraintes de langues violées dans les horaires personnalisés. Bien que seules les contraintes de langues soient traitées, la méthode proposée pourrait également s’appliquer à une grande variété de contraintes de qualification, autant pour les agents de bord que pour les pilotes et copilotes.----------ABSTRACT: Aircrew scheduling is usually performed according to a two-step sequential procedure: crew pairing and crew rostering. While the crew pairing problem (CPP) finds a set of pairings that covers the legs of a given period at minimum cost, the crew rostering problem (CRP) uses those pairings in order to create a personalized schedule for each crew member. A pairing is a sequence of legs, deadheads, connections and rests spanning over one or multiple days, and that can be assigned to a crew member. A pairing must also begin and end at the same crew base (airport where crew members are stationed), and comply with many rules imposed by airline authorities as well as collective agreements. The crew schedules must cover all pairings, and are also subject to many regulations. The main drawback of this sequential approach is that the set of pairings produced by the CPP is often ill-suited for the CRP. For instance, the CPP solution might assign too much work to a given base, resulting in an imbalance in the work distribution among the bases. Ideally, both steps would be integrated into a single optimization problem. Even though many such approaches have been proposed in the literature, computing times required to solve those integrated problems are prohibitive, even for small-sized instances. Semi-integrated approaches are designed to overcome some limitations of the sequential approaches, without unduly increasing computing times. The main idea is to solve a variant of the CPP that includes some elements that traditionally belong in the CRP. This enables the CPP to create pairings that are better-suited for the CRP. In this thesis, we study three such CPP variants. Each variant is formulated as a setpartitionning problem with additional constraints, in which the main decision variables are associated with feasible pairings. These problems are solved by a column generation algorithm that uses a restricted master problem to select the pairings and multiple subproblems to generate the pairings to add to the restricted master problem. In the first subject of this thesis, we study the CPP with base constraints (CPPBC). Base constraints penalize excess work performed at each crew base in order to evenly distribute the workload among them. Although most commercial softwares include base constraints in the CPP, no academic research has studied their impact on the existing solution methods. Preliminary tests show that when base constraints are very restrictive, the heuristic branching algorithms traditionally used struggle to find a good-quality integer solution: they take a larger number of risky branching decisions, which negatively impact the quality of the solutions. We develop a new heuristic branching scheme, called retrospective branching, that identifies risky branching decisions in the branch-and-bound tree, and removes poor branching decisions when the gap between the current and the best fractional solution becomes too large, without backtracking. The proposed method is tested on seven weekly instances. We show that the retrospective branching algorithm produces solutions of better quality than with the other commonly used branching methods, in reasonable computing times. The retrospective branching is currently implemented in a commercial crew scheduling software, and has been used to obtain good-quality solutions to monthly instances containing tens of thousands of legs. In the second subject of this thesis, we propose a variant of the CPP, called the CPP with complex features (CPPCF) which takes into account legs and vacations preferences of crew members, with the aim of increasing the number of preferences awarded in the CRP, and thus, crew member satisfaction towards their schedule. We identify six pairing features related to those preferences, which could be beneficial to the CRP. Pairings containing one or more of those features are granted a bonus in order to promote their presence in the solutions. The solution method for the CPP is adapted to the CPPCF. We modify the dominance rules of the labeling algorithm used to solve the subproblems, based on the values of new state resources. The proposed method is tested on seven monthly instances. We show that using the CPPCF allows for a significantly higher number of awarded preferences in the CRP. The third subject of this thesis deals with language constraints — constraints on the language qualifications of the crew operating some legs. Satisfying these constraints is essential for airlines, which would otherwise have to pay high penalties, or even cancel some legs. Current methods are inadequate to deal with problems containing a large number of language constraints and few crew members with language qualifications. This is because the CPP does not account for language constraints, resulting in a spreading of the legs with language constraints among many pairings. We study this problem in the context of cabin crew scheduling. We formulate a CPP variant, called CPP with language constraints (CPPLC), which favors the grouping of legs with similar language constraints within the same pairing. The main challenge in solving the CPPLC is the combinatorial explosion in the number of subproblems. We put forward a subproblem selection strategy in which only a fraction of these subproblems are solved at each column generation iteration. We show that taking into account the language constraints in the CPP allows for a significant reduction of the number of language constraint violations in the CRP solutions. Although this study was conducted only for language constraints, the proposed method can be applied to many types of qualification constraints for cabin crews as well as pilots and copilots

    Méthodes pour favoriser l’intégralité de l’amélioration dans le simplexe en nombres entiers - Application aux rotations d’équipages aériens

    Get PDF
    RÉSUMÉ : Dans son cadre le plus général, le processus d’optimisation mathématique se scinde en trois grandes étapes. La première consiste à modéliser le problème, c’est-à-dire le représenter sous la forme d’un programme mathématique, ensemble d’équations constitué d’un objectif à minimiser ou maximiser (typiquement, les coûts ou le bénéfice de l’entreprise) et de contraintes à satisfaire (contraintes opérationnelles, convention collective, etc.). Aux décisions à prendre correspondent les variables du problème. S’il est une représentation parfaite de la réalité, ce modèle est dit exact, sinon il reste approximatif. La seconde étape du processus est la résolution de ce programme mathématique. Il s’agit de déterminer une solution respectant les contraintes et pour laquelle la valeur de l’objectif est la meilleure possible. Pour ce faire, on applique généralement un algorithme de résolution, ensemble de règles opératoires dont l’application permet de résoudre le problème énoncé au moyen d’un nombre fini d’opérations. Un algorithme peut être traduit grâce à un langage de programmation en un programme exécutable par un ordinateur. L’exécution d’un tel programme permet ainsi de résoudre le programme mathématique. Enfin, la dernière étape consiste à ajuster la solution obtenue à la réalité. Dans le cas où le modèle n’est qu’approximatif, cette solution peut ne pas convenir et nécessiter d’être modifiée a posteriori afin de s’accorder aux exigences de la réalité concrète. Cette thèse se concentre sur la seconde de ces trois étapes, l’étape de résolution, en particulier sur le développement d’un algorithme de résolution d’un programme mathématique précis, le partitionnement d’ensemble. Le problème de partitionnement d’ensemble permet de modéliser des applications variées : planification d’emplois du temps, logistique, production d’électricité, partage équitable, reconnaissance de forme, etc. Pour chacun de ces exemples l’objectif et les contraintes prennent des significations physiques différentes, mais la structure du modèle est la même. D’un point de vue mathématique, il s’agit d’un programme linéaire en nombres entiers, dont les variables sont binaires, c’est-à-dire qu’elles ne peuvent prendre que les valeurs 0 et 1. Le programme est linéaire car l’objectif et les contraintes sont représentés par des fonctions linéaires des variables. Les algorithmes les plus couramment utilisés pour la résolution de tels problèmes sont basés sur le principe de séparation et évaluation (branch-and-bound). Dans ces méthodes, les contraintes d’intégralité sont d’abord relâchées : les solutions peuvent alors être fractionnaires. La résolution du programme ainsi obtenu – appelé relaxation linéaire du programme en nombres entiers – est bien plus simple que celle du programme en nombres entiers. Pour obtenir l’intégralité, on sépare le problème afin d’éliminer les solutions fractionnaires. Ces séparations donnent naissance à un arbre de branchement où, à chaque noeud, la relaxation d’un problème de partitionnement de la taille du problème original est résolue. La taille de cet arbre, et donc le temps d’exécution, croissent exponentiellement avec la taille des instances. De plus, l’algorithme utilisé pour résoudre la relaxation, le simplexe, fonctionne mal sur des problèmes dégénérés, c’est-à-dire dont trop de contraintes sont saturées. C’est malheureusement le cas de nombreux problèmes issus de l’industrie, particulièrement du problème de partitionnement dont le taux de dégénérescence est intrinsèquement élevé. Une autre approche de ce type de problèmes est celle des algorithmes primaux : il s’agit de partir d’une solution entière non optimale, de trouver une direction qui mène vers une meilleure solution entière, puis d’itérer ce processus jusqu’à atteindre l’optimalité. À chaque étape, un sous-problème d’augmentation est résolu : trouver une direction d’amélioration (ou d’augmentation) ou affirmer que la solution courante est optimale. Les travaux concernant les méthodes primales sont moins nombreux que ceux sur le branch-and-bound, qui représentent depuis quarante ans la filière dominante pour la résolution de problèmes en nombres entiers. Développer une méthode primale efficace en pratique constituerait ainsi un changement majeur dans le domaine. Des travaux computationels sur des algorithmes primaux ressortent deux principaux défis rencontrés lors de la conception et l’implémentation de ces méthodes. D’une part, de nombreuses directions d’amélioration sont irréalisables, c’est-à-dire qu’effectuer un pas, aussi petit soit-il, dans ces directions implique une violation des contraintes du problème. On parle alors de dégénérescence ; c’est par exemple le cas des directions associées à certains pivots de simplexe (pivots dégénérés). Les directions irréalisables ne permettent pas à l’algorithme de progresser et peuvent mettre en péril sa terminaison s’il est impossible de déterminer de direction réalisable. D’autre part, lorsqu’une direction d’amélioration réalisable pour la relaxation linéaire a été déterminée, il est difficile de s’assurer que la solution vers laquelle elle mène est entière. Parmi les algorithmes primaux existants, celui qui apparait comme le plus prometteur est le simplexe en nombres entiers avec décomposition (Integral Simplex Using Decomposition, ISUD) car il intègre au cadre primal des techniques de décomposition permettant de se prémunir des effets néfastes de la dégénérescence. Il s’agit à notre connaissance du premier algorithme de type primal capable de battre le branch-and-bound sur des instances de grande taille ; par ailleurs, la différence est d’autant plus importante que le problème est grand. Bien que fournissant des éléments de réponse à la problématique de la dégénérescence, cette méthode n’aborde pas pour autant la question de l’intégralité lors du passage à une solution de meilleur coût ; et pour qu’ISUD puisse envisager de supplanter les méthodes de type branch-and-bound, il lui faut parcourir cette deuxième moitié du chemin. Il s’agit là de l’objectif de ce doctorat : augmenter le taux de directions entières trouvées par ISUD pour le rendre applicable aux instances industrielles de grande taille, de type planification de personnel. Pour aller dans cette direction, nous approfondissons tout d’abord les connaissances théoriques sur ISUD. Formuler ce dernier comme un algorithme primal, comprendre en quoi il se rattache à cette famille, le traduire pour la première fois dans un langage exclusivement primal sans faire appel à la dualité, constituent le terreau de cette thèse. Cette analyse permet ensuite de mieux décrire la géométrie sous-jacente ainsi que les domaines de réalisabilité des différents problèmes linéaires considérés. Quand bien même ce pan majeur de notre travail n’est pas présenté dans cette thèse comme un chapitre à part entière, il se situe indubitablement à l’origine de chacune de nos idées, de nos approches et de nos contributions. Cette approche de l’algorithme sous un angle nouveau donne lieu à de nombreuses simplifications, améliorations et extensions de résultats déjà connus. Dans un premier temps, nous généralisons la formulation du problème d’augmentation afin d’augmenter la probabilité que la direction déterminée par l’algorithme mène vers une nouvelle solution entière. Lors de l’exécution d’ISUD, pour déterminer la direction qui mènera à la solution suivante, on résout un programme linéaire dont la solution est une direction d’amélioration qui appartient au cône des directions réalisables. Pour s’assurer que ce programme est borné (les directions pourraient partir à l’infini), on lui ajoute une contrainte de normalisation et on se restreint ainsi à une section de ce cône. Dans la version originelle de l’algorithme, les coefficients de cette contrainte sont uniformes. Nous généralisons cette contrainte à une section quelconque du cône et montrons que la direction réalisable déterminée par l’algorithme dépend fortement du choix des coefficients de cette contrainte ; il en va de même pour la probabilité que la solution vers laquelle elle mène soit entière. Nous étendons les propriétés théoriques liés à la décomposition dans l’algorihtme ISUD et montrons de nouveaux résultats dans le cas d’un choix de coefficients quelconques. Nous déterminons de nouvelles propriétés spécifiques à certains choix de normalisation et faisons des recommandations pour choisir les coefficients afin de pénaliser les directions fractionnaires au profit des directions entières. Des résultats numériques sur des instances de planification de personnel montrent le potentiel de notre approche. Alors que la version originale d’ISUD permet de résoudre 78% des instances de transport aérien du benchmark considéré, 100% sont résolues grâce à l’un, au moins, des modèles que nous proposons. Dans un second temps, nous montrons qu’il est possible d’adapter des méthodes de plans coupants utilisés en programmation linéaire en nombres entiers au cas d’ISUD. Nous montrons que des coupes peuvent êtres transférées dans le problème d’augmentation, et nous caractérisons l’ensemble des coupes transférables comme l’ensemble, non vide, des coupes primales saturées pour la solution courante du problème de partitionnement. Nous montrons que de telles coupes existent toujours, proposons des algorithmes de séparation efficaces pour les coupes primales de cycle impair et de clique, et montrons que l’espace de recherche de ces coupes peut être restreint à un petit nombre de variables, ce qui rend le processus efficace. Des résultats numériques prouvent la validité de notre approche ; ces tests sont effectués sur des instances de planification de personnel navigant et de chauffeurs d’autobus allant jusqu’à 1 600 contraintes et 570 000 variables. Sur les instances de transport aérien testées l’ajout de coupes primales permet de passer d’un taux de résolution de 70% à 92%. Sur de grandes instances d’horaires de chauffeurs d’autobus, les coupes prouvent l’optimalité locale de la solution dans plus de 80% des cas. Dans un dernier temps, nous modifions dynamiquement les coefficients de la contrainte de normalisation lorsque la direction trouvée par l’algorithme mène vers une solution fractionnaire. Nous proposons plusieurs stratégies de mise-à-jour visant à pénaliser les directions fractionnaires basées sur des observations théoriques et pratiques. Certaines visent à pénaliser la direction choisie par l’algorithme, d’autres procèdent par perturbation des coefficients de normalisation en utilisant les équations des coupes mentionnées précédemment. Cette version de l’algorithme est testée sur un nouvel ensemble d’instances provenant de l’industrie du transport aérien. À notre connaissance, l’ensemble d’instances que nous proposons n’est comparable à aucun autre. Il s’agit en effet de grands problèmes d’horaires de personnel navigant allant jusqu’à 1 700 vols et 115 000 rotations, donc autant de contraintes et de variables. Ils sont posés sous la forme de problèmes de partitionnement pour lesquels nous fournissons des solutions initiales comparables à celles dont on disposerait en milieu industriel. Notre travail montre le potentiel qu’ont les algorithmes primaux pour résoudre des problèmes de planification de personnel navigant, problèmes clés pour les compagnies aériennes, tant par leur complexité intrinsèque que par les conséquences économiques et financières qu’ils entraînent.----------ABSTRACT : Optimization is a three-step process. Step one models the problem and writes it as a mathematical program, i.e., a set of equations that includes an objective one seeks to minimize or maximize (typically the costs or benefit of a company) and constraints that must be satisfied by any acceptable solution (operational constraints, collective agreement, etc.). The unknowns of the model are the decision variables; they correspond to the quantities the decision-maker wants to infer. A model that perfectly represents reality is exact, otherwise it is approximate. The second step of the optimization process is the solution of the mathematical program, i.e., the determination of a solution that satisfies all constraints and for which the objective value is as good as possible. To this end, one generally uses an algorithm, a self-contained step-by-step set of operating rules that solves the problem in a finite number of operations. The algorithm is translated by means of a programming language into an executable program run by a computer; the execution of such software solves the mathematical program. Finally, the last step is the adaptation of the mathematical solution to reality. When the model is only approximate, the output solution may not fit the original requirements and therefore require a posteriori modifications. This thesis concentrates on the second of these three steps, the solution process. More specifically, we design and implement an algorithm that solves a specific mathematical program: set partitioning. The set partitioning problem models a very wide range of applications: workforce scheduling, logistics, electricity production planning, pattern recognition, etc. In each of these examples, the objective function and the constraints have different physical significations but the structure of the model is the same. From a mathematical point of view, it is an integer linear program whose decision variables can only take value 0 or 1. It is linear because both the objective and the constraints are linear functions of the variables. Most algorithms used to solve this family of programs are based on the principle called branch-and-bound. At first, the integrality constraints are relaxed; solutions may thus be fractional. The solution of the resulting program – called linear relaxation of the integer program – is significantly easier than that of the integer program. Then, to recover integrality, the problem is separated to eliminate fractional solutions. From the splitting a branching tree arises, in which, at each node, the relaxation of a set partitioning problem as big as the original one is solved. The size of that tree, and thus the solving time, grows exponentially with the size of the instance. Furthermore, the algorithm that solves the linear relaxations, the simplex, performs poorly on degenerate problems, i.e., problems for which too many constraints are tight. It is unfortunately the case of many industrial problems, and particularly of the set partitioning problem whose degeneracy rate is intrinsiquely high. An alternative approach is that of primal algorithms: start from a nonoptimal integer solution and find a direction that leads to a better one (also integer). That process is iterated until optimality is reached. At each step of the process one solves an augmentation subproblem which either outputs an augmenting direction or asserts that the current solution is optimal. The literature is significantly less abundant on primal algorithms than on branchand- bound and the latter has been the dominant method in integer programming for over forty years. The development of an efficient primal method would therefore stand as a major breakthrough in this field. From the computational works on primal algorithms, two main issues stand out concerning their design and implementation. On the one hand, many augmenting directions are infeasible, i.e., taking the smallest step in such a direction results in a violation of the constraints. This problem is strongly related to degeneracy and often affects simplex pivots (e.g., degenerate pivots). Infeasible directions prevent the algorithm from moving ahead and may jeopardize its performance, and even its termination when it is impossible to find a feasible direction. On the other hand, when a cost-improving direction has been succesfully determined, it may be hard to ensure that it leads to an integer solution. Among existing primal algorithms, the one appearing to be the most promising is the integral simplex using decomposition (ISUD) because it embeds decomposition techniques that palliate the unwanted effects of degeneracy into a primal framework. To our knowledge, it is the first primal algorithm to beat branch-and-bound on large scale industrial instances. Furthermore, its performances improve when the problem gets bigger. Despite its strong assets to counter degeneracy, however, this method does not handle the matter of integrality when reaching out for the next solution; and if ISUD is to compete with branch-and-bound, it is crucial that this issue be tackled. Therefore, the purpose of this thesis is the following: increasing the rate of integral directions found by ISUD to make it fully competitive with existing solvers on large-scale industrial workforce scheduling instances. To proceed in that direction, we first deepen the theoretical knowledge on ISUD. Formulating it as a primal algorithm, understanding how it belongs to that family, and translating it in a purely primal language that requires no notion of duality provide a fertile ground to our work. This analysis yields geometrical interpretations of the underlying structures and domains of the several mathematical programs involved in the solution process. Although no chapter specifically focuses on that facet of our work, most of our ideas, approaches and contributions stem from it. This groundbreaking approach of ISUD leads to simplifications, strengthening, and extensions of several theoretical results. In the first part of this work, we generalize the formulation of the augmentation problem in order to increase the likelihood that the direction found by the algorithm leads to a new integer solution. In ISUD, to find the edge leading to the next point, one solves a linear program to select an augmenting direction from a cone of feasible directions. To ensure that this linear program is bounded (the directions could go to infinity), a normalization constraint is added and the optimization is performed on a section of the cone. In the original version of the algorithm, all weights take the same value. We extend this constraint to the case of a generic normalization constraint and show that the output direction dépends strongly on the chosen normalization weights, and so does the likelihood that the next solution is integer. We extend the theoretical properties of ISUD, particularly those that are related to decomposition and we prove new results in the case of a generic normalization constraint. We explore the theoretical properties of some specific constraints, and discuss the design of the normalization constraint so as to penalize fractional directions. We also report computational results on workforce scheduling instances that show the potential behind our approach. While only 78% of aircrew scheduling instances from that benchmark are solved with the original version of ISUD, 100% of them are solved by at least one of the models we propose. In the second part, we show that cutting plane methods used in integer linear programming can be adapted to ISUD. We show that cutting planes can be transferred to the augmentation problem, and we characterize the set of transferable cuts as a nonempty subset of primal cuts that are tight to the current solution. We prove that these cutting planes always exist, we propose efficient separation procedures for primal clique and odd-cycle cuts, and we prove that their search space can be restricted to a small subset of the variables making the computation efficient. Numerical results demonstrate the effectiveness of adding cutting planes to the algorithm. Tests are performed on small- and large-scale set partitioning problems from aircrew and bus-driver scheduling instances up to 1,600 constraints and 570,000 variables. On the aircrew scheduling instances, the addition of primal cuts raises the rate of instances solved from 70% to 92%. On large bus drivers scheduling instances, primal cuts prove that the solution found by ISUD is optimal over a large subset of the domain for more than 80% of the instances. In the last part, we dynamically update the coefficients of the normalization constraint whenever the direction found by the algorithm leads to a fractional solution, to penalize that direction. We propose several update strategies based on theoretical and experimental results. Some penalize the very direction returned by the algorithm, others operate by perturbating the normalization coefficients with those of the aforementionned primal cuts. To prove the efficiency of our strategies, we show that our version of the algorithm yields better results than the former version and than classical branch-and-bound techniques on a benchmark of industrial aircrew scheduling instances. The benchmark that we propose is, to the best of our knowledge, comparable to no other from the literature. It provides largescale instances with up to 1,700 flights and 115,000 pairings, hence as many constraints and variables, and the instances are given in a set-partitioning form together with initial solutions that accurately mimic those of industrial applications. Our work shows the strong potential of primal algorithms for the crew scheduling problem, which is a key challenge for large airlines, both financially significant and notably hard to solve

    Hybrid methods for integrated aircraft routing and crew pairing problem with short flight legs

    Get PDF
    The aircraft routing and crew pairing problems are two processes that are difficult to be solved in the airline operations planning due to the rules that each flight leg needs to be operated on by one aircraft and one crew pair. These two problems, though interrelated in practice, are usually solved sequentially and often leads to suboptimal solution. Thus, this research contributes to the solution of the integrated aircraft routing and crew pairing problem in order to determine the minimum cost of this integrated problem where each flight leg is covered by one aircraft and one crew pair. This study also considers short connection between two flight legs in order to ensure that the crews do not change the aircraft if the connection time is in between 20 to 59 minutes. Another consideration is the restricted connection that imposes penalty costs when the second flight leg uses the same crew but not the same aircraft. Based on the literature review, most of the existing solutions concentrate on minimizing the planned costs. Although the minimum costs are significantly important in airline operations planning, the efficiency of a solution method in terms of computational time cannot be neglected. It is necessary to solve the integrated problem by using an efficient model that is able to generate a good high quality solution in a short time as requested by the airline industry. In order to solve the problem, a set of feasible aircraft routes and crew pairs are initially generated to be used as the input data in solving the integrated model effectively. There are two heuristic methods which are proposed in generating the set of feasible aircraft routes and crew pairs namely constructive-based heuristic and Genetic Algorithm (GA). The generated feasible aircraft routes and crew pairs are then used in solving the integrated problem by using Integer Linear Programming (ILP) method, Dantzig Wolfe Decomposition method, Benders Decomposition method and Particle Swarm. Computational results obtained from these methods are then compared by testing them on four types of aircraft with different number of flight legs based on Malaysia local flights for one week flight cycle. From the numerical results, it can be concluded that the proposed methods are more efficient compared to the ILP method available in the literature in terms of the computational time where the hybrid algorithm of GA and Benders Decomposition is found to be advantageous compared to the others. The maximum cost deviation of only 4.77% also justifies the strength of this hybrid algorithm. One possible future research that can be extended from this study would be the development of an algorithm that incorporates a parallel GA within the proposed methods for larger instances which are likely to exist in international flights in order to speed up the planning process

    Optimisation intégrée des rotations et des blocs mensuels personnalisés des pilotes et des copilotes simultanément

    Get PDF
    RÉSUMÉ: Le problème de construction des blocs mensuels pour les membres d’équipage consiste à déterminer des horaires mensuels pour les membres d’équipage des compagnies aériennes tels que tous les vols planifiés sur un horizon de planification donné (généralement un mois) sont couverts tout en satisfaisant un certain nombre de contraintes. En raison de sa taille et de sa complexité, ce problème est généralement résolu séquentiellement en deux étapes: la construction des rotations suivie par la construction des blocs mensuels. Une rotation est une séquence de vols, de connexions et de pauses effectuée par un équipage partant et revenant à la même base. Le problème de construction des rotations consiste à déterminer un ensemble de rotations réalisables à un coût minimal, de telle sorte que chaque vol soit couvert exactement une seule fois. Dans le problème d’affectation des membres d’équipage, l’objectif est de construire des horaires mensuels à partir de ces rotations pour un ensemble donné de pilotes et de copilotes. La construction des rotations et des blocs mensuels doit respecter les règles de la sécurité aérienne, les règles d’opération de la compagnie et les règles contenues dans les conventions collectives entre les employés et la compagnie aérienne. Cependant, il peut s’avérer impossible que l’approche séquentielle obtienne une solution globale optimale car le domaine de décision du problème d’affectation des membres d’équipage est réduit par les décisions précédemment prises dans le problème de construction des rotations des membres d’équipage. L’objectif principal de cette thèse est de proposer des modèles intégrés et de nouvelles approches qui permettent de résoudre le problème de planification des membres d’équipage pour un ensemble donné de pilotes et de copilotes simultanément. Tous les tests réalisés dans cette thèse se basent sur des instances réelles fournies par une compagnie aérienne américaine. À part l’introduction, la revue de littérature et la conclusion, cette thèse comprend trois chapitres principaux dont chacun présente les travaux réalisés pour un objectif de recherche bien précis. Dans le premier objectif, nous proposons en premier temps une extension du problème de construction des rotations des membres d’équipage qui intègre les demandes de vacances du pilote et du copilote au stade du couplage des équipages. Deuxièmement, nous présentons un modèle qui intègre complètement les problèmes de construction des rotations et le problème d’affectation des équipes simultanément pour les pilotes et les copilotes. Pour résoudre ce modèle intégré, nous développons une méthode qui combine la décomposition de Benders et la génération de colonnes. Dans un cas plus général concernant le problème de planification des équipages de ligne aérienne, chaque pilote/copilote a la possibilité de choisir chaque mois un ensemble de vols préférés parmi les vols réguliers. Le deuxième objectif de la thèse consiste à étudier la difficulté d’utiliser la méthode proposée dans le premier objectif lorsque nous considérons un ensemble de vols préférés et de demandes de vacances pour chaque pilote et copilote. Quant au troisième objectif de la thèse, nous considérons le problème de planification d’équipage (pilotes et copilotes) dans un contexte personnalisé où chaque pilote/copilote demande un ensemble de préférences pour des vols spécifiques et des vacances par mois. En effet, nous proposons un modèle intégré qui permet de générer des blocs mensuels personnalisés pour les pilotes et les copilotes simultanément en une seule étape où nous gardons les rotations dans les deux problèmes aussi similaires que possible afin de réduire la propagation des perturbations pendant l’opération. Pour résoudre ce modèle intégré, nous développons une méthode qui combine la relaxation lagrangienne, la génération de colonnes et l’agrégation dynamique des contraintes. Le processus de résolution itère entre le modèle intégré des pilotes et le modèle intégré des copilotes en estimant les effets des décisions du premier problème sur le second problème.----------ABSTRACT: The airline crew scheduling problem consists of determining crew schedules for airline crew members such that all the scheduled flights over a planning horizon (usually a month) are covered and the constraints are satisfied. Due to its complexity, this problem is usually solved in two phases: the crew pairing followed by the crew assignment. A pairing is a sequence of flights, connections, and rests starting and ending at the same crew base. The crew pairing problem consists of determining a minimum-cost set of feasible pairings such that each flight is covered exactly once. In the crew assignment problem, the goal is to construct monthly schedules from these pairings for airline crew members, while respecting all the safety and collective agreement rules. However, finding an optimal global solution via sequential approach may become impossible because the decision domain of the crew assignment problem is reduced by previously made decisions in the crew pairing problem. The main goal of this dissertation is to propose integrated models and approaches to solving the crew scheduling problem for a given set of pilots and copilots simultaneously. We conduct computational experiments on a set of real instances from a major US carrier. In the first essay of this dissertation, first, we propose an extension of the crew pairing problem that incorporates pilot and copilot vacation requests at the crew pairing stage. Second, we introduce a model that completely integrates the crew pairing and crew assignment problems simultaneously for pilots and copilots. To solve this integrated model, we develop a method that combines Benders decomposition and column generation. In a more general case in the airline crew scheduling problem, each pilot and copilot have the option of choosing a set of preferred flights from the scheduled flights per month. In chapter 5, we study the difficulty of using the proposed method in the first essay when we consider a set of preferred flights and vacation requests for each pilot and copilot. In the third essay of this dissertation, we consider the pilot and copilot crew scheduling problems in a personalized context where each pilot and copilot requests a set of preferences flights and vacations per month. We propose a model that completely integrates the crew pairing and personalized assignment problems to generate personalized monthly schedules for a given set of pilots and copilots simultaneously. The proposed model keeps the pairings in the two problems as similar as possible so the propagation of the perturbations during the operation is reduced. To solve this integrated model, we develop an integrated approach that combines alternating Lagrangian decomposition, column generation, and dynamic constraint aggregation

    Optimisation intégrée des rotations et des blocs mensuels personnalisés des équipages en transport aérien

    Get PDF
    Le problème de la construction des horaires d’équipage pour les compagnies aériennes consiste à assigner un groupe d’équipage à un ensemble planifié de segments de vols. Ce problème doit également respecter des règles de travail définies par la convention collective et les autorités du transport aérien. Le problème de la construction des horaires d’équipage a reçu une attention particulière en recherche opérationnelle car après le carburant, le coût des équipages constitue la plus grande dépense des compagnies aériennes. En raison de la grande taille du problème et de la complexité des règles de travail, ce problème est traditionnellement traité en deux étapes qui sont résolues séquentiellement : la construction de rotations et la construction de blocs mensuels. La première construit un ensemble de rotations réalisables à coût minimum afin que chaque vol prévu puisse être réalisé par un équipage. Les rotations réalisables sont celles juxtaposant des vols conformément aux règles de la convention collective entres les employés et la compagnie aérienne. La deuxième étape construit des blocs mensuels pour les membres d’équipage en combinant les rotations trouvées précédemment avec les repos, et d’autres activités. Chaque bloc mensuel doit satisfaire certaines règles définies par le contrat de travail. Les membres de l’équipage sont divisés en deux groupes selon leurs rôles et leurs responsabilités : les personnels du poste de pilotage et les personnels de la cabine des passagers. Les pilotes, les copilotes et les mécaniciens de bord font partie du personnel du poste de pilotage. Le personnel du poste de pilotage est qualifié pour piloter un avion ou une famille d’avions. Le capitaine de cabine et les agents de bord font partie des membres de la cabine des passagers. Par le passé, les chercheurs se sont concentrés sur la réduction des coûts associés au personnel du poste de pilotage car leurs salaires sont plus élevés que ceux des membres de la cabine des passagers. Dans cette thèse, nous nous concentrons uniquement sur le personnel du poste de pilotage. La construction des blocs mensuels varie pour chaque compagnie aérienne. Toutefois, on peut classer les méthodes en deux catégories : la construction des blocs anonymes (bidline) et la construction des blocs personnalisés. Pour les blocs anonymes, les horaires sont construits de manière à couvrir toutes les rotations sans connaître les préférences des employés. Les blocs sont ensuite présentés aux membres d’équipage qui sélectionnent les blocs qu’ils veulent faire. Contrairement aux blocs anonymes, les blocs personnalisés tiennent compte des préférences des membres de l’équipage. La construction de ces blocs se fait selon deux objectifs : le rostering et les blocs personnalisés avec séniorité (preferrential bidding). Le premier maximise la satisfaction globale des membres d’équipage sans considérer la séniorité. Le second priorise la satisfaction des membres ayant le plus d’ancienneté. D’un point de vue historique, la construction des blocs anonymes a été l’approche la plus utilisée par les compagnies aériennes nord-américaines alors que la construction des blocs personnalisés a été plus fréquente en Europe. Cependant, les blocs personnalisés sont aujourd’hui une approche de planification utilisée par de plus de compagnies aériennes nord-américaines car ils sont plus avantageux à la fois pour les membres de l’équipage et les compagnies aériennes. Par le passé, le problème de construction des rotations et le problème de construction des blocs mensuels ont été modélisés indépendamment. Bien que cette approche réduise la complexité du problème, elle ne considère pas les contraintes de construction de blocs mensuels lors de la construction des rotations. Ce faisant, il n’est pas possible de garantir une solution optimale pour tous les membres de l’équipage. Plus récemment, des chercheurs ont commencé à intégrer ces problèmes. Le problème de construction intégrée de rotations et de blocs mensuels anonymes pour les pilotes a été étudié par Saddoune et al. Cependant, au meilleur de nos connaissances, il n’existe pas de littérature sur le problème d’intégration de construction des rotations et des blocs mensuels personnalisés. Le premier objectif de cette thèse est de présenter une revue de la littérature sur le problème de construction des horaires d’équipage en transport aérien. De plus, nous présentons un modèle mathématique et une approche de résolution pour le problème séquentiel de construction des blocs mensuels personnalisés. Au meilleur de notre connaissance, aucun modèle permettant de prendre en compte les préférences des pilotes n’a été introduit dans la littérature. Nous avons également observé que peu de chercheurs comparent leurs méthodes sur les mêmes données. Nous proposons donc un ensemble d’instances ainsi qu’un générateur de préférences qui est disponible en ligne pour des fins de comparaison. Dans le deuxième objectif de cette thèse, nous considérons le problème intégré de construction des rotations et des blocs mensuels personnalisés. Nous proposons un algorithme heuristique qui construit simultanément des horaires mensuels pour les pilotes et copilotes, tout en respectant les préférences personnelles et les contraintes de sécurité. L’algorithme proposé alterne entre les problèmes de construction des horaires des pilotes et des copilotes afin d’obtenir des rotations similaires, même lorsque les blocs mensuels sont différents. De plus, en raison des perturbations qui arrivent souvent durant l’opération, nous nous sommes intéressés à développer un algorithme permettant d’obtenir une solution robuste ; c’est-à-dire que nous minimisons la propagation de la perturbation d’un premier vol aux autres vols et aux autres membres d’équipage. La troisième contribution de cette thèse vise à satisfaire cet aspect. Pour ce faire, nous résolvons le problème de mise à jour des blocs mensuels simultanément pour les pilotes et les copilotes. Nous visons à maintenir les services de vols et les rotations en commun pour les pilotes et les copilotes dans les solutions de mise à jour. Nous proposons ainsi un algorithme heuristique qui alterne entre le problème de mise à jour des horaires mensuels des pilotes et des copilotes. Pour résumer, cette thèse étudie le problème de construction intégrée des blocs mensuels personnalisés pour les membres de l’équipage. Nous nous concentrons à la fois sur la planification et sur la mise à jour des blocs mensuels.----------ABSTRACT : The airline crew scheduling problem assigns a group of crew members to a set of scheduled flights. This scheduling problem should respect also a set of safety regulations and collective conventions. The airline crew scheduling has received special attention in Operations Research because after fuel, the cost of crew members is the second largest cost for airlines. Due to complexity, traditionally researchers divided this problem into two steps which are solved sequentially: crew pairing and crew assignment. The former constructs a set of minimum cost anonymous feasible pairings for covering the scheduled flights while pairing régulations are taken into account. The latter combines the anonymous pairings with vacations, preassigned activities, and rest periods over a planning horizon (usually a month) to form new schedules for crew members while satisfying safety regulations. Crew members are divided into two groups based on their roles and responsibilities: the cockpit crew members and the cabin crew members. Cockpit crew members are composed of the pilot (captain), copilot (first officer), and flight engineer (for large fleets). The cockpit crew members are qualified to fly one or a family of aircraft types. The cabin crew members are the cabin captain and the flight attendants. Because cockpit crew members are paid substantially higher than cabin crew members, most of the literature has focused on cockpit crew members. In this thesis, we also focus on cockpit crew members composed of pilots and copilots. Despite crew pairings problem which always aims at constructing anonymous pairings, there are two general approaches that airlines consider when solving the crew assignment problem: constructing bidline schedules or personalized schedules. Bidline schedules are anonymous schedules for which the crew preferences and needs are not taken into account. After constructing bidline schedules for crew members, the airlines announce them to the crew members and crew members select the bidlines according to seniority order. In contrast to bidline schedules, personalized schedules consider crew member’s preferences and needs for constructing and allocating the schedules. There are two general ways for constructing personalized schedules: rostering and seniority-based. The former favors providing a maximum global satisfaction for crew members and does not take crew members seniority into account. The latter prioritizes satisfaction of more senior crew members to the junior ones. From a historical point of view, bidline scheduling has been the most common approach at North American airlines whereas personalized scheduling has been more common in Europe. However, personalized schedules are now becoming a common scheduling approach at american airlines by offering advantages for both crew members and airlines. Each of the crew pairing problem and crew assignment problem were modeled independently. This traditional sequential approach reduces the complexity of crew scheduling problem but does not guarantee a global optimum solution for crew members because the constraints of monthly schedules are not taken into account when the pairings are being constructed. More recently, researchers have started to study the integration of the crew pairing and crew assignment problems. The problem of integrated bidline scheduling for pilots has been studied by Saddoune et al. However, integrated personalized crew scheduling for pilots and copilots simultaneously has not been the subject of study so far. The first objective of this thesis is to present an extensive review of literature about airline crew scheduling problem. In addition, in the context of sequential scheduling approach, we present a mathematical model and solution approach for personalized pilot assignment problem. To the best of our knowledge, this personalized assignment model that takes into account the pilots preferences has not yet been introduced in the literature. Furthermore, we observed that researchers frequently do not compare their methods on the same data due to the lack of access to common data sets. Therefore, we made all the data sets and crew preference generators available online which will allow other researchers to do so. As the second objective in this thesis, we consider the integrated personalized crew scheduling problem that simultaneously constructs monthly schedules for pilots and copilots while respecting the personal preferences and safety constraints. In addition, we are interested to maintain the robustness of the crew schedules due to the real-life perturbations that arrive while the planned schedules are being operated. At the operational level, the pilots and copilots must have similar pairings when possible to prevent the propagation of delays throughout the schedules. We present a heuristic algorithm that alternates between the pilot and copilot scheduling problems in order to obtain similar pairings even when the monthly schedules are different. In real life, various disruption sources such as weather conditions may result in delaying or canceling the scheduled flights. These delayed or canceled flights will affect the crew schedules. Due to delay propagation, robust crew recovery problem is very significant. As the third contribution of this thesis, we solve the recovery problem simultaneously for pilots and copilots where the planned schedules are constructed using personalized scheduling approach. We aim at keeping the duties and pairings in common during the recovery solution process. This aim is satisfied by considering heuristic algorithm that alternates between pilots and copilots recovery problems. The re-scheduled flights are considered to be given as an input data.To summarize, this thesis studies integrated personalized crew scheduling problem, in both planning and operational level, which simultaneously constructs/recovers monthly schedules for both pilots and copilots
    corecore