On the exact solution of a large class of parallel machine scheduling problems

Size: px
Start display at page:

Download "On the exact solution of a large class of parallel machine scheduling problems"

Transcription

1 1 / 23 On the exact solution of a large class of parallel machine scheduling problems Teobaldo Bulhões 2 Ruslan Sadykov 1 Eduardo Uchoa 2 Anand Subramanian 3 1 Inria Bordeaux and Univ. Bordeaux, France 2 Univ. Federal Fluminense, Brazil 3 Univ. Federal da Paraíba, Brazil MISTA 2017 Kuala-Lumpur, December 7

2 2 / 23 Contents Introduction Set covering formulation and Branch-and-Price Subset-row cuts Computational results

3 3 / 23 The scheduling problem we want to solve Set M of unrelated machines n jobs, each job j J = {1,..., n} has processing time p k j, dependent on the machine release and due dates r j and d j earliness and tardiness unitary penalties α j and β j Given completion time C j of job j J in the schedule, its cost is α j E j + β j T j = α j max{0, d j C j } + β j max{0, C j d j } There is a sequence-dependent setup time s k i,j if job j is scheduled immediately after job i on machine k. The objective is to minimize the total earliness/tardiness cost. Problem s notation: R r j, s k ij j α je j + β j T j

4 Existing exact approaches in the literature for scheduling on parallel machines with sum criteria R sij k α j E j + β j T j Only MIP formulations, up to 5 machines and 12 jobs. R T j A branch-and-bound [Shim and Kim, 2007], up to 5 machines and 20 jobs. R w j T j A branch-and-bound [Liaw et al., 2003], up to 4 machines and 18 jobs. Q sij k E j + T j A MIP and a Benders decomposition [Balakrishnan et al., 1999], up to 20 jobs. P s f T j A branch-and-bound [Schaller, 2014], up to 3 machines and 14 jobs. P r j w j T j A branch-and-bound [Jouglet and Savourey, 2011], up to 5 machines and 20 jobs P w j T j A Branch-Cut-and-Price [Pessoa et al., 2010], up to 4 machines and 100 jobs. P w j C j A Branch-and-Price [Kowalczyk and Leus, 2016], up to 12 machines and 150 jobs 4 / 23

5 5 / 23 Contents Introduction Set covering formulation and Branch-and-Price Subset-row cuts Computational results

6 6 / 23 Set covering (master) formulation Ω k set of pseudo-schedules for machine k M number of times that job j appears in pseudo-schedule ω. a ω j c ω cost of pseudo-schedule ω. Binary variable λ ω k = 1 if and only if pseudo-schedule ω is assigned to machine k M min c ω λ s k M ω Ω u k M ω Ω u a ω j λ ω = 1, j J, ω Ω k λ ω 1, k M, λ ω {0, 1}, ω Ω k, k M.

7 Pricing subproblem for machine k M Extended graph G k Arc (i, j, t) setup time between job i and j is started at time t, and job j is started at time t + s k ij Variable x t ij arc (i, j, t) in the solution or not j = 3 j = 2 j = 1 x 0 02 x 1 23 x 1 02 x 1 21 x 5 33 x 6 32 x 7 11 s d J = {1, 2, 3}, T = 8, p 1 = 4, p 2 = 1, p 3 = 3, s ij = 1, i, j J Pseudo-schedules and are shown 7 / 23

8 8 / 23 Pricing subproblem: dynamic programming Given dual solution π of the restricted master problem, the pricing subproblem is min c ω = c ω aj ω π j = ( ) c t+s ij +p j ω Ω j π j xij t k j J i,j J, i j t T i.e. the shortest path problem in the extended graph. Dynamic program Shortest path problem in an acyclic graph can be solved by a dynamic program with states: S(j, t) best partial schedule with the last job j completing at time t

9 9 / 23 Fixing of arc variables by reduced costs Z RM optimal value of the current restricted master. Z k sub minimum reduced cost for machine k M. Lagrangian lower bound: Z RM + k M Z k sub. Z inc value of the best known integer solution. Zsub k (a) current minimum reduced cost of a path containing arc a G k. Arc a can be removed (it cannot take part of any improving solution) if Z k sub (a) + k M\{k} A good heuristic is very important! Z k sub + Z RM Z inc.

10 Computing Zsub k (a) [Ibaraki and Nakamura, 1994] How to compute the shortest path passing through arc a = (i, j, t) G k? s d 1. F (i, t) the value of the shortest path from s to node (i, t) 2. B(k, t + s k ij + p k j ) the value of the shortest path from d to node (j, t + s k ij + p k j ) 3. Z k sub (a = (i, j, k)) = F(i, t) + B(j, t + sk ij + p k j ) + c t+sk ij +pk j j. Ibaraki, T. and Nakamura, Y. (1994). A dynamic programming method for single machine scheduling. European Journal of Operational Research, 76(1): / 23

11 11 / 23 Dual price smoothing stabilization π current dual solution of the restricted master π dual solution giving the best Lagrangian bound so far We solve the pricing problem using the dual vector where α [0, 1). π = (1 α) π + α π, Parameter α is automatically adjusted in each column generation iteration using the sub-gradient of the Lagrangian function at π [Pessoa et al., 2017]. Pessoa, A., Sadykov, R., Uchoa, E., and Vanderbeck, F. (2017). Automation and combination of linear-programming based stabilization techniques in column generation. INFORMS Journal on Computing, (Forthcoming).

12 Branching Branching on aggregated arc variables 0 t T x tk ij {0, 1}, i.e. job i immediately precedes job j on machine k or not Multi-phase strong branching is used Branching history is kept is used through pseudo-costs 12 / 23

13 13 / 23 Contents Introduction Set covering formulation and Branch-and-Price Subset-row cuts Computational results

14 14 / 23 Subset-Row Cuts (SRCs) [Jepsen et al., 2008] Given C J and a multiplier ρ, the (C, ρ)-subset Row Cut is: ρ aj ω λ ω ρ C k M i C ω Ω k Special case of Chvátal-Gomory rank-1 cuts obtained by rounding of C set-packing constraints in the master Here we use only 1-row and 3-row cuts with ρ = 1 2. We separate them by enumeration. Mads Jepsen and Bjorn Petersen and Simon Spoorendonk and David Pisinger (2008). Subset-Row Inequalities Applied to the Vehicle-Routing Problem with Time Windows. Operations Research, 56(2):

