Scheduling and (Integer) Linear Programming

Scheduling and (Integer) Linear Programming

Scheduling and (Integer) Linear Programming Christian Artigues LAAS - CNRS & Université de Toulouse, France [email protected] Master Class CPAIOR 2012 - Nantes Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 1 / 78 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 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 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 A simple scheduling example One machine scheduling with release dates and deadlines ~ ~ 2 jobs J1 and J2 (p1 = 3, p2 = 2, r1 = 0, r2 = 1, d1 = 9, d2 = 7). 1 machine. Objective function f (S) = C1 + C2 = S1 + S2 + p1 + p2. min S1 + S2+p1 + p2 S1 ≥ r1 S2 ≥ r2 S1 + p1 ≤ d~1 S2 + p2 ≤ d~2 S2 ≥ S1 + p1 ∨ S1 ≥ S2 + p2 S1, S2 integer P J1 J2 Ci = 8 (optimal solution) 0 1 2 3 4 5 6 Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 5 / 78 conv(S) Find a complete description of conv(S) : hard in general The scheduling polyhedron Feasible set S The feasible set is S the set of points S ∈ Rn that satisfy the constraints min S1 + S2+p1 + p2 S2 S S1 ≥ r1 S2 ≥ r2 S1 + p1 ≤ d~1 S2 + p2 ≤ d~2 S2 ≥ S1 + p1 ∨ S1 ≥ S2 + p2 S S1, S2 integer 1 P J1 J2 Ci = 8 0 1 2 3 4 5 6 Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 6 / 78 Find a complete description of conv(S) : hard in general The scheduling polyhedron Convex hull conv(S) The convex hull of S, i.e. the smallest convex set containing S : n o n n+ P|S| i P|S| conv(S) = x ∈ R ∃λi ∈ R , x = i=1 λi S , i=1 λi = 1 min S1 + S2+p1 + p2 S2 S conv(S) S1 ≥ r1 S2 ≥ r2 S1 + p1 ≤ d~1 S2 + p2 ≤ d~2 S2 ≥ S1 + p1 ∨ S1 ≥ S2 + p2 S S1, S2 integer 1 P J1 J2 Ci = 8 0 1 2 3 4 5 6 Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 6 / 78 Find a complete description of conv(S) : hard in general The scheduling polyhedron Optimization on S and conv(S) Let f : Rn → R a linear function, min f (S) = min f (S) S∈S S∈conv(S) min S1 + S2+p1 + p2 S2 S conv(S) S1 ≥ r1 S2 ≥ r2 S1 + p1 ≤ d~1 S2 + p2 ≤ d~2 S2 ≥ S1 + p1 ∨ S1 ≥ S2 + p2 S S1, S2 integer 1 P J1 J2 Ci = 8 0 1 2 3 4 5 6 Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 6 / 78 The scheduling polyhedron conv(S) is a polyhedron There exists A ∈ Rm×n and b ∈ Rn with m finite such that conv(S) = {x ∈ Rn|Ax ≥ b}. Hence min f (S) is a LP. S∈conv(S) min S1 + S2+p1 + p2 S2 S conv(S) S1 ≥ r1 S2 ≥ r2 S1 + p1 ≤ d~1 S2 + p2 ≤ d~2 S2 ≥ S1 + p1 ∨ S1 ≥ S2 + p2 S S1, S2 integer 1 P J1 J2 Ci = 8 Find a complete description 0 1 2 3 4 5 6 of conv(S) : hard in general Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 6 / 78 A polyhedron is fully described by the set of all facet-inducing valid inequalities P ∩ {S|S1 +P3∩S2 {S=|26S}1 :+ a3 0-dimensionalS2 = 9} : a facet face (3, 1) 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 ∈ Rn|αx = β} A vertex is a face of dimension 0 A facet is a face of dimension dim(P) − 1 S2 S1 3S1 + 5S2 ≥ 7 : a valid inequality Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 7 / 78 A polyhedron is fully described by the set of all facet-inducing valid inequalities P ∩ {S|2S1 +3S31S+2 5=S92}≥:7 a :facet a valid inequality 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 ∈ Rn|αx = β} A vertex is a face of dimension 0 A facet is a face of dimension dim(P) − 1 S2 S1 P ∩ {S|S1 + 3S2 = 6} : a 0-dimensional face (3, 1) Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 7 / 78 A polyhedron is fully described by the set of all facet-inducing valid inequalities P ∩ {S|S1 + 3S2 = 6} :3S a1 0-dimensional+ 5S2 ≥ 7 : a face valid(3 inequality, 1) 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 ∈ Rn|αx = β} A vertex is a face of dimension 0 A facet is a face of dimension dim(P) − 1 S2 S1 P ∩ {S|2S1 + 3S2 = 9} : a facet Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 7 / 78 P ∩ {S|S1 + 3S2 = 6} :3S a1 0-dimensional+ 5S2 ≥ 7 : a face valid(3 inequality, 1) 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 ∈ Rn|αx = β} A vertex is a face of dimension 0 A facet is a face of dimension dim(P) − 1 S2 A polyhedron is fully described by the set of all S1 facet-inducing valid inequalities P ∩ {S|2S1 + 3S2 = 9} : a facet Christian Artigues Scheduling and (Integer) Linear Programming CPAIOR 2012, Nantes 7 / 78 (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 (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 (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 (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, ..

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    168 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us