Single Machine Models

Similar documents
Single Machine Problems Polynomial Cases

RCPSP Single Machine Problems

Flow Shop and Job Shop Models

Lecture 4 Scheduling 1

Algorithm Design. Scheduling Algorithms. Part 2. Parallel machines. Open-shop Scheduling. Job-shop Scheduling.

Deterministic Models: Preliminaries

P C max. NP-complete from partition. Example j p j What is the makespan on 2 machines? 3 machines? 4 machines?

Dynamic Scheduling with Genetic Programming

Scheduling Lecture 1: Scheduling on One Machine

No-Idle, No-Wait: When Shop Scheduling Meets Dominoes, Eulerian and Hamiltonian Paths

LPT rule: Whenever a machine becomes free for assignment, assign that job whose. processing time is the largest among those jobs not yet assigned.

Algorithms Design & Analysis. Approximation Algorithm

Simple Dispatch Rules

Embedded Systems 14. Overview of embedded systems design

Algorithm Design Strategies V

Lecture 2: Scheduling on Parallel Machines

Embedded Systems 15. REVIEW: Aperiodic scheduling. C i J i 0 a i s i f i d i

Resource Constrained Project Scheduling Linear and Integer Programming (1)

Scheduling for Parallel Dedicated Machines with a Single Server

Algorithm Design and Analysis

Outline. Outline. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Scheduling CPM/PERT Resource Constrained Project Scheduling Model

CS521 CSE IITG 11/23/2012

An exact approach to early/tardy scheduling with release dates

Scheduling Lecture 1: Scheduling on One Machine

Approximation Algorithms (Load Balancing)

CSE101: Design and Analysis of Algorithms. Ragesh Jaiswal, CSE, UCSD

Outline. Relaxation. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Lagrangian Relaxation. Lecture 12 Single Machine Models, Column Generation

IE652 - Chapter 10. Assumptions. Single Machine Scheduling

Vehicle Routing and Scheduling. Martin Savelsbergh The Logistics Institute Georgia Institute of Technology

CHAPTER 16: SCHEDULING

Approximation Algorithms for scheduling

1 Basic Definitions. 2 Proof By Contradiction. 3 Exchange Argument

Minimizing Mean Flowtime and Makespan on Master-Slave Systems

Sub-Optimal Scheduling of a Flexible Batch Manufacturing System using an Integer Programming Solution

1 Ordinary Load Balancing

Contents college 5 and 6 Branch and Bound; Beam Search (Chapter , book)! general introduction

Real-Time Systems. Event-Driven Scheduling

Aperiodic Task Scheduling

On Machine Dependency in Shop Scheduling

Recoverable Robustness in Scheduling Problems

Part III: Traveling salesman problems

Deterministic Scheduling. Dr inż. Krzysztof Giaro Gdańsk University of Technology

Task Models and Scheduling

Partition is reducible to P2 C max. c. P2 Pj = 1, prec Cmax is solvable in polynomial time. P Pj = 1, prec Cmax is NP-hard

More Approximation Algorithms

CSE 421 Greedy Algorithms / Interval Scheduling

Greedy Algorithms. Kleinberg and Tardos, Chapter 4

Applied Integer Programming: Modeling and Solution

CSE 417. Chapter 4: Greedy Algorithms. Many Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

CS 374: Algorithms & Models of Computation, Spring 2017 Greedy Algorithms Lecture 19 April 4, 2017 Chandra Chekuri (UIUC) CS374 1 Spring / 1

Optimization Prof. A. Goswami Department of Mathematics Indian Institute of Technology, Kharagpur. Lecture - 20 Travelling Salesman Problem

Metode şi Algoritmi de Planificare (MAP) Curs 2 Introducere în problematica planificării

Algorithms and Complexity theory

Design and Analysis of Algorithms

D1 Discrete Mathematics The Travelling Salesperson problem. The Nearest Neighbour Algorithm The Lower Bound Algorithm The Tour Improvement Algorithm

