Scheduling and (Integer) Linear Programming

Size: px
Start display at page:

Download "Scheduling and (Integer) Linear Programming"

Transcription

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

2 Outline 1 Introduction 2 Polyhedral studies and cutting plane generation 3 (Mixed) integer programming for scheduling problems 4 Column generation 5 A few Computational results Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 2 / 78

3 Outline 1 Introduction 2 Polyhedral studies and cutting plane generation 3 (Mixed) integer programming for scheduling problems Time-indexed variables Total unimodularity Sequencing and natural date variables Flow (TSP) and natural date variables Positional date and assignment variables Hybrid formulations 4 Column generation 5 A few Computational results Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 3 / 78

4 A bit of history Since the beginning, linear programming has been used to solve scheduling problems. The military refer to their various plans or proposed schedules of training, logistical supply and deployment of combat units as a program. When I first analyzed the Air Force planning problem and saw that it could be formulated as a system of linear inequalities, I called my paper Programming in a Linear Structure (Georges Dantzig) This presentation is a (non-exhaustive) survey of (integer) linear programming formulations and valid inequalities for scheduling problems Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 4 / 78

5 A simple scheduling example One machine scheduling with release dates and deadlines 2 jobs J 1 and J 2 (p 1 = 3, p 2 = 2, r 1 = 0, r 2 = 1, d 1 = 9, d 2 = 7). 1 machine. Objective function f (S) = C 1 + C 2 = S 1 + S 2 + p 1 + p min S 1 + S 2 +p 1 + p 2 S 1 r 1 S 2 r 2 S 1 + p 1 d 1 S 2 + p 2 d 2 S 2 S 1 + p 1 S 1 S 2 + p 2 S 1, S 2 integer J 1 J 2 Ci = 8 (optimal solution) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 5 / 78

6 The scheduling polyhedron Feasible set S The feasible set is S the set of points S R n that satisfy the constraints min S 1 + S 2 +p 1 + p 2 S 1 r 1 S 2 r 2 S 1 + p 1 d 1 S 2 + p 2 d 2 S 2 S S 2 S 1 + p 1 S 1 S 2 + p 2 S 1, S 2 integer S 1 J 1 J 2 Ci = Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 6 / 78

7 The scheduling polyhedron Convex hull conv(s) The convex{ hull of S, i.e. the smallest convex set containing S : conv(s) = x R n λi R n+, x = S i=1 λ is i, } S i=1 λ i = 1 min S 1 + S 2 +p 1 + p 2 S 1 r 1 S 2 r 2 S 1 + p 1 d 1 S 2 + p 2 d 2 S 2 S conv(s) S 2 S 1 + p 1 S 1 S 2 + p 2 S 1, S 2 integer S 1 J 1 J 2 Ci = Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 6 / 78

8 The scheduling polyhedron Optimization on S and conv(s) Let f : R n R a linear function, min f (S) = min f (S) S S S conv(s) min S 1 + S 2 +p 1 + p 2 S 1 r 1 S 2 r 2 S 1 + p 1 d 1 S 2 + p 2 d 2 S 2 S conv(s) S 2 S 1 + p 1 S 1 S 2 + p 2 S 1, S 2 integer S 1 J 1 J 2 Ci = Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 6 / 78

9 The scheduling polyhedron conv(s) is a polyhedron There exists A R m n and b R n with m finite such that conv(s) = {x R n Ax b}. Hence f (S) is a LP. min S conv(s) min S 1 + S 2 +p 1 + p 2 S 1 r 1 S 2 r 2 S 1 + p 1 d 1 S 2 + p 2 d 2 S 2 S conv(s) S 2 S 1 + p 1 S 1 S 2 + p 2 S 1, S 2 integer S 1 J 1 J 2 Ci = Find a complete description of conv(s) : hard in general Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 6 / 78

10 Definitions : valid inequalities, faces and facets Let P denote a polyhedron. A valid inequality αx β is such that S P, S verifies the inequality (P is included in the halfspace induced by the inequality) A face is the intersection of P with the hyperplane {x R n αx = β} A vertex is a face of dimension 0 A facet is a face of dimension dim(p) 1 S 2 S 1 3S 1 + 5S2 7 : a valid inequality Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 7 / 78

11 Definitions : valid inequalities, faces and facets Let P denote a polyhedron. A valid inequality αx β is such that S P, S verifies the inequality (P is included in the halfspace induced by the inequality) A face is the intersection of P with the hyperplane {x R n αx = β} A vertex is a face of dimension 0 A facet is a face of dimension dim(p) 1 S 2 S 1 P {S S 1 + 3S 2 = 6} : a 0-dimensional face (3, 1) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 7 / 78

12 Definitions : valid inequalities, faces and facets Let P denote a polyhedron. A valid inequality αx β is such that S P, S verifies the inequality (P is included in the halfspace induced by the inequality) A face is the intersection of P with the hyperplane {x R n αx = β} A vertex is a face of dimension 0 A facet is a face of dimension dim(p) 1 S 2 S 1 P {S 2S 1 + 3S 2 = 9} : a facet Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 7 / 78

13 Definitions : valid inequalities, faces and facets Let P denote a polyhedron. A valid inequality αx β is such that S P, S verifies the inequality (P is included in the halfspace induced by the inequality) A face is the intersection of P with the hyperplane {x R n αx = β} A vertex is a face of dimension 0 A facet is a face of dimension dim(p) 1 S 2 P {S 2S 1 + 3S 2 = 9} : a facet S 1 A polyhedron is fully described by the set of all facet-inducing valid inequalities Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 7 / 78

14 (Integer) linear programming-based scheduling Given a scheduling problem and the logical description of S 1 Perform a polyhedral study : Find a complete description of conv(s) with a polynomial number of linear inequalities? The problem can be solved by LP Find a complete description of conv(s) and show it has a supermodular structure? The problem can be solved by a greedy algorithm Find a partial description of conv(s)? This gives useful valid inequalities 2 Design a (mixed)-integer programming formulation More polyhedral studies, solve with branch-and-cut, branch-and-price, branch-and-cut-and-price, heuristics,... (only partly addressed here) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 8 / 78

15 (Integer) linear programming-based scheduling Given a scheduling problem and the logical description of S 1 Perform a polyhedral study : Find a complete description of conv(s) with a polynomial number of linear inequalities? The problem can be solved by LP Find a complete description of conv(s) and show it has a supermodular structure? The problem can be solved by a greedy algorithm Find a partial description of conv(s)? This gives useful valid inequalities 2 Design a (mixed)-integer programming formulation More polyhedral studies, solve with branch-and-cut, branch-and-price, branch-and-cut-and-price, heuristics,... (only partly addressed here) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 8 / 78

16 (Integer) linear programming-based scheduling Given a scheduling problem and the logical description of S 1 Perform a polyhedral study : Find a complete description of conv(s) with a polynomial number of linear inequalities? The problem can be solved by LP Find a complete description of conv(s) and show it has a supermodular structure? The problem can be solved by a greedy algorithm Find a partial description of conv(s)? This gives useful valid inequalities 2 Design a (mixed)-integer programming formulation More polyhedral studies, solve with branch-and-cut, branch-and-price, branch-and-cut-and-price, heuristics,... (only partly addressed here) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 8 / 78

17 (Integer) linear programming-based scheduling Given a scheduling problem and the logical description of S 1 Perform a polyhedral study : Find a complete description of conv(s) with a polynomial number of linear inequalities? The problem can be solved by LP Find a complete description of conv(s) and show it has a supermodular structure? The problem can be solved by a greedy algorithm Find a partial description of conv(s)? This gives useful valid inequalities 2 Design a (mixed)-integer programming formulation More polyhedral studies, solve with branch-and-cut, branch-and-price, branch-and-cut-and-price, heuristics,... (only partly addressed here) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 8 / 78

