SCHOOL OF COMPUTER STUDIES RESEARCH REPORT SERIES

Size: px
Start display at page:

Download "SCHOOL OF COMPUTER STUDIES RESEARCH REPORT SERIES"

Transcription

1 University of Leeds SCHOOL OF COMPUTER STUDIES RESEARCH REPORT SERIES Report A Column Generation Approach to Bus Driver Scheduling by Sarah Fores, Les Proll & Anthony Wren Division of Operational Research & Information Systems August 996 To be presented at the 4th Meeting of the EURO Working Group on Transportation, Newcastle, 9 - September, 996

2 INTRODUCTION The problem of scheduling public transport vehicles and their drivers has been the subect of six international workshops (see, e.g., Desrochers and Rousseau, 992; Daduna et al., 995). Research has progressed to a point where there are several computer scheduling systems in widespread commercial use, e.g. HASTUS (Rousseau and Blais, 985) and IMPACS (Smith and Wren, 988), which were originally developed for use in the bus industry. This paper outlines an alternative solution method which has been incorporated into a system which originated from IMPACS. Improved results on a selection of real bus driver problems are presented. THE DRIVER SCHEDULING PROBLEM Although some systems attempt to schedule vehicles and drivers simultaneously, or even to schedule drivers first, it is generally the case that a vehicle schedule is built initially to cover a set of predetermined ourneys. At various stages during the work of each vehicle there are convenient driver changeover locations with associated times and these are known as relief opportunities. An indivisible period between any two relief opportunities is known as a piece of work. A shift usually consists of two or three spells of work which each cover several consecutive pieces of work on the same vehicle. The formation of shifts is governed by a set of labour agreement rules to ensure that there is adequate provision for mealbreaks and acceptable working hours etc. The driver scheduling problem is then to define a set of shifts in such a way that all the vehicle work is covered and some measure of the number of drivers and the costs of shifts is minimised. Usually this requires minimisation of the number of shifts as a priority, and with that minimum finding a good compromise between cost and some subective measure of quality. Mathematical programming solution methods applied to driver scheduling have become more dominant and successful with improvements in computer technology but the problem is still too large to be able to guarantee an optimal schedule in most cases. Thus mathematical programming is frequently combined with heuristic approaches to provide a viable solution method. THE TRACS II MODEL TRACS II is the driver scheduling system which was developed at the University of Leeds and retained for research purposes. This system uses the same general approach as the commercially available IMPACS system (Smith and Wren, 988). TRACS II first generates a set of valid shifts, then reduces the set to a manageable size and finally selects from it a subset of shifts which cover the bus work. This final stage in the solution process involves solving a set covering model which ensures that each piece of work is covered by at least one driver and that the overall cost is minimal. As the introduction of each driver incurs a large cost the primary obective is to minimise the number of shifts. The remaining shift cost involves the actual wage cost of the shift plus some subective cost reflecting any penalty for shifts

3 2 containing undesirable features. In order properly to combine the two obectives a Sherali strategy (Sherali, 982) was adopted by Willers et al. (995), viz : N N Minimise W x + C x = = where x is if the th generated shift is used, and 0 otherwise, C is the combined wage and penalty cost of shift, and W is the weight that prioritises the reduction of shifts in the solution. The Sherali weight W is calculated as : N W = + UB C x = where UB[] is an upper bound on the sum of the shift costs. The upper bound can be taken to be the sum of the S largest C values, where S is itself an upper bound to the number of shifts which might be used in a sensible solution and can be set to be the number of shifts in the initial solution. We can now define a new obective : Minimise N = D x where D represents the combined wage and penalty cost of shift plus the Sherali weighting. It should be noted that in a practical problem there are generally many million potential shifts, too many to be treated by the model. For this reason restrictions are placed on the form of the shifts to be generated and retained. These restrictions are governed by parameters designed to ensure that the most likely shifts are available to the above model, and that a good choice of shifts is available for each piece of work. Nevertheless, it is quite possible that some apparently inefficient shifts may be required in a good solution, and that these will have been excluded by the parameters. For this reason TRACS II uses a set covering approach which allows pieces of work to be overcovered, i.e. covered by more than one shift. As overcover involves a wage cost for more than one shift the optimisation will deter overcover from being formed. Where overcover remains in the final schedule, the relevant shifts can be edited to form shorter shifts excluded from the generation process. There are instances where the existence of overcover would not be sensible, e.g. on the first and last few pieces of work on any bus, and so these corresponding constraints can be defined as equality constraints to be covered by only one

4 3 driver. The equality constraints cut down the problem size when forming an initial solution and are necessary in one of the branching strategies of the branch and bound algorithm. The TRACS II constraints can thus be defined as follows : N N A x = for i =,K E = i A x for i = E +, K, M = i where E is the number of equality constraints and A i = if shift covers piece of work i. It is then possible for the user to add side constraints which typically are used to limit the number of shifts of a particular type or the total number of shifts. Such constraints are of the form: N δ N x U or δ x L = = where δ = if the corresponding x is of the type that is to be constrained, = 0 otherwise. Method of Solution of the Model ) Create an initial solution by selecting shifts to cover pieces of work in increasing order of the number of shifts available to cover them; each successive shift is selected so as to minimise the cost per currently uncovered workpiece covered by this shift. 2) Solve the linear programming relaxation of the TRACS II model using a primal steepest edge algorithm. 3) If the minimum number of duties is fractional, add a constraint which increases the number of duties to the next highest integral value and re-solve if necessary using a dual approach. 4) Find an integer solution using specialised Branch and Bound techniques. COLUMN GENERATION Column generation is an approach which can be used to solve mathematical programming problems involving many variables, which would otherwise have to be decomposed or reduced before being solved. Scheduling problems are an important class of combinatorial optimisation problems which frequently contain many variables. TRACS II uses heuristics to reduce the number of shifts in order to enable conventional mathematical programming

