# INAUGURAL-DISSERTATION zur Erlangung der Doktorwürde der Naturwissenschaftlich-Mathematischen Gesamtfakultät der Ruprecht-Karls-Universität Heidelberg

Save this PDF as:

Size: px
Start display at page:

Download "INAUGURAL-DISSERTATION zur Erlangung der Doktorwürde der Naturwissenschaftlich-Mathematischen Gesamtfakultät der Ruprecht-Karls-Universität Heidelberg"

## Transcription

1 INAUGURAL-DISSERTATION zur Erlangung der Doktorwürde der Naturwissenschaftlich-Mathematischen Gesamtfakultät der Ruprecht-Karls-Universität Heidelberg vorgelegt von Ingenieur-Informatik Van Hoai Tran aus Quang Tri, Vietnam Tag der mündlichen Prüfung: 2. Juni 2005

2

3 Thema Solving Large Scale Crew Pairing Problems Gutachter: Gutachter: Prof. Dr. Gerhard Reinelt Prof. Dr. Dr. h. c. Hans Georg Bock

4

5 Abstract Crew pairing is one of the most critical processes in airline management operations. Taking a timetable as input, the objective of this process is to find an optimal way to partition flights of the timetable without breaking rules and regulations which are enforced by an airline. The problem has attracted many scientists in recent decades. The main challenge is that there is no general method to work well with all kinds of non-linear cost functions and rules. In order to overcome the non-linearity, the thesis follows a main idea to transfer this combinatorial optimization problem to a set partitioning problem which is one of the most popular N P-hard problems. Although this problem has been studied throughout decades, it becomes more complicated with the increasing size of the input. The complication is induced not only in the transformation process, but also in the methods to solve the resulting set partitioning problem. Finding quickly a good and robust solution for large scale problems is more and more critical to airlines. They are the main targets which are studied by the thesis. The thesis presents exact methods which are usually based on a branch-and-bound scheme. A branch-and-cut approach applies preprocessing techniques, cutting plane generation methods, and heuristics which are suitable for crew pairing problems. The implementation can solve small and medium sized problems. However, for large problems, a branch-and-price approach is necessary to cope with huge constraint matrices. The thesis improves the weakness of standard column generation methods by applying stabilized column generation variants with sophisticated parameter control schemes into this approach. The computation time is reduced significantly by a factor of three. Moreover, the work also focuses on the extensibility of the methods. This is quite important for large scale problems. Then, we easily obtain a heuristic solution method by controlling running parameters of the presented approaches or combining them together. Utilizing the available computing resources to deal with large scale crew pairing problems as effective as possible is also a target of the thesis. A new parallel branchand-bound library is developed to support scientists to solve combinatorial optimization problems. With little effort, they can migrate their sequential codes to run on a parallel computer. The library contains several load balancing methods and control parameters in order to work well with specific problems. The sequential branch-and-cut code to solve set partitioning problems is parallelized by the library and introduces a good speedup for most crew pairing test problems. Parallel computing is also used to solve a so-called pricing subproblem, which is the most difficult problem in the branch-andprice approach, with a nearly linear speedup. The implementation solves large scale crew pairing problems to optimality within minutes, whereas previous methods ended up in the range of hours or more.

6 Zusammenfassung Im operativen Betrieb von Fluglinien stellt das Crew-Pairing-Problem eine der grössten Herausforderungen dar. Dieses Problem besteht darin, ausgehend von einem Flugplan, eine optimale Aufteilung der Flüge des Flugplans zu finden, ohne aber Regeln und Vorschriften zu verletzen, die von der Fluggesellschaft eingehalten werden müssen. Crew-Pairing ist Gegenstand intensiver Forschung im Bereich der Mathematik und der mathematischen Informatik. Die besondere Schwierigkeit resultiert aus der hohen Anzahl unterschiedlich formulierter nichtlinearer Kostenfunktionen und Nebenbedingungen. Diese machen die Entwicklung einer generischen, allgemein anwendbaren Methode sehr problematisch. Ein bekannter Ansatz zur Behandlung der auftretenden Nichtlinearitäten ist die Umformulierung des kombinatorischen Crew-Pairing-Problems in ein Set-Partitioning Problem, welches wiederum eines der am intensivsten studierten N P-schweren Probleme ist. Viele spezielle Strukturen des Set-Partitioning-Problems sind seit Jahrzehnten Forschungsthema und fanden bereits Anwendung bei der Lösung von Crew-Pairing- Problemen. Allerdings steigt die Komplexität des Problems mit der Grösse der Flugpläne stark an. Dies liegt nicht nur an der mathematischen Umformulierung, sondern insbesondere auch an den Methoden, die eingesetzt werden, um die resultierenden Set- Partitioning-Probleme zu lösen. Dabei ist das schnelle und zuverlässige Auffinden von Lösungen für sehr grosse Probleme von zunehmender Bedeutung für die Fluggesellschaften, gerade vor dem Hintergrund der aktuellen Krise in der Luftfahrt und dem daraus resultierenden steigenden Kostendruck. Das schnelle und zuverlässige Auffinden von Lösungen ist Ziel der vorliegenden Arbeit. Es werden exakte Methoden vorgestellt, die auf dem allgemeinen Branch-and- Bound Schema basieren. Ein hier vorgestellter Branch-and-Cut Ansatz verwendet häufig eingesetzte Preprocessing-Techniken, Cutting-Plane Methoden, sowie spezielle Heuristiken für das Crew-Pairing Problem. Die Implementierung dieses Schemas löst kleine und mittelgrosse Probleme sehr gut. Für sehr grosse Probleme allerdings reicht dieser Ansatz nicht aus. Hierfür wurde ein spezieller Branch-and-Price Ansatz entwickelt, der mit hochdimensionalen Nebenbedingungsmatrizen umgehen kann. Dabei werden in der vorliegenden Arbeit Nachteile von Standardverfahren zur Column-Generation durch den Einsatz von stablilisierten Column-Generation-Verfahren kompensiert, für die eine problemspezifische Parametrierung vorgestellt wird. Die Rechenzeit für betrachtete Probleme konnte mit dieser Technik um den Faktor drei reduziert werden. Darüberhinaus wurde zusätzlich zu den üblichen Leistungsmerkmalen grosser Wert auf die Erweiterbarkeit der Methoden gelegt. Dies ist ein wichtiger Aspekt in Hinblick auf reale, sehr grosse Probleme. Eine heuristische Lösung spezifischer Crew-Pairing Probleme kann dann relativ leicht durch Anpassen der Programmparameter und durch die Kombination der erwähnten Methoden erhalten werden. Ein weiteres Ziel dieser Arbeit ist die möglichst effektive Nutzung vorhandener Rechnerressourcen beim Lösen von grossen Crew-Pairing-Problemen. Eine neue Bibliothek von Parallelisierungsroutinen wurde entwickelt, um zukünftig das Bearbeiten