18 (Integer) linear programming-based scheduling Given a scheduling problem and the logical description of S 1 Perform a polyhedral study : Find a complete description of conv(s) with a polynomial number of linear inequalities? The problem can be solved by LP Find a complete description of conv(s) and show it has a supermodular structure? The problem can be solved by a greedy algorithm Find a partial description of conv(s)? This gives useful valid inequalities 2 Design a (mixed)-integer programming formulation More polyhedral studies, solve with branch-and-cut, branch-and-price, branch-and-cut-and-price, heuristics,... (only partly addressed here) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 8 / 78

19 (Integer) linear programming-based scheduling Given a scheduling problem and the logical description of S 1 Perform a polyhedral study : Find a complete description of conv(s) with a polynomial number of linear inequalities? The problem can be solved by LP Find a complete description of conv(s) and show it has a supermodular structure? The problem can be solved by a greedy algorithm Find a partial description of conv(s)? This gives useful valid inequalities 2 Design a (mixed)-integer programming formulation More polyhedral studies, solve with branch-and-cut, branch-and-price, branch-and-cut-and-price, heuristics,... (only partly addressed here) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 8 / 78

20 Outline 1 Introduction 2 Polyhedral studies and cutting plane generation 3 (Mixed) integer programming for scheduling problems Time-indexed variables Total unimodularity Sequencing and natural date variables Flow (TSP) and natural date variables Positional date and assignment variables Hybrid formulations 4 Column generation 5 A few Computational results Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 9 / 78

21 A scheduling problem that can be solved by LP Project scheduling S PS Precedence constraints E. l ij : minimum distance between the start of job i (S i ) and the start of job j (S j ). S PS = {S R +n S j S i l ij, (i, j) E} find the shortest schedule mins n+1 S j S i l ij S 0 = 0 S j 0 (i, j) E j J i Γ 1 (j) i Γ(0) max (i,j) E x ij = x 0i = 1 i Γ(j) 1 2 l ij x ij x ji j J \ {0} x 0i 0 (longest path model) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 10 / 78 5

