# Resource Allocation and Scheduling

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Lesson 3: Resource Allocation and Scheduling DEIS, University of Bologna

2 Outline Main Objective: joint resource allocation and scheduling problems In particular, an overview of: Part 1: Introduction and straightforward CP model Part 2: Optional activities Part 3: Logic based Benders Decomposition

3 Lesson 3, Part 1: Resource Allocation and Scheduling Introduction to Joint Allocation and Scheduling DEIS, University of Bologna

4 Joint Resource Allocation and Scheduling Remember what we started from? Scheduling: allocating scarce resources to activities over time Scheduling: ordering resource-requiring activities over time Sometimes this is too restrictive And we want the original definition!

5 Joint Resource Allocation and Scheduling Example #1: Aircraft landing Problem = deciding the landing order of a set of planes But many airports have more than one runway! Which one should we use for each plane?

6 Joint Resource Allocation and Scheduling Example #2: Painting Robot Problem = deciding painting sequence of wooden boards But the robot has two painting nozzles! Which one should we use for each board?

7 Joint Resource Allocation and Scheduling Example #3: Task scheduling on a modern CPU Problem = deciding the processing sequence for a set of tasks But the CPU has 4 cores and a GPU! Which core for each task? Shall we use the GPU instead?

8 Joint Resource Allocation and Scheduling Remember what we started from? Scheduling: allocating scarce resources to activities over time Scheduling: ordering resource-requiring activities over time Resource allocation decisions are often important

9 An Example The usual example, just modified A1 2/2 A2 1/1 Two unary resources r0 and r1 Resources are not pre-assigned Activity durations depend on the resource assignment: di,0 for r0 and di,1 for r1 A5 A3 1/1 1/3 A4 1/1 3/6 2/1 A7

10 An Example A1, A2, A3, A4, A5,, A7 / -- balance: 11/0, makespan: 11 A1 A3 2/2 A2 1/1 1/1 1/3 A4 A5 1/1 3/6 2/1 A t A1 A2 A3 A4 A5 A7 t

11 An Example A1, A2, A3, A4, A5,, A7 / -- balance: 11/0, makespan: / A1, A2, A3, A4, A5,, A7 balance: 0/15, makespan: 15 A5 A1 A3 2/2 A2 1/1 1/1 1/3 A4 1/1 3/6 2/1 A A1 A2 A3 A4 A5 A7 t t

12 An Example A1, A2, A3, A4, A5,, A7 / -- balance: 11/0, makespan: / A1, A2, A3, A4, A5,, A7 balance: 0/15, makespan: 15 A3, A4, / A1, A2, A5, A7 balance: 5/5, makespan: 7 A5 A1 A3 2/2 A2 1/1 1/1 1/3 A4 1/1 3/6 2/1 Each task to the resource where the duration is smaller A A1 A2 A5 A7 t A3 A4 t

13 An Example A1, A2, A3, A4, A5,, A7 / -- balance: 11/0, makespan: / A1, A2, A3, A4, A5,, A7 balance: 0/15, makespan: 15 A3, A4, / A1, A2, A5, A7 balance: 5/5, makespan: 7 A3, / A1, A2, A4, A5, A7 balance: 6/6, makespan: 6 A5 A1 A3 2/2 A2 1/1 1/1 1/3 A4 1/1 3/6 2/1 A7 This is the actual optimum (a bit counterintuitive) A2 A4 A5 A7 t A1 A3 t

14 An example The usual example, just modified A1 2/2 A2 1/1 Two unary resources r0 and r1 Resources are not pre-assigned Activity durations depend on the resource assignment: di,0 for r0 and di,1 for r1 A5 A3 1/1 1/3 A4 1/1 3/6 2/1 A7 Resource allocation decisions are often important may have far reaching consequences on the schedule quality and may be definitely not trivial to take.