7 von solchen kombinatorischen Optimierungsaufgaben zu erleichtern und zu beschleunigen. Mit nur geringem Aufwand kann nun ein sequentielles Programm auf einen Parallelrechner migriert werden. Die Bibliothek bietet mehrere Load-Balancing Methoden und Programmparameter an, um die Parallelisierung an das spezifische Problem anzupassen. Die sequentielle Branch-and-Cut Methode liegt ebenfalls als parallelisierte Variante in der Bibliothek vor. Weiterhin wurden Parallelisierungstechniken auf das sogenanntes Pricing-Unterproblem übertragen, dessen Berechnung im übergeordneten Branch-and-Price Verfahren die grössten Schwierigkeiten bereitet. Sämtliche Parallelisierungsansätze zeigen in den betrachteten Beispielen gute Ergebnisse. Mit Hilfe der aktuellen Implementierung kann eine optimale Lösung grosser Crew-Pairing Probleme innerhalb von Minuten gefunden werden, während bisherige Methoden eine Rechenzeit von bis zu Stunden aufweisen.

8 Contents Introduction 1 Outline of the thesis Acknowledgments Notations and Foundations Linear Algebra Graph Theory Convex Programming Polyhedral Theory The Simplex Method Integer Programming Branch-and-Bound Parallel Computing The Crew Pairing Problem Airline Management Operations Characteristics of the Crew Pairing Problem Literature Survey Pairing generation Methods A Case Study: Vietnam Airlines A Branch and Cut Approach Set Partitioning Model Set packing and set covering models Crew pairing to set partitioning problem Facial Structure of Set Partitioning Polytope Set packing facets Set covering facets Computational Issues Data structure Preprocessing Branch-and-bound i

9 3.3.4 Cutting plane generation Primal heuristics Computational results A Branch-and-Price Approach Column Generation Method Column generation for linear programs Dantzig-Wolfe decomposition principle Branching Pricing Subproblem in Crew Pairing Problem The resource constrained shortest path problem K shortest paths problem Constraint logic programming Hybrid approach Computational Issues Test problems Initial solution Branching Pricing subproblem Primal heuristics Computational results Stabilized Column Generation Method Generalized stabilized column generation method Computational results Parallel ABACUS Aspects of Parallelization Communication library Task granularity Pool of nodes and load balancing Object oriented design Object serialization New Communication Design Termination detection New Load Balancing Parallel Set Partitioning Solver Parallelizing the sequential code Computational results A Parallel Pricing for the Branch and Price Approach Parallelizing Sequential Pricing Algorithms Aspects of Implementation Computational Results ii

10 7 Conclusions 133 Index 144 iii

11 List of Tables 2.1 Aircraft types and their numbers of flight legs (Sep 6, 2004 Sep 13, 2004) Flight duty limitation Set partitioning test problems solved by the branch-and-cut code Branch-and-bound enumeration strategies Computational results of the branch-and-cut code with default strategy Two additional sets of crew pairing problems, including their computational results of the branch-and-cut code Performance of different pricing methods to solve the root node of the crew pairing problems Computational results of the branch-and-price code The first variant of the sliding BoxStep method with δb = The second variant of the sliding BoxStep method with δb = The stationary BoxStep method with the initial δ = Computational results of the branch-and-price code with the stabilized methods Computational results of the parallel set partitioning solver with the default settings Computational results for randomly generated test problems Computational results of the parallel set partitioning solver with early branching Computational results of the parallel set partitioning solver with multibranching The branch-and-price code with the parallel pricing, using 32 slaves iv

12 List of Figures 2.1 An example timetable for a crew pairing problem Scheduling steps in Vietnam Airlines Operational flight network for each aircraft category. (Note that home bases are denoted by shaded ellipses.) The zero-one matrix of the example shown in Section is stored in a set of sparse format rows and in a set of sparse format columns Nonzero coefficients of the constraint matrix of the problem sppnw Two pairings cover the same group of flights, creating two duplicated columns in the set partitioning model Two flights are covered by the same group of pairings. The second flight is covered by an additional pairing p Decomposing a pairing into 3 sub-pairings The flight network for randomly generated flight sets The network model of the pricing subproblem The flight network for the third set of crew pairing test problems opt heuristic Scrolling heuristic Merging heuristic Behavior of the dual values in standard method Behavior of the dual values in the sliding BoxStep methods, where δb = 16 for the first variant, and δb = 128 for the second variant Number of LPs solved with respect to δb in the sliding BoxStep methods Behavior of the dual values in the stationary BoxStep method with the initial δ = Number of LPs with respect to different δ in the stationary BoxStep method Architecture of the parallel ABACUS on a processor The speedups and % Idle of the parallel set partitioning solver in branchand-bound mode Search trees of nw04 using 8 processors v