5 4 solvers to produce a solution. Further investigation has taken place into incorporating column generation techniques within TRACS II. It is shown that column generation methods overcome many of the difficulties which arise in solving large problems, and also improve upon the solution and/or speed of the process. Column generation systems normally use the Revised Simplex Method to solve the problem over a subset of the columns. The process then repeatedly adds further columns which will potentially improve the solution to the subset and re-solves over the new set. This process continues until no further columns can be found which will improve the obective. Assuming that all the columns are available in the matrix of constraints, the Revised Simplex Method begins with an initial solution and iteratively improves the obective value by swapping a basic variable for a non-basic variable with favorable reduced cost, until no further improvement can be made. In the case of column generation only a subset of the columns is available at the outset. The Revised Simplex Method is used to find the solution which is optimal over the subset. One then generates new columns or searches through columns not previously considered. If there are any new columns which have favorable reduced costs then some, or all, of them are added to the subset as non-basic variables so that the current solution is no longer optimal. Using the current basic solution, the Revised Simplex Method continues to swap columns where necessary to reoptimise over the current larger subset. For any LP relaxation which is optimal over its available subset the overall optimal solution is attained when no more columns which would improve the obective can be added to the set. Iterations of the Revised Simplex Method within a particular shift subset are known as minor iterations; augmentations of the shift subset are known as maor iterations. COLUMN GENERATION AND DRIVER SCHEDULING The maor disadvantage of using most computerised scheduling systems, including TRACS II, is that the search for optimality is limited to an heuristically reduced shift set, and so for some problems the ILP fails to find a feasible solution. In TRACS II the constraint introduced in step 3 of the solution process must then be relaxed, thereby allowing more shifts in the solution. Large problems can be decomposed (Wren and Smith, 988) but this is usually deemed undesirable by users. Heuristics often limit the formation of shifts to include only efficient shifts, but because it may be the case that some inefficient shifts are required to link with them to produce the optimal solution, ideally we would wish to consider allowing all possible valid shifts which could be formed to enter the set covering model. In the context of driver scheduling a column generation method implicitly considers many more valid shifts than standard linear programming approaches whilst retaining a much smaller working subset of shifts which are available to the mathematical program solver. The HASTUS scheduling system (Rousseau and Blais, 985) contains a module, Crew-Opt (Desrochers et al., 992), which uses column generation techniques to form bus driver schedules and has produced encouraging results (Rousseau, 995). A subset of valid shifts is identified and further shifts are added to the subset based upon utilising a shortest path algorithm to identify shifts which will improve the current solution. Once no new shift can be

6 5 found which will reduce the schedule cost the current solution is optimal over the relaxed model. A branch and bound technique which also incorporates column generation is then applied to find a good driver schedule. The model works well on smaller problems but takes substantial time to perform the shift additions and the optimality can be compromised in the branch and bound phase as the search often stops at a good solution. A COLUMN GENERATION MODEL WITHIN TRACS II A column generation approach to solving the driver scheduling problem requires strategies for resolving the following three issues : How to choose the initial shift subset. How to generate or search for further shifts. How to produce an integer solution from the LP solution. These issues will be discussed in an attempt to find the most appropriate technique to be incorporated into the TRACS II system, and an outline of the model will follow. Shift Generation Incorporating column generation techniques into the solution strategy of the set covering model potentially allows all valid shifts to be considered. However, to guarantee the overall continuous optimum one of the following two methods would have to be used: I. All valid shifts would have to be formed initially and their reduced costs calculated during the column generation process to ensure optimality. II. A subproblem must be available to generate any remaining shifts with favorable reduced costs once optimality has been found over the current shift subset. Crew-Opt uses the second method, with a subproblem defining a constrained shortest path technique to generate further shifts as paths through a network. In the current TRACS II system the shift costing not only depends upon the duration of the shift, but may also include a subective weighting to deter some shifts from being included in a schedule. This is because many organisations seek to minimise unpopular or administratively difficult shifts. The penalty costs are currently defined in a subroutine specific to each organisation and typical requirements include: penalties added to three-part shifts penalties added to shifts whose meal breaks are not close to the middle of the shift penalties added to early shifts which start after the earliest time for split shifts.

7 6 Although these penalties can be added cumulatively as a shift is being constructed, they are not added as resource constraints and cannot be built into a shortest path network. If the shortest path through the network corresponds to a shift with undesirable features its reduced cost may not be the most favorable once the penalty cost has been added to the shift cost. Also, although Crew-Opt hopes to be able to handle larger problems, published work (Rousseau, 995) states that it is restricted. Indeed, larger problems will require large networks and for each set of labour agreement rules there will be a certain amount of time required to convert them into network constraints. In order to speed up the process of column generation it is usual for methods to add more than one column at each iteration, and for larger problems it will become complex and time consuming to traverse a network to generate such shifts. Decomposing a larger problem will compromise optimality. For the reasons given above, the technique which has been explored is that of removing the heuristics which reduce the size of the generated shift set in TRACS II, hence allowing more shifts to be considered by the set covering model. A network formulation is not used, and so shifts from this larger set are selected to enter a working subset by means of a less sophisticated enumeration method. An improvement in continuous LP optimum may be achieved by using this larger set, and so for each bus company both a larger shift set and an heuristically reduced shift set are used in the experiments reported here. As the current system produces an LP solution, the column generation method on the same data set will not improve the cost, as both will be optimal. However, the column generation method may prove to be faster, and the larger data set may produce a lower LP cost than the smaller data set, which would normally have been used in TRACS II. Integer Solution If the overall continuous optimum solution has been found, then in order to guarantee an optimal integer solution it would be inadequate to terminate the branch and bound phase as soon as a good solution had been found. Crew-Opt uses a column generation technique within a branch and bound structure in order to ensure that the integer solution is not limited to the shifts formed in finding the optimal LP solution. Continuing through the search tree in this way would guarantee an overall optimal integer schedule, although in practice Crew-Opt pauses at the first integer solution and uses the continuous optimum to analyse whether the expected improvement in integer solution cost ustifies the probable extra computational cost of further searching. At each node the column generation method used in the branch and bound phase limits the shifts which are formed to those relevant. Results given for Crew-Opt showed that a large number of new columns are added overall in the branch and bound phase even though only one path through the tree will provide the integer schedule. In TRACS II, because the shift costs include subective weightings, many integer solutions may be equally as good as or possibly preferable to the apparently optimal schedule with respect to shift content, and so spending time searching for the optimal schedule may be wasted. Whilst the solution time of computerised systems is acceptable compared to previous manual methods, bus companies would tend to give execution time reduction a higher priority

8 7 than improving a good integer solution. Faster solutions would allow a user more opportunity to analyse the effect of relaxing certain conditions or altering parameters. Since a method of producing schedules from a larger shift set cannot guarantee the overall optimal LP solution, the optimal schedule cannot be guaranteed either. For this reason the branch and bound phase used in TRACS II is adequate, and although it considers only some of the shifts retained in the model, this has not detracted from its ability to find a good solution. Initial Shift Set Crew-Opt uses an initial set consisting of short shifts in order to provide a feasible solution quickly. In the work reported here a large set of potential shifts known as a superset is generated initially and a subset of these is used in such a way as to provide an initial subset of good shifts, and hence a good feasible initial solution. Details of the method of selecting a shift subset are given in the next section. A Column Generation Model There are many possible ways of implementing a column generation strategy, but the method of solution which will be adopted is outlined as follows: Step 0 Generate a shift superset. Step Create an initial solution and form an initial shift subset. Step 2 Solve the LP over the current shift subset. Step 3 Add a set of shifts to the current subset which will improve the solution. Step 4 If no favorable shifts can be found then the LP solution is optimal, otherwise go to Step 2. Step 5 Find an integer solution using branch and bound. IMPLEMENTATION WITHIN TRACS II Having outlined the column generation model and decided that a larger set is to be generated at the outset, it is now necessary to define which shifts are to be included in the initial subset and the factors which determine how many further shifts are added at any intermediate solution stage. Full details of the implementation strategies and results are given by Fores (996). Initial Solution and Initial Shift Subset Given that all reasonable shifts are available at the outset, the method chosen to form an initial solution is the same as that currently used by TRACS II. As pieces of work are being considered in increasing order of the number of available shifts covering them, shifts are added to an initial subset if there are fewer than a specified number of other shifts, currently in

