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

Solving the ILP using branch-and-cut

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

More information

Good luck, veel succes!

Good luck, veel succes! Final exam Advanced Linear Programming, May 7, 13.00-16.00 Switch off your mobile phone, PDA and any other mobile device and put it far away. No books or other reading materials are allowed. This exam

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

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

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

6. Mixed Integer Linear Programming

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

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

1 Polyhedra and Linear Programming

1 Polyhedra and Linear Programming CS 598CSC: Combinatorial Optimization Lecture date: January 21, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im 1 Polyhedra and Linear Programming In this lecture, we will cover some basic material

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

Geometry of Linear Programming

Geometry of Linear Programming Chapter 2 Geometry of Linear Programming The intent of this chapter is to provide a geometric interpretation of linear programming problems. To conceive fundamental concepts and validity of different algorithms

More information

Minimum Makespan Scheduling

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

More information

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

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

More information

Lecture 3: Linear Programming Relaxations and Rounding

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

More information

Resource Allocation and Scheduling

Resource Allocation and Scheduling Lesson 3: Resource Allocation and Scheduling DEIS, University of Bologna Outline Main Objective: joint resource allocation and scheduling problems In particular, an overview of: Part 1: Introduction and

More information

10.1 Integer Programming and LP relaxation

10.1 Integer Programming and LP relaxation CS787: Advanced Algorithms Lecture 10: LP Relaxation and Rounding In this lecture we will design approximation algorithms using linear programming. The key insight behind this approach is that the closely

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

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

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

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

Quiz 1 Sample Questions IE406 Introduction to Mathematical Programming Dr. Ralphs

Quiz 1 Sample Questions IE406 Introduction to Mathematical Programming Dr. Ralphs Quiz 1 Sample Questions IE406 Introduction to Mathematical Programming Dr. Ralphs These questions are from previous years and should you give you some idea of what to expect on Quiz 1. 1. Consider the

More information

THEORY OF SIMPLEX METHOD

THEORY OF SIMPLEX METHOD Chapter THEORY OF SIMPLEX METHOD Mathematical Programming Problems A mathematical programming problem is an optimization problem of finding the values of the unknown variables x, x,, x n that maximize

More information

MATHEMATICAL BACKGROUND

MATHEMATICAL BACKGROUND Chapter 1 MATHEMATICAL BACKGROUND This chapter discusses the mathematics that is necessary for the development of the theory of linear programming. We are particularly interested in the solutions of a

More information

Discrete (and Continuous) Optimization Solutions of Exercises 1 WI4 131

Discrete (and Continuous) Optimization Solutions of Exercises 1 WI4 131 Discrete (and Continuous) Optimization Solutions of Exercises 1 WI4 131 Kees Roos Technische Universiteit Delft Faculteit Informatietechnologie en Systemen Afdeling Informatie, Systemen en Algoritmiek

More information

Week 5 Integral Polyhedra

Week 5 Integral Polyhedra Week 5 Integral Polyhedra We have seen some examples 1 of linear programming formulation that are integral, meaning that every basic feasible solution is an integral vector. This week we develop a theory

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

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

Using the Simplex Method in Mixed Integer Linear Programming

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

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

Inverse Optimization by James Orlin

Inverse Optimization by James Orlin Inverse Optimization by James Orlin based on research that is joint with Ravi Ahuja Jeopardy 000 -- the Math Programming Edition The category is linear objective functions The answer: When you maximize

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

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

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

Chapter 15 Introduction to Linear Programming

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

More information

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

max cx s.t. Ax c where the matrix A, cost vector c and right hand side b are given and x is a vector of variables. For this example we have x Linear Programming Linear programming refers to problems stated as maximization or minimization of a linear function subject to constraints that are linear equalities and inequalities. Although the study

More information

Advanced Topics in Machine Learning (Part II)

Advanced Topics in Machine Learning (Part II) Advanced Topics in Machine Learning (Part II) 3. Convexity and Optimisation February 6, 2009 Andreas Argyriou 1 Today s Plan Convex sets and functions Types of convex programs Algorithms Convex learning

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

Introduction to Linear Programming.

Introduction to Linear Programming. Chapter 1 Introduction to Linear Programming. This chapter introduces notations, terminologies and formulations of linear programming. Examples will be given to show how real-life problems can be modeled

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

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

The Resource-Constrained Project Scheduling Problem

The Resource-Constrained Project Scheduling Problem Chapter 1 The Resource-Constrained Project Scheduling Problem 1.1. A combinatorial optimization problem Informally, a resource-constrained project scheduling problem (RCPSP) considers resources of limited

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

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