22 Supermodular polyhedron : definitions [Sch96] Consider a set N = {1,..., n} and its power set 2 N (set of all subsets of N) and a supermodular set function f : 2 N R, i.e. a set function that verifies : { f ( ) = 0 f (A B) + f (A B) f (A) + f (B), A, B N P(f )={x R N i A x i f (A), A N} supermodular polyhedron There is an O(n log n) greedy algorithm to find x = argmin x P(f ) cx : if i N, c i < 0, the problem is unbounded. otherwise x B(f ). Solve the problem with the following greedy algorithm { x 1 = f ({1}) xj = f ({1,..., j}) f ({1,..., j 1}), j = 2,..., n. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 11 / 78

23 Supermodular polyhedron : definitions [Sch96] Consider a set N = {1,..., n} and its power set 2 N (set of all subsets of N) and a supermodular set function f : 2 N R, i.e. a set function that verifies : { f ( ) = 0 f (A B) + f (A B) f (A) + f (B), A, B N P(f )={x R N i A x i f (A), A N} supermodular polyhedron There is an O(n log n) greedy algorithm to find x = argmin x P(f ) cx : if i N, c i < 0, the problem is unbounded. otherwise x B(f ). Solve the problem with the following greedy algorithm { x 1 = f ({1}) xj = f ({1,..., j}) f ({1,..., j 1}), j = 2,..., n. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 11 / 78

24 A scheduling supermodular polyhedron [Que93] Single-machine scheduling S SM Set of feasible { schedules for a set of jobs J on a single machine :} S SM = C R J C i p i, j J, C i C j + p i C j C i + p j, i, j J, i j Queyranne [Que93] showed that conv(s SM ) = {C R J j A p jc j g(a), A J } where ( ( ) ) 2 g(a) = 1 2 j A p j + j A p2 j. These valid inequalities can be obtained by Smith s rule (WSPT). Optimum for i J w ic i is obtained by sorting jobs in non decreasing w i /p i. For A = {i 1,..., i s } J, set w i = p i for i A and w i = 0 for i J \ A Opt = p i1 p i1 + p i2 (p i1 + p i2 ) p is (p i1 + p i p is ) = g(a) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78

25 A scheduling supermodular polyhedron [Que93] Single-machine scheduling S SM Set of feasible { schedules for a set of jobs J on a single machine :} S SM = C R J C i p i, j J, C i C j + p i C j C i + p j, i, j J, i j Queyranne [Que93] showed that conv(s SM ) = {C R J j A p jc j g(a), A J } where ( ( ) ) 2 g(a) = 1 2 j A p j + j A p2 j. These valid inequalities can be obtained by Smith s rule (WSPT). Optimum for i J w ic i is obtained by sorting jobs in non decreasing w i /p i. For A = {i 1,..., i s } J, set w i = p i for i A and w i = 0 for i J \ A Opt = p i1 p i1 + p i2 (p i1 + p i2 ) p is (p i1 + p i p is ) = g(a) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78

26 A scheduling supermodular polyhedron [Que93] Single-machine scheduling S SM Set of feasible { schedules for a set of jobs J on a single machine :} S SM = C R J C i p i, j J, C i C j + p i C j C i + p j, i, j J, i j Queyranne [Que93] showed that conv(s SM ) = {C R J j A p jc j g(a), A J } where ( ( ) ) 2 g(a) = 1 2 j A p j + j A p2 j. These valid inequalities can be obtained by Smith s rule (WSPT). Optimum for i J w ic i is obtained by sorting jobs in non decreasing w i /p i. For A = {i 1,..., i s } J, set w i = p i for i A and w i = 0 for i J \ A Opt = p i1 p i1 + p i2 (p i1 + p i2 ) p is (p i1 + p i p is ) = g(a) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78

27 A scheduling supermodular polyhedron [Que93] Single-machine scheduling S SM Set of feasible { schedules for a set of jobs J on a single machine :} S SM = C R J C i p i, j J, C i C j + p i C j C i + p j, i, j J, i j Queyranne [Que93] showed that conv(s SM ) = {C R J j A p jc j g(a), A J } where ( ( ) ) 2 g(a) = 1 2 j A p j + j A p2 j. These valid inequalities can be obtained by Smith s rule (WSPT). Optimum for i J w ic i is obtained by sorting jobs in non decreasing w i /p i. For A = {i 1,..., i s } J, set w i = p i for i A and w i = 0 for i J \ A Opt = p i1 p i1 + p i2 (p i1 + p i2 ) p is (p i1 + p i p is ) = g(a) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78

28 A scheduling supermodular polyhedron [Que93] Single-machine scheduling S SM Set of feasible { schedules for a set of jobs J on a single machine :} S SM = C R J C i p i, j J, C i C j + p i C j C i + p j, i, j J, i j Queyranne [Que93] showed that conv(s SM ) = {C R J j A p jc j g(a), A J } where ( ( ) ) 2 g(a) = 1 2 j A p j + j A p2 j. These valid inequalities can be obtained by Smith s rule (WSPT). Optimum for i J w ic i is obtained by sorting jobs in non decreasing w i /p i. For A = {i 1,..., i s } J, set w i = p i for i A and w i = 0 for i J \ A Opt = p i1 p i1 + p i2 (p i1 + p i2 ) p is (p i1 + p i p is ) = g(a) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78

29 A scheduling supermodular polyhedron [Que93] Single-machine scheduling S SM Set of feasible { schedules for a set of jobs J on a single machine :} S SM = C R J C i p i, j J, C i C j + p i C j C i + p j, i, j J, i j Queyranne [Que93] showed that conv(s SM ) = {C R J j A p jc j g(a), A J } where ( ( ) ) 2 g(a) = 1 2 j A p j + j A p2 j. These valid inequalities can be obtained by Smith s rule (WSPT). Optimum for i J w ic i is obtained by sorting jobs in non decreasing w i /p i. For A = {i 1,..., i s } J, set w i = p i for i A and w i = 0 for i J \ A Opt = p i1 p i1 + p i2 (p i1 + p i2 ) p is (p i1 + p i p is ) = g(a) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 12 / 78

30 A scheduling supermodular polyhedron [Que93] Each inequality j S p j C j g(s) defines a facet for conv(q). conv(s SM ) is a supermodular polyhedron and the greedy algorithm for minimizing i J w i C i coincides with the Smith s rule WSPT This rediscovers the WSPT rule but also provides valid inequalities for other (NP-hard) scheduling problems. An O(n log n) separation algorithm is available to find an inequality violated by a given vector C. More scheduling supermodular polyhedra : the convex hull of the feasible start time for unit jobs on parallel machines with nonstationary speeds [QS95] the convex hull of mean busy time vectors of preemptive schedules for jobs with release dates on a single machine [GQS + 02] Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 13 / 78

31 A scheduling supermodular polyhedron [Que93] Each inequality j S p j C j g(s) defines a facet for conv(q). conv(s SM ) is a supermodular polyhedron and the greedy algorithm for minimizing i J w i C i coincides with the Smith s rule WSPT This rediscovers the WSPT rule but also provides valid inequalities for other (NP-hard) scheduling problems. An O(n log n) separation algorithm is available to find an inequality violated by a given vector C. More scheduling supermodular polyhedra : the convex hull of the feasible start time for unit jobs on parallel machines with nonstationary speeds [QS95] the convex hull of mean busy time vectors of preemptive schedules for jobs with release dates on a single machine [GQS + 02] Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 13 / 78

32 A scheduling supermodular polyhedron [Que93] Each inequality j S p j C j g(s) defines a facet for conv(q). conv(s SM ) is a supermodular polyhedron and the greedy algorithm for minimizing i J w i C i coincides with the Smith s rule WSPT This rediscovers the WSPT rule but also provides valid inequalities for other (NP-hard) scheduling problems. An O(n log n) separation algorithm is available to find an inequality violated by a given vector C. More scheduling supermodular polyhedra : the convex hull of the feasible start time for unit jobs on parallel machines with nonstationary speeds [QS95] the convex hull of mean busy time vectors of preemptive schedules for jobs with release dates on a single machine [GQS + 02] Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 13 / 78

33 A scheduling supermodular polyhedron [Que93] Each inequality j S p j C j g(s) defines a facet for conv(q). conv(s SM ) is a supermodular polyhedron and the greedy algorithm for minimizing i J w i C i coincides with the Smith s rule WSPT This rediscovers the WSPT rule but also provides valid inequalities for other (NP-hard) scheduling problems. An O(n log n) separation algorithm is available to find an inequality violated by a given vector C. More scheduling supermodular polyhedra : the convex hull of the feasible start time for unit jobs on parallel machines with nonstationary speeds [QS95] the convex hull of mean busy time vectors of preemptive schedules for jobs with release dates on a single machine [GQS + 02] Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 13 / 78

34 A scheduling supermodular polyhedron [Que93] Each inequality j S p j C j g(s) defines a facet for conv(q). conv(s SM ) is a supermodular polyhedron and the greedy algorithm for minimizing i J w i C i coincides with the Smith s rule WSPT This rediscovers the WSPT rule but also provides valid inequalities for other (NP-hard) scheduling problems. An O(n log n) separation algorithm is available to find an inequality violated by a given vector C. More scheduling supermodular polyhedra : the convex hull of the feasible start time for unit jobs on parallel machines with nonstationary speeds [QS95] the convex hull of mean busy time vectors of preemptive schedules for jobs with release dates on a single machine [GQS + 02] Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 13 / 78

35 Valid inequalities for NP-hard scheduling problems Single-machine scheduling with release dates S SMR Set of feasible schedules for a set of jobs J on a single machine with release dates { : } S SMR = S R J S i r i, j J, S i S j + l ij S j S i + l ji, i, j J, i j The problem of minimizing S S w is i is NP-hard = no chance to have a complete characterization of conv(s SMR ) However, Balas [Bal85] studied P = conv(s) and derived facet-defining inequalities. He showed that a facet-defining inequality for a subset of jobs K J induces also a facet for J. i J, S i r i induces a facet of P i, j J, i j, (l ij + r i r j )S i + (l ji + r j r i )S j d ij d ji + L i d ji + L j d ij induces a facet of P if and only if d ji < r j r i < d ij Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 14 / 78

36 Valid inequalities for NP-hard scheduling problems Single-machine scheduling with release dates S SMR Set of feasible schedules for a set of jobs J on a single machine with release dates { : } S SMR = S R J S i r i, j J, S i S j + l ij S j S i + l ji, i, j J, i j The problem of minimizing S S w is i is NP-hard = no chance to have a complete characterization of conv(s SMR ) However, Balas [Bal85] studied P = conv(s) and derived facet-defining inequalities. He showed that a facet-defining inequality for a subset of jobs K J induces also a facet for J. i J, S i r i induces a facet of P i, j J, i j, (l ij + r i r j )S i + (l ji + r j r i )S j d ij d ji + L i d ji + L j d ij induces a facet of P if and only if d ji < r j r i < d ij Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 14 / 78

37 Valid inequalities for NP-hard scheduling problems Single-machine scheduling with release dates S SMR Set of feasible schedules for a set of jobs J on a single machine with release dates { : } S SMR = S R J S i r i, j J, S i S j + l ij S j S i + l ji, i, j J, i j The problem of minimizing S S w is i is NP-hard = no chance to have a complete characterization of conv(s SMR ) However, Balas [Bal85] studied P = conv(s) and derived facet-defining inequalities. He showed that a facet-defining inequality for a subset of jobs K J induces also a facet for J. i J, S i r i induces a facet of P i, j J, i j, (l ij + r i r j )S i + (l ji + r j r i )S j d ij d ji + L i d ji + L j d ij induces a facet of P if and only if d ji < r j r i < d ij Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 14 / 78

38 Valid inequalities for NP-hard scheduling problems Single-machine scheduling with release dates S SMR Set of feasible schedules for a set of jobs J on a single machine with release dates { : } S SMR = S R J S i r i, j J, S i S j + l ij S j S i + l ji, i, j J, i j The problem of minimizing S S w is i is NP-hard = no chance to have a complete characterization of conv(s SMR ) However, Balas [Bal85] studied P = conv(s) and derived facet-defining inequalities. He showed that a facet-defining inequality for a subset of jobs K J induces also a facet for J. i J, S i r i induces a facet of P i, j J, i j, (l ij + r i r j )S i + (l ji + r j r i )S j d ij d ji + L i d ji + L j d ij induces a facet of P if and only if d ji < r j r i < d ij Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 14 / 78

39 Cutting plane generation for NP-hard scheduling problems From a partial descrition of conv(s) (relaxation), iteratively solve the separation problem for families of valid inequalities. S 2 S 1 Optimum has been found after adding Balas inequality (l ij + r i r j )S i + (l ji + r j r i )S j d ij d ji + L i d ji + L j d ij Separation is NP-hard in general = the optimum cannot be found quickly by pure cutting plane generation. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78

40 Cutting plane generation for NP-hard scheduling problems From a partial descrition of conv(s) (relaxation), iteratively solve the separation problem for families of valid inequalities. S 2 S 1 3S 1 + 5S2 7 Optimum has been found after adding Balas inequality (l ij + r i r j )S i + (l ji + r j r i )S j d ij d ji + L i d ji + L j d ij Separation is NP-hard in general = the optimum cannot be found quickly by pure cutting plane generation. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78

41 Cutting plane generation for NP-hard scheduling problems From a partial descrition of conv(s) (relaxation), iteratively solve the separation problem for families of valid inequalities. S 2 S 1 S 1 + 3S 2 6 Optimum has been found after adding Balas inequality (l ij + r i r j )S i + (l ji + r j r i )S j d ij d ji + L i d ji + L j d ij Separation is NP-hard in general = the optimum cannot be found quickly by pure cutting plane generation. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78

42 Cutting plane generation for NP-hard scheduling problems From a partial descrition of conv(s) (relaxation), iteratively solve the separation problem for families of valid inequalities. S 2 S 1 2S 1 + 3S 2 9 Optimum has been found after adding Balas inequality (l ij + r i r j )S i + (l ji + r j r i )S j d ij d ji + L i d ji + L j d ij Separation is NP-hard in general = the optimum cannot be found quickly by pure cutting plane generation. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78

43 Cutting plane generation for NP-hard scheduling problems From a partial descrition of conv(s) (relaxation), iteratively solve the separation problem for families of valid inequalities. S 2 S 1 2S 1 + 3S 2 9 Optimum has been found after adding Balas inequality (l ij + r i r j )S i + (l ji + r j r i )S j d ij d ji + L i d ji + L j d ij Separation is NP-hard in general = the optimum cannot be found quickly by pure cutting plane generation. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 15 / 78

44 Outline 1 Introduction 2 Polyhedral studies and cutting plane generation 3 (Mixed) integer programming for scheduling problems Time-indexed variables Total unimodularity Sequencing and natural date variables Flow (TSP) and natural date variables Positional date and assignment variables Hybrid formulations 4 Column generation 5 A few Computational results Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 16 / 78

45 Principle of (mixed)-integer programming Design a good MIP formulation for the scheduling problem Solve by branch-and-bound S 2 S S 1 Remark : once x is fixed, extreme points are integral = no need for integer constraints on S Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 17 / 78

46 Principle of (mixed)-integer programming Design a good MIP formulation for the scheduling problem Solve by branch-and-bound min S 1 + S 2 +p 1 + p 2 S 1 r 1 S 2 r 2 S 1 + p 1 d 1 S 2 + p 2 d 2 S 2 S 1 + Mx p 1 S 2 S S 1 S2 + M(1 x) p 2 S 1, S 2 integer x {0, 1} S 1 Remark : once x is fixed, extreme points are integral = no need for integer constraints on S Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 17 / 78

47 Principle of (mixed)-integer programming Design a good MIP formulation for the scheduling problem Solve by branch-and-bound min S 1 + S 2 +p 1 + p 2 S 1 r 1 S 2 r 2 S 1 + p 1 d 1 S 2 + p 2 d 2 S 2 S 1 + Mx p 1 S 2 S S 1 S2 + M(1 x) p 2 S 1, S 2 integer x {0, 1} S 1 Remark : once x is fixed, extreme points are integral = no need for integer constraints on S Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 17 / 78

48 Principle of (mixed)-integer programming Design a good MIP formulation for the scheduling problem Solve by branch-and-bound min S 1 + S 2 +p 1 + p 2 S 1 r 1 S 2 r 2 S 1 + p 1 d 1 S 2 + p 2 d 2 S 2 S 1 + Mx p 1 S 2 S S 1 S2 + M(1 x) p 2 S 1, S 2 integer x {0, 1} Left node x = 1 S 1 Remark : once x is fixed, extreme points are integral = no need for integer constraints on S Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 17 / 78

49 Principle of (mixed)-integer programming Design a good MIP formulation for the scheduling problem Solve by branch-and-bound min S 1 + S 2 +p 1 + p 2 S 1 r 1 S 2 r 2 S 1 + p 1 d 1 S 2 + p 2 d 2 S 2 S 1 + Mx p 1 S 2 S S 1 S2 + M(1 x) p 2 S 1, S 2 integer x {0, 1} Right node x = 0 J 1 J 2 Ci = S 1 Remark : once x is fixed, extreme points are integral = no need for integer constraints on S Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 17 / 78

50 Case study : the resource-constrained project scheduling problem Resource-constrained project scheduling with irregular starting time costs n jobs (set J ) with integer start times S i T = {0, 1,..., T }. Precedence constraints E such that (i, j) E = S j S i + l ij. m resources (set R). Constant availability B k, k R. For each job i J : duration p i and resource requirements b ik, k R. Resource constraints i J S i t S i +p i 1 b ik B k, t T, k R. Cost function w j : {1,..., T } R. Find a schedule that minimizes i J w j(s j ). Remark 1 : R = 1, B 1 = 1, and b i1 = 1, i J Remark 2 : R = 1, B 1 2 and b i1 = 1, i J = 1-machine problem. = parallel machine problem. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

51 Case study : the resource-constrained project scheduling problem Resource-constrained project scheduling with irregular starting time costs n jobs (set J ) with integer start times S i T = {0, 1,..., T }. Precedence constraints E such that (i, j) E = S j S i + l ij. m resources (set R). Constant availability B k, k R. For each job i J : duration p i and resource requirements b ik, k R. Resource constraints i J S i t S i +p i 1 b ik B k, t T, k R. Cost function w j : {1,..., T } R. Find a schedule that minimizes i J w j(s j ). Remark 1 : R = 1, B 1 = 1, and b i1 = 1, i J Remark 2 : R = 1, B 1 2 and b i1 = 1, i J = 1-machine problem. = parallel machine problem. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

52 Case study : the resource-constrained project scheduling problem Resource-constrained project scheduling with irregular starting time costs n jobs (set J ) with integer start times S i T = {0, 1,..., T }. Precedence constraints E such that (i, j) E = S j S i + l ij. m resources (set R). Constant availability B k, k R. For each job i J : duration p i and resource requirements b ik, k R. Resource constraints i J S i t S i +p i 1 b ik B k, t T, k R. Cost function w j : {1,..., T } R. Find a schedule that minimizes i J w j(s j ). Remark 1 : R = 1, B 1 = 1, and b i1 = 1, i J Remark 2 : R = 1, B 1 2 and b i1 = 1, i J = 1-machine problem. = parallel machine problem. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

53 Case study : the resource-constrained project scheduling problem Resource-constrained project scheduling with irregular starting time costs n jobs (set J ) with integer start times S i T = {0, 1,..., T }. Precedence constraints E such that (i, j) E = S j S i + l ij. m resources (set R). Constant availability B k, k R. For each job i J : duration p i and resource requirements b ik, k R. Resource constraints i J S i t S i +p i 1 b ik B k, t T, k R. Cost function w j : {1,..., T } R. Find a schedule that minimizes i J w j(s j ). Remark 1 : R = 1, B 1 = 1, and b i1 = 1, i J Remark 2 : R = 1, B 1 2 and b i1 = 1, i J = 1-machine problem. = parallel machine problem. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

54 Case study : the resource-constrained project scheduling problem Resource-constrained project scheduling with irregular starting time costs n jobs (set J ) with integer start times S i T = {0, 1,..., T }. Precedence constraints E such that (i, j) E = S j S i + l ij. m resources (set R). Constant availability B k, k R. For each job i J : duration p i and resource requirements b ik, k R. Resource constraints i J S i t S i +p i 1 b ik B k, t T, k R. Cost function w j : {1,..., T } R. Find a schedule that minimizes i J w j(s j ). Remark 1 : R = 1, B 1 = 1, and b i1 = 1, i J Remark 2 : R = 1, B 1 2 and b i1 = 1, i J = 1-machine problem. = parallel machine problem. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

55 Case study : the resource-constrained project scheduling problem Resource-constrained project scheduling with irregular starting time costs n jobs (set J ) with integer start times S i T = {0, 1,..., T }. Precedence constraints E such that (i, j) E = S j S i + l ij. m resources (set R). Constant availability B k, k R. For each job i J : duration p i and resource requirements b ik, k R. Resource constraints i J S i t S i +p i 1 b ik B k, t T, k R. Cost function w j : {1,..., T } R. Find a schedule that minimizes i J w j(s j ). Remark 1 : R = 1, B 1 = 1, and b i1 = 1, i J Remark 2 : R = 1, B 1 2 and b i1 = 1, i J = 1-machine problem. = parallel machine problem. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

56 Case study : the resource-constrained project scheduling problem Resource-constrained project scheduling with irregular starting time costs n jobs (set J ) with integer start times S i T = {0, 1,..., T }. Precedence constraints E such that (i, j) E = S j S i + l ij. m resources (set R). Constant availability B k, k R. For each job i J : duration p i and resource requirements b ik, k R. Resource constraints i J S i t S i +p i 1 b ik B k, t T, k R. Cost function w j : {1,..., T } R. Find a schedule that minimizes i J w j(s j ). Remark 1 : R = 1, B 1 = 1, and b i1 = 1, i J Remark 2 : R = 1, B 1 2 and b i1 = 1, i J = 1-machine problem. = parallel machine problem. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

57 Case study : the resource-constrained project scheduling problem Resource-constrained project scheduling with irregular starting time costs n jobs (set J ) with integer start times S i T = {0, 1,..., T }. Precedence constraints E such that (i, j) E = S j S i + l ij. m resources (set R). Constant availability B k, k R. For each job i J : duration p i and resource requirements b ik, k R. Resource constraints i J S i t S i +p i 1 b ik B k, t T, k R. Cost function w j : {1,..., T } R. Find a schedule that minimizes i J w j(s j ). Remark 1 : R = 1, B 1 = 1, and b i1 = 1, i J Remark 2 : R = 1, B 1 2 and b i1 = 1, i J = 1-machine problem. = parallel machine problem. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

58 Case study : the resource-constrained project scheduling problem Resource-constrained project scheduling with irregular starting time costs n jobs (set J ) with integer start times S i T = {0, 1,..., T }. Precedence constraints E such that (i, j) E = S j S i + l ij. m resources (set R). Constant availability B k, k R. For each job i J : duration p i and resource requirements b ik, k R. Resource constraints i J S i t S i +p i 1 b ik B k, t T, k R. Cost function w j : {1,..., T } R. Find a schedule that minimizes i J w j(s j ). Remark 1 : R = 1, B 1 = 1, and b i1 = 1, i J Remark 2 : R = 1, B 1 2 and b i1 = 1, i J = 1-machine problem. = parallel machine problem. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 18 / 78

59 Scheduling objectives Objective min i J w j(s j ) models most standard objectives Makespan min max i J C i Let J = {1,..., n + 1} with n + 1 dummy end jobs. w i (t) = 0, i J \ {n + 1}, w n+1 (t) = t Maximum lateness min max i J C i d i Same modeling by adding arc (i, n + 1) in E with l i,n+1 = p i d i Earliness-tardiness costs min i J (α i max(0, d i C i ) + β i max(0, C i d i ) w i (t) = α i max(0, d i t p i ) + β i max(0, t + p i d i ) (weighted completion time if, in addition, d i = 0 α i = 0, i J ) Weighted number of late jobs i J w iu i { 0 if t + pi d w i (t) = i w i otherwise Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 19 / 78

60 Scheduling objectives Objective min i J w j(s j ) models most standard objectives Makespan min max i J C i Let J = {1,..., n + 1} with n + 1 dummy end jobs. w i (t) = 0, i J \ {n + 1}, w n+1 (t) = t Maximum lateness min max i J C i d i Same modeling by adding arc (i, n + 1) in E with l i,n+1 = p i d i Earliness-tardiness costs min i J (α i max(0, d i C i ) + β i max(0, C i d i ) w i (t) = α i max(0, d i t p i ) + β i max(0, t + p i d i ) (weighted completion time if, in addition, d i = 0 α i = 0, i J ) Weighted number of late jobs i J w iu i { 0 if t + pi d w i (t) = i w i otherwise Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 19 / 78

61 Scheduling objectives Objective min i J w j(s j ) models most standard objectives Makespan min max i J C i Let J = {1,..., n + 1} with n + 1 dummy end jobs. w i (t) = 0, i J \ {n + 1}, w n+1 (t) = t Maximum lateness min max i J C i d i Same modeling by adding arc (i, n + 1) in E with l i,n+1 = p i d i Earliness-tardiness costs min i J (α i max(0, d i C i ) + β i max(0, C i d i ) w i (t) = α i max(0, d i t p i ) + β i max(0, t + p i d i ) (weighted completion time if, in addition, d i = 0 α i = 0, i J ) Weighted number of late jobs i J w iu i { 0 if t + pi d w i (t) = i w i otherwise Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 19 / 78

62 Scheduling objectives Objective min i J w j(s j ) models most standard objectives Makespan min max i J C i Let J = {1,..., n + 1} with n + 1 dummy end jobs. w i (t) = 0, i J \ {n + 1}, w n+1 (t) = t Maximum lateness min max i J C i d i Same modeling by adding arc (i, n + 1) in E with l i,n+1 = p i d i Earliness-tardiness costs min i J (α i max(0, d i C i ) + β i max(0, C i d i ) w i (t) = α i max(0, d i t p i ) + β i max(0, t + p i d i ) (weighted completion time if, in addition, d i = 0 α i = 0, i J ) Weighted number of late jobs i J w iu i { 0 if t + pi d w i (t) = i w i otherwise Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 19 / 78

63 Outline 1 Introduction 2 Polyhedral studies and cutting plane generation 3 (Mixed) integer programming for scheduling problems Time-indexed variables Total unimodularity Sequencing and natural date variables Flow (TSP) and natural date variables Positional date and assignment variables Hybrid formulations 4 Column generation 5 A few Computational results Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 20 / 78

64 MILP Formulations with time-indexed variables time-indexed variables x it = 1 S i = t S i = T t=0 tx it Single machine min w j (t)x jt j J t T x jt = 1 j J t T T T tx jt tx it l ij (i, j) E t=0 t=0 t x js 1 t T j J s=t p j +1 x jt {0, 1} j J, t T Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 21 / 78

65 MILP Formulations with time-indexed variables time-indexed variables x it = 1 S i = t S i = T t=0 tx it Parallel machines min w j (t)x jt j J t T x jt = 1 j J t T T T tx jt tx it l ij (i, j) E t=0 t=0 t x js B t T j J s=t p j +1 x jt {0, 1} j J, t T Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 21 / 78

66 MILP Formulations with time-indexed variables time-indexed variables x it = 1 S i = t S i = T t=0 tx it RCPSP min w j (t)x jt j J t T x jt = 1 j J t T T T tx jt tx it l ij (i, j) E t=0 t=0 t b jk x js B k t T, k R j J s=t p j +1 x jt {0, 1} j J, t T nt variables, E precedence constraints, R T resource constraints. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 21 / 78

67 MILP Formulations with time-indexed variables time-indexed variables x it = 1 S i = t S i = T t=0 tx it RCPSP (disaggregated precedence constraints) min w j (t)x jt j J t T x jt = 1 j J t T t+l T ij 1 x is + x js 1 (i, j) E, t T s=t s=0 t b jk x js B k t T, k R j J s=t p j +1 x jt {0, 1} j J, t T nt variables, E T precedence constraints, R T resource constraints. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 21 / 78

68 Outline 1 Introduction 2 Polyhedral studies and cutting plane generation 3 (Mixed) integer programming for scheduling problems Time-indexed variables Total unimodularity Sequencing and natural date variables Flow (TSP) and natural date variables Positional date and assignment variables Hybrid formulations 4 Column generation 5 A few Computational results Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 22 / 78

69 Total unimodularity A matrix A is totally unimodular (TU) if and only if every square submatrix has determinant 0, 1 or -1. if A is TU, min Ax b cx has an integer optimal solution or there is no solution A is TU if (sufficient condition) rows can be partitionned into two disjoint sets B and C such that each column of A has at most two non-zero entries, each entry of A is 0, 1 or -1 if two non-zeros in a column have opposite signs, they are in the same subset of rows (both in B or both in C). if two non-zeros in a column have the same sign, there is one in B and the other one in C A is also TU if its transpose is TU. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 23 / 78

70 Total unimodularity and scheduling Project scheduling with irregular starting time costs n jobs (set J ) with integer start times S i T = {0, 1,..., T }. Precedence constraints E such that (i, j) E = S j S i + l ij. Cost function w j : {1,..., T } R. Find a schedule that minimizes j J w j(s j ). time-indexed variable z it = 1 S i t (z it = T t=0 x it ) min (w j (t) w j (t + 1)) z jt j J t T z jt = 1 z jt z j,t+1 0 z j,t+lij z it 0 z jt {0, 1} j J j J, t T (i, j) E, t T j J, t T The matrix totally unimodular = no integer restriction needed! Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 24 / 78

71 Comparison between formulations Other IP with time-indexed variables x it = 1 S i = t (nt variables) T x is + s=t min w j (t)x jt x jt = 1 t T t+l ij 1 s=0 j J t T x js 1 x jt {0, 1} j J (i, j) E, t T j J, t T Totally unimodular matrix, integer polyhedron min w j (t)x jt x jt = 1 t T j J t T T T tx js tx is l ij t=0 t=0 x jt {0, 1} Polyhedron is not integer! j J (i, j) E j J, t T For the RCPSP, the LP relaxation of the time-indexed model with disagreggated precedence constraints is tighter. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 25 / 78

72 MILP Formulations with time-indexed variables : facets Facet-inducing inequalities for the single-machine polyhedron (without precedence constraints) [SW92] x jt 1 j J t T t x js 1 t T j J s=t p j +1 t+ 1 x js + t x is 1 s=t p j +1 i j s=t p i + j J, t T, All facet-inducing inequalities with rhs = 1 [vhs99]. {2,..., max p i } i j Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 26 / 78

73 Sousa and Wolsey valid inequalities [SW92] T u=1 t i J s=t p i +1 t+ 1 i J s=t p i + x ju 2 = 1 2 x is x is T u=1 x ju 2 + n t i=1 s=t p i +1 t+ 1 x is 2 + i J s=t p j +1 x js + i j t+ 1 s=t p i + t s=t p i + x is x is 1 Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 27 / 78

74 Sousa and Wolsey valid inequalities [SW92] For each time period t T, for each task j T and for each {2,..., max i j p i } t p j + 1 t + 1 j t p i + t 1 i J \ {j} Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 28 / 78

75 van den Akker et al. valid ineqalities [vhs99] j 1 u 1 p j1 + 1 u u 2 p j1 v u z u 2 p j1 + 1 u u 1 p j2 + 1 u1 max{u 2 v, u } p j2 min{u z, u 2 } u 2 p j2 + 2 u2 j 2 2 u 1 p i z + 1 u 1 u 2 p i + 1u u 2 p i + 2 u 2 v 1 i J\{j 1, j 2 } L M U With the same principle all facet-inducing inequalities with rhs = 2 are derived. In [WJNS02], relation with valid ineqalities for the node packing problem is established. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 29 / 78

76 Valid inequalities for the time-indexed RCPSP ILP Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts to the RCPSP. Let F be a forbidden set (or cover), i.e. j F b i > B. j F ts=t pj +1 x js F 1 is a valid inequality t T. Consider now a special task j F and an interval v 0 ts=t pj i F \{j} +1+v x iq + t+v s=t p j +1 x js F 1 is a valid inequality t T. The inequality defines a facet for the polyhedron reduced to jobs in C if C is a minimal forbidden set, i.e. C\{i} b i B, i C. Hardin et al. propose lifting procedures and conditions for the resulting inequalities to be facet-inducing for the complete polyhedron. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78

77 Valid inequalities for the time-indexed RCPSP ILP Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts to the RCPSP. Let F be a forbidden set (or cover), i.e. j F b i > B. j F ts=t pj +1 x js F 1 is a valid inequality t T. Consider now a special task j F and an interval v 0 ts=t pj i F \{j} +1+v x iq + t+v s=t p j +1 x js F 1 is a valid inequality t T. The inequality defines a facet for the polyhedron reduced to jobs in C if C is a minimal forbidden set, i.e. C\{i} b i B, i C. Hardin et al. propose lifting procedures and conditions for the resulting inequalities to be facet-inducing for the complete polyhedron. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78

78 Valid inequalities for the time-indexed RCPSP ILP Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts to the RCPSP. Let F be a forbidden set (or cover), i.e. j F b i > B. j F ts=t pj +1 x js F 1 is a valid inequality t T. Consider now a special task j F and an interval v 0 ts=t pj i F \{j} +1+v x iq + t+v s=t p j +1 x js F 1 is a valid inequality t T. The inequality defines a facet for the polyhedron reduced to jobs in C if C is a minimal forbidden set, i.e. C\{i} b i B, i C. Hardin et al. propose lifting procedures and conditions for the resulting inequalities to be facet-inducing for the complete polyhedron. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78

79 Valid inequalities for the time-indexed RCPSP ILP Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts to the RCPSP. Let F be a forbidden set (or cover), i.e. j F b i > B. j F ts=t pj +1 x js F 1 is a valid inequality t T. Consider now a special task j F and an interval v 0 ts=t pj i F \{j} +1+v x iq + t+v s=t p j +1 x js F 1 is a valid inequality t T. The inequality defines a facet for the polyhedron reduced to jobs in C if C is a minimal forbidden set, i.e. C\{i} b i B, i C. Hardin et al. propose lifting procedures and conditions for the resulting inequalities to be facet-inducing for the complete polyhedron. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78

80 Valid inequalities for the time-indexed RCPSP ILP Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts to the RCPSP. Let F be a forbidden set (or cover), i.e. j F b i > B. j F ts=t pj +1 x js F 1 is a valid inequality t T. Consider now a special task j F and an interval v 0 ts=t pj i F \{j} +1+v x iq + t+v s=t p j +1 x js F 1 is a valid inequality t T. The inequality defines a facet for the polyhedron reduced to jobs in C if C is a minimal forbidden set, i.e. C\{i} b i B, i C. Hardin et al. propose lifting procedures and conditions for the resulting inequalities to be facet-inducing for the complete polyhedron. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78

81 Valid inequalities for the time-indexed RCPSP ILP Hardin et al. [HNS08] extend the Sousa and Wolsey 1-machine cuts to the RCPSP. Let F be a forbidden set (or cover), i.e. j F b i > B. j F ts=t pj +1 x js F 1 is a valid inequality t T. Consider now a special task j F and an interval v 0 ts=t pj i F \{j} +1+v x iq + t+v s=t p j +1 x js F 1 is a valid inequality t T. The inequality defines a facet for the polyhedron reduced to jobs in C if C is a minimal forbidden set, i.e. C\{i} b i B, i C. Hardin et al. propose lifting procedures and conditions for the resulting inequalities to be facet-inducing for the complete polyhedron. Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 30 / 78

82 Outline 1 Introduction 2 Polyhedral studies and cutting plane generation 3 (Mixed) integer programming for scheduling problems Time-indexed variables Total unimodularity Sequencing and natural date variables Flow (TSP) and natural date variables Positional date and assignment variables Hybrid formulations 4 Column generation 5 A few Computational results Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 31 / 78

83 Sequencing variables Time-indexed models yield good LP relaxation but the number of variables can be huge = need to consider more compact models. Binary variable y ij = 1 if and only if S j S i + p i Disjunctive case : y ij = 1 y ji, (i, j) D (half of the variables can be dropped) and y ij is the incidence vector of linear orderings : If there are no release dates and in the 1-machine case C j = i D\{j} y ij p i + p j Not possible to consider start dependent costs = objective i J w i C i Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 32 / 78

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 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 information

Chapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Chapter 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 NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one

More information

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

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm. Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

More information

3. Linear Programming and Polyhedral Combinatorics

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

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 27 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/6/2011 S. Raskhodnikova;

More information

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

! 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

More information

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

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

More information

Scheduling Shop Scheduling. Tim Nieberg

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

More information

Noncommercial Software for Mixed-Integer Linear Programming

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

More information

Approximation Algorithms

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

More information

Discrete Optimization

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

More information

CHAPTER 9. Integer Programming

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

More information

Applied Algorithm Design Lecture 5

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

More information

Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines

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

More information

Can linear programs solve NP-hard problems?

Can linear programs solve NP-hard problems? Can linear programs solve NP-hard problems? p. 1/9 Can linear programs solve NP-hard problems? Ronald de Wolf Linear programs Can linear programs solve NP-hard problems? p. 2/9 Can linear programs solve

More information

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

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

More information

11. APPROXIMATION ALGORITHMS

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

More information

The truck scheduling problem at cross-docking terminals

The truck scheduling problem at cross-docking terminals The truck scheduling problem at cross-docking terminals Lotte Berghman,, Roel Leus, Pierre Lopez To cite this version: Lotte Berghman,, Roel Leus, Pierre Lopez. The truck scheduling problem at cross-docking

More information

Classification - Examples

Classification - Examples Lecture 2 Scheduling 1 Classification - Examples 1 r j C max given: n jobs with processing times p 1,...,p n and release dates r 1,...,r n jobs have to be scheduled without preemption on one machine taking

More information

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

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

More information

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

In this paper we present a branch-and-cut algorithm for SOLVING A TRUCK DISPATCHING SCHEDULING PROBLEM USING BRANCH-AND-CUT ROBERT E. BIXBY Rice University, Houston, Texas EVA K. LEE Georgia Institute of Technology, Atlanta, Georgia (Received September 1994;

More information

International Doctoral School Algorithmic Decision Theory: MCDA and MOO

International Doctoral School Algorithmic Decision Theory: MCDA and MOO International Doctoral School Algorithmic Decision Theory: MCDA and MOO Lecture 2: Multiobjective Linear Programming Department of Engineering Science, The University of Auckland, New Zealand Laboratoire

More information

Scheduling Single Machine Scheduling. Tim Nieberg

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

More information

Key words. Mixed-integer programming, mixing sets, convex hull descriptions, lot-sizing.

Key words. Mixed-integer programming, mixing sets, convex hull descriptions, lot-sizing. MIXING SETS LINKED BY BI-DIRECTED PATHS MARCO DI SUMMA AND LAURENCE A. WOLSEY Abstract. Recently there has been considerable research on simple mixed-integer sets, called mixing sets, and closely related

More information

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

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,

More information

5.1 Bipartite Matching

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

More information

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

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

More information

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

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

More information

Optimization Modeling for Mining Engineers

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

More information

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

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

More information

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

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

More information

New Exact Solution Approaches for the Split Delivery Vehicle Routing Problem

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

More information

Discuss the size of the instance for the minimum spanning tree problem.

Discuss the size of the instance for the minimum spanning tree problem. 3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can

More information

Hub Cover and Hub Center Problems

Hub Cover and Hub Center Problems Hub Cover and Hub Center Problems Horst W. Hamacher, Tanja Meyer Department of Mathematics, University of Kaiserslautern, Gottlieb-Daimler-Strasse, 67663 Kaiserslautern, Germany Abstract Using covering

More information

Transportation Polytopes: a Twenty year Update

Transportation Polytopes: a Twenty year Update Transportation Polytopes: a Twenty year Update Jesús Antonio De Loera University of California, Davis Based on various papers joint with R. Hemmecke, E.Kim, F. Liu, U. Rothblum, F. Santos, S. Onn, R. Yoshida,

More information

Scheduling a sequence of tasks with general completion costs

Scheduling a sequence of tasks with general completion costs Scheduling a sequence of tasks with general completion costs Francis Sourd CNRS-LIP6 4, place Jussieu 75252 Paris Cedex 05, France Francis.Sourd@lip6.fr Abstract Scheduling a sequence of tasks in the acceptation

More information

A Linear Programming Based Method for Job Shop Scheduling

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

More information

26 Linear Programming

26 Linear Programming The greatest flood has the soonest ebb; the sorest tempest the most sudden calm; the hottest love the coldest end; and from the deepest desire oftentimes ensues the deadliest hate. Th extremes of glory

More information

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

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,

More information

Scheduling of Mixed Batch-Continuous Production Lines

Scheduling of Mixed Batch-Continuous Production Lines Université Catholique de Louvain Faculté des Sciences Appliquées Scheduling of Mixed Batch-Continuous Production Lines Thèse présentée en vue de l obtention du grade de Docteur en Sciences Appliquées par

More information

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

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

More information

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

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

More information

Minimizing the Number of Machines in a Unit-Time Scheduling Problem

Minimizing the Number of Machines in a Unit-Time Scheduling Problem Minimizing the Number of Machines in a Unit-Time Scheduling Problem Svetlana A. Kravchenko 1 United Institute of Informatics Problems, Surganova St. 6, 220012 Minsk, Belarus kravch@newman.bas-net.by Frank

More information

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

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

More information

Modeling and Solving the Capacitated Vehicle Routing Problem on Trees

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

More information

Largest Fixed-Aspect, Axis-Aligned Rectangle

Largest Fixed-Aspect, Axis-Aligned Rectangle Largest Fixed-Aspect, Axis-Aligned Rectangle David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created: February 21, 2004 Last Modified: February

More information

What is Linear Programming?

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

More information

Permutation Betting Markets: Singleton Betting with Extra Information

Permutation Betting Markets: Singleton Betting with Extra Information Permutation Betting Markets: Singleton Betting with Extra Information Mohammad Ghodsi Sharif University of Technology ghodsi@sharif.edu Hamid Mahini Sharif University of Technology mahini@ce.sharif.edu

More information

Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh

Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh Peter Richtárik Week 3 Randomized Coordinate Descent With Arbitrary Sampling January 27, 2016 1 / 30 The Problem

More information

Mathematics Course 111: Algebra I Part IV: Vector Spaces

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

More information

Duplicating and its Applications in Batch Scheduling

Duplicating and its Applications in Batch Scheduling Duplicating and its Applications in Batch Scheduling Yuzhong Zhang 1 Chunsong Bai 1 Shouyang Wang 2 1 College of Operations Research and Management Sciences Qufu Normal University, Shandong 276826, China

More information

Branch and Cut for TSP

Branch and Cut for TSP Branch and Cut for TSP jla,jc@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark 1 Branch-and-Cut for TSP Branch-and-Cut is a general technique applicable e.g. to solve symmetric

More information

Planning and Scheduling in the Digital Factory

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

More information

Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach

Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach MASTER S THESIS Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach PAULINE ALDENVIK MIRJAM SCHIERSCHER Department of Mathematical

More information

Convex Programming Tools for Disjunctive Programs

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

More information

Multiple Spanning Tree Protocol (MSTP), Multi Spreading And Network Optimization Model

Multiple Spanning Tree Protocol (MSTP), Multi Spreading And Network Optimization Model Load Balancing of Telecommunication Networks based on Multiple Spanning Trees Dorabella Santos Amaro de Sousa Filipe Alvelos Instituto de Telecomunicações 3810-193 Aveiro, Portugal dorabella@av.it.pt Instituto

More information

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

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

More information

List Scheduling in Order of α-points on a Single Machine

List Scheduling in Order of α-points on a Single Machine List Scheduling in Order of α-points on a Single Machine Martin Skutella Fachbereich Mathematik, Universität Dortmund, D 4422 Dortmund, Germany martin.skutella@uni-dortmund.de http://www.mathematik.uni-dortmund.de/

More information

CSC2420 Spring 2015: Lecture 3

CSC2420 Spring 2015: Lecture 3 CSC2420 Spring 2015: Lecture 3 Allan Borodin January 22, 2015 1 / 1 Announcements and todays agenda Assignment 1 due next Thursday. I may add one or two additional questions today or tomorrow. Todays agenda

More information

Proximal mapping via network optimization

Proximal mapping via network optimization L. Vandenberghe EE236C (Spring 23-4) Proximal mapping via network optimization minimum cut and maximum flow problems parametric minimum cut problem application to proximal mapping Introduction this lecture:

More information

24. The Branch and Bound Method

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

More information

Single machine parallel batch scheduling with unbounded capacity

Single machine parallel batch scheduling with unbounded capacity Workshop on Combinatorics and Graph Theory 21th, April, 2006 Nankai University Single machine parallel batch scheduling with unbounded capacity Yuan Jinjiang Department of mathematics, Zhengzhou University

More information

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

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

More information

THE SCHEDULING OF MAINTENANCE SERVICE

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

More information

Duality of linear conic problems

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

More information

2.3 Convex Constrained Optimization Problems

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

More information

Minimal Cost Reconfiguration of Data Placement in a Storage Area Network

Minimal Cost Reconfiguration of Data Placement in a Storage Area Network Minimal Cost Reconfiguration of Data Placement in a Storage Area Network Hadas Shachnai Gal Tamir Tami Tamir Abstract Video-on-Demand (VoD) services require frequent updates in file configuration on the

More information

An Optimization Approach for Cooperative Communication in Ad Hoc Networks

An Optimization Approach for Cooperative Communication in Ad Hoc Networks An Optimization Approach for Cooperative Communication in Ad Hoc Networks Carlos A.S. Oliveira and Panos M. Pardalos University of Florida Abstract. Mobile ad hoc networks (MANETs) are a useful organizational

More information

Solutions to Homework 6

Solutions 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

Linear Programming. March 14, 2014

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

More information

Project Scheduling in Software Development

Project Scheduling in Software Development Project Scheduling in Software Development Eric Newby, Raymond Phillips, Dario Fanucchi, Byron Jacobs, Asha Tailor, Lady Kokela, Jesal Kika, Nadine Padiyachi University of the Witwatersrand January 13,

More information

Batch Production Scheduling in the Process Industries. By Prashanthi Ravi

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

More information

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

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

More information

On a Railway Maintenance Scheduling Problem with Customer Costs and Multi-Depots

On a Railway Maintenance Scheduling Problem with Customer Costs and Multi-Depots Als Manuskript gedruckt Technische Universität Dresden Herausgeber: Der Rektor On a Railway Maintenance Scheduling Problem with Customer Costs and Multi-Depots F. Heinicke (1), A. Simroth (1), G. Scheithauer

More information

Optimization models for targeted offers in direct marketing: exact and heuristic algorithms

Optimization models for targeted offers in direct marketing: exact and heuristic algorithms Optimization models for targeted offers in direct marketing: exact and heuristic algorithms Fabrice Talla Nobibon, Roel Leus and Frits C.R. Spieksma {Fabrice.TallaNobibon; Roel.Leus; Frits.Spieksma}@econ.kuleuven.be

More information

Introduction to Scheduling Theory

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

More information

Integrated maintenance scheduling for semiconductor manufacturing

Integrated maintenance scheduling for semiconductor manufacturing Integrated maintenance scheduling for semiconductor manufacturing Andrew Davenport davenport@us.ibm.com Department of Business Analytics and Mathematical Science, IBM T. J. Watson Research Center, P.O.

More information

1 Determinants and the Solvability of Linear Systems

1 Determinants and the Solvability of Linear Systems 1 Determinants and the Solvability of Linear Systems In the last section we learned how to use Gaussian elimination to solve linear systems of n equations in n unknowns The section completely side-stepped

More information

A Branch-Cut-and-Price Approach to the Bus Evacuation Problem with Integrated Collection Point and Shelter Decisions

A Branch-Cut-and-Price Approach to the Bus Evacuation Problem with Integrated Collection Point and Shelter Decisions A Branch-Cut-and-Price Approach to the Bus Evacuation Problem with Integrated Collection Point and Shelter Decisions Marc Goerigk, Bob Grün, and Philipp Heßler Fachbereich Mathematik, Technische Universität

More information

Identification of Hybrid Systems

Identification of Hybrid Systems Identification of Hybrid Systems Alberto Bemporad Dip. di Ingegneria dell Informazione Università degli Studi di Siena bemporad@dii.unisi.it http://www.dii.unisi.it/~bemporad Goal Sometimes a hybrid model

More information

The power of -points in preemptive single machine scheduling

The power of -points in preemptive single machine scheduling JOURNAL OF SCHEDULING J. Sched. 22; 5:121 133 (DOI: 1.12/jos.93) The power of -points in preemptive single machine scheduling Andreas S. Schulz 1; 2; ; and Martin Skutella 1 Massachusetts Institute of

More information

Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling

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

More information

Dantzig-Wolfe bound and Dantzig-Wolfe cookbook

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

More information

Het inplannen van besteld ambulancevervoer (Engelse titel: Scheduling elected ambulance transportation)

Het inplannen van besteld ambulancevervoer (Engelse titel: Scheduling elected ambulance transportation) Technische Universiteit Delft Faculteit Elektrotechniek, Wiskunde en Informatica Delft Institute of Applied Mathematics Het inplannen van besteld ambulancevervoer (Engelse titel: Scheduling elected ambulance

More information

4.6 Linear Programming duality

4.6 Linear Programming duality 4.6 Linear Programming duality To any minimization (maximization) LP we can associate a closely related maximization (minimization) LP. Different spaces and objective functions but in general same optimal

More information

IEOR 4404 Homework #2 Intro OR: Deterministic Models February 14, 2011 Prof. Jay Sethuraman Page 1 of 5. Homework #2

IEOR 4404 Homework #2 Intro OR: Deterministic Models February 14, 2011 Prof. Jay Sethuraman Page 1 of 5. Homework #2 IEOR 4404 Homework # Intro OR: Deterministic Models February 14, 011 Prof. Jay Sethuraman Page 1 of 5 Homework #.1 (a) What is the optimal solution of this problem? Let us consider that x 1, x and x 3

More information

Linear Programming: Theory and Applications

Linear Programming: Theory and Applications Linear Programming: Theory and Applications Catherine Lewis May 11, 2008 1 Contents 1 Introduction to Linear Programming 3 1.1 What is a linear program?...................... 3 1.2 Assumptions.............................

More information

Classification of Cartan matrices

Classification of Cartan matrices Chapter 7 Classification of Cartan matrices In this chapter we describe a classification of generalised Cartan matrices This classification can be compared as the rough classification of varieties in terms

More information

Adaptive Linear Programming Decoding

Adaptive Linear Programming Decoding Adaptive Linear Programming Decoding Mohammad H. Taghavi and Paul H. Siegel ECE Department, University of California, San Diego Email: (mtaghavi, psiegel)@ucsd.edu ISIT 2006, Seattle, USA, July 9 14, 2006

More information

We shall turn our attention to solving linear systems of equations. Ax = b

We shall turn our attention to solving linear systems of equations. Ax = b 59 Linear Algebra We shall turn our attention to solving linear systems of equations Ax = b where A R m n, x R n, and b R m. We already saw examples of methods that required the solution of a linear system

More information

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

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

More information

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

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

More information

Maximum Utility Product Pricing Models and Algorithms Based on Reservation Prices

Maximum Utility Product Pricing Models and Algorithms Based on Reservation Prices Maximum Utility Product Pricing Models and Algorithms Based on Reservation Prices R. Shioda L. Tunçel T. G. J. Myklebust April 15, 2007 Abstract We consider a revenue management model for pricing a product

More information

Lecture 5/6. Enrico Bini

Lecture 5/6. Enrico Bini Advanced Lecture 5/6 November 8, 212 Outline 1 2 3 Theorem (Lemma 3 in [?]) Space of feasible C i N is EDF-schedulable if and only if i U i 1 and: t D n i=1 { max, t + Ti D i T i } C i t with D = {d i,k

More information

Optimization in R n Introduction

Optimization in R n Introduction Optimization in R n Introduction Rudi Pendavingh Eindhoven Technical University Optimization in R n, lecture Rudi Pendavingh (TUE) Optimization in R n Introduction ORN / 4 Some optimization problems designing

More information

Linear Programming I

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

More information

Permutation Betting Markets: Singleton Betting with Extra Information

Permutation Betting Markets: Singleton Betting with Extra Information Permutation Betting Markets: Singleton Betting with Extra Information Mohammad Ghodsi Sharif University of Technology ghodsi@sharif.edu Hamid Mahini Sharif University of Technology mahini@ce.sharif.edu

More information

Completion Time Scheduling and the WSRPT Algorithm

Completion Time Scheduling and the WSRPT Algorithm Completion Time Scheduling and the WSRPT Algorithm Bo Xiong, Christine Chung Department of Computer Science, Connecticut College, New London, CT {bxiong,cchung}@conncoll.edu Abstract. We consider the online

More information

Offline sorting buffers on Line

Offline sorting buffers on Line Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: rkhandekar@gmail.com 2 IBM India Research Lab, New Delhi. email: pvinayak@in.ibm.com

More information

Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints

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

More information