9 8 the subset, which cover that piece of work. Research has shown that a value of 0 provides a sufficiently large and varied initial subset to reduce the number of maor iterations required. A larger set would take more time to form and contain many more inefficient shifts, which would slow down the mathematical program solver. Addition of Further Shifts Once an initial shift subset has been formed, the Revised Simplex Method is used to optimise the model. This produces simplex multipliers which are used to calculate the reduced cost of any potential shift which exists in the superset. The reduced cost of a shift k is defined to be : D k M π a i= i ik where : M is the number of constraints D k is the cost of shift k π i is the simplex multiplier for constraint i a ik is the coefficient of shift k in constraint i A shift which will improve the current obective will have a negative reduced cost. Experiments show that the simplex multipliers can vary significantly more than the D k due to the presence of the prioritising weight. It is likely therefore that shifts which cover the pieces of work associated with the highest simplex multipliers may have the lowest reduced costs. The simplex multipliers are therefore considered in decreasing order and shifts covering their corresponding pieces of work are added to the subset if they have a negative reduced cost and if they are allowed to be added based upon the following rules, which limit the number of shifts which can be added during any maor iteration. Total Shifts Added Per Maor Iteration As it is time consuming to consider every simplex multiplier at each iteration, and the simplex multipliers have been ordered so that the later values are less likely to produce further good shifts, a limit has been imposed on the percentage of simplex multipliers used to produce further shifts, viz: P% of the total number of pieces of work for which additions can be made For many simplex multipliers no further shifts will be added but there is a limit on the number of remaining simplex multipliers which can be considered in any maor iteration. Experimentation has shown that a value of 20 for P adds sufficient further efficient shifts. Total Number of Shifts Added There is also a parameter limiting the total number of shifts which can be added to the subset defined by :

10 9 M = MAX{50,X% of the total number of shifts remaining} The constant value 50 is used to ensure that if the number of remaining shifts decreases to a very low value, a reasonably large number of shifts can still be added in order to avoid extra maor iterations. The parameter X reflects the need for fewer shifts to be added towards the end of the process but it is observed that P is normally a tighter limit than M and so X is set to 0 to allow it to be useful in very large data sets. Total Shifts Added Per Piece of Work Each piece of work is potentially covered by a very large number of shifts and so a limit is placed upon the number of shifts which can be added which cover a particular piece of work : I = MAX{5,Y% of the total shifts remaining/total no. pieces of work} The parameter Y again reflects the need to consider fewer shifts as the process continues and the constant value 5 deters more maor iterations from having to be performed as the process nears its conclusion. Setting Y to 50 provides a sufficient number of shifts per piece of work without compromising the time taken to evaluate the reduced costs of the shifts involved. COMPUTATIONAL RESULTS Seven problems were tested, each with two sizes of shift superset. The smaller is a subset of the larger and is of a size which would normally be used within TRACS II. At the time of this research, TRACS II was limited to deal with problems containing fewer than shifts but this limit was increased in order to compare results and times with those produced by the column generation approach on all problems, the largest of which contains over 90,000 shifts and over 400 pieces of work. Details of these problems are given in Table. Data Set #Pieces of Work Smaller Subset(S) Superset Size Final Subset Size #Pieces of Work Larger Subset(L) Superset Size Final Subset Size AUC CTJ CTR GMB RI STK SYD Table The aims of the research were twofold: to investigate whether better solutions could be found by making more potential shifts available to the optimisation process;

11 0 to determine whether for a given number of presented shifts, the optimisation process could be made faster. Results of the experiments on the test problems are given in Tables 2 and 3. The experiments were performed on a Silicon Graphics Iris Indigo workstation with a 33MHz R300 MIPS processor. In Table 2, * means an attempt was made to find a solution with the given number of shifts and means that the maximum node limit was reached in the branch and bound phase before an integer solution was found. Time to solve LP (mins) Total Solution Time(mins) Data Set Continuous # Shifts Final # Shifts Maor Iterations TRACS II Column Generation TRACS II Column Generation AUC(S) AUC(L) CTJ(S) CTJ(L) CTR(S) * CTR(L) * GMB(S) GMB(L) RI2(S) RI2(L) STK(S) STK(L) SYD(S) SYD(L) Table 2 Table 2 shows that for AUC, CTR, and STK, the continuous solution produced by the larger shift set indicated too few shifts to enable a feasible schedule to be produced. However, the addition of a side constraint which specified a shift total at the next highest integer enabled a schedule to be found which was better than that produced by the smaller shift set. STK found a solution with two fewer shifts, AUC produced a solution with the same number of shifts but at lower cost, and CTR produced a solution where none had been found either with the smaller data set or with TRACS II on the larger set. Schedules with fewer shifts were also found by using the larger shift set on three out of the remaining four problem instances. Table 2 also presents the computer time necessary to solve the relaxed LP and the total time to the ILP solution for each of the runs. Overall, results show that the larger shift sets used in the column generation approach can yield better schedules in terms of the minimum number of shifts necessary to cover the work. In addition, the results show a reduction in execution time using column generation for 0 of the 2 data sets for which a comparison is meaningful.

12 As a maor aim of the research has been to determine whether better solutions could be obtained by using column generation on a larger subset than used by TRACS II, we compare in Table 3 the column generation solutions to the larger problems with the TRACS II solutions to the corresponding smaller ones. The small increases in computing time are ustified by the potential savings. Where there has been a large increase (AUC), all but eight minutes of this is attributable to a longer route having been taken, by chance, through the branch and bound tree. TRACS II (S) Column generation (L) Data #shifts run time (mins) #shifts run time (mins) set relaxed LP total to ILP relaxed LP total to ILP AUC CTJ CTR GMB RI STK SYD Table 3 It was surprising that the new approach should, on three occasions, achieve a significantly better result than TRACS II (saving a single shift is very significant to a bus company). TRACS II consistently achieves better results than those obtained by conventional methods, and when tested against other computer systems has proved more efficient. Users of TRACS II are very happy with the quality of solution obtained. We have to conclude from the above that there are opportunities for significantly better savings than are currently being realised. CONCLUSION Although optimal solutions still cannot be guaranteed using the column generation approach described, results show that the technique can produce better solutions more quickly than a successful and widely used driver scheduling system. Increased solution speed opens up the possibility of solving larger problems without decomposition which, in turn, may lead to better solutions. TRACS II is now being used successfully to solve large train driver scheduling problems (Kwan et al., 996a, 996b), using a form of decomposition where necessary. The new column generation approach is currently being adapted for the production version of the system, and is expected to enable TRACS II to yield better and faster solutions to such problems.

