Scheduling Outline Math Programming DMP204 SCHEDULING, TIMETABLING AND ROUTING 1. Scheduling CPM/PERT Resource Constrained Project Scheduling Model Lecture 3 RCPSP and Mixed Integer Programming 2. Mathematical Programming Introduction Solution Algorithms Marco Chiarandini 2 Scheduling CPM/PERT Scheduling CPM/PERT Outline Outline Math Programming RCPSP Math Programming RCPSP 1. Scheduling 1. Scheduling CPM/PERT CPM/PERT Resource Constrained Project Scheduling Model Resource Constrained Project Scheduling Model 2. Mathematical Programming 2. Mathematical Programming Introduction Introduction Solution Algorithms Solution Algorithms 3 4
Scheduling CPM/PERT Scheduling CPM/PERT Project Planning Project Planning Math Programming RCPSP Math Programming RCPSP 5 5 Scheduling CPM/PERT Scheduling CPM/PERT Project Planning Project Planning Math Programming RCPSP Math Programming RCPSP 5 5
RCPSP Scheduling CPM/PERT Scheduling CPM/PERT Outline Math Programming RCPSP Math Programming RCPSP Resource Constrained Project Scheduling Model Given: activities (jobs) j = 1 , . . . , n renewable resources i = 1 , . . . , m amount of resources available R i 1. Scheduling processing times p j CPM/PERT Resource Constrained Project Scheduling Model amount of resource used r ij precedence constraints j → k 2. Mathematical Programming Introduction Solution Algorithms 6 7 RCPSP RCPSP Scheduling CPM/PERT Scheduling CPM/PERT Math Programming RCPSP Math Programming RCPSP Resource Constrained Project Scheduling Model Resource Constrained Project Scheduling Model Given: Given: activities (jobs) j = 1 , . . . , n activities (jobs) j = 1 , . . . , n renewable resources i = 1 , . . . , m renewable resources i = 1 , . . . , m amount of resources available R i amount of resources available R i processing times p j processing times p j amount of resource used r ij amount of resource used r ij precedence constraints j → k precedence constraints j → k Further generalizations Further generalizations Time dependent resource profile R i ( t ) Time dependent resource profile R i ( t ) given by ( t µ i , R µ given by ( t µ i , R µ i < . . . < t m i i < . . . < t m i i ) where 0 = t 1 i < t 2 i ) where 0 = t 1 i < t 2 = T = T i i Disjunctive resource, if R k ( t ) = { 0 , 1 } ; cumulative resource, Disjunctive resource, if R k ( t ) = { 0 , 1 } ; cumulative resource, otherwise otherwise Multiple modes for an activity j processing time and use of resource depends on its mode m : p jm , r jkm . 7 7
Scheduling CPM/PERT Scheduling CPM/PERT Modeling Math Programming RCPSP Math Programming RCPSP Assignment 2 Assignment 1 Exams in a college may have different duration. A contractor has to complete n activities. The exams have to be held in a gym with W seats. The duration of activity j is p j The enrollment in course j is W j and each activity requires a crew of size W j . all W j students have to take the exam at the same time. The activities are not subject to precedence constraints. The goal is to develop a timetable that schedules all n exams in minimum time. The contractor has W workers at his disposal Consider both the cases in which each student has to attend a single his objective is to complete all n activities in minimum time. exam as well as the situation in which a student can attend more than one exam. 8 9 Scheduling CPM/PERT Scheduling CPM/PERT Math Programming RCPSP Math Programming RCPSP Assignment 4 Assignment 3 A set of jobs J 1 , . . . , J g are to be processed by auditors A 1 , . . . , A m . Job J l consists of n l tasks ( l = 1 , . . . , g ). In a basic high-school timetabling problem we are given m classes There are precedence constraints i 1 → i 2 between tasks i 1 , i 2 of the same job. c 1 , . . . , c m , Each job J l has a release time r l , a due date d l and a weight w l . h teachers a 1 , . . . , a h and Each task must be processed by exactly one auditor. If task i is processed by T teaching periods t 1 , . . . , t T . auditor A k , then its processing time is p ik . Auditor A k is available during disjoint time intervals [ s ν k , l ν Furthermore, we have lectures i = l 1 , . . . , l n . k ] ( ν = 1 , . . . , m ) with l ν k < s ν k for ν = 1 , . . . , m k − 1 . Associated with each lecture is a unique teacher and a unique class. Furthermore, the total working time of A k is bounded from below by H − k and A teacher a j may be available only in certain teaching periods. from above by H + k ≤ H + k with H − k ( k = 1 , . . . , m ). We have to find an assignment α ( i ) for each task i = 1 , . . . , n := P g The corresponding timetabling problem is to assign the lectures to l =1 n l to an the teaching periods such that auditor A α ( i ) such that each class has at most one lecture in any time period each task is processed without preemption in a time window of the each teacher has at most one lecture in any time period, assigned auditor k and H k the total workload of A k is bounded by H − k for k = 1 , . . . , m . each teacher has only to teach in time periods where he is available. the precedence constraints are satisfied, all tasks of J l do not start before time r l , and the total weighted tardiness P g l =1 w l T l is minimized. 10 11
Scheduling Introduction Scheduling Introduction Outline Outline Math Programming Solution Algorithms Math Programming Solution Algorithms 1. Scheduling 1. Scheduling CPM/PERT CPM/PERT Resource Constrained Project Scheduling Model Resource Constrained Project Scheduling Model 2. Mathematical Programming 2. Mathematical Programming Introduction Introduction Solution Algorithms Solution Algorithms 12 13 Mathematical Programming Mathematical Programming Scheduling Introduction Scheduling Introduction Math Programming Solution Algorithms Math Programming Solution Algorithms Linear, Integer, Nonlinear Linear, Integer, Nonlinear program = optimization problem program = optimization problem min f ( x ) g i ( x ) = 0 , i = 1 , 2 , . . . , k h j ( x ) ≤ 0 , j = 1 , 2 , . . . , m x ∈ R n general (nonlinear) program (NLP) 14 14
Mathematical Programming Scheduling Introduction Scheduling Introduction Linear Programming Math Programming Solution Algorithms Math Programming Solution Algorithms Linear, Integer, Nonlinear program = optimization problem min f ( x ) Linear Program in standard form g i ( x ) = 0 , i = 1 , 2 , . . . , k h j ( x ) ≤ 0 , j = 1 , 2 , . . . , m min c 1 x 1 + c 2 x 2 + . . . c n x n x ∈ R n a 11 x 1 + a 12 x 2 + . . . + a 1 n x n = b 1 s.t. c T x min a 21 x 1 + a 22 x 2 + . . . + a 2 n x n = b 2 general (nonlinear) program (NLP) Ax = b . . x ≥ 0 . c T x min a 21 x 1 + a 22 x 2 + . . . + a 2 n x n = b n c T x min Ax = a x 1 , x 2 , . . . , x n ≥ 0 Ax = a Bx ≤ b Bx ≤ b x ≥ 0 x ≥ 0 ( x ∈ Z n ) ( x ∈ R n ) ( x ∈ { 0 , 1 } n ) linear program (LP) integer (linear) program (IP, MIP) 14 15 Scheduling Introduction Scheduling Introduction Historic Roots LP Theory Math Programming Solution Algorithms Math Programming Solution Algorithms 1939 L. V. Kantorovitch: Foundations of linear programming (Nobel Prize 1975) Max-Flow Min-Cut Theorem The maximal (s,t)-flow in a capaciatetd network is equal to the George J. Stigler’s 1945 (Nobel Prize 1982) “Diet Problem”: “the minimal capacity of an (s,t)-cut first linear program” find the cheapest combination of foods that will The Duality Theorem of Linear Programming satisfy the daily requirements of a person c T x y T b Army’s problem had 77 unknowns and 9 constraints. max min y T A ≥ c T http://www.mcs.anl.gov/home/otc/Guide/CaseStudies/diet/index.html Ax ≤ b x ≥ 0 y ≥ 0 1947 G.B. Dantzig: Invention of the simplex algorithm If feasible solutions to both the primal and the dual problem in a Founding fathers: pair of dual LP problems exist, then there is an optimum solution to 1950s Dantzig: Linear Programming 1954, the Beginning of IP both systems and the optimal values are equal. G. Dantzig, D.R. Fulkerson, S. Johnson TSP with 49 cities 1960s Gomory: Integer Programming 16 17
Scheduling Introduction Scheduling Introduction LP Theory LP Solvability Math Programming Solution Algorithms Math Programming Solution Algorithms Linear programs can be solved in polynomial time with Max-Flow Min-Cut Theorem the Ellipsoid Method (Khachiyan, 1979) does not hold if several source-sink relations are given Interior Point Methods (Karmarkar, 1984, and others) (multicommodity flow) Open: is there a strongly polynomial time algorithm for the solution The Duality Theorem of Integer Programming of LPs? c T x y T b max min Certain variants of the Simplex Algorithm run - under certain y T A ≥ c T Ax ≤ b conditions - in expected polynomial time (Borgwardt, 1977...) x ≥ 0 y ≥ 0 ≤ x ∈ Z n y ∈ Z n Open: Is there a polynomial time variant of the Simplex Algorithm? 18 19 Scheduling Introduction Scheduling Introduction IP Solvability Outline Math Programming Solution Algorithms Math Programming Solution Algorithms 1. Scheduling Theorem CPM/PERT Integer, 0/1, and mixed integer programming are NP-hard. Resource Constrained Project Scheduling Model Consequence special cases special purposes 2. Mathematical Programming heuristics Introduction Solution Algorithms 20 21
Recommend
More recommend