# Scheduling and (Integer) Linear Programming

Save this PDF as:

Size: px
Start display at page:

## 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 General Integer Linear Program: (ILP) min c T x Ax b x 0 integer Assumption: A, b integer The integrality condition

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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