15 15 / 23 Example of a violated 3-row cut 3 1 value = value = value = 0.5 C = {1, 2, 3} coefficient of these three columns in the cut is 1 lhs = 1.5, rhs = 1, violation is 0.5.

16 16 / 23 Impact on the pricing problem Given dual value ν γ < 0 for each active subset row cut γ Γ, defined for subset C γ of jobs, modified reduced cost of pseudo-schedule ω Ω k is : c ω = i,j J, t T ( ) c t+s ij +p j j π j xij t γ Γ 1 2 j C η, i J, i j, t T xij t ν γ An additional binary value for each cut γ Γ in dynamic programming states: S(j, t,..., θ γ,... ), where θ γ is the parity of the number of appearances of jobs in C γ (= 0/1 if pair/odd) Instead of the dynamic program, we use a labeling algorithm with labels L = ( c L, j L, t L, {θγ} L ) γ Γ and the dominance rule j L = j L, t L = t L, c L ν γ c L γ Γ: θ L γ >θl γ

17 The labeling algorithm 17 / 23

18 The labeling algorithm 17 / 23

19 The labeling algorithm 17 / 23

20 The labeling algorithm 17 / 23

21 The labeling algorithm 17 / 23

22 18 / 23 Limited memory cuts [Pecin et al., 2017] For each active cut γ Γ, define a memory M γ : set of jobs which remember value θ γ = 1. If j L M γ, then θ L γ 0. Much less values θ L γ = 1 stronger domination Memory M γ of a cut γ Γ is calculated during separation as the smallest memory which does not decrease the cut violation of the current fractional solution Limited memory cuts are weaker than full memory cuts, however the labeling algorithm is much faster Pecin, D., Pessoa, A., Poggi, M., and Uchoa, E. (2017). Improved branch-cut-and-price for capacitated vehicle routing. Mathematical Programming Computation, 9(1):

23 19 / 23 Contents Introduction Set covering formulation and Branch-and-Price Subset-row cuts Computational results

24 Results for R r j, s k ij α j E j + β j T j, small setup times Initial heuristic and instances by [Kramer and Subramanian, 2017] Size With cuts BKS n m #Solved Root Gap Root Total Improv. #Nodes Gap (%) (%) Time Time (%) #New / m 4m / m 28m / m 35m / h12m 1h37m / m 4h33m Size Without cuts Root Gap Root Total n m #Solved #Nodes Gap (%) (%) Time Time / m 6m / m 1h55m / m 1h13m Kramer, A. and Subramanian, A. (2017). A unified heuristic and an annotated bibliography for a large class of earliness-tardiness scheduling problems. Journal of Scheduling, accepted. 20 / 23

25 Results for R r j, s k ij α j E j + β j T j, larger setup times Initial heuristic and instances by [Kramer and Subramanian, 2017] Size With cuts BKS n m #Solved Root Gap Root Total Improv. #Nodes Gap (%) (%) Time Time (%) #New / m 16m / m 2h56m / m 5h45m / h59m 9h49m / h18m 10h58m Size Without cuts Root Gap Root Total n m #Solved #Nodes Gap (%) (%) Time Time / m 24m / m 7h06m / m 7h05m Kramer, A. and Subramanian, A. (2017). A unified heuristic and an annotated bibliography for a large class of earliness-tardiness scheduling problems. Journal of Scheduling, accepted. 21 / 23

26 Results for R α j E j + β j T j Size Our Branch-Cut-and-Price BKS [Şen and Bülbül, 2015] n m Solv. Root Gap Root Total Nod. Impr. Gap New Solv. Gap(%) (%) Time Time num. (%) (%) Time / m 5m / m / m 12m / m / m 7m / m / m 40m / m / m 16m / m / m 34m / m / m 57m / m / h54m 3h00m / m / h24m 2h12m / m With subset row cuts, root gap is 6 times smaller (40 and 60 jobs instances). In 30 minutes, CPLEX solved 49/60 inst. with 40 jobs, 36/120 inst. with 60 jobs, 3/120 inst. with 80 jobs, 2/60 inst. with 90 jobs. Şen, H. and Bülbül, K. (2015). A strong preemptive relaxation for weighted tardiness and earliness/tardiness problems on unrelated parallel machines. INFORMS Journal on Computing, 27(1): / 23

27 23 / 23 Final remarks First use of non-robust cuts (modifying the structure of the pricing problem) for scheduling problems Significant computational improvement over the existing exact approaches for the problem scales up to 4 machines and 80 jobs for generic instances with setup times solves 532/540 instances without setup times with up to 4 machines and 120 jobs Need more testing on less generic instances Ways to improve results: A better heuristic for generic instances is needed! First convergence is very slow More balanced branching Separation for rank-1 cuts with 4 and more rows Enumeration [Baldacci et al., 2008] Avoid discretisation [Ioachim et al., 1998]

28 References I Balakrishnan, N., Kanet, J. J., and Sridharan, V. (1999). Early/tardy scheduling with sequence dependent setups on uniform parallel machines. Computers and Operations Research, 26(2): Baldacci, R., Christofides, N., and Mingozzi, A. (2008). An exact algorithm for the vehicle routing problem based on the set partitioning formulation with additional cuts. Mathematical Programming, 115: Şen, H. and Bülbül, K. (2015). A strong preemptive relaxation for weighted tardiness and earliness/tardiness problems on unrelated parallel machines. INFORMS Journal on Computing, 27(1): Ibaraki, T. and Nakamura, Y. (1994). A dynamic programming method for single machine scheduling. European Journal of Operational Research, 76(1): / 23