13 2 REFERENCES Daduna, J. R., I. Branco and J. M. P. Paixáo (995). Computer-Aided Transit Scheduling - Proceedings of the Sixth International Workshop on Computer-Aided Scheduling of Public Transport. Springer-Verlag, Berlin. Desrochers, M. and J.-M. Rousseau (eds.) (992). Computer-Aided Transit Scheduling - Proceedings of the Fifth International Workshop on Computer-Aided Scheduling of Public Transport. Springer-Verlag, Berlin. Desrochers, M., J. Gilbert, M. Sauvé and F. Soumis (992). CREW-OPT: Subproblem modelling in a column generation approach to urban crew scheduling. In: Computer Aided Transit Scheduling (M. Desrochers and J.-M. Rousseau, eds.), pp Springer-Verlag, Berlin. Fores, S (996). Column Generation Approaches to Bus Driver Scheduling. Ph.D. Thesis, University of Leeds. Kwan, A. S. K., R. S. K. Kwan, M. E. Parker and A, Wren (996a). Producing train driver shifts by computer. In: Computers in Railways V - Volume : Railway Systems and Management (J. Allan, C. A. Brebbia, R. J. Hill, G. Sciutto and S. Sone, eds.), pp Computational Mechanics Publications, Southampton. Kwan, A. S. K., R. S. K. Kwan, M. E. Parker and A, Wren (996b) Scheduling train drivers and investigating alternative scenarios by computer. Presented at 4th Meeting of the EURO Working Group on Transportation, 9- September, University of Newcastle. Rousseau, J.-M. (995). Results obtained with Crew-Opt, a column generation method for transit crew scheduling. In: Computer-Aided Transit Scheduling (J. R. Daduna, I. Branco and J. M. P. Paixáo eds.), pp Springer-Verlag, Berlin. Rousseau, J.-M. and J.-Y. Blais (985). HASTUS: An interactive system for buses and crew scheduling. In: Computer Scheduling of Public Transport 2 (J.-M. Rousseau ed.), pp North-Holland, Amsterdam. Sherali, H. D. (982). Equivalent weights for lexicographic multi-obective programs. European Journal of Operations Research, 8, pp Smith, B. M. and A. Wren (988). A bus crew scheduling system using a set covering formulation. Transportation Research, 22A, pp Willers, W. P., L. G. Proll and A. Wren (995). A dual strategy for solving the linear programming relaxation of a driver scheduling system. Annals of Operations Research, 58, pp Wren, A. and B. M. Smith (988). Experiences with a crew scheduling system based on set covering. In: Computer-Aided Transit Scheduling (J. R. Daduna and A. Wren eds.), pp Springer-Verlag, Berlin.

! #! % & ( ) + ) ),, ). // / 0! #! 1! 2 3 1,!! # ).3 4 & ., 3 ) ) +, +,, / 2 ) +,! 5%65 % &! 7 8,,,!.3! %96 %& # ).3 4 & .

! #! % & ( ) + ) ),, ). // / 0! #! 1! 2 3 1,!! # ).3 4 & ., 3 ) ) +, +,, / 2 ) +,! 5%65 % &! 7 8,,,!.3! %96 %& # ).3 4 & . ! #! % & ( ) + ) ),, ). // / 0! #! 1! 2 3 1,!! # ).3 4 &., 3 ) ) +, +,, / 2 ) +,! 5%65 % &! 7 8,,,!.3! %96 %& # ).3 4 &., 3 ) ) +, : Driver Scheduling by Integer Linear Programming - The TRACS II Approach

More information

University of Leeds SCHOOL OF COMPUTER STUDIES RESEARCH REPORT SERIES. Report 99.05

University of Leeds SCHOOL OF COMPUTER STUDIES RESEARCH REPORT SERIES. Report 99.05 University of eeds SCHOO OF COMPUTER STUDIES RESEARCH REPORT SERIES Report 99.05 Forming Bus Driver Schedules using Constraint Programming by Suniel D Curtis, Barbara M Smith, Anthony Wren March 1999 Abstract

More information

Fuzzy Evolutionary Approaches for Bus and Rail Driver Scheduling

Fuzzy Evolutionary Approaches for Bus and Rail Driver Scheduling Fuzzy Evolutionary Approaches for Bus and Rail Driver Scheduling By Jingpeng Li Submitted in accordance with the requirements for the degree of Doctor of Philosophy THE UNIVERSITY OF LEEDS SCHOOL OF COMPUTING

More information

Outline. Column Generation: Cutting Stock A very applied method. Introduction to Column Generation. Given an LP problem

Outline. Column Generation: Cutting Stock A very applied method. Introduction to Column Generation. Given an LP problem Column Generation: Cutting Stock A very applied method thst@man.dtu.dk Outline History The Simplex algorithm (re-visited) Column Generation as an extension of the Simplex algorithm A simple example! DTU-Management

More information

Column Generation: Cutting Stock

Column Generation: Cutting Stock Column Generation: Cutting Stock A very applied method thst@man.dtu.dk DTU-Management Technical University of Denmark 1 Outline History The Simplex algorithm (re-visited) Column Generation as an extension

More information

Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007)

Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007) In the name of God Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm Spring 2009 Instructor: Dr. Masoud Yaghini Outlines Problem Definition Modeling As A Set Partitioning

More information

Dynamically Configured λ-opt Heuristics for Bus Scheduling

Dynamically Configured λ-opt Heuristics for Bus Scheduling Dynamically Configured λ-opt Heuristics for Bus Scheduling Prapa Rattadilok and Raymond S K Kwan School of Computing, University of Leeds, UK {prapa, rsk}@comp.leeds.ac.uk Bus scheduling is a complex combinatorial

More information

INTERACTIVE MULTI-OBJECTIVE GENETIC ALGORITHMS FOR THE BUS DRIVER SCHEDULING PROBLEM

INTERACTIVE MULTI-OBJECTIVE GENETIC ALGORITHMS FOR THE BUS DRIVER SCHEDULING PROBLEM Advanced OR and AI Methods in Transportation INTERACTIVE MULTI-OBJECTIVE GENETIC ALGORITHMS FOR THE BUS DRIVER SCHEDULING PROBLEM Jorge PINHO DE SOUSA 1, Teresa GALVÃO DIAS 1, João FALCÃO E CUNHA 1 Abstract.

More information

Column Generation Method for an Agent Scheduling Problem

Column Generation Method for an Agent Scheduling Problem Column Generation Method for an Agent Scheduling Problem Balázs Dezső Alpár Jüttner Péter Kovács Dept. of Algorithms and Their Applications, and Dept. of Operations Research Eötvös Loránd University, Budapest,

More information

Algorithms for Integer Programming

