Parallel Machines (Q||ΣCi , Q|pmtn|ΣCi , R||ΣCi , R|pmtn|Cmax, R|pmtn|Lmax) Lesson 8.

Slides:



Advertisements
Similar presentations
On the Complexity of Scheduling
Advertisements

FLOW SHOPS: F2||Cmax. FLOW SHOPS: JOHNSON'S RULE2 FLOW SHOP SCHEDULING (n JOBS, m MACHINES) n JOBS BANK OF m MACHINES (SERIES) n M1 M2Mm.
Branch and Bound Example. Initial lower bound Jrpd Use 1 machine preemptive schedule as lower bound Job 2 has a lateness of 5,
1 IOE/MFG 543 Chapter 5: Parallel machine models (Sections )
Completion Time Scheduling Notes from Hall, Schulz, Shmoys and Wein, Mathematics of Operations Research, Vol 22, , 1997.
Totally Unimodular Matrices Lecture 11: Feb 23 Simplex Algorithm Elliposid Algorithm.
1 Single Machine Deterministic Models Jobs: J 1, J 2,..., J n Assumptions: The machine is always available throughout the scheduling period. The machine.
Stackelberg Scheduling Strategies By Tim Roughgarden Presented by Alex Kogan.
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Integer Programming Difference from linear programming –Variables x i must take on integral values, not real values Lots of interesting problems can be.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
1 Contents college 3 en 4 Book: Appendix A.1, A.3, A.4, §3.4, §3.5, §4.1, §4.2, §4.4, §4.6 (not: §3.6 - §3.8, §4.2 - §4.3) Extra literature on resource.
Minimizing Makespan and Preemption Costs on a System of Uniform Machines Hadas Shachnai Bell Labs and The Technion IIT Tami Tamir Univ. of Washington Gerhard.
EHSAN KHODDAM MOHAMMADI MILAD GANJALIZADEH BABAK YADEGARI First Steps to Study SCHEDULING بسم الله الرحمن الرحيم.
Markov Decision Processes1 Definitions; Stationary policies; Value improvement algorithm, Policy improvement algorithm, and linear programming for discounted.
Batch Scheduling of Conflicting Jobs Hadas Shachnai The Technion Based on joint papers with L. Epstein, M. M. Halldórsson and A. Levin.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
Minimizing Stall Time in Single Disk Susanne Albers, Naveen Garg, Stefano Leonardi, Carsten Witt Presented by Ruibin Xu.
Outline Introduction Minimizing the makespan Minimizing total flowtime
Maximum Flow Problem (Thanks to Jim Orlin & MIT OCW)
Dvir Shabtay Moshe Kaspi The Department of IE&M Ben-Gurion University of the Negev, Israel.
15.082J and 6.855J March 4, 2003 Introduction to Maximum Flows.
Parallel Machine Scheduling
Rounding scheme if r * j  1 then r j := 1  When the number of processors assigned in the continuous solution is between 0 and 1 for each task, the speed.
Earliness and Tardiness Penalties Chapter 5 Elements of Sequencing and Scheduling by Kenneth R. Baker Byung-Hyun Ha R1.
© The McGraw-Hill Companies, Inc., Chapter 12 On-Line Algorithms.
Problems in Combinatorial Optimization. Linear Programming.
11 -1 Chapter 12 On-Line Algorithms On-Line Algorithms On-line algorithms are used to solve on-line problems. The disk scheduling problem The requests.
Common Intersection of Half-Planes in R 2 2 PROBLEM (Common Intersection of half- planes in R 2 ) Given n half-planes H 1, H 2,..., H n in R 2 compute.
Progress Report 07/30. Virtual Core Scheduling Problem For every time period, the hypervisor scheduler is given a set of virtual cores with their operating.
Approximation Algorithms based on linear programming.
Single Machine Scheduling Problem Lesson 5. Maximum Lateness and Related Criteria Problem 1|r j |L max is NP-hard.
Advanced Algorithms Analysis and Design By Dr. Nazir Ahmad Zafar Dr Nazir A. Zafar Advanced Algorithms Analysis and Design.
Linear program Separation Oracle. Rounding We consider a single-machine scheduling problem, and see another way of rounding fractional solutions to integer.
Classification of Scheduling Problems
Approximation Algorithms for Scheduling
More NP-Complete and NP-hard Problems
Chapter 10 NP-Complete Problems.
Dynamic Programming Typically applied to optimization problems
Some Topics in OR.
Linear homogeneous ODEn with constant coefficients
Lap Chi Lau we will only use slides 4 to 19
Topics in Algorithms Lap Chi Lau.
Computability and Complexity
Basic Project Scheduling
Assignment Problem, Dynamic Programming
Lecture 2: Parallel computational models
Basic Project Scheduling
Shop Scheduling Problem
Greedy Algorithms Basic idea Connection to dynamic programming
The basics of scheduling
Complexity 6-1 The Class P Complexity Andrei Bulatov.
CS 3343: Analysis of Algorithms
Integer Programming (정수계획법)
Limited-Preemption Scheduling of Sporadic Tasks Systems
Richard Anderson Lecture 6 Greedy Algorithms
Planning and Scheduling in Manufacturing and Services
Integer Programming (정수계획법)
Richard Anderson Lecture 7 Greedy Algorithms
Branch and Bound Example
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
György Dósa – M. Grazia Speranza – Zsolt Tuza:
Algorithm Design Techniques Greedy Approach vs Dynamic Programming
Richard Anderson Winter 2019 Lecture 7
Single Machine Deterministic Models
Richard Anderson Autumn 2015 Lecture 7
Chapter 1. Formulations.
Richard Anderson Autumn 2019 Lecture 7
Richard Anderson Autumn 2019 Lecture 8 – Greedy Algorithms II
Presentation transcript:

Parallel Machines (Q||ΣCi , Q|pmtn|ΣCi , R||ΣCi , R|pmtn|Cmax, R|pmtn|Lmax) Lesson 8

Q||ΣCi t Assume that i1, i2,..., ir is the sequence of jobs to be processed on machine Mj. t Mj i1 i2 i3 ● ● ● ir pi1/sj (pi1+ pi2+pi3 +...+pir)/sj (pi1+ pi2) /sj (pi1+ pi2+pi3)/sj The contribution of these jobs is This implies that in an optimal schedule the jobs on machine Mj are sequenced according to nondecreasing processing requirements pi.

Optimal Strategy Let t1, t2,..., tn be a nondecreasing sequence of the n smallest numbers in the set If then schedule job i on Mj as the k-th last job because we assume p1 ≥ p2 ≥ ... ≥ pn.

Q||ΣCi Consider an instance I with 2 machines and 10 jobs. Let s1= 2 and s2= 5. Let p1= 10, p2= 9, p3= 8, p4= 7, p5= 6, p6= 5, p7= 4, p8= 3, p9= 2, and p10= 1.

Q||ΣCi Consider an instance I with 2 machines and 10 jobs. Let s1= 2 and s2= 5. Let p1= 10, p2= 9, p3= 8, p4= 7, p5= 6, p6= 5, p7= 4, p8= 3, p9= 2, and p10= 1. First, we find the 10 smallest numbers:

Q||ΣCi Consider an instance I with 2 machines and 10 jobs. Let s1= 2 and s2= 5. Let p1= 10, p2= 9, p3= 8, p4= 7, p5= 6, p6= 5, p7= 4, p8= 3, p9= 2, and p10= 1. First, we find the 10 smallest numbers: Second, we find the assignment:

Q||ΣCi Consider an instance I with 2 machines and 10 jobs. Let s1= 2 and s2= 5. Let p1= 10, p2= 9, p3= 8, p4= 7, p5= 6, p6= 5, p7= 4, p8= 3, p9= 2, and p10= 1. First, we find the 10 smallest numbers: Second, we find the assignment: M1 10 7 3 M2 t 1 2 3.2 4.6 6.5 8.4

Q||ΣCi Consider an instance I with 2 machines and 10 jobs. Let s1= 2 and s2= 5. Let p1= 10, p2= 9, p3= 8, p4= 7, p5= 6, p6= 5, p7= 4, p8= 3, p9= 2, and p10= 1. First, we find the 10 smallest numbers: Second, we find the assignment: M1 10 7 3 M2 9 8 6 5 4 2 1 t 1 2 3.2 4.6 6.5 8.4

Optimal Strategy Let t1, t2,..., tn be a nondecreasing sequence of the n smallest numbers in the set If then schedule job i on Mj as the k-th last job because we assume p1 ≥ p2 ≥ ... ≥ pn.

Optimal Strategy Let t1, t2,..., tn be a nondecreasing sequence of the n smallest numbers in the set If then schedule job i on Mj as the k-th last job because we assume p1 ≥ p2 ≥ ... ≥ pn. Optimality of this strategy is a consequence of the following result about Monge array.

Monge Array

Q|pmtn|ΣCi To solve this problem we apply an adapted version of the SPT-rule. Order the jobs according to nondecreasing processing requirements, and schedule each successive job preemptively so as to minimize it completion time. In other words, we schedule job n on the fastest machine M1 until it is completed at time t1 = pn/s1. Then we schedule job n – 1 first on machine M2 for t1 time units and then on machine M1 from time t1 to time t2 ≥ t1 until it is completed. Job n – 2 is scheduled on M3 for t1 time units, on M2 for t2 – t1 time units, and on machine M1 from time t2 to time t3 ≥ t2 until it is completed, etc.

