Resource Allocation and Scheduling


 Polly Skinner
 2 years ago
 Views:
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 resourcerequiring 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 resourcerequiring 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 preassigned 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 preassigned 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 scheduleorpostpone
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 scheduleorpostpone 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 scheduleorpostpone
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 scheduleorpostpone
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 scheduleorpostpone
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 firstclass 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] SALNS 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 multiresource 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 subproblem 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 subproblems
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 subsubproblems 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 adhoc algorithms (see [15]) Explanation minimization (general approach, see [17]) Repeated solution of relaxed NPhard subproblems (see [16]) Some comments: Finding the minimum cut is NPhard 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). Constraintdirected techniques for scheduling alternative activities. Artificial Intelligence, 121(12), [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 crossdisciplinary 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
More informationIntegrating 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
More informationOptimal Methods for Resource Allocation and Scheduling: a CrossDisciplinary Survey
Noname manuscript No. (will be inserted by the editor) Optimal Methods for Resource Allocation and Scheduling: a CrossDisciplinary Survey Michele Lombardi Michela Milano Submitted: December 2010 Abstract
More information5 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
More informationScheduling 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)
More informationScheduling Home Hospice Care with Logicbased Benders Decomposition
Scheduling Home Hospice Care with Logicbased Benders Decomposition Aliza Heching Compassionate Care Hospice John Hooker Carnegie Mellon University CPAIOR 2016 Banff, Canada Home hospice care The Problem
More informationScheduling 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
More informationA 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,
More informationCloud 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
More informationBranchandPrice Approach to the Vehicle Routing Problem with Time Windows
TECHNISCHE UNIVERSITEIT EINDHOVEN BranchandPrice 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
More informationINTEGER 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
More informationScheduling 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
More information6. Mixed Integer Linear Programming
6. Mixed Integer Linear Programming Javier Larrosa Albert Oliveras Enric RodríguezCarbonell Problem Solving and Constraint Programming (RPAR) Session 6 p.1/40 Mixed Integer Linear Programming A mixed
More informationmax 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
More informationA CP Scheduler for HighPerformance Computers
A CP Scheduler for HighPerformance Computers Thomas Bridi, Michele Lombardi, Andrea Bartolini, Luca Benini, and Michela Milano {thomas.bridi,michele.lombardi2,a.bartolini,luca.benini,michela.milano}@
More informationSolving the ILP using branchandcut
Solving the ILP using branchandcut Solving ILPs is a main topic in combinatorial optimization. We will take a brief look at the branchandcut approach. Branchandcut makes use of two techniques: Cutting
More informationLecture 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
More informationLecture 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
More informationHybrid Queueing Theory and Scheduling Models for Dynamic Environments with SequenceDependent Setup Times
Proceedings of the TwentyThird International Conference on Automated Planning and Scheduling Hybrid Queueing Theory and Scheduling Models for Dynamic Environments with SequenceDependent Setup Times Tony
More informationMinimize 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
More informationApproximation Algorithms
Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NPCompleteness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms
More informationSolving 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
More informationAn Exact Algorithm for Steiner Tree Problem on Graphs
International Journal of Computers, Communications & Control Vol. I (2006), No. 1, pp. 4146 An Exact Algorithm for Steiner Tree Problem on Graphs Milan Stanojević, Mirko Vujošević Abstract: The paper
More informationDiscrete Optimization
Discrete Optimization [Chen, Batson, Dang: Applied integer Programming] Chapter 3 and 4.14.3 by Johan Högdahl and Victoria Svedberg Seminar 2, 20150331 Todays presentation Chapter 3 Transforms using
More informationProject 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
More informationA 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
More informationLocal Search and Constraint Programming for the Post Enrolmentbased Course Timetabling Problem
Local Search and Constraint Programming for the Post Enrolmentbased Course Timetabling Problem Hadrien Cambazard, Emmanuel Hebrard, Barry O Sullivan and Alexandre Papadopoulos Cork Constraint Computation
More informationIntroduction 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
More informationRecent improvements using constraint integer programming for resource allocation and scheduling
Recent improvements using constraint integer programming for resource allocation and scheduling Stefan Heinz 1,, WenYang Ku 2, and J. Christopher Beck 2 1 Zuse Institute Berlin, Takustr. 7, 14195 Berlin,
More informationTwo 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
More informationSingle 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
More informationComplexity 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
More informationApplied 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
More informationMinimum 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,
More informationPlanning 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 "oneofakind" products 4 Scheduling
More informationGraphical 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
More informationModels 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
More informationA 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
More informationOn 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
More informationScheduling 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
More informationprinceton 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
More informationModelling 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
More informationLecture 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
More informationJustInTime Scheduling with Constraint Programming
JustInTime Scheduling with Constraint Programming JeanNoël Monette and Yves Deville Computing Sciences and Engineering Department Université catholique de Louvain 1348 LouvainlaNeuve Belgium Pascal
More informationChapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling
Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NPhard problem. What should I do? A. Theory says you're unlikely to find a polytime algorithm. Must sacrifice one
More information! Solve problem to optimality. ! Solve problem in polytime. ! Solve arbitrary instances of the problem. !approximation algorithm.
Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NPhard problem What should I do? A Theory says you're unlikely to find a polytime algorithm Must sacrifice one of
More informationThroughput 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
More informationBatch 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
More informationDantzigWolfe bound and DantzigWolfe cookbook
DantzigWolfe bound and DantzigWolfe cookbook thst@man.dtu.dk DTUManagement Technical University of Denmark 1 Outline LP strength of the DantzigWolfe The exercise from last week... The DantzigWolfe
More informationBranch and Bound Methods
Branch and Bound Methods basic ideas and attributes unconstrained nonconvex optimization mixed convexboolean optimization Prof. S. Boyd, EE364b, Stanford University Methods for nonconvex optimization
More informationLocal Search and Constraint Programming for the Post Enrolmentbased Course Timetabling Problem
Local Search and Constraint Programming for the Post Enrolmentbased Course Timetabling Problem Hadrien Cambazard, Emmanuel Hebrard, Barry O Sullivan and Alexandre Papadopoulos Cork Constraint Computation
More informationSome Optimization Fundamentals
ISyE 3133B Engineering Optimization Some Optimization Fundamentals Shabbir Ahmed Email: sahmed@isye.gatech.edu Homepage: www.isye.gatech.edu/~sahmed Basic Building Blocks min or max s.t. objective as
More informationSpecial Session on Integrating Constraint Programming and Operations Research ISAIM 2016
Titles Special Session on Integrating Constraint Programming and Operations Research ISAIM 2016 1. GrammarBased Integer Programming Models and Methods for Employee Scheduling Problems 2. Detecting and
More informationInteger 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
More informationMultiresource 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
More informationMultilayer MPLS Network Design: the Impact of Statistical Multiplexing
Multilayer MPLS Network Design: the Impact of Statistical Multiplexing Pietro Belotti, Antonio Capone, Giuliana Carello, Federico Malucelli Tepper School of Business, Carnegie Mellon University, Pittsburgh
More informationAbstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling
Abstract number: 0150551 Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling Karuna Jain and Kanchan Joshi Shailesh J. Mehta School of Management, Indian Institute
More informationLecture 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
More informationIndustrial 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
More informationA Slot Representation of the ResourceCentric Models for Scheduling Problems
A Slot Representation of the ResourceCentric Models for Scheduling Problems Roman Barták * Charles University, Faculty of Mathematics and Physics Department of Theoretical Computer Science Malostranské
More informationKeywords: 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
More informationResearch Article Batch Scheduling on TwoMachine Flowshop with MachineDependent 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 TwoMachine Flowshop with MachineDependent
More informationAlternative JobShop Scheduling For Proton Therapy
Alternative JobShop Scheduling For Proton Therapy Cyrille Dejemeppe ICTEAM, Université Catholique de Louvain (UCLouvain), Belgium, cyrille.dejemeppe@uclouvain.be Director: Yves Deville (ICTEAM, UCLouvain)
More informationEquilibrium 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
More information11. 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
More informationGuessing Game: NPComplete?
Guessing Game: NPComplete? 1. LONGESTPATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES 2. SHORTESTPATH: Given a graph G = (V, E), does there exists a simple
More informationIntroduction & 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
More informationLecture 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
More informationGlobal 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
More informationUsing 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
More informationEfficient and Robust Allocation Algorithms in Clouds under Memory Constraints
Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints Olivier Beaumont,, Paul RenaudGoud Inria & University of Bordeaux Bordeaux, France 9th Scheduling for Large Scale Systems
More informationLinear 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
More informationHeuristics 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
More informationMemoization/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
More informationHighperformance local search for planning maintenance of EDF nuclear park
Highperformance local search for planning maintenance of EDF nuclear park Frédéric Gardi Karim Nouioua Bouygues elab, Paris fgardi@bouygues.com Laboratoire d'informatique Fondamentale  CNRS UMR 6166,
More informationApproximation 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
More informationDeterministic 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
More informationComputing 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
More informationSmart 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
More informationJUSTINTIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004
Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUSTINTIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February
More informationPrinciples 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:»
More informationMinimizing 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
More informationMixedinteger programming models for flowshop scheduling problems minimizing the total earliness and tardiness
Mixedinteger 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
More informationCHAPTER 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
More informationarxiv: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, F54506 VandœuvrelèsNancy,
More informationvii TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION DEDICATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK
vii TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION DEDICATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK TABLE OF CONTENTS LIST OF TABLES LIST OF FIGURES LIST OF ABBREVIATIONS LIST OF SYMBOLS LIST OF APPENDICES
More informationLecture Notes 6: Approximations for MAXSAT. 2 Notes about Weighted Vertex Cover Approximation
Algorithmic Methods //00 Lecture Notes 6: Approximations for MAXSAT Professor: Yossi Azar Scribe:Alon Ardenboim Introduction Although solving SAT is nown to be NPComplete, in this lecture we will cover
More informationIntroduction 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. divideandconquer algorithms
More informationThe multiinteger set cover and the facility terminal cover problem
The multiinteger 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.
More informationStrategic 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
More informationDynamic 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
More informationMinimizing Cycle Time for PCB Assembly Lines: An Integer Programming Model and a BranchandBound Approach
Information and Management Sciences Volume 19, Number 2, pp. 237243, 2008 Minimizing Cycle Time for PCB Assembly Lines: An Integer Programming Model and a BranchandBound Approach P. Ji Y. F. Wan Hong
More information1 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
More information2.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
More informationFairness 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
More informationScheduling Single Machine Scheduling. Tim Nieberg
Scheduling Single Machine Scheduling Tim Nieberg Single machine models Observation: for nonpreemptive problems and regular objectives, a sequence in which the jobs are processed is sufficient to describe
More information2004 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
More informationTHE 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
More information5.1 Bipartite Matching
CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the FordFulkerson
More informationSolutions to Homework 6
Solutions to Homework 6 Debasish Das EECS Department, Northwestern University ddas@northwestern.edu 1 Problem 5.24 We want to find light spanning trees with certain special properties. Given is one example
More information