29 25 / 23 References II Ioachim, I., Gélinas, S., Soumis, F., and Desrosiers, J. (1998). A dynamic programming algorithm for the shortest path problem with time windows and linear node costs. Networks, 31(3): Jepsen, M., Petersen, B., Spoorendonk, S., and Pisinger, D. (2008). Subset-row inequalities applied to the vehicle-routing problem with time windows. Operations Research, 56(2): Jouglet, A. and Savourey, D. (2011). Dominance rules for the parallel machine total weighted tardiness scheduling problem with release dates. Computers and Operations Research, 38(9): Kowalczyk, D. and Leus, R. (2016). A branch-and-price algorithm for parallel machine scheduling using zdds and generic branching. Technical Report KBI-1631, Faculty of Economics and Business, KU Leuven.

30 References III Kramer, A. and Subramanian, A. (2017). A unified heuristic and an annotated bibliography for a large class of earliness-tardiness scheduling problems. Journal of Scheduling, accepted. Liaw, C.-F., Lin, Y.-K., Cheng, C.-Y., and Chen, M. (2003). Scheduling unrelated parallel machines to minimize total weighted tardiness. Computers and Operations Research, 30(12): Pecin, D., Pessoa, A., Poggi, M., and Uchoa, E. (2017). Improved branch-cut-and-price for capacitated vehicle routing. Mathematical Programming Computation, 9(1): Pessoa, A., Sadykov, R., Uchoa, E., and Vanderbeck, F. (2017). Automation and combination of linear-programming based stabilization techniques in column generation. INFORMS Journal on Computing, (Forthcoming). 26 / 23

31 References IV Pessoa, A., Uchoa, E., de Aragão, M. P., and Rodrigues, R. (2010). Exact algorithm over an arc-time-indexed formulation for parallel machine scheduling problems. Mathematical Programming Computation, 2: Schaller, J. E. (2014). Minimizing total tardiness for scheduling identical parallel machines with family setups. Computers and Industrial Engineering, 72: Shim, S.-O. and Kim, Y.-D. (2007). Minimizing total tardiness in an unrelated parallel-machine scheduling problem. Journal of the Operational Research Society, 58(3): / 23

Stabilization in Column Generation: numerical study

Stabilization in Column Generation: numerical study 1 / 26 Stabilization in Column Generation: numerical study Artur Pessoa 3 Ruslan Sadykov 1,2 Eduardo Uchoa 3 François Vanderbeck 2,1 1 INRIA Bordeaux, France 2 Univ. Bordeaux I, France 3 Universidade Federal

More information

Partial Path Column Generation for the Vehicle Routing Problem with Time Windows

Partial Path Column Generation for the Vehicle Routing Problem with Time Windows Partial Path Column Generation for the Vehicle Routing Problem with Time Windows Bjørn Petersen & Mads Kehlet Jepsen } DIKU Department of Computer Science, University of Copenhagen Universitetsparken 1,

More information

Outline. Relaxation. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Lagrangian Relaxation. Lecture 12 Single Machine Models, Column Generation

Outline. Relaxation. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Lagrangian Relaxation. Lecture 12 Single Machine Models, Column Generation Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING 1. Lagrangian Relaxation Lecture 12 Single Machine Models, Column Generation 2. Dantzig-Wolfe Decomposition Dantzig-Wolfe Decomposition Delayed Column

More information

Integer program reformulation for robust branch-and-cut-and-price

Integer program reformulation for robust branch-and-cut-and-price Integer program reformulation for robust branch-and-cut-and-price Marcus Poggi de Aragão Informática PUC-Rio Eduardo Uchoa Engenharia de Produção Universidade Federal Fluminense Outline of the talk Robust

More information

Improved BCP for Capacitated Vehicle Routing

Improved BCP for Capacitated Vehicle Routing Improved Branch-Cut-and-Price for Capacitated Vehicle Routing Diego Pecin Artur Pessoa Marcus Poggi Eduardo Uchoa PUC - Rio de Janeiro Universidade Federal Fluminense January, 0 Aussois-0 Pecin, Pessoa,

More information

Column Generation for Extended Formulations

Column Generation for Extended Formulations 1 / 28 Column Generation for Extended Formulations Ruslan Sadykov 1 François Vanderbeck 2,1 1 INRIA Bordeaux Sud-Ouest, France 2 University Bordeaux I, France ISMP 2012 Berlin, August 23 2 / 28 Contents

More information

Cut and Column Generation

Cut and Column Generation F A C U L T Y O F S C I E N C E U N I V E R S I T Y O F C O P E N H A G E N PhD thesis Simon Spoorendonk Cut and Column Generation Academic advisor: David Pisinger Submitted: 31/10/08 Preface This Ph.D.

More information

Vehicle Routing and MIP

Vehicle Routing and MIP CORE, Université Catholique de Louvain 5th Porto Meeting on Mathematics for Industry, 11th April 2014 Contents: The Capacitated Vehicle Routing Problem Subproblems: Trees and the TSP CVRP Cutting Planes

More information

Integer Program Reformulation for Robust. Branch-and-Cut-and-Price Algorithms

Integer Program Reformulation for Robust. Branch-and-Cut-and-Price Algorithms Integer Program Reformulation for Robust Branch-and-Cut-and-Price Algorithms Marcus Poggi de Aragão 1, Eduardo Uchoa 2 1 Departamento de Informática, PUC-Rio, poggi@inf.puc-rio.br 2 Dep. de Engenharia

More information

Partial Path Column Generation for the Elementary Shortest Path Problem with Resource Constraints

Partial Path Column Generation for the Elementary Shortest Path Problem with Resource Constraints Partial Path Column Generation for the Elementary Shortest Path Problem with Resource Constraints Mads Kehlet Jepsen & Bjørn Petersen Department of Computer Science, University of Copenhagen Universitetsparken

More information

A Node-Flow Model for 1D Stock Cutting: Robust Branch-Cut-and-Price

A Node-Flow Model for 1D Stock Cutting: Robust Branch-Cut-and-Price A Node-Flow Model for 1D Stock Cutting: Robust Branch-Cut-and-Price Gleb Belov University of Dresden Adam N. Letchford Lancaster University Eduardo Uchoa Universidade Federal Fluminense August 4, 2011

More information

Extended Formulations, Lagrangian Relaxation, & Column Generation: tackling large scale applications