Batch delivery scheduling with simple linear deterioration on a single machine 1

Networked Embedded Systems WS 2016/17

Scheduling of two and three machine robotic cells with fuzzy methodology

Check off these skills when you feel that you have mastered them. Write in your own words the definition of a Hamiltonian circuit.

Real-Time Systems. Event-Driven Scheduling

2 Dynamic Programming

Scheduling Online Algorithms. Tim Nieberg

SINGLE MACHINE SEQUENCING Part 2. ISE480 Sequencing and Scheduling Fall semestre

Season Finale: Which one is better?

Part III: Traveling salesman problems

Real-time operating systems course. 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm

An improved approximation algorithm for two-machine flow shop scheduling with an availability constraint

CIS 4930/6930: Principles of Cyber-Physical Systems

APTAS for Bin Packing

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Integrated Network Design and Scheduling Problems with Parallel Identical Machines: Complexity Results and Dispatching Rules

MINIMIZING SCHEDULE LENGTH OR MAKESPAN CRITERIA FOR PARALLEL PROCESSOR SCHEDULING

Optimal on-line algorithms for single-machine scheduling

Approximation Schemes for Job Shop Scheduling Problems with Controllable Processing Times

HEURISTICS FOR TWO-MACHINE FLOWSHOP SCHEDULING WITH SETUP TIMES AND AN AVAILABILITY CONSTRAINT

Priority-driven Scheduling of Periodic Tasks (1) Advanced Operating Systems (M) Lecture 4

arxiv: v2 [cs.ds] 27 Nov 2014

Heuristics Algorithms For Job Sequencing Problems

There are three priority driven approaches that we will look at

Proof methods and greedy algorithms

Low-Complexity Algorithms for Sequencing Jobs with a Fixed Number of Job-Classes

CS Analysis of Recursive Algorithms and Brute Force

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Operations and Supply Chain Management Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

4 Sequencing problem with heads and tails

Single Machine Scheduling with a Non-renewable Financial Resource

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

Transportation II. Lecture 16 ESD.260 Fall Caplice

Real-time Scheduling of Periodic Tasks (2) Advanced Operating Systems Lecture 3

Job Sequencing with One Common and Multiple Secondary Resources: A Problem Motivated from Particle Therapy for Cancer Treatment

Complexity analysis of job-shop scheduling with deteriorating jobs

Bounds on the Traveling Salesman Problem

Finding optimal configurations ( combinatorial optimization)

Approximations with Improving Error Bounds for Makespan Minimization in Batch Manufacturing

General Scheduling Model and

Multi-Objective Scheduling Using Rule Based Approach

Evolutionary Ensemble Strategies for Heuristic Scheduling

CS 161: Design and Analysis of Algorithms

Contents Lecture 4. Greedy graph algorithms Dijkstra s algorithm Prim s algorithm Kruskal s algorithm Union-find data structure with path compression

College of Computer & Information Science Fall 2009 Northeastern University 22 September 2009

Transcription:

Outline DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 8 Single Machine Models 1. Dispatching Rules 2. Single Machine Models Marco Chiarandini DM87 Scheduling, Timetabling and Routing 2 Outline Dispatching rules Distinguish static and dynamic rules. 1. Dispatching Rules 2. Single Machine Models Service in random order (SIRO) Earliest release date first (ERD=FIFO) tends to min variations in waiting time Earliest due date (EDD) Minimal slack first (MS) j = arg min j {max(d j p j t, 0)}. tends to min due date objectives (T,L) DM87 Scheduling, Timetabling and Routing 3 DM87 Scheduling, Timetabling and Routing 4