Algorithms for Integer Programming Algorithms for Integer Programming Laura Galli November 9, 2016 Unlike linear programming problems, integer programming problems are very difficult to solve. In fact, no efficient general algorithm is

More information

The MIP-Solving-Framework SCIP

The MIP-Solving-Framework SCIP The MIP-Solving-Framework SCIP Timo Berthold Zuse Institut Berlin DFG Research Center MATHEON Mathematics for key technologies Berlin, 23.05.2007 What Is A MIP? Definition MIP The optimization problem

More information

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture - 35 Quadratic Programming In this lecture, we continue our discussion on

More information

9.4 SOME CHARACTERISTICS OF INTEGER PROGRAMS A SAMPLE PROBLEM

9.4 SOME CHARACTERISTICS OF INTEGER PROGRAMS A SAMPLE PROBLEM 9.4 SOME CHARACTERISTICS OF INTEGER PROGRAMS A SAMPLE PROBLEM Whereas the simplex method is effective for solving linear programs, there is no single technique for solving integer programs. Instead, a

More information

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998 56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998 Part A: Answer any four of the five problems. (15 points each) 1. Transportation problem 2. Integer LP Model Formulation

More information

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg MVE165/MMG630, Integer linear programming algorithms Ann-Brith Strömberg 2009 04 15 Methods for ILP: Overview (Ch. 14.1) Enumeration Implicit enumeration: Branch and bound Relaxations Decomposition methods:

More information

Graph Coloring via Constraint Programming-based Column Generation

Graph Coloring via Constraint Programming-based Column Generation Graph Coloring via Constraint Programming-based Column Generation Stefano Gualandi Federico Malucelli Dipartimento di Elettronica e Informatica, Politecnico di Milano Viale Ponzio 24/A, 20133, Milan, Italy

More information

Selected Topics in Column Generation

Selected Topics in Column Generation Selected Topics in Column Generation February 1, 2007 Choosing a solver for the Master Solve in the dual space(kelly s method) by applying a cutting plane algorithm In the bundle method(lemarechal), a

More information

NEW METHODS USING COLUMN GENERATION: AN EXAMPLE - ASSIGNING JOBS TO IDENTICAL MACHINES

NEW METHODS USING COLUMN GENERATION: AN EXAMPLE - ASSIGNING JOBS TO IDENTICAL MACHINES NEW METHODS USING COLUMN GENERATION: AN EXAMPLE - ASSIGNING JOBS TO IDENTICAL MACHINES Fran B Parng, Illinois Institute of Technology 58 W Boardwal Drive, Palatine IL 667 fparng@alcatel-lucent.com 63-73-9827

More information

CSE 417 Branch & Bound (pt 4) Branch & Bound

CSE 417 Branch & Bound (pt 4) Branch & Bound CSE 417 Branch & Bound (pt 4) Branch & Bound Reminders > HW8 due today > HW9 will be posted tomorrow start early program will be slow, so debugging will be slow... Review of previous lectures > Complexity

More information

The Size Robust Multiple Knapsack Problem

The Size Robust Multiple Knapsack Problem MASTER THESIS ICA-3251535 The Size Robust Multiple Knapsack Problem Branch and Price for the Separate and Combined Recovery Decomposition Model Author: D.D. Tönissen, Supervisors: dr. ir. J.M. van den

More information

Surrogate Gradient Algorithm for Lagrangian Relaxation 1,2

Surrogate Gradient Algorithm for Lagrangian Relaxation 1,2 Surrogate Gradient Algorithm for Lagrangian Relaxation 1,2 X. Zhao 3, P. B. Luh 4, and J. Wang 5 Communicated by W.B. Gong and D. D. Yao 1 This paper is dedicated to Professor Yu-Chi Ho for his 65th birthday.

More information

Branching approaches for integrated vehicle and crew scheduling

Branching approaches for integrated vehicle and crew scheduling Branching approaches for integrated vehicle and crew scheduling Marta Mesquita 1,4, Ana Paias 2,4 and Ana Respício 3,4 1 Technical University of Lisbon, ISA, Dep. Matemática, Tapada da Ajuda, 1349-017

More information

5.3 Cutting plane methods and Gomory fractional cuts

5.3 Cutting plane methods and Gomory fractional cuts 5.3 Cutting plane methods and Gomory fractional cuts (ILP) min c T x s.t. Ax b x 0integer feasible region X Assumption: a ij, c j and b i integer. Observation: The feasible region of an ILP can be described

More information

Outline. Modeling. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Models Lecture 5 Mixed Integer Programming Models and Exercises

Outline. Modeling. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Models Lecture 5 Mixed Integer Programming Models and Exercises Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING 1. Lecture 5 Mixed Integer Programming and Exercises Marco Chiarandini 2. 3. 2 Outline Modeling 1. Min cost flow Shortest path 2. Max flow Assignment

More information

3 INTEGER LINEAR PROGRAMMING

3 INTEGER LINEAR PROGRAMMING 3 INTEGER LINEAR PROGRAMMING PROBLEM DEFINITION Integer linear programming problem (ILP) of the decision variables x 1,..,x n : (ILP) subject to minimize c x j j n j= 1 a ij x j x j 0 x j integer n j=

More information

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 18 All-Integer Dual Algorithm We continue the discussion on the all integer

More information

An Introduction to Dual Ascent Heuristics

An Introduction to Dual Ascent Heuristics An Introduction to Dual Ascent Heuristics Introduction A substantial proportion of Combinatorial Optimisation Problems (COPs) are essentially pure or mixed integer linear programming. COPs are in general

More information

Improved Squeaky Wheel Optimisation for Driver Scheduling

Improved Squeaky Wheel Optimisation for Driver Scheduling Improved Squeaky Wheel Optimisation for Driver Scheduling Uwe Aickelin, Edmund K. Burke and Jingpeng Li* School of Computer Science and Information Technology The University of Nottingham Nottingham, NG8

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours

More information

CSE 417 Network Flows (pt 4) Min Cost Flows

CSE 417 Network Flows (pt 4) Min Cost Flows CSE 417 Network Flows (pt 4) Min Cost Flows Reminders > HW6 is due Monday Review of last three lectures > Defined the maximum flow problem find the feasible flow of maximum value flow is feasible if it

More information

Metaheuristic Optimization with Evolver, Genocop and OptQuest

Metaheuristic Optimization with Evolver, Genocop and OptQuest Metaheuristic Optimization with Evolver, Genocop and OptQuest MANUEL LAGUNA Graduate School of Business Administration University of Colorado, Boulder, CO 80309-0419 Manuel.Laguna@Colorado.EDU Last revision:

More information

Multiple-Depot Integrated Vehicle and Crew Scheduling

Multiple-Depot Integrated Vehicle and Crew Scheduling Multiple-Depot Integrated Vehicle and Crew Scheduling Dennis Huisman, Richard Freling and Albert P.M. Wagelmans Erasmus Center for Optimization in Public Transport (ECOPT) & Econometric Institute, Erasmus