Extended Formulations, Lagrangian Relaxation, & Column Generation: tackling large scale applications Extended Formulations, Lagrangian Relaxation, & Column Generation: tackling large scale applications François Vanderbeck University of Bordeaux INRIA Bordeaux-Sud-Ouest part : Defining Extended Formulations

More information

Stabilized Branch-and-cut-and-price for the Generalized Assignment Problem

Stabilized Branch-and-cut-and-price for the Generalized Assignment Problem Stabilized Branch-and-cut-and-price for the Generalized Assignment Problem Alexandre Pigatti, Marcus Poggi de Aragão Departamento de Informática, PUC do Rio de Janeiro {apigatti, poggi}@inf.puc-rio.br

More information

Exact algorithm over an arc-time-indexed formulation for parallel machine scheduling problems

Exact algorithm over an arc-time-indexed formulation for parallel machine scheduling problems Math. Prog. Comp. (2010) 2:259 290 DOI 10.1007/s12532-010-0019-z FULL LENGTH PAPER Exact algorithm over an arc-time-indexed formulation for parallel machine scheduling problems Artur Pessoa Eduardo Uchoa

More information

arxiv: v1 [cs.ds] 31 Aug 2018

arxiv: v1 [cs.ds] 31 Aug 2018 Enhanced arc-flow formulations to minimize weighted completion time on identical parallel machines Arthur Kramer, Mauro Dell Amico, Manuel Iori Dipartimento di Scienze e Metodi dell Ingegneria Università

More information

Solving Elementary Shortest-Path Problems as Mixed-Integer Programs

Solving Elementary Shortest-Path Problems as Mixed-Integer Programs Gutenberg School of Management and Economics Discussion Paper Series Solving Elementary Shortest-Path Problems as Mixed-Integer Programs Michael Drexl and Stefan Irnich Januar 2012 Discussion paper number

More information

Feasibility Pump Heuristics for Column Generation Approaches

Feasibility Pump Heuristics for Column Generation Approaches 1 / 29 Feasibility Pump Heuristics for Column Generation Approaches Ruslan Sadykov 2 Pierre Pesneau 1,2 Francois Vanderbeck 1,2 1 University Bordeaux I 2 INRIA Bordeaux Sud-Ouest SEA 2012 Bordeaux, France,

More information

Integer Programming Reformulations: Dantzig-Wolfe & Benders Decomposition the Coluna Software Platform

Integer Programming Reformulations: Dantzig-Wolfe & Benders Decomposition the Coluna Software Platform Integer Programming Reformulations: Dantzig-Wolfe & Benders Decomposition the Coluna Software Platform François Vanderbeck B. Detienne, F. Clautiaux, R. Griset, T. Leite, G. Marques, V. Nesello, A. Pessoa,

More information

The two-machine flowshop total completion time problem: A branch-and-bound based on network-flow formulation

The two-machine flowshop total completion time problem: A branch-and-bound based on network-flow formulation The two-machine flowshop total completion time problem: A branch-and-bound based on network-flow formulation Boris Detienne 1, Ruslan Sadykov 1, Shunji Tanaka 2 1 : Team Inria RealOpt, University of Bordeaux,

More information

A generalized formulation for vehicle routing problems

A generalized formulation for vehicle routing problems Working paper A generalized formulation for vehicle routing problems Pedro Munari a, Twan Dollevoet b, Remy Spliet b a Production Engineering Department, Federal University of São Carlos, Brazil b Econometric

More information

A Column Generation Based Heuristic for the Dial-A-Ride Problem

A Column Generation Based Heuristic for the Dial-A-Ride Problem A Column Generation Based Heuristic for the Dial-A-Ride Problem Nastaran Rahmani 1, Boris Detienne 2,3, Ruslan Sadykov 3,2, François Vanderbeck 2,3 1 Kedge Business School, 680 Cours de la Libération,

More information

Partial Path Column Generation for the Vehicle Routing Problem

Partial Path Column Generation for the Vehicle Routing Problem Partial Path Column Generation for the Vehicle Routing Problem Report 12.2009 DTU Management Engineering Mads Kehlet Jepsen Bjørn Petersen November 2009 Partial Path Column Generation for the Vehicle Routing

More information

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

MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms Ann-Brith Strömberg 2017 04 07 Lecture 8 Linear and integer optimization with applications

More information

Column generation for extended formulations

Column generation for extended formulations EURO J Comput Optim (2013) 1:81 115 DOI 10.1007/s13675-013-0009-9 ORIGINAL PAPER Column generation for extended formulations Ruslan Sadykov François Vanderbeck Received: 5 May 2012 / Accepted: 21 December

More information

Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows

Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows Branch-and-Price-and-Cut for the Split Delivery Vehicle Routing Problem with Time Windows Guy Desaulniers École Polytechnique de Montréal and GERAD Column Generation 2008 Aussois, France Outline Introduction

More information

Projection in Logic, CP, and Optimization

Projection in Logic, CP, and Optimization Projection in Logic, CP, and Optimization John Hooker Carnegie Mellon University Workshop on Logic and Search Melbourne, 2017 Projection as a Unifying Concept Projection is a fundamental concept in logic,

More information

Section Notes 9. Midterm 2 Review. Applied Math / Engineering Sciences 121. Week of December 3, 2018

Section Notes 9. Midterm 2 Review. Applied Math / Engineering Sciences 121. Week of December 3, 2018 Section Notes 9 Midterm 2 Review Applied Math / Engineering Sciences 121 Week of December 3, 2018 The following list of topics is an overview of the material that was covered in the lectures and sections

More information

Introduction to Bin Packing Problems

Introduction to Bin Packing Problems Introduction to Bin Packing Problems Fabio Furini March 13, 2015 Outline Origins and applications Applications: Definition: Bin Packing Problem (BPP) Solution techniques for the BPP Heuristic Algorithms

More information

Lecture 8: Column Generation

Lecture 8: Column Generation Lecture 8: Column Generation (3 units) Outline Cutting stock problem Classical IP formulation Set covering formulation Column generation A dual perspective Vehicle routing problem 1 / 33 Cutting stock

More information

A branch-and-price algorithm for parallel machine scheduling using ZDDs and generic branching