Computing with the Mixed Integer Rounding Cut.

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

More information

Solving Linear Programming Problem with Fuzzy Right Hand Sides: A Penalty Method

Solving Linear Programming Problem with Fuzzy Right Hand Sides: A Penalty Method Solving Linear Programming Problem with Fuzzy Right Hand Sides: A Penalty Method S.H. Nasseri and Z. Alizadeh Department of Mathematics, University of Mazandaran, Babolsar, Iran Abstract Linear programming

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

SOLVING LINEAR SYSTEM OF INEQUALITIES WITH APPLICATION TO LINEAR PROGRAMS

SOLVING LINEAR SYSTEM OF INEQUALITIES WITH APPLICATION TO LINEAR PROGRAMS SOLVING LINEAR SYSTEM OF INEQUALITIES WITH APPLICATION TO LINEAR PROGRAMS Hossein Arsham, University of Baltimore, (410) 837-5268, harsham@ubalt.edu Veena Adlakha, University of Baltimore, (410) 837-4969,

More information

Approximation Algorithms. Scheduling. Approximation algorithms. Scheduling jobs on a single machine

Approximation Algorithms. Scheduling. Approximation algorithms. Scheduling jobs on a single machine Approximation algorithms Approximation Algorithms Fast. Cheap. Reliable. Choose two. NP-hard problems: choose 2 of optimal polynomial time all instances Approximation algorithms. Trade-off between time

More information

2.3 Scheduling jobs on identical parallel machines

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

More information

18. Linear optimization

18. Linear optimization 18. Linear optimization EE103 (Fall 2011-12) linear program examples geometrical interpretation extreme points simplex method 18-1 Linear program minimize c 1 x 1 +c 2 x 2 + +c n x n subject to a 11 x

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

Section Notes 3. The Simplex Algorithm. Applied Math 121. Week of February 14, 2011

Section Notes 3. The Simplex Algorithm. Applied Math 121. Week of February 14, 2011 Section Notes 3 The Simplex Algorithm Applied Math 121 Week of February 14, 2011 Goals for the week understand how to get from an LP to a simplex tableau. be familiar with reduced costs, optimal solutions,

More information

By W.E. Diewert. July, Linear programming problems are important for a number of reasons:

By W.E. Diewert. July, Linear programming problems are important for a number of reasons: APPLIED ECONOMICS By W.E. Diewert. July, 3. Chapter : Linear Programming. Introduction The theory of linear programming provides a good introduction to the study of constrained maximization (and minimization)

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

Theory of Linear Programming