13 6.1 Performance visualization of the sequence numbering technique, using 9 processors to solve vircpp The speedups of the branch-and-price code with the standard column generation method The speedups of the branch-and-price code with the stabilized column generation methods vi

14 List of Algorithms The (primal) simplex method A tabu search algorithm A simulated annealing algorithm A genetic algorithm A cutting plane algorithm A general branch-and-bound algorithm Tung s heuristic for the crew pairing problem genrow( N i, V ) Dive-and-fix heuristic Near-integer-fix heuristic A standard column generation method A simple forward dynamic programming algorithm Nonblocking receive function Nonblocking send function Branch-and-bound loop with communication functions Cutting and pricing loop with communication functions Sequence numbering technique vii

15 Introduction Crew pairing is one of the most critical processes in airline management operations. Taking a timetable as input, the objective of this process is to find an optimal way to partition flights of the timetable without breaking rules and regulations which are enforced by an airline. The difficulties of the problem stay in its inherent properties which have attracted many scientists in recent decades. Dealing with highly non-linear cost functions and rules is always the main topic in this area. The challenge is that there is no general method to work well with all kinds of non-linearity. In order to overcome the non-linearity, one well-known approach is to transfer this combinatorial optimization problem to a set partitioning problem which is one of the most popular N P-hard problems (Garey and Johnson, 1979). The resulting problem is similar to the process to group elements of a set into subsets governed by additional rules and to maximize the profit from the grouping. Many special structures of the set partitioning problem have been studied throughout decades and even applied into solving the crew pairing problem. However, the problem becomes more complicated with the increasing size of the input. The complication is induced not only in the transformation process, but also in the methods to solve the resulting set partitioning problem. Although the solution methods are likely to process efficiently small crew pairing problems, they are quite time-consuming with large ones. Moreover, finding quickly a good and robust solution is more and more critical to airlines. They are the main targets which will be studied by the thesis. Having been investigated for a long period, the crew pairing problem is possibly solved by variety of methods. Generally, they can fall into one of two categories: nonexact or exact methods. Although, from a practical point of view, a better solution is preferred, it is difficult to obtain it in a reasonable execution time and with an available computing resource as well. Therefore, non-exact methods often select a heuristic approach to find a good solution rapidly. By contrast, the thesis will present exact methods which are usually based on the branch-and-bound scheme. The thesis will discuss new advanced algorithms and techniques to obtain the optimal solution. Furthermore, we easily obtain a heuristic solution method by controlling their running parameters or combining them together. Branch-and-cut and branch-and-price are well-known in the area of combinatorial optimization. In the literature, there are several good results using them to solve the crew pairing problem. Looking back to them, the thesis will present new combinations to create good solution methods. Moreover, along with considering performance as- 1

16 pects, the work also focuses on the extensibility of the methods. This is quite important for large scale problems which have been previously mentioned to be of our interest. Parallel computing is becoming an important part in scientific computing which has emerged as a key technology recently. Although efficient sequential algorithms can provide us with good solutions for crew pairing problems, they cannot utilize much computing resources to deal with large scale crew pairing problems. Solving them in a short time is more demanding, and parallel computing is a good choice in such a case. However, in order to apply it into a specific problem or method, a careful study on sequential methods should be made in advance. Next, the order and overview of the thesis will be outlined in order to present how the methodological aspects to be applied to the crew pairing problem. Outline of the thesis Chapter 1 starts with notations which will be used throughout the thesis. But, the more important substances of the chapter are fundamental theories, algorithms and methods in order to provide useful information to understand other chapters of the thesis. Most of them will be used as the base of the work, and especially, included into implementations. The crew pairing problem will be described in more details in Chapter 2, including its definition, and main inherent characteristics which make the problem of one airline different from that of another. The literature survey is presented in this chapter in which well-known methodological approaches of the problem will be considered along with their strong and weak points. However, the thesis will emphasize on the exact methods which have been motivated in the introduction. In addition, the chapter will also give a case study, Vietnam Airlines, as a test problem for testing aspects of methodology and implementation of the work. Branch-and-cut is always one of the most favorite methods to fight a combinatorial optimization problem. An approach presented in Chapter 3 adopts this solution method to solve the crew pairing problem. The implementation in this chapter applies the well-known theory on the facet structure of set partitioning polyhedra. Moreover, other techniques which are widely used in the context of the set partitioning problem are also engaged to accelerate the solution process. Chapter 4 shows a different approach whose main idea is based on the column generation scheme. Observing the difficulties met by branch-and-cut, branch-andprice only works on a subset of variables, and the remaining will be considered by a so-call pricing subproblem if needed. With this clever idea, the method is expected to work efficiently with larger problems. The chapter details methods for the pricing subproblem which dominates the total computation time. In the context of the crew pairing problem, this subproblem is proven to be N P-hard and is reported (in the literature and this thesis) to take more than 90 percent of the total time. The chapter will pay much attention to this step to find a good method. 2

17 Furthermore, Chapter 4 also contributes a new application of stabilized column generation methods to reduce the number of iterations in which control parameters play quite an important role. Empirical experiments on test problems will offer good parameters for the stabilized methods whose implementations in the branch-and-price code and computational results will be presented later in the chapter. The parallelization of ABACUS, a well-known sequential framework for branch-andcut-and-price implementations, is described in Chapter 5. The application of parallel computing in a general framework should be more useful to users who have little experience in this area. In order to guarantee the performance, the design of the parallel ABACUS suggests using non-blocking communication as its information exchanging mechanism. The new library is tested with the sequential set partitioning solver in Chapter 3 to solve crew pairing problems. Chapter 6 dedicates itself to present an effort to speedup the execution time of solving the pricing subproblem. Parallelizing this phase will be shown helpful without worrying the impact of Amdahl s law. The thesis shows the design of a general parallel pricing framework in which we can embed new sequential pricing methods. The implementation aspects are also described in details to obtain good computational performance. The last chapter closes the thesis with discussions on problems which have been studied in the previous chapters. By this way, readers not only know the study of the author, but also see open problems which should be interesting in future research. 3