A branch-and-price algorithm for parallel machine scheduling using ZDDs and generic branching A branch-and-price algorithm for parallel machine scheduling using ZDDs and generic branching Kowalczyk D, Leus R. KBI_1631 A branch-and-price algorithm for parallel machine scheduling using ZDDs and generic

More information

An Integer Cutting-Plane Procedure for the Dantzig-Wolfe Decomposition: Theory

An Integer Cutting-Plane Procedure for the Dantzig-Wolfe Decomposition: Theory An Integer Cutting-Plane Procedure for the Dantzig-Wolfe Decomposition: Theory by Troels Martin Range Discussion Papers on Business and Economics No. 10/2006 FURTHER INFORMATION Department of Business

More information

3.10 Column generation method

3.10 Column generation method 3.10 Column generation method Many relevant decision-making problems can be formulated as ILP problems with a very large (exponential) number of variables. Examples: cutting stock, crew scheduling, vehicle

More information

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg MVE165/MMG630, Integer linear programming: models and applications; complexity Ann-Brith Strömberg 2011 04 01 Modelling with integer variables (Ch. 13.1) Variables Linear programming (LP) uses continuous

More information

3.10 Column generation method

3.10 Column generation method 3.10 Column generation method Many relevant decision-making (discrete optimization) problems can be formulated as ILP problems with a very large (exponential) number of variables. Examples: cutting stock,

More information

Branch-and-cut-and-price for the robust capacitated vehicle routing problem with knapsack uncertainty

Branch-and-cut-and-price for the robust capacitated vehicle routing problem with knapsack uncertainty Branch-and-cut-and-price for the robust capacitated vehicle routing problem with knapsack uncertainty Artur Alves Pessoa, Michael Poss, Ruslan Sadykov, François Vanderbeck To cite this version: Artur Alves

More information

Pedro Munari - COA 2017, February 10th, University of Edinburgh, Scotland, UK 2

Pedro Munari - COA 2017, February 10th, University of Edinburgh, Scotland, UK 2 Pedro Munari [munari@dep.ufscar.br] - COA 2017, February 10th, University of Edinburgh, Scotland, UK 2 Outline Vehicle routing problem; How interior point methods can help; Interior point branch-price-and-cut:

More information

A Hub Location Problem with Fully Interconnected Backbone and Access Networks

A Hub Location Problem with Fully Interconnected Backbone and Access Networks A Hub Location Problem with Fully Interconnected Backbone and Access Networks Tommy Thomadsen Informatics and Mathematical Modelling Technical University of Denmark 2800 Kgs. Lyngby Denmark tt@imm.dtu.dk

More information

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini In the name of God Network Flows 6. Lagrangian Relaxation 6.3 Lagrangian Relaxation and Integer Programming Fall 2010 Instructor: Dr. Masoud Yaghini Integer Programming Outline Branch-and-Bound Technique

More information

A Capacity Scaling Procedure for the Multi-Commodity Capacitated Network Design Problem. Ryutsu Keizai University Naoto KATAYAMA

A Capacity Scaling Procedure for the Multi-Commodity Capacitated Network Design Problem. Ryutsu Keizai University Naoto KATAYAMA A Capacity Scaling Procedure for the Multi-Commodity Capacitated Network Design Problem Ryutsu Keizai University Naoto KATAYAMA Problems 2006 1 Multi-Commodity Network Design Problem The basic model for

More information

Notes on Dantzig-Wolfe decomposition and column generation

Notes on Dantzig-Wolfe decomposition and column generation Notes on Dantzig-Wolfe decomposition and column generation Mette Gamst November 11, 2010 1 Introduction This note introduces an exact solution method for mathematical programming problems. The method is

More information

Introduction to optimization and operations research

Introduction to optimization and operations research Introduction to optimization and operations research David Pisinger, Fall 2002 1 Smoked ham (Chvatal 1.6, adapted from Greene et al. (1957)) A meat packing plant produces 480 hams, 400 pork bellies, and

More information

A Framework for Integrating Optimization and Constraint Programming

A Framework for Integrating Optimization and Constraint Programming A Framework for Integrating Optimization and Constraint Programming John Hooker Carnegie Mellon University SARA 2007 SARA 07 Slide Underlying theme Model vs. solution method. How can we match the model

More information

Cutting Plane Separators in SCIP