Theory of Linear Programming Theory of Linear Programming Debasis Mishra April 6, 2011 1 Introduction Optimization of a function f over a set S involves finding the maximum (minimum) value of f (objective function) in the set S (feasible

More information

AM 221: Advanced Optimization Spring Prof. Yaron Singer Lecture 7 February 19th, 2014

AM 221: Advanced Optimization Spring Prof. Yaron Singer Lecture 7 February 19th, 2014 AM 22: Advanced Optimization Spring 204 Prof Yaron Singer Lecture 7 February 9th, 204 Overview In our previous lecture we saw the application of the strong duality theorem to game theory, and then saw

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

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

Lecture 7: Approximation via Randomized Rounding

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

More information

Automated Scheduling, School of Computer Science and IT, University of Nottingham 1. Job Shop Scheduling. Disjunctive Graph.

Automated Scheduling, School of Computer Science and IT, University of Nottingham 1. Job Shop Scheduling. Disjunctive Graph. Job hop cheduling Contents 1. Problem tatement 2. Disjunctive Graph. he hifting Bottleneck Heuristic and the Makespan Literature: 1. cheduling, heory, Algorithms, and ystems, Michael Pinedo, Prentice Hall,

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

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

Classification - Examples -1- 1 r j C max given: n jobs with processing times p 1,..., p n and release dates

Classification - Examples -1- 1 r j C max given: n jobs with processing times p 1,..., p n and release dates Lecture 2 Scheduling 1 Classification - Examples -1-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

More information

1 Unrelated Parallel Machine Scheduling

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

More information

Minimize subject to. x S R

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

More information

Mathematics Notes for Class 12 chapter 12. Linear Programming

Mathematics Notes for Class 12 chapter 12. Linear Programming 1 P a g e Mathematics Notes for Class 12 chapter 12. Linear Programming Linear Programming It is an important optimization (maximization or minimization) technique used in decision making is business and

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

C. De Simone, G. Rinaldi

C. De Simone, G. Rinaldi C. De Simone, G. Rinaldi A CUTTING PLANE ALGORITHM FOR THE MAX-CUT PROBLEM Caterina De Simone, Giovanni Rinaldi - Istituto di Analisi dei Sistemi ed Informatica del CNR - Viale Manzoni 30, 00185 Roma,

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

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

Outline. Linear Programming (LP): Simplex Search. Simplex: An Extreme-Point Search Algorithm. Basic Solutions

Outline. Linear Programming (LP): Simplex Search. Simplex: An Extreme-Point Search Algorithm. Basic Solutions Outline Linear Programming (LP): Simplex Search Benoît Chachuat McMaster University Department of Chemical Engineering ChE 4G03: Optimization in Chemical Engineering 1 Basic Solutions

More information

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

Graphical method. plane. (for max) and down (for min) until it touches the set of feasible solutions. Graphical method The graphical method of solving linear programming problems can be applied to models with two decision variables. This method consists of two steps (see also the first lecture): 1 Draw the set of feasible

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

Convexity I: Sets and Functions

Convexity I: Sets and Functions Convexity I: Sets and Functions Lecturer: Ryan Tibshirani Convex Optimization 10-725/36-725 See supplements for reviews of basic real analysis basic multivariate calculus basic linear algebra Last time:

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

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

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

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

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

Min-cost flow problems and network simplex algorithm

Min-cost flow problems and network simplex algorithm Min-cost flow problems and network simplex algorithm The particular structure of some LP problems can be sometimes used for the design of solution techniques more efficient than the simplex algorithm.

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

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

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

Dynamic Programming.S1 Sequencing Problems

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

More information

Tutorial on Convex Optimization for Engineers Part I

Tutorial on Convex Optimization for Engineers Part I Tutorial on Convex Optimization for Engineers Part I M.Sc. Jens Steinwandt Communications Research Laboratory Ilmenau University of Technology PO Box 100565 D-98684 Ilmenau, Germany jens.steinwandt@tu-ilmenau.de

More information

Abstract Linear Algebra, Fall Solutions to Problems III

Abstract Linear Algebra, Fall Solutions to Problems III Abstract Linear Algebra, Fall 211 - Solutions to Problems III 1. Let P 3 denote the real vector space of all real polynomials p(t) of degree at most 3. Consider the linear map T : P 3 P 3 given by T p(t)

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

Comparison of Optimization Techniques in Large Scale Transportation Problems

Comparison of Optimization Techniques in Large Scale Transportation Problems Journal of Undergraduate Research at Minnesota State University, Mankato Volume 4 Article 10 2004 Comparison of Optimization Techniques in Large Scale Transportation Problems Tapojit Kumar Minnesota State

More information

SOLVE THE VEHICLE ROUTING PROBLEM WITH TIME WINDOWS VIA A GENETIC ALGORITHM. Yaw Chang and Lin Chen

SOLVE THE VEHICLE ROUTING PROBLEM WITH TIME WINDOWS VIA A GENETIC ALGORITHM. Yaw Chang and Lin Chen DISCRETE AND CONTINUOUS Website: www.aimsciences.org DYNAMICAL SYSTEMS SUPPLEMENT 2007 pp. 240 249 SOLVE THE VEHICLE ROUTING PROBLEM WITH TIME WINDOWS VIA A GENETIC ALGORITHM Yaw Chang and Lin Chen Mathematics

More information

Minimum Caterpillar Trees and Ring-Stars: a branch-and-cut algorithm

Minimum Caterpillar Trees and Ring-Stars: a branch-and-cut algorithm Minimum Caterpillar Trees and Ring-Stars: a branch-and-cut algorithm Luidi G. Simonetti Yuri A. M. Frota Cid C. de Souza Institute of Computing University of Campinas Brazil Aussois, January 2010 Cid de

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

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

Linear Programming: Introduction

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

More information

Introduction and message of the book

Introduction and message of the book 1 Introduction and message of the book 1.1 Why polynomial optimization? Consider the global optimization problem: P : for some feasible set f := inf x { f(x) : x K } (1.1) K := { x R n : g j (x) 0, j =

More information

Definition of a Linear Program

Definition of a Linear Program Definition of a Linear Program Definition: A function f(x 1, x,..., x n ) of x 1, x,..., x n is a linear function if and only if for some set of constants c 1, c,..., c n, f(x 1, x,..., x n ) = c 1 x 1

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