14 research outputs found

    Column generation for a real world vehicle routing problem

    Get PDF
    We present an optimization algorithm we developed for a software provider of planning tools for distribution logistics companies. The algorithm computes a daily plan for a heterogeneous fleet of vehicles, that can depart from different depots and must visit a set of customers for delivery operations. Besides multiple capacities and time windows associated with depots and customers, the problem also considers incompatibility constraints between goods, depots, vehicles and customers, maximum route length and durations, upper limits on the number of consecutive driving hours and compulsory drivers' rest periods, the possibility to skip some customers and to use express courier services instead of the given fleet to fulfill some orders, the option of splitting up the orders, the possible existence of pick-up operations to be performed by empty vehicles traveling back to their depots and the possibility of ``open" routes that do not terminate at depots. Moreover, the cost of each vehicle route is computed through a system of fares, depending on the locations visited by the vehicle, the distance traveled, the vehicle load and the number of stops along the route. We developed a column generation algorithm, where the pricing problem is a particular resource constrained elementary shortest path problem, solved through a bounded bi-directional dynamic programming algorithm. We describe how to encode the cost function and the complicating constraints by an appropriate use of resources and we present computational results on real instances obtained from the software company

    Two-stage column generation

    Get PDF
    We introduce a new concept in column generation for handling complex large scale optimization problems, called two-stage column generation, where columns for the compact and extensive formulation are simultaneously generated. The new framework is specifically conceived for tackling complex problems that cannot be efficiently solved by standard column generation and exploits the Relationship between compact and extensive formulation. In particular, the concept of extensive reduced cost is introduced in order to estimate the contribution of compact formulation variables to the master problem. A formal description of the proposed framework is provided and major theoretical issues are discussed. An example based on the Resource Constrained Shortest Path Problem illustrates how two-stage column generation works when the pricing subproblem satisfies or not the integrality property. The two-stage scheme is applied to the Discrete Split Delivery Vehicle Routing Problem and extensive computational experiments are provided to validate our framework. In particular, computational results show that two-stage column generation reduces the number of generated columns and the computational time for complex instances. The transferability of the designed framework across applications and future research directions are further discussed

    Résolution du problème de construction des horaires mensuels d’une compagnie aérienne avec la méthode d’exploration de voisinage d’un ensemble initial de clusters

    Get PDF
    RÉSUMÉ : Les compagnies aériennes ont eu recours à la recherche opérationnelle pour résoudre efficacement une partie de leurs problèmes de gestion et de planification. Parmi ces derniers, on trouve le PCHMME (problème de construction d’horaires mensuels des membres d’équipage). Ce problème consiste à construire un horaire mensuel pour chaque membre d’équipage en lui affectant un ensemble de rotations ainsi que d’autres tâches telles que les vacances et les formations afin de construire un horaire mensuel pour ce membre. Une rotation représente une succession de vols séparés par des périodes de repos. Une rotation débute et se termine dans la même base (aéroport). L’horaire construit doit respecter l’ensemble des règles gouvernementales, les règles de la convention collective, etc. L’ensemble de rotations est construit durant une étape antérieure. Le problème de construction des horaires est un problème combinatoire et dont la complexité croît exponentiellement avec la taille du problème et le nombre de règles à respecter. La compagnie AD OPT offre des produits d’optimisation dans le domaine du transport aérien. Un de ces produits est dédié à la résolution du PCHMME. Ce dernier est basé sur un solveur qui utilise la programmation linéaire, en particulier l’approche de la génération de colonnes. L’objectif principal de ce travail est d’améliorer le temps de résolution du PCHMME pour une compagnie aérienne donnée. Cette dernière est classée parmi les plus grandes compagnies aériennes au monde suivant un classement basé sur la taille de la flotte et le nombre d’employés. La taille du PCHMME correspondant est alors très grande. Le personnel de cabine de cette compagnie est classifié dans des catégories telles que la catégorie CM qui regroupe les chefs de cabine et la catégorie FA qui regroupe la grande majorité du reste des membres de cabine. La caractéristique la plus importante pour le présent travail qui distingue ces deux catégories est la taille. En effet, la taille de la catégorie FA est beaucoup plus grande que celle de la catégorie CM. Le PCHMME est résolu d’une manière séquentielle, catégorie par catégorie. Dans ce travail, on propose l’utilisation de la solution de la catégorie CM afin d’accélérer la résolution de la catégorie FA, car la durée de résolution de cette dernière est beaucoup plus longue que celle de la catégorie CM. À partir de la solution de la catégorie CM, on construit un ensemble de clusters qui regroupe les rotations du problème de FA. Chaque cluster représente une succession de rotations. L’ensemble de clusters servira de cible durant la résolution des sous-problèmes de la catégorie FA. Seulement les chemins qui sont au voisinage de cet ensemble seront générés, ce qui permet de réduire le temps de résolution des sous-problèmes. Plusieurs méthodes ont été proposées afin de construire cet ensemble de clusters. Une de ces méthodes est basée sur l’utilisation d’un algorithme de flot à coût minimum pour obtenir un ensemble de clusters avec une cardinalité minimale. Au niveau de la résolution de la catégorie FA, on propose une approche améliorée de la génération de colonnes avec la MEV (méthode d’exploration de voisinage). Cette méthode est implémentée au niveau du sous-problème et permet de ne générer que les colonnes qui sont au voisinage de l’ensemble initial de clusters. On a également proposé plusieurs versions de la MEV pour déterminer la taille du voisinage à explorer durant la résolution des sous-problèmes. Parmi ces versions, on trouve la version dynamique de la MEV qui permet de déterminer une distance maximale permise par rapport à l’ensemble initial de clusters avant chaque résolution de sous problème. Cette valeur est déterminée suivant le nombre et la qualité des colonnes générées. La MEV permet également aux membres de la catégorie FA d’avoir un nombre minimum de chefs durant le mois. Cela a un impact positif sur la productivité de l’employé. La MEV n’a pas donné de bons résultats pour la compagnie étudiée, car cette dernière a plusieurs particularités qui nuisent à la MEV. Pour cette raison, on a proposé un raffinement de données afin de produire des données qui ressemblent plus aux celles des autres compagnies qui ont moins de caractéristiques qui vont à l’encontre de la MEV. Après avoir testé avec les nouvelles données, on n’a pas obtenu l’amélioration attendue. Ceci est dû à une mauvaise interaction entre la MEV et des algorithmes utilisés au niveau de l’approche de résolution existante dans le produit d’AD OPT.----------ABSTRACT : Airlines have used operational research to effectively resolve some of the management and planning issues they face. Among these, we find the crew rostering problem CRP which consists in assigning for each given crew member, a set of pairings as well as other tasks such as vacations and training in order to build a monthly schedule for this crew member. The schedule built must comply with all government rules and the rules of the collective agreement. The set of pairings is built during an earlier stage (a pairing represents a succession of flights and starts and ends at the same airport). The CRS is a combinatorial problem and its complexity increases proportionally with the size of the problem and the number of rules to be respected. The company AD OPT offers optimization products in the aviation sector. One of these products is dedicated to the resolution of CRP. The latter is based on a solver that uses linear programming, in particular the column generation approach. The main objective of this work is to improve the time consumption of CRP for a given airline. This airline is ranked among the largest airlines in the world according to a ranking based on the size of the fleet and the number of employees. Therefore the size of the corresponding CRP is very large. The cabin crew members of this company are classified into categories and their CRP is solved sequentially category by category. In this work, we focus on the category of the cabin managers and the FA category which represents the rest of the members. These two categories have a lot in common, for that reason, we propose to use the solution of the cabin managers category in order to speed up the resolution of the FA category because the size of the latter is larger and takes much longer to solve. From the solution of the cabin managers category, we build a set of clusters which groups together the pairing of the FA problem. Each cluster represents a succession of pairings. The set of clusters is used as a target during the resolution of sub-problems of FA category. Only paths in the neighborhood of this set will be generated. This will reduce solving time of the subproblems. Several methods have been proposed in order to build this set of clusters. One of these methods is based on the use of a minimum cost flow algorithm to obtain a set of clusters with minimum cardinality. To resolve the FA category, we propose an improved approach of the column generation method. This approach is based on a neighborhood search method (NSM). This method is implemented at the subproblem level and only generates the columns which are in the neighborhood of the initial set of clusters. Several versions of the NSM have been proposed in order to determine the size of the neighborhood to explore during the resolution of the sub-problems. Among these versions, there is the dynamic one which determines before each resolution of the sub-problems, a maximum distance allowed with respect to the initial set of clusters. This value represents the size of the neighborhood to explore and it is determined according to the number and quality of the columns generated. After testing with the new data, we did not get the expected improvements. This is due to the harmful e˙ects of the dominance heuristic. This heuristic eliminates paths in a quasi-random way during the resolution of the sub-problems. The NSM also allows FA members to have a minimum of change of managers, during the month. This has a positive impact on the productivity of the employee. The NSM did not give very improving results for the company studied because the latter has several characteristics which harm the process of the NSM. For this reason, a refinement of data has been proposed to produce data that have less characteristics which go against NSM which and it is more like other companies data. After testing with the new data, we did not get the expected improvements. This is principally due to the harmful effect of the existing heuristics

    Solutions initiales du problème de rotations d’équipages avec un modèle de programmation linéaire

    Get PDF
    Résumé Ce mémoire traite du problème de rotations d’équipages d’une compagnie aérienne. Le problème de rotations d’équipages est important pour les transporteurs aériens, car il doit être résolu lors de la confection des horaires mensuels des membres d’équipages. En effet, la masse salariale constitue le plus gros chapitre des dépenses après celui des coûts du carburant. De surcroît, il s’agit d’un problème majeur qui est également très difficile à résoudre. Le projet porte sur le problème de rotations d’équipages affectant le personnel technique. Pour les exemplaires étudiés, ce problème concerne environ 2000 vols par semaine, réalisés par de court et moyen-courrier. L’objectif principal du projet est de trouver une solution initiale de qualité au problème de rotations d’équipages. L’objectif secondaire du projet est de définir les vols qui ont de fortes chances de se trouver dans une même rotation d’équipage de la solution optimale, et ce, afin de les regrouper. On cherchera donc les meilleures agrégations de l’ensemble des segments de vol à couvrir, ce qui permettra de guider les algorithmes de résolution du problème de rotations d’équipages de notre partenaire industriel afin de trouver plus rapidement des solutions proches de l’optimum. Dans un premier temps, le problème de rotations d’équipages est modélisé à l’aide d’un programme linéaire, lequel a été développé en tenant compte des contraintes imposées par le problème de rotations d’équipages. Le programme linéaire est similaire `a un problème de flot ce qui permettra de tirer avantage de la forte structure de flot du problème de rotations d’équipages. Pour obtenir des temps de calcul raisonnables, le programme linéaire est résolu en nombres réels et la résolution de ce programme est réalisée avec CPLEX. Dans un deuxième temps, la solution optimale du programme linéaire en nombres réels est utilisée pour trouver de bonnes solutions initiales au problème de rotations d’équipages ainsi qu’une agrégation de l’ensemble des segments de vol à couvrir.----------Abstract This masters’ project is about crew scheduling in the airline industry. More specifically, the problem at hand is the crew pairing problem, which is of crucial importance for the airline industry as the payroll expenses are second only to fuel cost. Additionally, the crew pairing problem is a huge and extremely complex problem to solve. The project is about solving weekly crew pairing instances. The instances come from the airline industry and deal more precisely with the technical crews. There are on average 2000 flight segments in the different instances and they are composed of short and medium haul flights. The main objective is to find a good initial solution to the crew pairing problem. The secondary objective is to find legs that are likely to be found in the same rotation in the optimal solution, in order to find an aggregation that is as close as possible to those clusters. Both the initial solution and the aggregation will be used to speed up our industrial partner algorithm used to solve the crew pairing problem. First, the crew pairing problem is modeled as a linear program. This program takes into account the main constraints of the crew pairing problem and is close to a network flow problem in order to take advantage of the strong underlying network structure of the crew pairing problem. In order to have low computation times, the linear program is solved without the integer constraints on the variables and CPLEX is used to solve the linear program. Second, the linear program optimal solution is used to compute an initial solution for the crew pairing problem as well as an aggregation of the flight legs to cove

    Couplage des méthodes d'agrégation dynamique de contraintes et de stabilisation pour résoudre le problème d'horaires de véhicules avec dépôts multiples.

    Get PDF
    Résumé La méthode de génération de colonnes est très utilisée pour résoudre des problèmes de programmation linéaire. Cependant elle présente des faiblesses face aux effets de la dégénéréscence rencontrée sur certains problèmes de grande taille. Plusieurs approches ont été proposées pour contrer ses effets négatifs, en particulier l'agrégation dynamique de contraintes et la stabilisation des variables duales. Ce travail propose une méthode permettant de coupler ces deux approches pour les problèmes de partitionnement d'ensemble afin de tirer parti de leurs effets combinés. La dégénéréscence apparaît lorsque le polytope des solutions réalisables contient des points extrêmes associées à plusieurs bases, ou de manière équivalente lorsque des solutions basiques contiennent des variables en base nulles. L'idée de l'agrégation dynamique de contraintes est de travailler avec une restriction du problème original qui comporte moins de contraintes. En conséquence, la taille des bases est réduite ainsi que le nombre de variables de base nulles. Cependant, la réduction du nombre de contraintes entraîne une perte d'information duale. Une des difficultés majeures de cette méthode est de désagréger l'information duale partielle disponible afin d'obtenir une solution duale au problème original. Elhallaoui et al. (2005) montrent que pour les problèmes de partitionnement d'ensemble, il est possible d'effectuer cette opération en résolvant un problème de plus court chemin. La méthode de stabilisation des variables duales propose quant à elle de pénaliser une grande partie de l'espace dual. Comme chaque base est associée à une solution duale, on évite ainsi l'exploration des bases les plus pénalisées. Cependant, le problème ainsi « stabilisé » est une relaxation du problème original. Pour résoudre ce dernier à l'optimalité, il faut résoudre une suite de problèmes stabilisés. Coupler les méthodes d'agrégation dynamique de contraintes et de stabilisation des variables duales revient à réduire le nombre de contraintes des problèmes stabilisés. Malheureusement, l'information duale ainsi obtenue est partielle non seulement pour les contraintes du problème original, mais aussi pour la pénalité. Dans ce travail, nous montrons comment désagréger l'information duale par la résolution d'un problème de plus court chemin pour les problèmes de partitionnement d'ensemble stabilisés . Cette nouvelle méthode est appliquée au problème d'horaires de véhicules avec dépôts multiples (MDVSP). C'est un problème de partitionnement d'ensemble auquel s'ajoutent des contraintes supplémentaires limitant le nombre de véhicules disponibles par dépôt. La taille des instances utilisées varie entre 500 et 3000 tâches. On obtient une réduction des temps de calcul d'un facteur d'environ 2 pour la résolution de la relaxation linéaire sur les instances de grande taille.----------Abstract Column generation is a widely used method for solving linear programming problems. It is very efficient but shows some weaknesses when faced with highly degenerate problems. Stabilization of dual variables and dynamic constraint aggregation are two examples of approaches used to damp the effects of degeneracy. This work shows how two combine the strength of both for set-partitioning problems. Degeneracy occurs when the polyhedron of feasible solutions contains degenerate extreme points. An extreme point is degenerate when it can be described by multiple basis, which means that these basic solutions contain basic variables with zero value. The idea behind dynamic constraint aggregation is to use a restricted problem with fewer constraints. Thus the size of the basis is reduced along with the number of zero variables. However some dual information is lost when reducing the number of constraints. The challenge of this method is to desaggregate the partial dual information and compute a dual solution for the original problem. For set-partitioning problems, Elhallaoui et al. (2005) shows that this computation can be done by solving a shortest-path problem. Dual variables stabilization consists of penalizing most of the dual space. Since every basis is associated with a dual solution, this amounts to prevent the exploration of most penalized basis. Yet such a “stabilized” problem is a relaxation of the original one. In order to find an optimal solution, a sequence of stabilized problems needs to be solved. Stabilization and dynamic constraint aggregation are brought together by reducing the number of constraints of stabilized problems. Unfortunately, this yields to partial dual information not only for the removed constraints, but also for penalty values. In this work, we show how to disaggregate dual information by solving a shortest-path problem for stabilized set-partitioning problems. This new method is applied to the multiple depot vehicle scheduling problem (MDVSP). It is a set-partitioning problem with side constraints that limit the number of vehicles used from each depot. Experiments were conducted on randomly generated instances which sizes range between 500 and 3000 tasks. Results show a reduction of computational times by a factor 2 approximately for large instances

    Two dimensional search algorithms for linear programming

    Get PDF
    Linear programming is one of the most important classes of optimization problems. These mathematical models have been used by academics and practitioners to solve numerous real world applications. Quickly solving linear programs impacts decision makers from both the public and private sectors. Substantial research has been performed to solve this class of problems faster, and the vast majority of the solution techniques can be categorized as one dimensional search algorithms. That is, these methods successively move from one solution to another solution by solving a one dimensional subspace linear program at each iteration. This dissertation proposes novel algorithms that move between solutions by repeatedly solving a two dimensional subspace linear program. Computational experiments demonstrate the potential of these newly developed algorithms and show an average improvement of nearly 25% in solution time when compared to the corresponding one dimensional search version. This dissertation\u27s research creates the core concept of these two dimensional search algorithms, which is a fast technique to determine an optimal basis and an optimal solution to linear programs with only two variables. This method, called the slope algorithm, compares the slope formed by the objective function with the slope formed by each constraint to determine a pair of constraints that intersect at an optimal basis and an optimal solution. The slope algorithm is implemented within a simplex framework to perform two dimensional searches. This results in the double pivot simplex method. Differently than the well-known simplex method, the double pivot simplex method simultaneously pivots up to two basic variables with two nonbasic variables at each iteration. The theoretical computational complexity of the double pivot simplex method is identical to the simplex method. Computational results show that this new algorithm reduces the number of pivots to solve benchmark instances by approximately 40% when compared to the classical implementation of the simplex method, and 20% when compared to the primal simplex implementation of CPLEX, a high performance mathematical programming solver. Solution times of some random linear programs are also improved by nearly 25% on average. This dissertation also presents a novel technique, called the ratio algorithm, to find an optimal basis and an optimal solution to linear programs with only two constraints. When the ratio algorithm is implemented within a simplex framework to perform two dimensional searches, it results in the double pivot dual simplex method. In this case, the double pivot dual simplex method behaves similarly to the dual simplex method, but two variables are exchanged at every step. Two dimensional searches are also implemented within an interior point framework. This dissertation creates a set of four two dimensional search interior point algorithms derived from primal and dual affine scaling and logarithmic barrier search directions. Each iteration of these techniques quickly solves a two dimensional subspace linear program formed by the intersection of two search directions and the feasible region of the linear program. Search directions are derived by orthogonally partitioning the objective function vector, which allows these novel methods to improve the objective function value at each step by at least as much as the corresponding one dimensional search version. Computational experiments performed on benchmark linear programs demonstrate that these two dimensional search interior point algorithms improve the average solution time by approximately 12% and the average number of iterations by 15%. In conclusion, this dissertation provides a change of paradigm in linear programming optimization algorithms. Implementing two dimensional searches within both a simplex and interior point framework typically reduces the computational time and number of iterations to solve linear programs. Furthermore, this dissertation sets the stage for future research topics in multidimensional search algorithms to solve not only linear programs but also other critical classes of optimization methods. Consequently, this dissertation\u27s research can become one of the first steps to change how commercial and open source mathematical programming software will solve optimization problems

    Un algorithme du simplexe primal amélioré pour des programmes linéaires dégénérés

    Get PDF
    Algorithme du simplexe -- Réduction du problème -- Dégénérescence -- A new version of the improved primal simplex for degenerate linear programs -- Background -- Solving the complementary problem -- New strategies and parameter values to speed up IPS -- Improved primal simplex method version 3 : cold start, generalization for bounded variables problems, new implementation -- Contributions -- Computational experiments -- A pricing criterion to identify non degenerate pivots -- Reduced problem -- Positive edge rule -- Applications

    Agrégation dynamique de contrainte pour la construction de blocs mensuels personnalisés dans un contexte d'équité

    Get PDF
    Terminologie -- Vue d'ensemble de la planification des opérations en transport aérien -- Planification des vols -- Assignation de la flotte -- Construction des rotations d'avion -- Construction des rotations d'équipage -- Construction des horaires mensuels -- Gestion des perturbations -- Définition détaillée du problème de construction des blocs mensuels personalisés avec équité -- Contraintes locales -- Contraintes globales -- Fonction objectif -- Objectifs du mémoire -- Modes de construction des horaires mensuels -- Bidline -- Rostering -- preferential bidding -- Méthodes de résolution -- Métaheuristiques -- Modèle de partionnement d'ensemble -- Approche par lignes -- Approche par colonnes -- Approches réseau -- Algorithme de recherche taboue -- Heuristiques -- Algorithme utilisé -- Description générale de la méthode -- Techniques d'implantation -- Approche générale -- Espace des solutions -- Fonction objectif -- Calcul par incrément de la fonction objectif -- Voisinages -- Solution initiale -- Liste taboue -- Génération de colonnes et agrégation dynamique de contraintes -- Modélisation du problème -- Une approximation du problème -- Génération de colonnes -- Modélisation du sous problème -- Réseau personnalisé -- Calcul des bornes pour les niveaux de flexibilité -- Résolution des sous problèmes -- Modèle avec la fonction objectif tronquée -- Agrégation dynamique de contraintes -- Description de la méthode -- Application de MPDCA au CBMPE -- Expérimentation numériques -- Instances traités -- Résultats de l'algorithme tabou -- Résultat de la génération de colonnes -- Modèle avec fonction en escalier -- Modèle avec fonction tronquée -- Résultats de l'agrégation dynamique

    Treatment of Degeneracy in Linear and Quadratic Programming

    Get PDF
    RÉSUMÉ : Dans cette thèse, nous considérons la résolution de problèmes d’optimisation quadratique dégénérés sur base de techniques initialement développées pour l’optimisation linéaire, ca-pables de tirer avantage de la dégénérescence. Nous commençons par améliorer l’efficacité de la règle de pivotage positive edge en fournissant une implémentation basée sur le logiciel libre CLP. Nous proposons ensuite le logiciel de haut niveau CyLP permettant de définir et d’expérimenter facilement avec de nouvelles règles de pivotage pour la méthode du Simplexe. CyLP offre de plus des services de modélisation puissants réduisant l’effort nécessaire à la modélisation de problèmes linéaires, en variables entières et quadratiques. À l’aide de CyLP, nous appliquons la règle positive edge à la variante du Simplexe suggérée par Wolfe pour résoudre les problèmes quadratiques. Nous incorporons également positive edge dans une méthode de gradient réduit. Nos tests démontrent l’efficacité de positive edge sur les problèmes quadratiques pour lesquels le terme linéaire est dominant. Chaque méthode est capable de fournir des niveaux substantiels d’accélération sur un certain sous-ensemble de problèmes lorsqu’elle est équipée de positive edge. Nous suggérons des pistes de recherche pour la conception de nouvelles méthodes qui incorporent positive edge et accélèrent la résolution sur une plus large gamme de problèmes.----------ABSTRACT : We consider solving degenerate quadratic programs (QPs) by means of degeneracy-benefiting techniques designed for linear programs (LPs). Specifically, we use a Simplex pivot method, called positive edge, that is able to take advantage of degeneracy in LPs. First, we improve the efficiency of the positive edge method by providing an internal implementation of it using CLP—an open-source LP solver. In the next stage, we develop a software, called CyLP, which allows easy definition of, and experimentation with, Simplex pivot rules. In addition, CyLP has a powerful modeling facility that reduces the effort of modeling LPs, mixed-integer programs (MIPs), and QPs. Using CyLP, we apply the positive edge rule to Wolfe’s method—a Simplex-like method for QPs. We also incorporate positive edge into a reduced-gradient method. Our experiments demonstrate the effectiveness of positive edge on QPs with relatively large linear terms. Each method is able to yield substantial improvements on a subset of test problems. We provide research leads to devise novel methods that incorporate the positive edge rule and are more generally applicable
    corecore