Q|pmtn|ΣCi Consider an instance I with 2 machines and 10 jobs. Let s1= 2 and s2= 5. Let p1= 10, p2= 9, p3= 8, p4= 7, p5= 6, p6= 5, p7= 4, p8= 3, p9= 2, and p10= 1. M1 9 8 M2 10 9 8 t 0.2 0.52 0.992 A simple interchange argument may be used to prove the correctness of the algorithm.

Unrelated Machines We have n independent jobs i = 1,..., n to be processed on m machines. The processing time of job i on machine Mj is pij (i = 1,..., n; j = 1,..., m). This model is a generalization of the uniform machine model we get by setting pij = pi/sj .

No preemption. The unrelated machines model is a generalization of the uniform machine model. Remind that, problem Q||ΣCi is the only problem which was polynomially solvable in the case of non-preemptable jobs with arbitrary processing times. We show that a polynomial algorithm also exists for the corresponding problem with unrelated machines.

R||ΣCi We reduce this problem to assignment problem. Again, if i1, i2,..., ir is the sequence of jobs processed on machine Mj. Mj i1 i2 i3 ● ● ● ir t pi1j (pi1j+ pi2j+pi3j +...+pirj) (pi1j+ pi2j) (pi1j+ pi2j+pi3j) Then the contribution of these jobs in the objective function is

Assignment t Mj i1 i2 i3 ● ● ● ir pi1j (pi1j+ pi2j+pi3j +...+pirj) (pi1j+ pi2j) (pi1j+ pi2j+pi3j) We define a position of a job on a machine by considering the job processed last on the first position, the job processed second from last on the second position, etc. To solve problem R||ΣCi we have to assign the jobs i to positions k on machines j. The cost of assigning job i to (k, j) is kpij.

Property of Assignment Problem Note that an optimal solution of this assignment problem has the following property: if some job i is assigned to position k > 1 on machine j, then there is also a job assigned to position k – 1 on machine j. Otherwise, scheduling job i in position k – 1 would improve the total assignment cost. A solution of the Assignment Problem always yields an optimal solution of our scheduling problem.

R|pmtn|Cmax We solve problem R|pmtn|Cmax in two steps. We formulate a linear program to calculate for each job i and each machine j the amount of time tij machine j works on job i in an optimal schedule. We construct a corresponding schedule.

R|pmtn|Cmax Given nm positive integers pij, which represents the total processing times of job i on machine Mj. Let tij be the processing times of that part of job i which is processed on Mj . Then tij/ pij is the fraction of time that job i spends on machine j, and must hold in order for job i to be completed.

LP the total time job i spends on all machines. the total time machine Mj spends processing jobs.

Schedule An optimal solution of LP determines for each job i and each machine j the amount of time tij machine j works on job i in an optimal schedule. M1 1 2 5 M2 1 2 3 M3 3 4 M4 1 3 5 Cmax

Schedule An optimal solution of LP determines for each job i and each machine j the amount of time tij machine j works on job i in an optimal schedule. Also we have

LP the total time job i spends on all machines. the total time machine Mj spends processing jobs.

Schedule An optimal solution of LP determines for each job i and each machine j the amount of time tij machine j works on job i in an optimal schedule. Also we have To problem of finding a corresponding schedule is equivalent to the problem of finding a solution to the O|pmtn|Cmax problem.

O|pmtn|Cmax An optimal schedule of the O|pmtn|Cmax problem achieves the bound An optimal schedule of the O|pmtn|Cmax problem can be constructed in polynomial time by using the reduction to Bipartite Matching problem.

R|pmtn|Lmax Assume that the jobs are numbered in nondecreasing due date order, i.e. d1  d2  ...  dn. Let be the total amount of time that machine Mj spends on job i within the time period I1=[0, d1 +Lmax]. Furthermore, for k = 2,..., n let be the total amount of time that machine Mj spends on job i within the time period Ik=[dk–1 +Lmax, dk +Lmax]. t d1 d2 d3 d4 t d1+Lmax d2+Lmax d3+Lmax d4+Lmax

LP the total time job i spends on all machines in Ik. the total time machine Mj spends processing jobs in Ik.

Schedule Given an optimal solution of this LP, an Lmax-optimal schedule can be obtained by constructing for each of the time periods Ik (k = 1,..., n) a corresponding schedule using the data given by the matrix For each interval Ik we get an instance of O|pmtn|Cmax problem and problem R|pmtn|Lmax is polynomially solvable.

Exercise Formulate LP for R| pmtn, ri |Lmax .