Cutting Plane Separators in SCIP Cutting Plane Separators in SCIP Kati Wolter Zuse Institute Berlin DFG Research Center MATHEON Mathematics for key technologies 1 / 36 General Cutting Plane Method MIP min{c T x : x X MIP }, X MIP := {x

More information

Column Generation. ORLAB - Operations Research Laboratory. Stefano Gualandi. June 14, Politecnico di Milano, Italy

Column Generation. ORLAB - Operations Research Laboratory. Stefano Gualandi. June 14, Politecnico di Milano, Italy ORLAB - Operations Research Laboratory Politecnico di Milano, Italy June 14, 2011 Cutting Stock Problem (from wikipedia) Imagine that you work in a paper mill and you have a number of rolls of paper of

More information

Stochastic Integer Programming

Stochastic Integer Programming IE 495 Lecture 20 Stochastic Integer Programming Prof. Jeff Linderoth April 14, 2003 April 14, 2002 Stochastic Programming Lecture 20 Slide 1 Outline Stochastic Integer Programming Integer LShaped Method

More information

Decision Diagrams for Discrete Optimization

Decision Diagrams for Discrete Optimization Decision Diagrams for Discrete Optimization Willem Jan van Hoeve Tepper School of Business Carnegie Mellon University www.andrew.cmu.edu/user/vanhoeve/mdd/ Acknowledgments: David Bergman, Andre Cire, Samid

More information

Cut-First Branch-and-Price-Second for the CARP Workshop on Large Scale Optimization 2012 Vevey, Switzerland

Cut-First Branch-and-Price-Second for the CARP Workshop on Large Scale Optimization 2012 Vevey, Switzerland Cut-First Branch-and-Price-Second for the CARP Workshop on Large Scale Optimization 2012 Vevey, Switzerland Claudia Bode and Stefan Irnich {claudia.bode,irnich}@uni-mainz.de Chair for Logistics Management

More information

Reformulation and Decomposition of Integer Programs

Reformulation and Decomposition of Integer Programs Reformulation and Decomposition of Integer Programs François Vanderbeck 1 and Laurence A. Wolsey 2 (Reference: CORE DP 2009/16) (1) Université Bordeaux 1 & INRIA-Bordeaux (2) Université de Louvain, CORE.

More information

3.7 Cutting plane methods

3.7 Cutting plane methods 3.7 Cutting plane methods Generic ILP problem min{ c t x : x X = {x Z n + : Ax b} } with m n matrix A and n 1 vector b of rationals. According to Meyer s theorem: There exists an ideal formulation: conv(x

More information

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010 Section Notes 9 IP: Cutting Planes Applied Math 121 Week of April 12, 2010 Goals for the week understand what a strong formulations is. be familiar with the cutting planes algorithm and the types of cuts

More information

Pricing Routines for Vehicle Routing with Time Windows on Road Networks

Pricing Routines for Vehicle Routing with Time Windows on Road Networks Pricing Routines for Vehicle Routing with Time Windows on Road Networks Adam N. Letchford Saeideh D. Nasiri Amar Oukil Published in Computers & Operations Research, July 2014 Abstract Several very effective

More information

Logic, Optimization and Data Analytics

Logic, Optimization and Data Analytics Logic, Optimization and Data Analytics John Hooker Carnegie Mellon University United Technologies Research Center, Cork, Ireland August 2015 Thesis Logic and optimization have an underlying unity. Ideas

More information

The Fixed Charge Transportation Problem: A Strong Formulation Based On Lagrangian Decomposition and Column Generation

The Fixed Charge Transportation Problem: A Strong Formulation Based On Lagrangian Decomposition and Column Generation The Fixed Charge Transportation Problem: A Strong Formulation Based On Lagrangian Decomposition and Column Generation Yixin Zhao, Torbjörn Larsson and Department of Mathematics, Linköping University, Sweden

More information

Large-scale optimization and decomposition methods: outline. Column Generation and Cutting Plane methods: a unified view

Large-scale optimization and decomposition methods: outline. Column Generation and Cutting Plane methods: a unified view Large-scale optimization and decomposition methods: outline I Solution approaches for large-scaled problems: I Delayed column generation I Cutting plane methods (delayed constraint generation) 7 I Problems

More information

Weighted Acyclic Di-Graph Partitioning by Balanced Disjoint Paths

Weighted Acyclic Di-Graph Partitioning by Balanced Disjoint Paths Weighted Acyclic Di-Graph Partitioning by Balanced Disjoint Paths H. Murat AFSAR Olivier BRIANT Murat.Afsar@g-scop.inpg.fr Olivier.Briant@g-scop.inpg.fr G-SCOP Laboratory Grenoble Institute of Technology

More information

Cutting Planes in SCIP

Cutting Planes in SCIP Cutting Planes in SCIP Kati Wolter Zuse-Institute Berlin Department Optimization Berlin, 6th June 2007 Outline 1 Cutting Planes in SCIP 2 Cutting Planes for the 0-1 Knapsack Problem 2.1 Cover Cuts 2.2

More information

The Traveling Salesman Problem: An Overview. David P. Williamson, Cornell University Ebay Research January 21, 2014

The Traveling Salesman Problem: An Overview. David P. Williamson, Cornell University Ebay Research January 21, 2014 The Traveling Salesman Problem: An Overview David P. Williamson, Cornell University Ebay Research January 21, 2014 (Cook 2012) A highly readable introduction Some terminology (imprecise) Problem Traditional

More information

Robust branch-cut-and-price for the Capacitated Minimum Spanning Tree problem over a large extended formulation

Robust branch-cut-and-price for the Capacitated Minimum Spanning Tree problem over a large extended formulation Math. Program., Ser. A DOI 10.1007/s10107-006-0043-y FULL LENGTH PAPER Robust branch-cut-and-price for the Capacitated Minimum Spanning Tree problem over a large extended formulation Eduardo Uchoa Ricardo

More information

A new lower bound for one-machine earliness-tardiness scheduling

A new lower bound for one-machine earliness-tardiness scheduling A new lower bound for one-machine earliness-tardiness scheduling Francis Sourd Université Pierre et Marie Curie CNRS LIP6 laboratory, Paris, France e-mail: Francis.Sourd@lip6.fr Abstract In one-machine

More information

Recoverable Robustness in Scheduling Problems

Recoverable Robustness in Scheduling Problems Master Thesis Computing Science Recoverable Robustness in Scheduling Problems Author: J.M.J. Stoef (3470997) J.M.J.Stoef@uu.nl Supervisors: dr. J.A. Hoogeveen J.A.Hoogeveen@uu.nl dr. ir. J.M. van den Akker

More information

Introduction to Integer Linear Programming

Introduction to Integer Linear Programming Lecture 7/12/2006 p. 1/30 Introduction to Integer Linear Programming Leo Liberti, Ruslan Sadykov LIX, École Polytechnique liberti@lix.polytechnique.fr sadykov@lix.polytechnique.fr Lecture 7/12/2006 p.

More information

Part III: Traveling salesman problems

Part III: Traveling salesman problems Transportation Logistics Part III: Traveling salesman problems c R.F. Hartl, S.N. Parragh 1/282 Motivation Motivation Why do we study the TSP? c R.F. Hartl, S.N. Parragh 2/282 Motivation Motivation Why

More information

Introduction into Vehicle Routing Problems and other basic mixed-integer problems

Introduction into Vehicle Routing Problems and other basic mixed-integer problems Introduction into Vehicle Routing Problems and other basic mixed-integer problems Martin Branda Charles University in Prague Faculty of Mathematics and Physics Department of Probability and Mathematical

More information

An Integrated Column Generation and Lagrangian Relaxation for Flowshop Scheduling Problems

An Integrated Column Generation and Lagrangian Relaxation for Flowshop Scheduling Problems Proceedings of the 2009 IEEE International Conference on Systems, Man, and Cybernetics San Antonio, TX, USA - October 2009 An Integrated Column Generation and Lagrangian Relaxation for Flowshop Scheduling

More information

Lecture 9: Dantzig-Wolfe Decomposition

Lecture 9: Dantzig-Wolfe Decomposition Lecture 9: Dantzig-Wolfe Decomposition (3 units) Outline Dantzig-Wolfe decomposition Column generation algorithm Relation to Lagrangian dual Branch-and-price method Generated assignment problem and multi-commodity

More information

Benders Decomposition for the Uncapacitated Multicommodity Network Design Problem

Benders Decomposition for the Uncapacitated Multicommodity Network Design Problem Benders Decomposition for the Uncapacitated Multicommodity Network Design Problem 1 Carlos Armando Zetina, 1 Ivan Contreras, 2 Jean-François Cordeau 1 Concordia University and CIRRELT, Montréal, Canada

More information

Scenario Grouping and Decomposition Algorithms for Chance-constrained Programs

Scenario Grouping and Decomposition Algorithms for Chance-constrained Programs Scenario Grouping and Decomposition Algorithms for Chance-constrained Programs Siqian Shen Dept. of Industrial and Operations Engineering University of Michigan Joint work with Yan Deng (UMich, Google)

More information

Introduction to integer programming III:

Introduction to integer programming III: Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems Martin Branda Charles University in Prague Faculty of Mathematics and Physics Department of Probability

More information

Column Generation. MTech Seminar Report. Soumitra Pal Roll No: under the guidance of

Column Generation. MTech Seminar Report. Soumitra Pal Roll No: under the guidance of Column Generation MTech Seminar Report by Soumitra Pal Roll No: 05305015 under the guidance of Prof. A. G. Ranade Computer Science and Engineering IIT-Bombay a Department of Computer Science and Engineering

More information

Decision Diagrams for Sequencing and Scheduling

Decision Diagrams for Sequencing and Scheduling Decision Diagrams for Sequencing and Scheduling Willem-Jan van Hoeve Tepper School of Business Carnegie Mellon University www.andrew.cmu.edu/user/vanhoeve/mdd/ Plan What can MDDs do for Combinatorial Optimization?

More information

Stochastic Integer Programming An Algorithmic Perspective

Stochastic Integer Programming An Algorithmic Perspective Stochastic Integer Programming An Algorithmic Perspective sahmed@isye.gatech.edu www.isye.gatech.edu/~sahmed School of Industrial & Systems Engineering 2 Outline Two-stage SIP Formulation Challenges Simple

More information

Decision Diagrams: Tutorial

Decision Diagrams: Tutorial Decision Diagrams: Tutorial John Hooker Carnegie Mellon University CP Summer School Cork, Ireland, June 2016 Decision Diagrams Used in computer science and AI for decades Logic circuit design Product configuration

More information

is called an integer programming (IP) problem. model is called a mixed integer programming (MIP)

is called an integer programming (IP) problem. model is called a mixed integer programming (MIP) INTEGER PROGRAMMING Integer Programming g In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is

More information

Single Machine Models

Single Machine Models Outline DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 8 Single Machine Models 1. Dispatching Rules 2. Single Machine Models Marco Chiarandini DM87 Scheduling, Timetabling and Routing 2 Outline Dispatching

More information

Totally unimodular matrices. Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems

Totally unimodular matrices. Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems Totally unimodular matrices Introduction to integer programming III: Network Flow, Interval Scheduling, and Vehicle Routing Problems Martin Branda Charles University in Prague Faculty of Mathematics and

More information

An exact algorithm for Aircraft Landing Problem

An exact algorithm for Aircraft Landing Problem An exact algorithm for Aircraft Landing Problem Min Wen Jesper Larsen Jens Clausen Informatics and Mathematical Modelling Technical University of Denmark 2800 Kgs. Lyngby Denmark September 4, 2005 Abstract

More information

Scheduling on Unrelated Parallel Machines. Approximation Algorithms, V. V. Vazirani Book Chapter 17

Scheduling on Unrelated Parallel Machines. Approximation Algorithms, V. V. Vazirani Book Chapter 17 Scheduling on Unrelated Parallel Machines Approximation Algorithms, V. V. Vazirani Book Chapter 17 Nicolas Karakatsanis, 2008 Description of the problem Problem 17.1 (Scheduling on unrelated parallel machines)

More information

Discrete lot sizing and scheduling on parallel machines: description of a column generation approach

Discrete lot sizing and scheduling on parallel machines: description of a column generation approach 126 IO 2013 XVI Congresso da Associação Portuguesa de Investigação Operacional Discrete lot sizing and scheduling on parallel machines: description of a column generation approach António J.S.T. Duarte,

More information

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 21 Dr. Ted Ralphs IE406 Lecture 21 1 Reading for This Lecture Bertsimas Sections 10.2, 10.3, 11.1, 11.2 IE406 Lecture 21 2 Branch and Bound Branch

More information

Branch-and-cut and Branch-and-Cut-and-Price Algorithms for Solving Vehicle Routing Problems

Branch-and-cut and Branch-and-Cut-and-Price Algorithms for Solving Vehicle Routing Problems Downloaded from orbit.dtu.dk on: Oct 31, 2018 Branch-and-cut and Branch-and-Cut-and-Price Algorithms for Solving Vehicle Routing Problems Jepsen, Mads Kehlet; Pisinger, David Publication date: 2011 Document

More information

Bounds for the Permutation Flowshop Scheduling Problem with Exact Time Lags while Minimizing the Total Earliness and Tardiness

Bounds for the Permutation Flowshop Scheduling Problem with Exact Time Lags while Minimizing the Total Earliness and Tardiness Bounds for the Permutation Flowshop Scheduling Problem with Exact Time Lags while Minimizing the Total Earliness and Tardiness Imen Hamdi, Taïcir Loukil Abstract- We consider the problem of n-jobs scheduling

More information

Course Notes for EE227C (Spring 2018): Convex Optimization and Approximation

Course Notes for EE227C (Spring 2018): Convex Optimization and Approximation Course otes for EE7C (Spring 018): Conve Optimization and Approimation Instructor: Moritz Hardt Email: hardt+ee7c@berkeley.edu Graduate Instructor: Ma Simchowitz Email: msimchow+ee7c@berkeley.edu October

More information

Stochastic Sequencing and Scheduling of an Operating Room

Stochastic Sequencing and Scheduling of an Operating Room Stochastic Sequencing and Scheduling of an Operating Room Camilo Mancilla and Robert H. Storer Lehigh University, Department of Industrial and Systems Engineering, November 14, 2009 1 abstract We develop

More information

Matteo Fischetti, DEI, University of Padova. COFIN Matheon workshop, Villa Vigoni (Como), May 2006

Matteo Fischetti, DEI, University of Padova. COFIN Matheon workshop, Villa Vigoni (Como), May 2006 Matteo Fischetti, DEI, University of Padova COFIN Matheon workshop, Villa Vigoni (Como), May 2006 1 MIP solvers for hard optimization problems Mixed-integer linear programming (MIP) plays a central role

More information

A dynamic programming algorithm for single machine scheduling with ready times

A dynamic programming algorithm for single machine scheduling with ready times Annals of Operations Research 69(1997)135 156 135 A dynamic programming algorithm for single machine scheduling with ready times Sylvie Gélinas and François Soumis GERAD and École Polytechnique de Montréal,

More information

Discrete (and Continuous) Optimization WI4 131

Discrete (and Continuous) Optimization WI4 131 Discrete (and Continuous) Optimization WI4 131 Kees Roos Technische Universiteit Delft Faculteit Electrotechniek, Wiskunde en Informatica Afdeling Informatie, Systemen en Algoritmiek e-mail: C.Roos@ewi.tudelft.nl

More information

Part III: Traveling salesman problems

Part III: Traveling salesman problems Transportation Logistics Part III: Traveling salesman problems c R.F. Hartl, S.N. Parragh 1/74 Motivation Motivation Why do we study the TSP? it easy to formulate it is a difficult problem many significant

More information

Single Machine Problems Polynomial Cases

Single Machine Problems Polynomial Cases DM204, 2011 SCHEDULING, TIMETABLING AND ROUTING Lecture 2 Single Machine Problems Polynomial Cases Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline

More information

An Adaptive Partition-based Approach for Solving Two-stage Stochastic Programs with Fixed Recourse

An Adaptive Partition-based Approach for Solving Two-stage Stochastic Programs with Fixed Recourse An Adaptive Partition-based Approach for Solving Two-stage Stochastic Programs with Fixed Recourse Yongjia Song, James Luedtke Virginia Commonwealth University, Richmond, VA, ysong3@vcu.edu University

More information

Marjan van den Akker. Han Hoogeveen Jules van Kempen

Marjan van den Akker. Han Hoogeveen Jules van Kempen Parallel machine scheduling through column generation: minimax objective functions, release dates, deadlines, and/or generalized precedence constraints Marjan van den Akker Han Hoogeveen Jules van Kempen

More information

RCPSP Single Machine Problems

RCPSP Single Machine Problems DM204 Spring 2011 Scheduling, Timetabling and Routing Lecture 3 Single Machine Problems Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. Resource

More information

A column generation approach to the discrete lot sizing and scheduling problem on parallel machines

A column generation approach to the discrete lot sizing and scheduling problem on parallel machines A column generation approach to the discrete lot sizing and scheduling problem on parallel machines António J.S.T. Duarte and J.M.V. Valério de Carvalho Abstract In this work, we study the discrete lot

More information

Combining Optimization and Constraint Programming

Combining Optimization and Constraint Programming Combining Optimization and Constraint Programming John Hooker Carnegie Mellon University GE Research Center 7 September 2007 GE 7 Sep 07 Slide 1 Optimization and Constraint Programming Optimization: focus

More information

Interior-Point versus Simplex methods for Integer Programming Branch-and-Bound

Interior-Point versus Simplex methods for Integer Programming Branch-and-Bound Interior-Point versus Simplex methods for Integer Programming Branch-and-Bound Samir Elhedhli elhedhli@uwaterloo.ca Department of Management Sciences, University of Waterloo, Canada Page of 4 McMaster

More information

Column Generation in Integer Programming with Applications in Multicriteria Optimization

Column Generation in Integer Programming with Applications in Multicriteria Optimization Column Generation in Integer Programming with Applications in Multicriteria Optimization Matthias Ehrgott Department of Engineering Science The University of Auckland, New Zealand email: m.ehrgott@auckland.ac.nz

More information

Linear Programming. Scheduling problems

Linear Programming. Scheduling problems Linear Programming Scheduling problems Linear programming (LP) ( )., 1, for 0 min 1 1 1 1 1 11 1 1 n i x b x a x a b x a x a x c x c x z i m n mn m n n n n! = + + + + + + = Extreme points x ={x 1,,x n

More information

Decomposition Methods for Integer Programming

Decomposition Methods for Integer Programming Decomposition Methods for Integer Programming J.M. Valério de Carvalho vc@dps.uminho.pt Departamento de Produção e Sistemas Escola de Engenharia, Universidade do Minho Portugal PhD Course Programa Doutoral

More information

Integer Linear Programming (ILP)

Integer Linear Programming (ILP) Integer Linear Programming (ILP) Zdeněk Hanzálek, Přemysl Šůcha hanzalek@fel.cvut.cz CTU in Prague March 8, 2017 Z. Hanzálek (CTU) Integer Linear Programming (ILP) March 8, 2017 1 / 43 Table of contents

More information

Lecture 8: Column Generation

Lecture 8: Column Generation Lecture 8: Column Generation (3 units) Outline Cutting stock problem Classical IP formulation Set covering formulation Column generation A dual perspective 1 / 24 Cutting stock problem 2 / 24 Problem description

More information

EXACT ALGORITHMS FOR THE ATSP

EXACT ALGORITHMS FOR THE ATSP EXACT ALGORITHMS FOR THE ATSP Branch-and-Bound Algorithms: Little-Murty-Sweeney-Karel (Operations Research, ); Bellmore-Malone (Operations Research, ); Garfinkel (Operations Research, ); Smith-Srinivasan-Thompson

More information