18 Acknowledgments The research results presented in this thesis would not have been possible without the support and encouragements of several people. My Ph.D. research was receiving co-operations and helps of many people. First and foremost, I specially would like to thank Prof. Dr. Dr. h. c. H. G. Bock who has given me a lot of supports throughout the Ph.D. study years. I was quite happy to do research in his innovative research group which has many funny and warm people to keep work moving forward. I am also very grateful Prof. Dr. G. Reinelt for introducing me into combinatorial optimization. He gave me many inspiring and fruitful questions which have helped me much in the research. With a high respect, I would like to thank Prof. Dr. Sc. H. X. Phu. His support is very critical to my study. Moreover, his life and characters, especially in research, show me useful lessons to live and work as a scientist. I will always remember strong discussions with him which bring me many meaningful things. I also would like to thank my close friends, T. H. Thai and H. D. Minh, who have shared the study life with me in Germany. Staying a way from the homeland, we are always to be together in study and social life. A thankfulness is also sent to Dr. S. Körkel. He has helped me to contact with the German society through a lot of meaningful favors. The help of P. Kühl to correct the English in the thesis is also highly appreciated. Working in scientific computing, I highly appreciate those who build and maintain the computing environment. They are T. Kloepfer, M. Neisen, and S. Friedel. The computational results presented in the thesis are always part of their contributions. I am also grateful to Dr. J. Schlöder, M. Rothfuss, C. Proux-Wieland for helping me to deal with a lot of documents in the university and in life. And I would like to make a special thank you, and apologies, to any colleagues who I have forgotten. Finally, I would like to dedicate the work to my parents. They gave me the life, and have taken care of me all their times. Their sacrifices and supports has always asked me to work harder, more effectively and more successfully in order to satisfy them. I am also thankful to all brothers and sisters who devotedly support and encourage me in the whole life. 4

19 Chapter 1 Notations and Foundations This chapter supplies mathematical notations and terminology which will be used to present the approach of the thesis to solve the crew pairing problem. Theoretical foundations of necessary areas are also included here with emphasis on definitions and propositions which will be the base for further considerations. Since the chapter will certainly not cover all things needed, additional references will be given throughout the thesis. 1.1 Linear Algebra The real number line is denoted by and the n-dimensional real vector space, the set of ordered n-tuples of real numbers, by n. Such a tuple is called a vector of size n and locates a point in n. The i-th component of a vector x is denoted by x i. We use the notation x y to present the inner product of two vectors x and y. An m n matrix A with element A ij in Row i and Column j is written A = [A ij ]. We denote by A i. the ith row vector of the matrix, A.j the jth column vector of the matrix. Throughout the thesis, we often assume that A ij. The transpose of the matrix is written as A. A set of points x 1,..., x k n is linearly independent if the unique solution of ki=1 λ i x i = 0 is λ i = 0, i = 1,..., k. Note that the maximum number of linearly independent points in n is n. The maximum number of linear independent rows (columns) of a matrix A is the rank of A, and is denoted by rank(a). A set of points x 1,..., x k n is affinely independent if the unique solution of ki=1 α i x i = 0, k i=1 α i = 0 is α i = 0, i = 1,..., k. Note that the maximum number of affinely independent points in n is n + 1. A (linear) subspace is a subset of a vector space R n which is closed under vector addition and scalar multiplication. An affine subspace A is a linear subspace S translated by a vector u, that is, A = {u + x : x S}. The dimension dim(s) of a subspace S is equal to the maximum number of linearly independent vectors in it. An affine subspace A translated from a linear space S also has a dimension, dim(a), which is dim(s). 5

20 A proposition describing the relationship between a subspace and linear systems is that the statements below are equivalent: (i) H n is a subspace. (ii) There is an m n matrix A such that H = {x n : Ax = 0}. (iii) There is a k n matrix B such that H = {x R n : x = ub, u k }. 1.2 Graph Theory A graph G = (V, E) consists of a finite, nonempty set V = {v 1,..., v m } and a set E = {e 1,..., e n } whose elements are subsets of V of size 2, that is e k = (v i, v j ), where v i, v j V. The elements of V are called nodes (vertices), and the elements of E are called edges (links). A directed graph or digraph D = (V, A) consists of a finite, nonempty set V = {v 1,..., v m } and a set A = {e 1,..., e n } whose elements are ordered subsets of V of size 2 arcs. Under the definition of a graph G = (V, E), several terms for its components should be given. If e = (v i, v j ) E, we say v i is adjacent to v j (and vice-versa) and that e is incident to v i (and v j ). For an undirected graph, Γ(v) denotes the set of incident vectices of v. For a digraph, notations Γ 1 (v) and Γ +1 (v) are used for the set of incoming vertices and outgoing vertices respectively. The degree of a vertex v of G is the number of edges incident to v, also say Γ(v). We denote by N(v) the set of vertices adjacent to v. Subsets of nodes and edges are also important so that we need some definitions for them. A walk in a graph G = (V, E) is a sequence of nodes v 1... v k, k 1, such that (v i, v i+1 ) E, i = 1,..., k 1. A walk without any repeated nodes is called a path. A circle is a closed walk which has no repeated nodes other than its first and last one. Similarly, one can define corresponding terms for direct graphs. There are many kinds of graph in theory and practice. In this preliminary section, we just show some basic kinds of graph: (i) A graph is connected if there is a path between each pair of its nodes. (ii) A graph is said to be acyclic if it does not contain any cycles. The graph is also called forest. (iii) A connected forest is called a tree. We usually work with weighted graphs which are associated with a function w : E (usually just + = {x : x 0}). Reference to the graph theory can be found in many textbooks in computer science and mathematics. 6