(Weighted) shortest processing time first (WSPT) j = arg max j {w j /pj}. tends to min wj C j and max work in progress and Critical path (CP) first job in the CP Loongest processing time first (LPT) tends to min Cmax balance work load over parallel machines Largest number of successors (LNS) Shortest setup time first (SST) tends to min Cmax and max throughput Least flexible job first (LFJ) eligibility constraints Shortest queue at the next operation (SQNO) tends to min idleness of machines DM87 Scheduling, Timetabling and Routing 5 DM87 Scheduling, Timetabling and Routing 6 When dispatching rules are optimal? DM87 Scheduling, Timetabling and Routing 7 DM87 Scheduling, Timetabling and Routing 8

Composite dispatching rules Instance characterization Job attributes: {weight, processing time, due date, release date} Machine attributes: {speed, num. of jobs waiting, num. of jobs eligible } Why composite rules? Example: 1 w j T j : WSPT, optimal if due dates are zero EDD, optimal if due dates are loose MS, tends to minimize T The efficacy of the rules depends on instance factors Possible instance factors: θ 1 = 1 d c max θ 2 = d max d min c max θ 3 = s p (due date tightness) (due date range) (set up time severity) (estimated ^C max = n j=1 p j + n s) DM87 Scheduling, Timetabling and Routing 9 DM87 Scheduling, Timetabling and Routing 10 Summary Dynamic apparent tardiness cost (ATC) I j (t) = w ( j exp max(d ) j p j t, 0) p j K p Dynamic apparent tardiness cost with setups (ATCS) I j (t, l) = w ( j exp max(d ) ( ) j p j t, 0) sjk exp p j K 1 p K 2 s after job l has finished. Scheduling classification Solution methods Practice with general solution methods Mathematical Programming Constraint Programming Heuristic methods DM87 Scheduling, Timetabling and Routing 11 DM87 Scheduling, Timetabling and Routing 12

Remainder on Scheduling Outline Objectives: Look closer into scheduling models and learn: special algorithms application of general methods 1. Dispatching Rules Cases: Single Machine 2. Single Machine Models Parallel Machine Permutation Flow Shop Job Shop Resource Constrained Project Scheduling DM87 Scheduling, Timetabling and Routing 13 DM87 Scheduling, Timetabling and Routing 14 Summary 1 w j C j [Total weighted completion time] Single Machine Models: C max is sequence independent if r j = 0 and h j is monotone in C j then optimal schedule is nondelay and has no preemption. Theorem: The weighted shortest processing time first (WSPT) rule is optimal. Extensions to 1 prec w j C j in the general case strongly NP-hard chain precedences: process first chain with highest ρ-factor up to, and included, job with highest ρ-factor. poly also for tree and sp-graph precedences DM87 Scheduling, Timetabling and Routing 15 DM87 Scheduling, Timetabling and Routing 16

1 prec L max Extensions to 1 r j, prmp w j C j in the general case strongly NP-hard preemptive version of the WSPT if equal weights however, 1 r j w j C j is strongly NP-hard [maximum lateness] generalization: h max = max{h(c 1 ), h(c 2 ),..., h(c n )} Solved by backward dynamic programming in O(n 2 ): J set of jobs already scheduled; J c set of jobs still to schedule; J J c set of schedulable jobs Step 1: Set J =, J c = {1,..., n} and J the set of all jobs with no successor Step 2: Select j such that j = arg min j J {h j ( k J c p k ) }; add j to J; remove j from J c ; update J. Step 3: If J c is empty then stop, otherwise go to Step 2. For 1 L max Earliest Due Date first 1 r j L max is instead strongly NP-hard DM87 Scheduling, Timetabling and Routing 17 DM87 Scheduling, Timetabling and Routing 18 1 h j (C j ) 1 s jk C max generalization of w j T j hence strongly NP-hard efficient (forward) dynamic programming algorithm O(2 n ) J set of job already scheduled; V(J) = j J h j(c j ) Step 1: Set J =, V(j) = h j (p j ), j = 1,..., n ( Step 2: V(J) = min j J V(J {j}) + hj ( k J p )) k Step 3: If J = {1, 2,..., n} then V({1, 2,..., n}) is optimum, otherwise go to Step 2. [Makespan with sequence-dependent setup times] general case is NP-hard (traveling salesman reduction). special case: parameters a j, b j for job j with s jk a k b j [Gilmore and Gomory, 1964] give a O(n 2 ) algorithm DM87 Scheduling, Timetabling and Routing 19 DM87 Scheduling, Timetabling and Routing 20