15 A Straightforward Solution Approach How to solve this stuff? A1 2/2 A2 1/1 The straightforward approach: Add assignment variables: m i,k = ( 1ifai runs on r k 0 otherwise...and add the constraints: X r k 2R A5 A3 m i,k =1 8r k 1/1 1/3 A4 1/1 3/6 2/1 A7

16 A Straightforward Solution Approach How to solve this stuff? A1 2/2 A2 1/1 The straightforward approach: Add assignment variables: m i,k = ( 1ifai runs on r k 0 otherwise A5 A3 1/1 1/3 A4 1/1 3/6 2/1 A7 Replace: With: cumulative([s i ], [d i ], [rq i,k ],c k ) 8r k 2 R cumulative([s i ], [d i,k ], [m i,k rq i,k ],c k ) 8r k 2 R

17 A Straightforward Solution Approach How to solve this stuff? A1 2/2 A2 1/1 The straightforward approach: Add assignment variables: m i,k = ( 1ifai runs on r k 0 otherwise A5 A3 1/1 1/3 A4 1/1 3/6 2/1 A7 Replace: With: cumulative([s i ], [d i ], [rq i,k ],c k ) 8r k 2 R cumulative([s i ], [d i,k ], [m i,k rq i,k ],c k ) 8r k 2 R Search: assign all mi,k first, then run schedule-or-postpone

18 A Straightforward Solution Approach How to solve this stuff? A1 2/2 A2 1/1 The straightforward approach: Add assignment variables: m i,k = Replace: With: ( 1ifai runs on r k 0 otherwise Does not work well cumulative([s i ], [d i ], [rq i,k ],c k ) 8r k 2 R cumulative([s i ], [d i,k ], [m i,k rq i,k ],c k ) 8r k 2 R A5 A3 1/1 1/3 A4 1/1 3/6 2/1 Search: assign all mi,k first, then run schedule-or-postpone A7

19 A Straightforward Solution Approach How to solve this stuff? A1 2/2 A2 1/1 The straightforward approach: Add assignment variables: m i,k = ( 1ifai runs on r k 0 otherwise A5 A3 1/1 1/3 A4 1/1 3/6 2/1 A7 Replace: With: cumulative([s i ], [d i ], [rq i,k ],c k ) cumulative([s i ], [d i,k ], [m i,k rq i,k ],c k ) 8r k 2 R Reason #1: poor propagation on those, during the first phase of search 8r k 2 R Search: assign all mi,k first, then run schedule-or-postpone

20 A Straightforward Solution Approach How to solve this stuff? A1 2/2 A2 1/1 The straightforward approach: Add assignment variables: m i,k = cumulative([s i ], [d i,k ], [m i,k rq i,k ],c k ) A5 A3 1/1 1/3 A4 1/1 3/6 2/1 Reason #2: the minimum value of this expression is 0 as long as Replace: the assignment is undecided => poor propagation With: ( 1ifai runs on r k 0 otherwise cumulative([s i ], [d i ], [rq i,k ],c k ) 8r k 2 R A7 8r k 2 R Search: assign all mi,k first, then run schedule-or-postpone

21 A Straightforward Solution Approach How to solve this stuff? A1 2/2 A2 1/1 The straightforward approach: Add assignment variables: m i,k = ( 1ifai runs on r k 0 otherwise A5 A3 1/1 1/3 A4 1/1 3/6 2/1 A7 Replace: With: cumulative([s i ], [d i ], [rq i,k ],c k ) cumulative([s i ], [d i,k ], [m i,k rq i,k ],c k ) 8r k 2 R Reason #3: more variables + poor propagation = huge search space 8r k 2 R Search: assign all mi,k first, then run schedule-or-postpone

22 Lesson 3, Part 2: Resource Allocation and Scheduling Optional Activities DEIS, University of Bologna

23 Optional Activities An elegant solution: optional activities Promote activities to first-class entities (kind of activity variables ) Augment the concept of activity by associating an implicit execution variable ( 1ifai executes x i = 0 otherwise x i =1 x i =0 x i 2 {0, 1} Ai Ai Ai si, ei, xi are now subparts of a more abstract activity object

24 Optional Activities Filtering Rule if si becomes empty due to propagation, then xi is set to 0 A4 Not enough room for A4 c k B C A D t

25 Optional Activities Filtering Rule if si becomes empty due to propagation, then xi is set to 0 A4 Instead of failing, we deduce that A4 should not execute c k B C A D t

26 Modeling Alternative Resource Assignment How do we model this? A1 2/2 A2 1/1 Alternative constraint A3 1/1 1/3 A4 alternative(a i, [a j ]) If xi = 1 iff a single activity in the vector [aj] must have xj = 1 If xi = 1, then si and ei are those of the only activity with xj = 1 A5 1/1 3/6 2/1 A7

27 Modeling Alternative Resource Assignment How do we model this? A1 2/2 A2 1/1 alternative constraint A3 1/1 1/3 A4 cover activity A5 1/1 3/6 2/1 A7 ai [ai] _1 Sub atc. 1: uses r0 _0 Sub atc. 2: uses r1

28 Modeling Alternative Resource Assignment How do we model this? Additional Propagation A1 2/2 A2 1/1 if xi =1 and aj is the only activity in [ai] with xj {0,1}, then xj =1 A3 A4 alternative constraint 1/1 1/3 cover activity A5 1/1 3/6 2/1 A7 ai [ai] _1 Sub atc. 1: uses r0 _0 Sub atc. 2: uses r1

29 Modeling Alternative Resource Assignment How do we model this? Additional Propagation A1 2/2 A2 1/1 if xi =1 and aj is the only activity in [ai] with xj {0,1}, then xj =1 A3 A4 alternative constraint 1/1 1/3 cover activity A5 1/1 3/6 2/1 A7 ai [aj] _1 Sub atc. 1: uses r0 _0 Sub atc. 2: uses r1

30 Search Search Search is performed via specialized strategies Early examples in [18] SA-LNS has been modified to deal with optional activities The algorithm is undisclosed (used in CP Optimizer) Tested on a bit unusual problems in [19] Flow shop: 1.7% better than the state of the art Satellite scheduling: 5.3% better than the state of the art Personal Task Scheduling: 12.5% better than the standard

31 Lesson 3, Part 3: Resource Allocation and Scheduling Logic Based Benders Decomposition DEIS, University of Bologna

32 A Starting Remark We mentioned that CP methods have issues with resource allocation and scheduling problems Let s make an experiment! Take our multi-resource example Remove precedence constraints Hence, let s focus on the assignment part A5 A1 A3 2/2 A2 1/1 1/1 1/3 A4 1/1 3/6 2/1 A7

33 A Starting Remark We mentioned that CP methods have issues with resource allocation and scheduling problems The resulting model ( 1ifai runs on r k A1 2/2 A2 1/1 m i,k = X r k 2R 0 otherwise m i,k =1 8r k A5 A3 1/1 1/3 A4 1/1 3/6 2/1 A7 Obj: min z z X d i,k m i,k 8r k 2 R a i 2A

34 A Starting Remark We mentioned that CP methods have issues with resource allocation and scheduling Let s problems make the instance a bit bigger 4 resources, 20 activities, random durations The resulting model A1 2/2 A2 1/1 ( 1ifai runs on r k m i,k = X r k 2R m i,k =1 0 otherwise 8r k Time with CP: sec A3 1/1 1/3 Time with Mixed Integer Linear Programming: A5 1/1 3/ A7sec 2/1 A4 Obj: min z z X d i,k m i,k 8r k 2 R a i 2A

35 Hybrid Approaches So what? Shall we better use MILP? Not at all! CP may be bad at resource allocation but MILP is definitely bad at pure scheduling Hybrid Approaches Are method that integrate heterogeneous techniques They try to combine the strength of different methods and compensate for their weaknesses We will focus on one specific hybrid method

36 Logic based Benders Decomposition Logic based Benders' Decomposition LBD is a decomposition based method. A problem is split into two distinct, dependent, subproblems, solved in an interactive fashion. We distinguish a master- and a sub-problem They interact by exchanging partial solutions and cuts

37 Logic based Benders Decomposition Main steps: Solve the master problem Feed the master solution to the subproblem Solve the subproblem to complete the master problem solution to a full one

38 Logic based Benders Decomposition Main steps: Generate a cut to prevent the master problem from finding again the same solution The process stops when the master problem becomes infeasible

39 Logic based Benders Decomposition The main idea is to learn a cut when we make a mistake The stopping condition has several (equivalent) formulations Based on Benders Decomposition, which requires the subproblem to be LP By generalizing the cut generation process, Logic based Benders allows the use of arbitrary sub-problems

40 Logic based Benders Decomposition Typically: MASTER = resource assignment, solved with MILP SUBPROBLEM = scheduling, solved with CP Main advantages: The decomposed problems are smaller and easier to solve Wa always use the best suited technique LBD HowTo: 1. Define the MASTER 2. Define the SUBPROBLEM 3. Define the Benders' cuts

41 Back to Our Example... A5 A1 A3 A0 2/2 A2 1/1 0/0 1/1 1/3 A4 1/1 3/6 2/1 A7 Problem Data: R = {r 0,r 1 } All capacities are 1 All requirements are 1 Duration of on is a i r 0 Duration of on is a i r 1 Cost function: makespan blue orange d i,0 d i,1 A8 0/0

42 Step 1: Define the Master Problem We model the allocation as a MIP Decision variables m i,k 2 {0, 1} 8a i 2 A, r k 2 R We do not take scheduling decisions here Assignment Constraints: X m i,k =1 8r k 2 R r k 2R Approximation: since we do not take into account start times, we ignore the precedence constraints

43 Step 1: Define the Master Problem We model the allocation as a MIP Decision variables m i,k 2 {0, 1} 8a i 2 A, r k 2 R We do not take scheduling decisions here Objective function (load balancing) min z z X d i,k m i,k 8r k 2 R a i 2A

44 Step 1: Define the Master Problem Overall: min z X z d i,k m i,k 8r k 2 R X r k 2R a i 2A m i,k =1 8r k 2 R m i,k 2 {0, 1} 8a i 2 A, r k 2 R Features: The model scales well: number of variables O(n m) It is easy for a MIP solver Note the objective is a lower bound on the final schedule

45 Step 2: Define the Subproblem We model the allocation with CP Let r i be the resource assigned to in the current master problem solution Decision variables s i 2 [0..eoh] 8a i 2 A We do not take assignment decisions here

46 Step 2: Define the Subproblem Decision variables s i 2 [0..eoh] 8a i 2 A We do not take assignment decisions here Precedence Constraints: s i + d i,ri apple s j 8(a i,a j ) 2 E Resource Constraints: cumulative([s i ri =k], [d i,k ri =k], 1,c k ) 8r k 2 R Cost Function: max (s i + d ) i,ri a i 2A

47 Step 2: Define the Subproblem Overall: min z = max a i 2A (s i + d i,ri ) s i + d i,ri apple s j 8(a i,a j ) 2 E cumulative([s i ri =k], [d i,k ri =k], 1,c k ) 8r k 2 R s i 2 [0..eoh] 8a i 2 A This is a classical CP scheduling model, for which we have: powerful filtering algorithms effective search strategies

48 Step 3: Defining the Benders Cuts The cut must: forbid at least the last master problem solution forbid no improving feasible solution A master problem solution is a resource assignment Hence, we can cut it by forcing at least an activity to me moved In formulas: X MP Solution: a i 2A m i,ri apple A 1 A3, A4, / A1, A2, A5, A7 cut: m 3,0 + m 4,0 + m 6,0 + m 1,1 + m 2,1 + m 5,1 + m 7,1 apple 6 If the subproblem was infeasible, this is all we have to do

49 Step 3: Defining the Benders Cuts The cut must: forbid at least the last master problem solution forbid no improving feasible solution If the subproblem was feasible Let makespan be the current solution cost value. Then we permanently post to the subproblem: z apple makespan 1 And Since the master objective is a LB on the makespan, we can also post the same on the master: z apple makespan 1

50 Step 3: Defining the Benders Cuts Obtaining a valid cut: the classical method HP: the master objective is a relaxation of Identify the optimal cost value problem solution, given the current master Define a function (X) of the master variables such that: ( z if X = z F ([m i ], [s i ]) X (X) = a LB on F (X, ([m i ], S) [sotherwise i ]) otherwise Add to the master problem Add z<z and z<z z (X) to all subproblems from now on

51 LBD: An Example Master Problem Solution #1: A3, A4, / A1, A2, A5, A7 A1 A3 2/2 A2 1/1 1/1 1/3 A4 r 0 : r 1 : A1 A3 A4 A2 A5 A7 z =5 A5 1/1 3/6 2/1 A7

52 LBD: An Example Master Problem Solution #1: A3, A4, / A1, A2, A5, A7 Subproblem Solution #1: makespan = 7 A5 A1 A3 2/2 A2 1/1 1/1 1/3 A4 1/1 3/6 2/1 A A1 A2 A5 A7 t A3 A4 t

53 LBD: An Example Master Problem Solution #1: A3, A4, / A1, A2, A5, A7 Subproblem Solution #1: makespan = 7 Benders cut #1: m 3,0 + m 4,0 + m 6,0 + m 1,1 + m 2,1 + m 5,1 + m 7,1 apple 6 A5 A1 A3 2/2 A2 1/1 1/1 1/3 A4 1/1 3/6 2/1 A7 plus: z apple makespan 1=6

54 LBD: An Example Master Problem Solution #2: A2, A3, A4, / A1, A5, A7 Subproblem Solution #2: makespan = 6 A5 A1 A3 2/2 A2 1/1 1/1 1/3 A4 1/1 3/6 2/1 A A1 A7 A5 t A2 A4 A3 t

55 LBD: An Example Master Problem Solution #2: A2, A3, A4, / A1, A5, A7 Subproblem Solution #2: makespan = 6 Benders cut #2: m 2,0 + m 3,0 + m 4,0 + m 6,0 + m 1,1 + m 5,1 + m 7,1 apple 6 plus: z apple 5 A5 A1 A3 2/2 A2 1/1 1/1 1/3 A4 1/1 3/6 2/1 A7 The cut makes the master problem infeasible the best solution found so far is the optimal one

56 LBD: Some Result Figures Time for opt. solution MILP CP LBD 0 Instance size Results from [14] (Allocation and Scheduling with Setup Times and no precedence constraints)

57 LBD: Some Result Figures Instance size Time for opt. solution CP LBD Results from [15] (Complex allocation decisions and makespan objective)

58 Some Thoughts... Essentially, we broke a big problem into two smaller ones: PRO: reducing the problem size makes it exponentially easier to solve PRO: each subproblem is tackled with the best technique Notable cases: If the cost function is resource based (i.e. cost = subproblem becomes a CSP (no objective function) Sometimes the subproblem can be split into multiple, independent sub-subproblems improved efficiency Es. sequence dependent setup times + no prec. csts. F ([m i ]) ), the

59 Some Thoughts... In LBD, we try to squeeze the highest advantage by efficiently solving the subproblems However, decomposition makes the connection between allocation and scheduling variables very weak (in fact, even weaker than in CP!) Solving a problem may require a large number of LBD iterations, possibly countering every advantage It is important to make the interaction between the master and the subproblem as strong as possible

60 Improving LBD: Method #1 The first master problem solution was not that smart...

61 Improving LBD: Method #1 The first master solution was not that smart The MILP solver has no idea of the effect of precedence constraints (they are only part of the subproblem) Statement: it is often very beneficial to include in the master problem some "relaxation" of the subproblem The presence of a subproblem relaxation in the master has dramatic effects on the performance (see [16])

62 Improving LBD: Method #1 E.g., we could add a constraint for each path X X z d i,k m i,k in the graph a i 2 r k 2R The double summation denotes to the length of the path The first predicted makespan becomes 6 (instead of 5) This formulation is not viable since a graph contains an exponential number of paths We can get an equivalent polynomial size formulation by introducing a start variable for each node

63 Improving LBD: Method #2 Assume that changing the resource assignment for an activity leads to no makespan improvement. Then: The corresponding variables can be removed from the cut The cut gets stronger! In general: it is possible to refine a cut by identifying decisions in the current master problem solution leading to no improvement in case they are changed

64 An Example of Cut Refinement Master Problem Solution #1: A3, A4, / A1, A2, A5, A7 A1 A3 2/2 A2 1/1 1/1 1/3 A4 A5 1/1 3/6 2/1 A A1 A2 A5 A7 t A3 A4 t

65 An Example of Cut Refinement Master If a 5,aProblem 7 used no Solution resource, #1: the A3, A4, / A1, A2, A5, A7 makespan would be the same A1 A3 2/2 A2 1/1 1/1 1/3 A4 A7 A5 1/1 3/6 2/1 A7 A A1 A2 t A3 A4 t

66 An Example of Cut Refinement Reducing the size of a cut makes it exponentially stronger A1 A3 2/2 A2 1/1 1/1 1/3 A4 A5 1/1 3/6 2/1 A7 m 3,0 + m 4,0 + m 6,0 + m 1,1 + m 2,1 + m 5,1 + m 7,1 apple 6 m 3,0 + m 4,0 + m 6,0 + m 1,1 + m 2,1 apple A1 A2 t A3 A4 t

67 Improving LBD: Method #2 Cut refinement can be performed via: Efficient ad-hoc algorithms (see [15]) Explanation minimization (general approach, see [17]) Repeated solution of relaxed NP-hard subproblems (see [16]) Some comments: Finding the minimum cut is NP-hard Adding multiple, easier to generate, cuts may be better A cut is useful only if it spares some master problem iterations Rule of thumb: over all iterations, T cut = T master + T sub

68 Improving LBD: Method #3 LBD may be quite slow in finding high quality solutions LBD is effective in improving high quality solutions Hence, one final (simple!) improvement method consist in starting the LBD process with a solution found by some quick approach (e.g. a heuristic).

69 Lesson 3: Resource Allocation and Scheduling References DEIS, University of Bologna

70 References [18] Beck, J. C., & Fox, M. S. (2000). Constraint-directed techniques for scheduling alternative activities. Artificial Intelligence, 121(1-2), [19] Laborie, P. (2009). IBM ILOG CP Optimizer for detailed scheduling illustrated on three problems. Proc. of CPAIOR (pp ). I have made a general survey on the topic! [20] Michele Lombardi, Michela Milano: Optimal methods for resource allocation and scheduling: a cross-disciplinary survey. Constraints 17(1): (2012)

71 That s it! Many thanks for the patience... I hope this was useful DEIS, University of Bologna

### Tutorial: Operations Research in Constraint Programming

Tutorial: Operations Research in Constraint Programming John Hooker Carnegie Mellon University May 2009 Revised June 2009 May 2009 Slide 1 Motivation Benders decomposition allows us to apply CP and OR

### Integrating Benders decomposition within Constraint Programming

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

### Optimal Methods for Resource Allocation and Scheduling: a Cross-Disciplinary Survey

Noname manuscript No. (will be inserted by the editor) Optimal Methods for Resource Allocation and Scheduling: a Cross-Disciplinary Survey Michele Lombardi Michela Milano Submitted: December 2010 Abstract

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

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

### Scheduling and (Integer) Linear Programming

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

### Scheduling Home Hospice Care with Logic-based Benders Decomposition

Scheduling Home Hospice Care with Logic-based Benders Decomposition Aliza Heching Compassionate Care Hospice John Hooker Carnegie Mellon University CPAIOR 2016 Banff, Canada Home hospice care The Problem

### Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

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

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

### Cloud Branching. Timo Berthold. joint work with Domenico Salvagnin (Università degli Studi di Padova)

Cloud Branching Timo Berthold Zuse Institute Berlin joint work with Domenico Salvagnin (Università degli Studi di Padova) DFG Research Center MATHEON Mathematics for key technologies 21/May/13, CPAIOR

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

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

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

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

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

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

### 6. Mixed Integer Linear Programming

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

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

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

### A CP Scheduler for High-Performance Computers

A CP Scheduler for High-Performance Computers Thomas Bridi, Michele Lombardi, Andrea Bartolini, Luca Benini, and Michela Milano {thomas.bridi,michele.lombardi2,a.bartolini,luca.benini,michela.milano}@

### Solving the ILP using branch-and-cut

Solving the ILP using branch-and-cut Solving ILPs is a main topic in combinatorial optimization. We will take a brief look at the branch-and-cut approach. Branch-and-cut makes use of two techniques: Cutting

### Lecture 7: Approximation via Randomized Rounding

Lecture 7: Approximation via Randomized Rounding Often LPs return a fractional solution where the solution x, which is supposed to be in {0, } n, is in [0, ] n instead. There is a generic way of obtaining

### Lecture 3: Linear Programming Relaxations and Rounding

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

### Hybrid Queueing Theory and Scheduling Models for Dynamic Environments with Sequence-Dependent Setup Times

Proceedings of the Twenty-Third International Conference on Automated Planning and Scheduling Hybrid Queueing Theory and Scheduling Models for Dynamic Environments with Sequence-Dependent Setup Times Tony

### Minimize subject to. x S R

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

### Approximation Algorithms

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

### Solving Mixed Integer Linear Programs Using Branch and Cut Algorithm

1 Solving Mixed Integer Linear Programs Using Branch and Cut Algorithm by Shon Albert A Project Submitted to the Graduate Faculty of North Carolina State University in Partial Fulfillment of the Requirements

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

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

### Discrete Optimization

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

### Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi

Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture - 15 Limited Resource Allocation Today we are going to be talking about

### A Linear Programming Based Method for Job Shop Scheduling

A Linear Programming Based Method for Job Shop Scheduling Kerem Bülbül Sabancı University, Manufacturing Systems and Industrial Engineering, Orhanlı-Tuzla, 34956 Istanbul, Turkey bulbul@sabanciuniv.edu

### Local Search and Constraint Programming for the Post Enrolment-based Course Timetabling Problem

Local Search and Constraint Programming for the Post Enrolment-based Course Timetabling Problem Hadrien Cambazard, Emmanuel Hebrard, Barry O Sullivan and Alexandre Papadopoulos Cork Constraint Computation

### Introduction to Scheduling Theory

Introduction to Scheduling Theory Arnaud Legrand Laboratoire Informatique et Distribution IMAG CNRS, France arnaud.legrand@imag.fr November 8, 2004 1/ 26 Outline 1 Task graphs from outer space 2 Scheduling

### Recent improvements using constraint integer programming for resource allocation and scheduling

Recent improvements using constraint integer programming for resource allocation and scheduling Stefan Heinz 1,, Wen-Yang Ku 2, and J. Christopher Beck 2 1 Zuse Institute Berlin, Takustr. 7, 14195 Berlin,

### Two objective functions for a real life Split Delivery Vehicle Routing Problem

International Conference on Industrial Engineering and Systems Management IESM 2011 May 25 - May 27 METZ - FRANCE Two objective functions for a real life Split Delivery Vehicle Routing Problem Marc Uldry

### Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...

Lecture 4 Scheduling 1 Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max structure of a schedule 0 Q 1100 11 00 11 000 111 0 0 1 1 00 11 00 11 00

### Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples

### Applied Algorithm Design Lecture 5

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

### Minimum Makespan Scheduling

Minimum Makespan Scheduling Minimum makespan scheduling: Definition and variants Factor 2 algorithm for identical machines PTAS for identical machines Factor 2 algorithm for unrelated machines Martin Zachariasen,

### Planning and Scheduling in the Digital Factory

Institute for Computer Science and Control Hungarian Academy of Sciences Berlin, May 7, 2014 1 Why "digital"? 2 Some Planning and Scheduling problems 3 Planning for "one-of-a-kind" products 4 Scheduling

### Graphical method. plane. (for max) and down (for min) until it touches the set of feasible solutions. Graphical method

The graphical method of solving linear programming problems can be applied to models with two decision variables. This method consists of two steps (see also the first lecture): 1 Draw the set of feasible

### Models in Transportation. Tim Nieberg

Models in Transportation Tim Nieberg Transportation Models large variety of models due to the many modes of transportation roads railroad shipping airlines as a consequence different type of equipment

### A Mathematical Programming Solution to the Mars Express Memory Dumping Problem

A Mathematical Programming Solution to the Mars Express Memory Dumping Problem Giovanni Righini and Emanuele Tresoldi Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano Via Bramante

### On the effect of forwarding table size on SDN network utilization

IBM Haifa Research Lab On the effect of forwarding table size on SDN network utilization Rami Cohen IBM Haifa Research Lab Liane Lewin Eytan Yahoo Research, Haifa Seffi Naor CS Technion, Israel Danny Raz

### Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines

Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines Maher Rebai University of Technology of Troyes Department of Industrial Systems 12 rue Marie Curie, 10000 Troyes France maher.rebai@utt.fr

### princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora Scribe: One of the running themes in this course is the notion of

### Modelling for Constraint Programming

Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules CP Summer School 28 Implied Constraints Implied constraints are logical consequences of the set

### Lecture 6: Approximation via LP Rounding

Lecture 6: Approximation via LP Rounding Let G = (V, E) be an (undirected) graph. A subset C V is called a vertex cover for G if for every edge (v i, v j ) E we have v i C or v j C (or both). In other

### Just-In-Time Scheduling with Constraint Programming

Just-In-Time Scheduling with Constraint Programming Jean-Noël Monette and Yves Deville Computing Sciences and Engineering Department Université catholique de Louvain 1348 Louvain-la-Neuve Belgium Pascal

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

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

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

### Throughput constraint for Synchronous Data Flow Graphs

Throughput constraint for Synchronous Data Flow Graphs *Alessio Bonfietti Michele Lombardi Michela Milano Luca Benini!"#\$%&'()*+,-)./&0&20304(5 60,7&-8990,.+:&;/&."!?@A>&"'&=,0B+C. !"#\$%&'()* Resource

### Batch Production Scheduling in the Process Industries. By Prashanthi Ravi

Batch Production Scheduling in the Process Industries By Prashanthi Ravi INTRODUCTION Batch production - where a batch means a task together with the quantity produced. The processing of a batch is called

### Dantzig-Wolfe bound and Dantzig-Wolfe cookbook

Dantzig-Wolfe bound and Dantzig-Wolfe cookbook thst@man.dtu.dk DTU-Management Technical University of Denmark 1 Outline LP strength of the Dantzig-Wolfe The exercise from last week... The Dantzig-Wolfe

### Branch and Bound Methods

Branch and Bound Methods basic ideas and attributes unconstrained nonconvex optimization mixed convex-boolean optimization Prof. S. Boyd, EE364b, Stanford University Methods for nonconvex optimization

### Local Search and Constraint Programming for the Post Enrolment-based Course Timetabling Problem

Local Search and Constraint Programming for the Post Enrolment-based Course Timetabling Problem Hadrien Cambazard, Emmanuel Hebrard, Barry O Sullivan and Alexandre Papadopoulos Cork Constraint Computation

### Some Optimization Fundamentals

ISyE 3133B Engineering Optimization Some Optimization Fundamentals Shabbir Ahmed E-mail: sahmed@isye.gatech.edu Homepage: www.isye.gatech.edu/~sahmed Basic Building Blocks min or max s.t. objective as

### Special Session on Integrating Constraint Programming and Operations Research ISAIM 2016

Titles Special Session on Integrating Constraint Programming and Operations Research ISAIM 2016 1. Grammar-Based Integer Programming Models and Methods for Employee Scheduling Problems 2. Detecting and

### Integer programming solution methods - introduction

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

### Multiresource Shop Scheduling With Resource Flexibility and Blocking Yazid Mati and Xiaolan Xie

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING 1 Multiresource Shop Scheduling With Resource Flexibility and Blocking Yazid Mati and Xiaolan Xie Abstract This paper proposes a general scheduling

### Multi-layer MPLS Network Design: the Impact of Statistical Multiplexing

Multi-layer MPLS Network Design: the Impact of Statistical Multiplexing Pietro Belotti, Antonio Capone, Giuliana Carello, Federico Malucelli Tepper School of Business, Carnegie Mellon University, Pittsburgh

### Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling

Abstract number: 015-0551 Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling Karuna Jain and Kanchan Joshi Shailesh J. Mehta School of Management, Indian Institute

### Lecture notes 1: Introduction to linear and (mixed) integer programs

Lecture notes 1: Introduction to linear and (mixed) integer programs Vincent Conitzer 1 An example We will start with a simple example. Suppose we are in the business of selling reproductions of two different

### Industrial Optimization

Industrial Optimization Lessons learned from Optimization in Practice Marco Lübbecke Chair of Operations Research RWTH Aachen University, Germany SICS Stockholm Feb 11, 2013 Discrete Optimization: Some

### A Slot Representation of the Resource-Centric Models for Scheduling Problems

A Slot Representation of the Resource-Centric Models for Scheduling Problems Roman Barták * Charles University, Faculty of Mathematics and Physics Department of Theoretical Computer Science Malostranské

### Keywords: Power Transmission Networks, Maintenance Scheduling problem, Hybrid Constraint Methods, Constraint Programming

SCHEDULING MAINTENANCE ACTIVITIES OF ELECTRIC POWER TRANSMISSION NETWORKS USING AN HYBRID CONSTRAINT METHOD Nuno Gomes, Raul Pinheiro, ZitaVale, Carlos Ramos GECAD Knowledge Engineering and Decision Support

### Research Article Batch Scheduling on Two-Machine Flowshop with Machine-Dependent Setup Times

Hindawi Publishing Corporation Advances in Operations Research Volume 2009, Article ID 153910, 10 pages doi:10.1155/2009/153910 Research Article Batch Scheduling on Two-Machine Flowshop with Machine-Dependent

### Alternative Job-Shop Scheduling For Proton Therapy

Alternative Job-Shop Scheduling For Proton Therapy Cyrille Dejemeppe ICTEAM, Université Catholique de Louvain (UCLouvain), Belgium, cyrille.dejemeppe@uclouvain.be Director: Yves Deville (ICTEAM, UCLouvain)

### Equilibrium computation: Part 1

Equilibrium computation: Part 1 Nicola Gatti 1 Troels Bjerre Sorensen 2 1 Politecnico di Milano, Italy 2 Duke University, USA Nicola Gatti and Troels Bjerre Sørensen ( Politecnico di Milano, Italy, Equilibrium

### 11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005

### Guessing Game: NP-Complete?

Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES 2. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple

### Introduction & Overview

ID2204: Constraint Programming Introduction & Overview Lecture 01, Christian Schulte cschulte@kth.se Software and Computer Systems School of Information and Communication Technology KTH Royal Institute

### Lecture 10 Scheduling 1

Lecture 10 Scheduling 1 Transportation Models -1- large variety of models due to the many modes of transportation roads railroad shipping airlines as a consequence different type of equipment and resources

### Global Constraints in Software Testing Applications

Global Constraints in Software Testing Applications Arnaud Gotlieb Simula Research Laboratory Norway 1/34 The Certus Centre Software Validation and Verification Cisco Systems Norway Hosted by SIMULA Established

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

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

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

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

### Linear Programming: Introduction

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

### Heuristics for Dynamically Adapting Constraint Propagation in Constraint Programming

Heuristics for Dynamically Adapting Constraint Propagation in Constraint Programming Kostas Stergiou AI Lab University of the Aegean Greece CPAIOR 09 Workshop on Bound reduction techniques for CP and MINLP

### Memoization/Dynamic Programming. The String reconstruction problem. CS125 Lecture 5 Fall 2016

CS125 Lecture 5 Fall 2016 Memoization/Dynamic Programming Today s lecture discusses memoization, which is a method for speeding up algorithms based on recursion, by using additional memory to remember

### High-performance local search for planning maintenance of EDF nuclear park

High-performance local search for planning maintenance of EDF nuclear park Frédéric Gardi Karim Nouioua Bouygues e-lab, Paris fgardi@bouygues.com Laboratoire d'informatique Fondamentale - CNRS UMR 6166,

### Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques. My T. Thai

Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques My T. Thai 1 Overview An overview of LP relaxation and rounding method is as follows: 1. Formulate an optimization

### Deterministic Problems

Chapter 2 Deterministic Problems 1 In this chapter, we focus on deterministic control problems (with perfect information), i.e, there is no disturbance w k in the dynamics equation. For such problems there

### Computing with the Mixed Integer Rounding Cut.

Computing with the Mixed Integer Rounding Cut. Marcos Goycoolea. Universidad Adolfo Ibañez Santiago, Chile. (joint work with Sanjeeb Dash, IBM Research, NY) A quick history... Gomory s Mixed Integer

### Smart Graphics: Methoden 3 Suche, Constraints

Smart Graphics: Methoden 3 Suche, Constraints Vorlesung Smart Graphics LMU München Medieninformatik Butz/Boring Smart Graphics SS2007 Methoden: Suche 2 Folie 1 Themen heute Suchverfahren Hillclimbing Simulated

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

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

### Principles of demand management Airline yield management Determining the booking limits. » A simple problem» Stochastic gradients for general problems

Demand Management Principles of demand management Airline yield management Determining the booking limits» A simple problem» Stochastic gradients for general problems Principles of demand management Issues:»

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

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

### Mixed-integer programming models for flowshop scheduling problems minimizing the total earliness and tardiness

Mixed-integer programming models for flowshop scheduling problems minimizing the total earliness and tardiness Débora P. Ronconi Ernesto G. Birgin April 29, 2010 Abstract Scheduling problems involving

### CHAPTER 9. Integer Programming

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

### arxiv:cs/0106002v2 [cs.dm] 21 Aug 2001

Solving Assembly Line Balancing Problems by Combining IP and CP Alexander Bockmayr and Nicolai Pisaruk arxiv:cs/0106002v2 [cs.dm] 21 Aug 2001 Université Henri Poincaré, LORIA B.P. 239, F-54506 Vandœuvre-lès-Nancy,

### Lecture Notes 6: Approximations for MAX-SAT. 2 Notes about Weighted Vertex Cover Approximation

Algorithmic Methods //00 Lecture Notes 6: Approximations for MAX-SAT Professor: Yossi Azar Scribe:Alon Ardenboim Introduction Although solving SAT is nown to be NP-Complete, in this lecture we will cover

### Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24

Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24 The final exam will cover seven topics. 1. greedy algorithms 2. divide-and-conquer algorithms

### The multi-integer set cover and the facility terminal cover problem

The multi-integer set cover and the facility teral cover problem Dorit S. Hochbaum Asaf Levin December 5, 2007 Abstract The facility teral cover problem is a generalization of the vertex cover problem.

### Strategic planning in LTL logistics increasing the capacity utilization of trucks

Strategic planning in LTL logistics increasing the capacity utilization of trucks J. Fabian Meier 1,2 Institute of Transport Logistics TU Dortmund, Germany Uwe Clausen 3 Fraunhofer Institute for Material

### Dynamic Programming.S1 Sequencing Problems

Dynamic Programming.S1 Sequencing Problems Operations Research Models and Methods Paul A. Jensen and Jonathan F. Bard Many operational problems in manufacturing, service and distribution require the sequencing

### Minimizing Cycle Time for PCB Assembly Lines: An Integer Programming Model and a Branch-and-Bound Approach

Information and Management Sciences Volume 19, Number 2, pp. 237-243, 2008 Minimizing Cycle Time for PCB Assembly Lines: An Integer Programming Model and a Branch-and-Bound Approach P. Ji Y. F. Wan Hong

### 1 Unrelated Parallel Machine Scheduling

IIIS 014 Spring: ATCS - Selected Topics in Optimization Lecture date: Mar 13, 014 Instructor: Jian Li TA: Lingxiao Huang Scribe: Yifei Jin (Polishing not finished yet.) 1 Unrelated Parallel Machine Scheduling

### 2.3 Scheduling jobs on identical parallel machines

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

### Fairness in Routing and Load Balancing

Fairness in Routing and Load Balancing Jon Kleinberg Yuval Rabani Éva Tardos Abstract We consider the issue of network routing subject to explicit fairness conditions. The optimization of fairness criteria

### Scheduling Single Machine Scheduling. Tim Nieberg

Scheduling Single Machine Scheduling Tim Nieberg Single machine models Observation: for non-preemptive problems and regular objectives, a sequence in which the jobs are processed is sufficient to describe

### 2004 Networks UK Publishers. Reprinted with permission.

Riikka Susitaival and Samuli Aalto. Adaptive load balancing with OSPF. In Proceedings of the Second International Working Conference on Performance Modelling and Evaluation of Heterogeneous Networks (HET

### THE SCHEDULING OF MAINTENANCE SERVICE

THE SCHEDULING OF MAINTENANCE SERVICE Shoshana Anily Celia A. Glass Refael Hassin Abstract We study a discrete problem of scheduling activities of several types under the constraint that at most a single