### 3. Linear Programming and Polyhedral Combinatorics

Massachusetts Institute of Technology Handout 6 18.433: Combinatorial Optimization February 20th, 2009 Michel X. Goemans 3. Linear Programming and Polyhedral Combinatorics Summary of what was seen in the

### Scheduling and (Integer) Linear Programming

Scheduling and (Integer) Linear Programming Christian Artigues LAAS - CNRS & Université de Toulouse, France artigues@laas.fr Master Class CPAIOR 2012 - Nantes Christian Artigues Scheduling and (Integer)

### 24. The Branch and Bound Method

24. The Branch and Bound Method It has serious practical consequences if it is known that a combinatorial problem is NP-complete. Then one can conclude according to the present state of science that no

### Lecture 3: Linear Programming Relaxations and Rounding

Lecture 3: Linear Programming Relaxations and Rounding 1 Approximation Algorithms and Linear Relaxations For the time being, suppose we have a minimization problem. Many times, the problem at hand can

### Approximation Algorithms

Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

### Noncommercial Software for Mixed-Integer Linear Programming

Noncommercial Software for Mixed-Integer Linear Programming J. T. Linderoth T. K. Ralphs December, 2004. Revised: January, 2005. Abstract We present an overview of noncommercial software tools for the

### INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

Integer Programming INTEGER PROGRAMMING In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is

### CHAPTER 17. Linear Programming: Simplex Method

CHAPTER 17 Linear Programming: Simplex Method CONTENTS 17.1 AN ALGEBRAIC OVERVIEW OF THE SIMPLEX METHOD Algebraic Properties of the Simplex Method Determining a Basic Solution Basic Feasible Solution 17.2

### Chapter 15 Introduction to Linear Programming

Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2014 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of

### Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc.

1. Introduction Linear Programming for Optimization Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc. 1.1 Definition Linear programming is the name of a branch of applied mathematics that

### Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

TECHNISCHE UNIVERSITEIT EINDHOVEN Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows Lloyd A. Fasting May 2014 Supervisors: dr. M. Firat dr.ir. M.A.A. Boon J. van Twist MSc. Contents

### Linear Programming I

Linear Programming I November 30, 2003 1 Introduction In the VCR/guns/nuclear bombs/napkins/star wars/professors/butter/mice problem, the benevolent dictator, Bigus Piguinus, of south Antarctica penguins

### 1 Polyhedra and Linear Programming

CS 598CSC: Combinatorial Optimization Lecture date: January 21, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im 1 Polyhedra and Linear Programming In this lecture, we will cover some basic material

### By W.E. Diewert. July, Linear programming problems are important for a number of reasons:

APPLIED ECONOMICS By W.E. Diewert. July, 3. Chapter : Linear Programming. Introduction The theory of linear programming provides a good introduction to the study of constrained maximization (and minimization)

### Thorsten Bonato. Contraction-based Separation and Lifting for Solving the Max-Cut Problem

Thorsten Bonato Contraction-based Separation and Lifting for Solving the Max-Cut Problem Bibliographic information published by the Deutsche Nationalbibliothek The Deutsche Nationalbibliothek lists this

### 2.3 Convex Constrained Optimization Problems

42 CHAPTER 2. FUNDAMENTAL CONCEPTS IN CONVEX OPTIMIZATION Theorem 15 Let f : R n R and h : R R. Consider g(x) = h(f(x)) for all x R n. The function g is convex if either of the following two conditions

### Routing in Line Planning for Public Transport

Konrad-Zuse-Zentrum für Informationstechnik Berlin Takustraße 7 D-14195 Berlin-Dahlem Germany MARC E. PFETSCH RALF BORNDÖRFER Routing in Line Planning for Public Transport Supported by the DFG Research

### Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams André Ciré University of Toronto John Hooker Carnegie Mellon University INFORMS 2014 Home Health Care Home health care delivery

### LINEAR PROGRAMMING P V Ram B. Sc., ACA, ACMA Hyderabad

LINEAR PROGRAMMING P V Ram B. Sc., ACA, ACMA 98481 85073 Hyderabad Page 1 of 19 Question: Explain LPP. Answer: Linear programming is a mathematical technique for determining the optimal allocation of resources

### ! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

### Discrete Optimization

Discrete Optimization [Chen, Batson, Dang: Applied integer Programming] Chapter 3 and 4.1-4.3 by Johan Högdahl and Victoria Svedberg Seminar 2, 2015-03-31 Todays presentation Chapter 3 Transforms using

### Geometry of Linear Programming

Chapter 2 Geometry of Linear Programming The intent of this chapter is to provide a geometric interpretation of linear programming problems. To conceive fundamental concepts and validity of different algorithms

### Using the Simplex Method in Mixed Integer Linear Programming

Integer Using the Simplex Method in Mixed Integer UTFSM Nancy, 17 december 2015 Using the Simplex Method in Mixed Integer Outline Mathematical Programming Integer 1 Mathematical Programming Optimisation

### Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

### Minimize subject to. x S R

Chapter 12 Lagrangian Relaxation This chapter is mostly inspired by Chapter 16 of [1]. In the previous chapters, we have succeeded to find efficient algorithms to solve several important problems such

### Contents. What is Wirtschaftsmathematik?

Contents. Introduction Modeling cycle SchokoLeb example Graphical procedure Standard-Form of Linear Program Vorlesung, Lineare Optimierung, Sommersemester 04 Page What is Wirtschaftsmathematik? Using mathematical

### A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