More information

Framework for Design of Dynamic Programming Algorithms

Framework for Design of Dynamic Programming Algorithms CSE 441T/541T Advanced Algorithms September 22, 2010 Framework for Design of Dynamic Programming Algorithms Dynamic programming algorithms for combinatorial optimization generalize the strategy we studied

More information

TIM 206 Lecture Notes Integer Programming

TIM 206 Lecture Notes Integer Programming TIM 206 Lecture Notes Integer Programming Instructor: Kevin Ross Scribe: Fengji Xu October 25, 2011 1 Defining Integer Programming Problems We will deal with linear constraints. The abbreviation MIP stands

More information

Primal Heuristics in SCIP

Primal Heuristics in SCIP Primal Heuristics in SCIP Timo Berthold Zuse Institute Berlin DFG Research Center MATHEON Mathematics for key technologies Berlin, 10/11/2007 Outline 1 Introduction Basics Integration Into SCIP 2 Available

More information

A Bi-directional Resource-bounded Dynamic Programming Approach for the Traveling Salesman Problem with Time Windows

A Bi-directional Resource-bounded Dynamic Programming Approach for the Traveling Salesman Problem with Time Windows Submitted manuscript A Bi-directional Resource-bounded Dynamic Programming Approach for the Traveling Salesman Problem with Time Windows Jing-Quan Li California PATH, University of California, Berkeley,

More information

Customised Column Generation for Rostering Problems: Using Compile-time Customisation to create a Flexible C++ Engine for Staff Rostering

Customised Column Generation for Rostering Problems: Using Compile-time Customisation to create a Flexible C++ Engine for Staff Rostering Customised Column Generation for Rostering Problems: Using Compile-time Customisation to create a Flexible C++ Engine for Staff Rostering Andrew J Mason and David Ryan Department of Engineering Science

More information

Algorithms for Euclidean TSP

Algorithms for Euclidean TSP This week, paper [2] by Arora. See the slides for figures. See also http://www.cs.princeton.edu/~arora/pubs/arorageo.ps Algorithms for Introduction This lecture is about the polynomial time approximation

More information

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem L. De Giovanni M. Di Summa The Traveling Salesman Problem (TSP) is an optimization problem on a directed

More information

Crash-Starting the Simplex Method

Crash-Starting the Simplex Method Crash-Starting the Simplex Method Ivet Galabova Julian Hall School of Mathematics, University of Edinburgh Optimization Methods and Software December 2017 Ivet Galabova, Julian Hall Crash-Starting Simplex

More information

Method and Algorithm for solving the Bicriterion Network Problem

Method and Algorithm for solving the Bicriterion Network Problem Proceedings of the 00 International Conference on Industrial Engineering and Operations Management Dhaka, Bangladesh, anuary 9 0, 00 Method and Algorithm for solving the Bicriterion Network Problem Hossain

More information

Lecture notes on Transportation and Assignment Problem (BBE (H) QTM paper of Delhi University)

Lecture notes on Transportation and Assignment Problem (BBE (H) QTM paper of Delhi University) Transportation and Assignment Problems The transportation model is a special class of linear programs. It received this name because many of its applications involve determining how to optimally transport

More information

Ryerson Polytechnic University Department of Mathematics, Physics, and Computer Science Final Examinations, April, 2003

Ryerson Polytechnic University Department of Mathematics, Physics, and Computer Science Final Examinations, April, 2003 Ryerson Polytechnic University Department of Mathematics, Physics, and Computer Science Final Examinations, April, 2003 MTH 503 - Operations Research I Duration: 3 Hours. Aids allowed: Two sheets of notes

More information

Modeling and Solving Location Routing and Scheduling Problems

Modeling and Solving Location Routing and Scheduling Problems Modeling and Solving Location Routing and Scheduling Problems Z. Akca R.T. Berger T.K Ralphs October 13, 2008 Abstract This paper studies location routing and scheduling problems, a class of problems in

More information

COLUMN GENERATION IN LINEAR PROGRAMMING

COLUMN GENERATION IN LINEAR PROGRAMMING COLUMN GENERATION IN LINEAR PROGRAMMING EXAMPLE: THE CUTTING STOCK PROBLEM A certain material (e.g. lumber) is stocked in lengths of 9, 4, and 6 feet, with respective costs of $5, $9, and $. An order for

More information

7KH9HKLFOH5RXWLQJSUREOHP

7KH9HKLFOH5RXWLQJSUREOHP 7K9KO5RXWJSUREOP Given a set of vehicles with a certain capacity located at a depot and a set of customers with different demands at various locations, the vehicle routing problem (VRP) is how to satisfy

More information

Part 4. Decomposition Algorithms Dantzig-Wolf Decomposition Algorithm

Part 4. Decomposition Algorithms Dantzig-Wolf Decomposition Algorithm In the name of God Part 4. 4.1. Dantzig-Wolf Decomposition Algorithm Spring 2010 Instructor: Dr. Masoud Yaghini Introduction Introduction Real world linear programs having thousands of rows and columns.

More information

Manpower Planning: Task Scheduling. Anders Høeg Dohn

Manpower Planning: Task Scheduling. Anders Høeg Dohn : Task Scheduling Anders Høeg Dohn Scope During these lectures I will: Go over some of the practical problems encountered in manpower planning. Rostering Task Scheduling Propose models that can be used

More information

Integer Programming Theory

Integer Programming Theory Integer Programming Theory Laura Galli October 24, 2016 In the following we assume all functions are linear, hence we often drop the term linear. In discrete optimization, we seek to find a solution x

More information

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs 15.082J and 6.855J Lagrangian Relaxation 2 Algorithms Application to LPs 1 The Constrained Shortest Path Problem (1,10) 2 (1,1) 4 (2,3) (1,7) 1 (10,3) (1,2) (10,1) (5,7) 3 (12,3) 5 (2,2) 6 Find the shortest

More information

Job Re-Packing for Enhancing the Performance of Gang Scheduling

Job Re-Packing for Enhancing the Performance of Gang Scheduling Job Re-Packing for Enhancing the Performance of Gang Scheduling B. B. Zhou 1, R. P. Brent 2, C. W. Johnson 3, and D. Walsh 3 1 Computer Sciences Laboratory, Australian National University, Canberra, ACT

More information

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 7 Dr. Ted Ralphs ISE 418 Lecture 7 1 Reading for This Lecture Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 Wolsey Chapter 7 CCZ Chapter 1 Constraint

More information

Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

More information

Solving lexicographic multiobjective MIPs with Branch-Cut-Price

Solving lexicographic multiobjective MIPs with Branch-Cut-Price Solving lexicographic multiobjective MIPs with Branch-Cut-Price Marta Eso (The Hotchkiss School) Laszlo Ladanyi (IBM T.J. Watson Research Center) David Jensen (IBM T.J. Watson Research Center) McMaster