assume b 0 b 1... b n (k > j and b k b j ) one-to-one correspondence with solution of TSP with n + 1 cities city 0 has a 0, b 0 start at b 0 finish at a 0 tour representation φ : {0, 1,..., n} {0, 1,..., n} (permutation map, single linked array) Hence, min c(φ) = n c i,φ(i) (1) i=1 φ(s) S S V (2) find φ by ignoring (2) make φ a tour through swaps (swap chosen solving a min spanning tree and applied in a certain order) Interchange δ jk δ jk (φ) = {φ φ (j) = φ(k), φ(k) = φ(j), φ (l) = φ(l), l j, k} Cost c φ (δ jk ) = c(δ jk (φ)) c(φ) = [b j, b k ] [a φ(j), a φ(k) ] Theorem: Let φ be a permutation that ranks the a that is k > j implies a φ(k) a φ(j) then. c(φ ) = min c(φ) φ Lemma: If φ is a permutation consisting of cycles C 1,..., C p and δ jk is an interchange with j C r and k C s, r s, then δ jk (φ) contains the same cycles except that C r and C s have been replaced by a single cycle containing all their nodes. DM87 Scheduling, Timetabling and Routing 21 DM87 Scheduling, Timetabling and Routing 22 Theorem: Let δ j 1k 1, δ j 2k 2,..., δ j pk p be the interchanges corresponding to the arcs of a spanning tree of G φ. The arcs may be taken in any order. Then φ, is a tour. φ = δ j 1k 1 δ j 2k 2... δ j pk p (φ ) { Type I, if b j a φ(j) node j in φ is of Type II, otherwise { Type I, if lower node of type I interchange jk is of Type II, if lower node of type II The p 1 interchanges can be found by greedy algorithm (similarity to Kruskal for min spanning tree) Lemma: There is a minimum spanning tree in G φ that contains only arcs δ j,j+1. Generally, c(φ ) c(δ j 1k 1 ) + c(δ j 2k 2 ) +... + c(δ j pk p ). Order: interchanges in Type I in decreasing order interchanges in Type II in increasing order Apply to φ interchanges of Type I and Type II in that order. Theorem: The tour found is a minimal cost tour. DM87 Scheduling, Timetabling and Routing 23 DM87 Scheduling, Timetabling and Routing 24

Resuming the final algorithm [Gilmore and Gomory, 1964]: Summary Step 1: Arrange b j in order of size and renumber jobs so that b j b j+1, j = 1,..., n. Step 2: Arrange a j in order of size. Step 3: Define φ by φ(j) = k where k is the j + 1-smallest of the a j. Step 4: Compute the interchange costs c δ j,j+1, j = 0,..., n 1 c δ j,j+1 = [b j, b j+1 ] [a φ(j), a φ(i) ] Step 5: While G has not one single component, Add to G φ the arc of minimum cost c(δ j,j+1 ) such that j and j + 1 are in two different components. Step 6: Divide the arcs selected in Step 5 in Type I and II. Sort Type I in decreasing and Type II increasing order of index. Apply the relative interchanges in the order. Single Machine Models: 1 w j C j : weighted shortest processing time first is optimal 1 prec L max : dynamic programming in O(n 2 ) 1 h j (C j ) : dynamic programming in O(2 n ) 1 s jk C max : in the special case, Gilmore and Gomory algorithm optimal in O(n 2 ) DM87 Scheduling, Timetabling and Routing 25 DM87 Scheduling, Timetabling and Routing 26