Abstract A Constraint Programming based Column Generation Approach to Nurse Rostering Problems Fang He and Rong Qu The Automated Scheduling, Optimisation and Planning (ASAP) Group School of Computer Science,

### CHAPTER 9. Integer Programming

CHAPTER 9 Integer Programming An integer linear program (ILP) is, by definition, a linear program with the additional constraint that all variables take integer values: (9.1) max c T x s t Ax b and x integral

### Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

Lecture 3 3B1B Optimization Michaelmas 2015 A. Zisserman Linear Programming Extreme solutions Simplex method Interior point method Integer programming and relaxation The Optimization Tree Linear Programming

### Linear Programming. March 14, 2014

Linear Programming March 1, 01 Parts of this introduction to linear programming were adapted from Chapter 9 of Introduction to Algorithms, Second Edition, by Cormen, Leiserson, Rivest and Stein [1]. 1

### Week 5 Integral Polyhedra

Week 5 Integral Polyhedra We have seen some examples 1 of linear programming formulation that are integral, meaning that every basic feasible solution is an integral vector. This week we develop a theory

### Integer Programming: Algorithms - 3

Week 9 Integer Programming: Algorithms - 3 OPR 992 Applied Mathematical Programming OPR 992 - Applied Mathematical Programming - p. 1/12 Dantzig-Wolfe Reformulation Example Strength of the Linear Programming

### ! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of

### Linear Integer Programming Methods and Approaches A Survey

BULGARIAN ACADEMY OF SCIENCES CYBERNETICS AND INFORMATION TECHNOLOGIES Volume 11, No 1 Sofia 2011 Linear Integer Programming Methods and Approaches A Survey Krasimira Genova, Vassil Guliashki Institute

### 5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 General Integer Linear Program: (ILP) min c T x Ax b x 0 integer Assumption: A, b integer The integrality condition

### In this paper we present a branch-and-cut algorithm for