More information

The Ascendance of the Dual Simplex Method: A Geometric View

The Ascendance of the Dual Simplex Method: A Geometric View The Ascendance of the Dual Simplex Method: A Geometric View Robert Fourer 4er@ampl.com AMPL Optimization Inc. www.ampl.com +1 773-336-AMPL U.S.-Mexico Workshop on Optimization and Its Applications Huatulco

More information

GENERAL ASSIGNMENT PROBLEM via Branch and Price JOHN AND LEI

GENERAL ASSIGNMENT PROBLEM via Branch and Price JOHN AND LEI GENERAL ASSIGNMENT PROBLEM via Branch and Price JOHN AND LEI Outline Review the column generation in Generalized Assignment Problem (GAP) GAP Examples in Branch and Price 2 Assignment Problem The assignment

More information

February 19, Integer programming. Outline. Problem formulation. Branch-andbound

February 19, Integer programming. Outline. Problem formulation. Branch-andbound Olga Galinina olga.galinina@tut.fi ELT-53656 Network Analysis and Dimensioning II Department of Electronics and Communications Engineering Tampere University of Technology, Tampere, Finland February 19,

More information

56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997

56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997 56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997 Answer #1 and any five of the remaining six problems! possible score 1. Multiple Choice 25 2. Traveling Salesman Problem 15 3.

More information

Solving Large Aircraft Landing Problems on Multiple Runways by Applying a Constraint Programming Approach

Solving Large Aircraft Landing Problems on Multiple Runways by Applying a Constraint Programming Approach Solving Large Aircraft Landing Problems on Multiple Runways by Applying a Constraint Programming Approach Amir Salehipour School of Mathematical and Physical Sciences, The University of Newcastle, Australia

More information

MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms

MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms Ann-Brith Strömberg 2018 04 24 Lecture 9 Linear and integer optimization with applications

More information

Solutions for Operations Research Final Exam

Solutions for Operations Research Final Exam Solutions for Operations Research Final Exam. (a) The buffer stock is B = i a i = a + a + a + a + a + a 6 + a 7 = + + + + + + =. And the transportation tableau corresponding to the transshipment problem

More information

Benders Decomposition

Benders Decomposition Benders Decomposition Using projections to solve problems thst@man.dtu.dk DTU-Management Technical University of Denmark 1 Outline Introduction Using projections Benders decomposition Simple plant location

More information

Experiments On General Disjunctions

Experiments On General Disjunctions Experiments On General Disjunctions Some Dumb Ideas We Tried That Didn t Work* and Others We Haven t Tried Yet *But that may provide some insight Ted Ralphs, Serdar Yildiz COR@L Lab, Department of Industrial

More information

The Heuristic (Dark) Side of MIP Solvers. Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL

The Heuristic (Dark) Side of MIP Solvers. Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL The Heuristic (Dark) Side of MIP Solvers Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL 1 Table of content [Lodi], The Heuristic (Dark) Side of MIP Solvers, Hybrid Metaheuristics, 273-284,

More information

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

More information

A robust optimization based approach to the general solution of mp-milp problems

A robust optimization based approach to the general solution of mp-milp problems 21 st European Symposium on Computer Aided Process Engineering ESCAPE 21 E.N. Pistikopoulos, M.C. Georgiadis and A. Kokossis (Editors) 2011 Elsevier B.V. All rights reserved. A robust optimization based

More information

Principles of Optimization Techniques to Combinatorial Optimization Problems and Decomposition [1]

Principles of Optimization Techniques to Combinatorial Optimization Problems and Decomposition [1] International Journal of scientific research and management (IJSRM) Volume 3 Issue 4 Pages 2582-2588 2015 \ Website: www.ijsrm.in ISSN (e): 2321-3418 Principles of Optimization Techniques to Combinatorial

More information

The ILP approach to the layered graph drawing. Ago Kuusik

The ILP approach to the layered graph drawing. Ago Kuusik The ILP approach to the layered graph drawing Ago Kuusik Veskisilla Teooriapäevad 1-3.10.2004 1 Outline Introduction Hierarchical drawing & Sugiyama algorithm Linear Programming (LP) and Integer Linear

More information

A Branch-and-Price Algorithm for Combined Location and Routing Problems Under Capacity Restrictions

A Branch-and-Price Algorithm for Combined Location and Routing Problems Under Capacity Restrictions A Branch-and-Price Algorithm for Combined Location and Routing Problems Under Capacity Restrictions Z. Akca R.T. Berger T.K Ralphs September 17, 2008 Abstract We investigate the problem of simultaneously

More information

An Integer Programming Approach to Packing Lightpaths on WDM Networks 파장분할다중화망의광경로패킹에대한정수계획해법. 1. Introduction

An Integer Programming Approach to Packing Lightpaths on WDM Networks 파장분할다중화망의광경로패킹에대한정수계획해법. 1. Introduction Journal of the Korean Institute of Industrial Engineers Vol. 32, No. 3, pp. 219-225, September 2006. An Integer Programming Approach to Packing Lightpaths on WDM Networks Kyungsik Lee 1 Taehan Lee 2 Sungsoo

More information

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 16 Cutting Plane Algorithm We shall continue the discussion on integer programming,

More information

1 Linear programming relaxation

1 Linear programming relaxation Cornell University, Fall 2010 CS 6820: Algorithms Lecture notes: Primal-dual min-cost bipartite matching August 27 30 1 Linear programming relaxation Recall that in the bipartite minimum-cost perfect matching

More information

Solution Methods for the Multi-trip Elementary Shortest Path Problem with Resource Constraints

Solution Methods for the Multi-trip Elementary Shortest Path Problem with Resource Constraints Solution Methods for the Multi-trip Elementary Shortest Path Problem with Resource Constraints Zeliha Akca Ted K. Ralphs Rosemary T. Berger December 31, 2010 Abstract We investigate the multi-trip elementary

More information

Chapter 15 Introduction to Linear Programming

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

More information

Lagrangean Methods bounding through penalty adjustment

Lagrangean Methods bounding through penalty adjustment Lagrangean Methods bounding through penalty adjustment thst@man.dtu.dk DTU-Management Technical University of Denmark 1 Outline Brief introduction How to perform Lagrangean relaxation Subgradient techniques

More information

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search A JOB-SHOP SCHEDULING PROBLEM (JSSP) USING GENETIC ALGORITHM (GA) Mahanim Omar, Adam Baharum, Yahya Abu Hasan School of Mathematical Sciences, Universiti Sains Malaysia 11800 Penang, Malaysia Tel: (+)

More information

General properties of staircase and convex dual feasible functions

General properties of staircase and convex dual feasible functions General properties of staircase and convex dual feasible functions JÜRGEN RIETZ, CLÁUDIO ALVES, J. M. VALÉRIO de CARVALHO Centro de Investigação Algoritmi da Universidade do Minho, Escola de Engenharia

More information