SOLVING A TRUCK DISPATCHING SCHEDULING PROBLEM USING BRANCH-AND-CUT ROBERT E. BIXBY Rice University, Houston, Texas EVA K. LEE Georgia Institute of Technology, Atlanta, Georgia (Received September 1994;

### A Column-Generation and Branch-and-Cut Approach to the Bandwidth-Packing Problem

[J. Res. Natl. Inst. Stand. Technol. 111, 161-185 (2006)] A Column-Generation and Branch-and-Cut Approach to the Bandwidth-Packing Problem Volume 111 Number 2 March-April 2006 Christine Villa and Karla

### An optimization model for aircraft maintenance scheduling and re-assignment

Transportation Research Part A 37 (2003) 29 48 www.elsevier.com/locate/tra An optimization model for aircraft maintenance scheduling and re-assignment Chellappan Sriram 1, Ali Haghani * Department of Civil

### The Simplex Method. yyye

Yinyu Ye, MS&E, Stanford MS&E310 Lecture Note #05 1 The Simplex Method Yinyu Ye Department of Management Science and Engineering Stanford University Stanford, CA 94305, U.S.A. http://www.stanford.edu/

### 6. Mixed Integer Linear Programming

6. Mixed Integer Linear Programming Javier Larrosa Albert Oliveras Enric Rodríguez-Carbonell Problem Solving and Constraint Programming (RPAR) Session 6 p.1/40 Mixed Integer Linear Programming A mixed

### max cx s.t. Ax c where the matrix A, cost vector c and right hand side b are given and x is a vector of variables. For this example we have x

Linear Programming Linear programming refers to problems stated as maximization or minimization of a linear function subject to constraints that are linear equalities and inequalities. Although the study

### I. Solving Linear Programs by the Simplex Method

Optimization Methods Draft of August 26, 2005 I. Solving Linear Programs by the Simplex Method Robert Fourer Department of Industrial Engineering and Management Sciences Northwestern University Evanston,

### Introduction to Linear Programming.

Chapter 1 Introduction to Linear Programming. This chapter introduces notations, terminologies and formulations of linear programming. Examples will be given to show how real-life problems can be modeled

### An Exact Algorithm for Steiner Tree Problem on Graphs

International Journal of Computers, Communications & Control Vol. I (2006), No. 1, pp. 41-46 An Exact Algorithm for Steiner Tree Problem on Graphs Milan Stanojević, Mirko Vujošević Abstract: The paper

### 1 Solving LPs: The Simplex Algorithm of George Dantzig

Solving LPs: The Simplex Algorithm of George Dantzig. Simplex Pivoting: Dictionary Format We illustrate a general solution procedure, called the simplex algorithm, by implementing it on a very simple example.

Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one

### Min-cost flow problems and network simplex algorithm

Min-cost flow problems and network simplex algorithm The particular structure of some LP problems can be sometimes used for the design of solution techniques more efficient than the simplex algorithm.

### Practical Guide to the Simplex Method of Linear Programming

Practical Guide to the Simplex Method of Linear Programming Marcel Oliver Revised: April, 0 The basic steps of the simplex algorithm Step : Write the linear programming problem in standard form Linear

### 5.1 Bipartite Matching

CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson

### Good luck, veel succes!

Final exam Advanced Linear Programming, May 7, 13.00-16.00 Switch off your mobile phone, PDA and any other mobile device and put it far away. No books or other reading materials are allowed. This exam

### Load balancing in a heterogeneous computer system by self-organizing Kohonen network

Bull. Nov. Comp. Center, Comp. Science, 25 (2006), 69 74 c 2006 NCC Publisher Load balancing in a heterogeneous computer system by self-organizing Kohonen network Mikhail S. Tarkov, Yakov S. Bezrukov Abstract.

### MODELS AND ALGORITHMS FOR WORKFORCE ALLOCATION AND UTILIZATION

MODELS AND ALGORITHMS FOR WORKFORCE ALLOCATION AND UTILIZATION by Ada Yetunde Barlatt A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy (Industrial

### OPRE 6201 : 2. Simplex Method

OPRE 6201 : 2. Simplex Method 1 The Graphical Method: An Example Consider the following linear program: Max 4x 1 +3x 2 Subject to: 2x 1 +3x 2 6 (1) 3x 1 +2x 2 3 (2) 2x 2 5 (3) 2x 1 +x 2 4 (4) x 1, x 2

### ME128 Computer-Aided Mechanical Design Course Notes Introduction to Design Optimization

ME128 Computer-ided Mechanical Design Course Notes Introduction to Design Optimization 2. OPTIMIZTION Design optimization is rooted as a basic problem for design engineers. It is, of course, a rare situation

### The Problem of Scheduling Technicians and Interventions in a Telecommunications Company

The Problem of Scheduling Technicians and Interventions in a Telecommunications Company Sérgio Garcia Panzo Dongala November 2008 Abstract In 2007 the challenge organized by the French Society of Operational

### Comparison of Optimization Techniques in Large Scale Transportation Problems

Journal of Undergraduate Research at Minnesota State University, Mankato Volume 4 Article 10 2004 Comparison of Optimization Techniques in Large Scale Transportation Problems Tapojit Kumar Minnesota State

### Solution of Linear Systems

Chapter 3 Solution of Linear Systems In this chapter we study algorithms for possibly the most commonly occurring problem in scientific computing, the solution of linear systems of equations. We start

### How to speed-up hard problem resolution using GLPK?

How to speed-up hard problem resolution using GLPK? Onfroy B. & Cohen N. September 27, 2010 Contents 1 Introduction 2 1.1 What is GLPK?.......................................... 2 1.2 GLPK, the best one?.......................................

### Linear Programming: Introduction

Linear Programming: Introduction Frédéric Giroire F. Giroire LP - Introduction 1/28 Course Schedule Session 1: Introduction to optimization. Modelling and Solving simple problems. Modelling combinatorial

### Chapter 1, Operations Research (OR)

Chapter 1, Operations Research (OR) Kent Andersen February 7, 2007 The term Operations Research refers to research on operations. In other words, the study of how to operate something in the best possible

### Integer programming solution methods - introduction

Integer programming solution methods - introduction J E Beasley Capital budgeting There are four possible projects, which each run for 3 years and have the following characteristics. Capital requirements

### GRAPH THEORY and APPLICATIONS. Trees

GRAPH THEORY and APPLICATIONS Trees Properties Tree: a connected graph with no cycle (acyclic) Forest: a graph with no cycle Paths are trees. Star: A tree consisting of one vertex adjacent to all the others.

Chapter 7 Load Balancing and Termination Detection Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination detection

### Theory of Linear Programming

Theory of Linear Programming Debasis Mishra April 6, 2011 1 Introduction Optimization of a function f over a set S involves finding the maximum (minimum) value of f (objective function) in the set S (feasible

### A scenario aggregation based approach for determining a robust airline fleet composition

Econometric Institute Reports EI 2002-17 A scenario aggregation based approach for determining a robust airline fleet composition Ovidiu Listes, Rommert Dekker Erasmus University Rotterdam, P.O. Box 1738,

### Optimization Modeling for Mining Engineers

Optimization Modeling for Mining Engineers Alexandra M. Newman Division of Economics and Business Slide 1 Colorado School of Mines Seminar Outline Linear Programming Integer Linear Programming Slide 2

### Convex Programming Tools for Disjunctive Programs

Convex Programming Tools for Disjunctive Programs João Soares, Departamento de Matemática, Universidade de Coimbra, Portugal Abstract A Disjunctive Program (DP) is a mathematical program whose feasible

### Duality of linear conic problems

Duality of linear conic problems Alexander Shapiro and Arkadi Nemirovski Abstract It is well known that the optimal values of a linear programming problem and its dual are equal to each other if at least

### Minimizing costs for transport buyers using integer programming and column generation. Eser Esirgen

MASTER STHESIS Minimizing costs for transport buyers using integer programming and column generation Eser Esirgen DepartmentofMathematicalSciences CHALMERS UNIVERSITY OF TECHNOLOGY UNIVERSITY OF GOTHENBURG

### Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs

Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs Kousha Etessami U. of Edinburgh, UK Kousha Etessami (U. of Edinburgh, UK) Discrete Mathematics (Chapter 6) 1 / 13 Overview Graphs and Graph

### Quiz 1 Sample Questions IE406 Introduction to Mathematical Programming Dr. Ralphs

Quiz 1 Sample Questions IE406 Introduction to Mathematical Programming Dr. Ralphs These questions are from previous years and should you give you some idea of what to expect on Quiz 1. 1. Consider the

### 1 Introduction. Linear Programming. Questions. A general optimization problem is of the form: choose x to. max f(x) subject to x S. where.

Introduction Linear Programming Neil Laws TT 00 A general optimization problem is of the form: choose x to maximise f(x) subject to x S where x = (x,..., x n ) T, f : R n R is the objective function, S

### Definition of a Linear Program

Definition of a Linear Program Definition: A function f(x 1, x,..., x n ) of x 1, x,..., x n is a linear function if and only if for some set of constants c 1, c,..., c n, f(x 1, x,..., x n ) = c 1 x 1

### New Exact Solution Approaches for the Split Delivery Vehicle Routing Problem

New Exact Solution Approaches for the Split Delivery Vehicle Routing Problem Gizem Ozbaygin, Oya Karasan and Hande Yaman Department of Industrial Engineering, Bilkent University, Ankara, Turkey ozbaygin,

### Load Balancing and Termination Detection

Chapter 7 Load Balancing and Termination Detection 1 Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination detection

### What is Linear Programming?

Chapter 1 What is Linear Programming? An optimization problem usually has three essential ingredients: a variable vector x consisting of a set of unknowns to be determined, an objective function of x to

### Chapter 13: Binary and Mixed-Integer Programming

Chapter 3: Binary and Mixed-Integer Programming The general branch and bound approach described in the previous chapter can be customized for special situations. This chapter addresses two special situations:

### Branch, Cut, and Price: Sequential and Parallel

Branch, Cut, and Price: Sequential and Parallel T.K. Ralphs 1, L. Ladányi 2, and L.E. Trotter, Jr. 3 1 Department of Industrial and Manufacturing Systems Engineering, Lehigh University, Bethlehem, PA 18017,

### Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints

Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints Olivier Beaumont,, Paul Renaud-Goud Inria & University of Bordeaux Bordeaux, France 9th Scheduling for Large Scale Systems

### . P. 4.3 Basic feasible solutions and vertices of polyhedra. x 1. x 2

4. Basic feasible solutions and vertices of polyhedra Due to the fundamental theorem of Linear Programming, to solve any LP it suffices to consider the vertices (finitely many) of the polyhedron P of the

### JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February

### Some representability and duality results for convex mixed-integer programs.

Some representability and duality results for convex mixed-integer programs. Santanu S. Dey Joint work with Diego Morán and Juan Pablo Vielma December 17, 2012. Introduction About Motivation Mixed integer

### Two General Methods to Reduce Delay and Change of Enumeration Algorithms

ISSN 1346-5597 NII Technical Report Two General Methods to Reduce Delay and Change of Enumeration Algorithms Takeaki Uno NII-2003-004E Apr.2003 Two General Methods to Reduce Delay and Change of Enumeration

### Integrating Benders decomposition within Constraint Programming

Integrating Benders decomposition within Constraint Programming Hadrien Cambazard, Narendra Jussien email: {hcambaza,jussien}@emn.fr École des Mines de Nantes, LINA CNRS FRE 2729 4 rue Alfred Kastler BP

### Mathematics Course 111: Algebra I Part IV: Vector Spaces

Mathematics Course 111: Algebra I Part IV: Vector Spaces D. R. Wilkins Academic Year 1996-7 9 Vector Spaces A vector space over some field K is an algebraic structure consisting of a set V on which are

### Module1. x 1000. y 800.

Module1 1 Welcome to the first module of the course. It is indeed an exciting event to share with you the subject that has lot to offer both from theoretical side and practical aspects. To begin with,

### Graph Algorithms. Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar

Graph Algorithms Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar To accompany the text Introduction to Parallel Computing, Addison Wesley, 3. Topic Overview Definitions and Representation Minimum

### Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.

Linear Programming Widget Factory Example Learning Goals. Introduce Linear Programming Problems. Widget Example, Graphical Solution. Basic Theory:, Vertices, Existence of Solutions. Equivalent formulations.

### The Line Connectivity Problem

Konrad-Zuse-Zentrum für Informationstechnik Berlin Takustraße 7 D-14195 Berlin-Dahlem Germany RALF BORNDÖRFER MARIKA NEUMANN MARC E. PFETSCH The Line Connectivity Problem Supported by the DFG Research

### 2.3 Scheduling jobs on identical parallel machines

2.3 Scheduling jobs on identical parallel machines There are jobs to be processed, and there are identical machines (running in parallel) to which each job may be assigned Each job = 1,,, must be processed

### Discrete (and Continuous) Optimization Solutions of Exercises 1 WI4 131

Discrete (and Continuous) Optimization Solutions of Exercises 1 WI4 131 Kees Roos Technische Universiteit Delft Faculteit Informatietechnologie en Systemen Afdeling Informatie, Systemen en Algoritmiek

### Graph. Consider a graph, G in Fig Then the vertex V and edge E can be represented as:

Graph A graph G consist of 1. Set of vertices V (called nodes), (V = {v1, v2, v3, v4...}) and 2. Set of edges E (i.e., E {e1, e2, e3...cm} A graph can be represents as G = (V, E), where V is a finite and

### A very brief introduction to genetic algorithms

A very brief introduction to genetic algorithms Radoslav Harman Design of experiments seminar FACULTY OF MATHEMATICS, PHYSICS AND INFORMATICS COMENIUS UNIVERSITY IN BRATISLAVA 25.2.2013 Optimization problems:

### Modeling and Solving the Capacitated Vehicle Routing Problem on Trees

in The Vehicle Routing Problem: Latest Advances and New Challenges Modeling and Solving the Capacitated Vehicle Routing Problem on Trees Bala Chandran 1 and S. Raghavan 2 1 Department of Industrial Engineering

### A Decision Support System for Crew Planning in Passenger Transportation using a Flexible Branch-and-Price Algorithm

A Decision Support System for Crew Planning in Passenger Transportation using a Flexible Branch-and-Price Algorithm RICHARD FRELING 1, 2*, RAMON M. LENTINK 1, 2 AND ALBERT P.M. WAGELMANS 1 1 Erasmus Center

### Route optimization applied to school transports A method combining column generation with greedy heuristics

PREPRINT Route optimization applied to school transports A method combining column generation with greedy heuristics Mikael Andersson Peter Lindroth Department of Mathematics CHALMERS UNIVERSITY OF TECHNOLOGY

### Dynamic programming. Doctoral course Optimization on graphs - Lecture 4.1. Giovanni Righini. January 17 th, 2013

Dynamic programming Doctoral course Optimization on graphs - Lecture.1 Giovanni Righini January 1 th, 201 Implicit enumeration Combinatorial optimization problems are in general NP-hard and we usually

### DATA ANALYSIS II. Matrix Algorithms

DATA ANALYSIS II Matrix Algorithms Similarity Matrix Given a dataset D = {x i }, i=1,..,n consisting of n points in R d, let A denote the n n symmetric similarity matrix between the points, given as where