Heuristics in Commercial MIP Solvers Part I (Heuristics in IBM CPLEX)

Heuristics in Commercial MIP Solvers Part I (Heuristics in IBM CPLEX) Andrea Tramontani CPLEX Optimization, IBM CWI, Amsterdam, June 12, 2018 Heuristics in Commercial MIP Solvers Part I (Heuristics in IBM CPLEX) Agenda CPLEX Branch-and-Bound (B&B) Primal heuristics in CPLEX

More information

Effective Local Search Algorithms for the Vehicle Routing Problem with General Time Window Constraints

Effective Local Search Algorithms for the Vehicle Routing Problem with General Time Window Constraints MIC 2001-4th Metaheuristics International Conference 293 Effective Local Search Algorithms for the Vehicle Routing Problem with General Time Window Constraints Toshihide Ibaraki Mikio Kubo Tomoyasu Masuda

More information

Linear Programming. Course review MS-E2140. v. 1.1

Linear Programming. Course review MS-E2140. v. 1.1 Linear Programming MS-E2140 Course review v. 1.1 Course structure Modeling techniques Linear programming theory and the Simplex method Duality theory Dual Simplex algorithm and sensitivity analysis Integer

More information

1. Lecture notes on bipartite matching February 4th,

1. Lecture notes on bipartite matching February 4th, 1. Lecture notes on bipartite matching February 4th, 2015 6 1.1.1 Hall s Theorem Hall s theorem gives a necessary and sufficient condition for a bipartite graph to have a matching which saturates (or matches)

More information

Fundamentals of Integer Programming

Fundamentals of Integer Programming Fundamentals of Integer Programming Di Yuan Department of Information Technology, Uppsala University January 2018 Outline Definition of integer programming Formulating some classical problems with integer

More information

Parametric & Hone User Guide

Parametric & Hone User Guide Parametric & Hone User Guide IES Virtual Environment Copyright 2017 Integrated Environmental Solutions Limited. All rights reserved. No part of the manual is to be copied or reproduced in any Contents

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization?

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization? Linear and Integer Programming 15-853:Algorithms in the Real World Linear and Integer Programming I Introduction Geometric Interpretation Simplex Method Linear or Integer programming maximize z = c T x

More information

The Paired Assignment Problem

The Paired Assignment Problem Open Journal of Discrete Mathematics, 04, 4, 44-54 Published Online April 04 in SciRes http://wwwscirporg/ournal/odm http://dxdoiorg/0436/odm044007 The Paired Assignment Problem Vardges Melkonian Department

More information

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs Introduction to Mathematical Programming IE496 Final Review Dr. Ted Ralphs IE496 Final Review 1 Course Wrap-up: Chapter 2 In the introduction, we discussed the general framework of mathematical modeling

More information

Department of Mathematics Oleg Burdakov of 30 October Consider the following linear programming problem (LP):

Department of Mathematics Oleg Burdakov of 30 October Consider the following linear programming problem (LP): Linköping University Optimization TAOP3(0) Department of Mathematics Examination Oleg Burdakov of 30 October 03 Assignment Consider the following linear programming problem (LP): max z = x + x s.t. x x

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS Coping with NP-completeness 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: weighted vertex cover LP rounding: weighted vertex cover generalized load balancing knapsack problem

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Given an NP-hard problem, what should be done? Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one of three desired features. Solve problem to optimality.

More information

Global Solution of Mixed-Integer Dynamic Optimization Problems

Global Solution of Mixed-Integer Dynamic Optimization Problems European Symposium on Computer Arded Aided Process Engineering 15 L. Puigjaner and A. Espuña (Editors) 25 Elsevier Science B.V. All rights reserved. Global Solution of Mixed-Integer Dynamic Optimization

More information

MASS Modified Assignment Algorithm in Facilities Layout Planning

MASS Modified Assignment Algorithm in Facilities Layout Planning International Journal of Tomography & Statistics (IJTS), June-July 2005, Vol. 3, No. JJ05, 19-29 ISSN 0972-9976; Copyright 2005 IJTS, ISDER MASS Modified Assignment Algorithm in Facilities Layout Planning

More information

A Lagrangian heuristic for a real-life integrated planning problem of railway transportation resources

A Lagrangian heuristic for a real-life integrated planning problem of railway transportation resources Author manuscript, published in "5th International Seminar on Railway Operations Modelling and Analysis - RailCopenhagen, Copenhagen : Denmark (2013)" A Lagrangian heuristic for a real-life integrated

More information

An Approach to Task Attribute Assignment for Uniprocessor Systems

An Approach to Task Attribute Assignment for Uniprocessor Systems An Approach to ttribute Assignment for Uniprocessor Systems I. Bate and A. Burns Real-Time Systems Research Group Department of Computer Science University of York York, United Kingdom e-mail: fijb,burnsg@cs.york.ac.uk

More information

Decision Diagrams for Solving Traveling Salesman Problems with Pickup and Delivery in Real Time

Decision Diagrams for Solving Traveling Salesman Problems with Pickup and Delivery in Real Time Decision Diagrams for Solving Traveling Salesman Problems with Pickup and Delivery in Real Time Ryan J. O Neil a,b, Karla Hoffman a a Department of Systems Engineering and Operations Research, George Mason

More information

Primal Heuristics for Branch-and-Price Algorithms

Primal Heuristics for Branch-and-Price Algorithms Primal Heuristics for Branch-and-Price Algorithms Marco Lübbecke and Christian Puchert Abstract In this paper, we present several primal heuristics which we implemented in the branch-and-price solver GCG

More information

Branch-price-and-cut for vehicle routing. Guy Desaulniers

Branch-price-and-cut for vehicle routing. Guy Desaulniers Guy Desaulniers Professor, Polytechnique Montréal, Canada Director, GERAD, Canada VeRoLog PhD School 2018 Cagliari, Italy, June 2, 2018 Outline 1 VRPTW definition 2 Mathematical formulations Arc-flow formulation

More information

OPTIMISING A NONLINEAR UTILITY FUNCTION IN MULTI-OBJECTIVE INTEGER PROGRAMMING

OPTIMISING A NONLINEAR UTILITY FUNCTION IN MULTI-OBJECTIVE INTEGER PROGRAMMING OPTIMISING A NONLINEAR UTILITY FUNCTION IN MULTI-OBJECTIVE INTEGER PROGRAMMING MELIH OZLEN, MERAL AZIZOĞLU, AND BENJAMIN A. BURTON Author s self-archived version Available from http://www.maths.uq.edu.au/~bab/papers/

More information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical and Algorithmic Foundations Linear Programming and Matchings Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis

More information

V. Solving Integer Linear Programs

V. Solving Integer Linear Programs Optimization Methods Draft of August 26, 2005 V. Solving Integer Linear Programs Robert Fourer Department of Industrial Engineering and Management Sciences Northwestern University Evanston, Illinois 60208-3119,

More information