Lecture 4 Scheduling 1

Similar documents
Single Machine Models

Single Machine Scheduling with Generalized Total Tardiness Objective Function

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

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

Scheduling Online Algorithms. Tim Nieberg

Multi-agent scheduling on a single machine to minimize total weighted number of tardy jobs

Online Appendix for Coordination of Outsourced Operations at a Third-Party Facility Subject to Booking, Overtime, and Tardiness Costs

Minimizing the Number of Tardy Jobs

Approximation Algorithms (Load Balancing)

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

Single Machine Problems Polynomial Cases

IE652 - Chapter 10. Assumptions. Single Machine Scheduling

RCPSP Single Machine Problems

More Approximation Algorithms

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

Scheduling Lecture 1: Scheduling on One Machine

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

Minimizing the total flow-time on a single machine with an unavailability period

arxiv: v2 [cs.ds] 27 Nov 2014

Recoverable Robustness in Scheduling Problems

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

On Preemptive Scheduling on Uniform Machines to Minimize Mean Flow Time

1 Ordinary Load Balancing

Polynomially solvable and NP-hard special cases for scheduling with heads and tails

Simulation. Stochastic scheduling example: Can we get the work done in time?

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

Embedded Systems 14. Overview of embedded systems design

Lecture 2: Scheduling on Parallel Machines

Completion Time Scheduling and the WSRPT Algorithm

This means that we can assume each list ) is

Single Machine Scheduling with a Non-renewable Financial Resource

A new ILS algorithm for parallel machine scheduling problems

MINIMIZING TOTAL TARDINESS FOR SINGLE MACHINE SEQUENCING

Combinatorial Structure of Single machine rescheduling problem

Solving Parallel Machine Scheduling Problems by. University ofpennsylvania. Warren B. Powell. Department of Civil Engineering & Operations Research

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

The unbounded single machine parallel batch scheduling problem with family jobs and release dates to minimize makespan

Dynamic Scheduling with Genetic Programming

Parallel machine scheduling with batch delivery costs

Algorithms. Outline! Approximation Algorithms. The class APX. The intelligence behind the hardware. ! Based on

Scheduling Linear Deteriorating Jobs with an Availability Constraint on a Single Machine 1

On Machine Dependency in Shop Scheduling

Preemption in Single Machine Earliness/Tardiness Scheduling

General Scheduling Model and

CS521 CSE IITG 11/23/2012

The polynomial solvability of selected bicriteria scheduling problems on parallel machines with equal length jobs and release dates

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

MATH 409 LECTURES THE KNAPSACK PROBLEM

Task Models and Scheduling

Algorithms for Special Single Machine Total Tardiness Problems

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

Minimizing Mean Flowtime and Makespan on Master-Slave Systems

Approximation algorithms for scheduling problems with a modified total weighted tardiness objective

There are three priority driven approaches that we will look at

Optimal on-line algorithms for single-machine scheduling

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1

Preemptive Scheduling of Independent Jobs on Identical Parallel Machines Subject to Migration Delays

An exact approach to early/tardy scheduling with release dates

4 Sequencing problem with heads and tails

Exponential neighborhood search for a parallel machine scheduling problem

CSE 421 Greedy Algorithms / Interval Scheduling

Flow Shop and Job Shop Models

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

Simple Dispatch Rules

Minimizing the number of tardy jobs for the single machine scheduling problem: MIP-based lower and upper bounds

1 The Knapsack Problem

A HEURISTIC APPROACH TO MINIMISING MAXIMUM LATENESS ON A SINGLE MACHINE. Marmara University, Turkey 1 2

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

Minimizing the number of tardy jobs in single machine scheduling using MIP

Network Design and Game Theory Spring 2008 Lecture 2

Scheduling linear deteriorating jobs with an availability constraint on a single machine

Online Scheduling of Parallel Jobs on Two Machines is 2-Competitive

Real-Time k-bounded Preemptive Scheduling

STABILITY OF JOHNSON S SCHEDULE WITH LIMITED MACHINE AVAILABILITY

Algorithm Design and Analysis

On-line Scheduling of Two Parallel Machines. with a Single Server

An FPTAS for Total Weighted Earliness Tardiness Problem with Constant Number of Distinct Due Dates and Polynomially Related Weights

Approximation Algorithms for scheduling

Single Machine Scheduling: Comparison of MIP Formulations and Heuristics for. Interfering Job Sets. Ketan Khowala

Complexity of preemptive minsum scheduling on unrelated parallel machines Sitters, R.A.

Smith s Rule in Stochastic Scheduling

Contents 3. Minmax criteria

Scheduling jobs with agreeable processing times and due dates on a single batch processing machine

Scheduling on a single machine under time-of-use electricity tariffs

Scheduling with Common Due Date, Earliness and Tardiness Penalties for Multi-Machine Problems: A Survey

Networked Embedded Systems WS 2016/17

Combinatorial Algorithms for Minimizing the Weighted Sum of Completion Times on a Single Machine

Knapsack. Bag/knapsack of integer capacity B n items item i has size s i and profit/weight w i

Scheduling and fixed-parameter tractability

Scheduling Lecture 1: Scheduling on One Machine

Kamran. real world. work and study are applicable. and FPTASs. 1. Introduction1. .iust.ac.ir/ KEYWORDS ABSTRACT. penalty, Tardy/Lost

Decision Diagrams for Discrete Optimization

Complexity analysis of job-shop scheduling with deteriorating jobs

An FPTAS for the minimum total weighted tardiness problem with a fixed number of distinct due dates

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

Minimizing the weighted completion time on a single machine with periodic maintenance

arxiv: v1 [math.oc] 2 Nov 2014

Polynomial time solutions for scheduling problems on a proportionate flowshop with two competing agents

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

Approximation Algorithms

Transcription:

Lecture 4 Scheduling 1 Single machine models: Number of Tardy Jobs -1- Problem 1 U j : Structure of an optimal schedule: set S 1 of jobs meeting their due dates set S 2 of jobs being late jobs of S 1 are scheduled before jobs from S 2 jobs from S 1 are scheduled in EDD order jobs from S 2 are scheduled in an arbitrary order Result: a partition of the set of jobs into sets S 1 and S 2 is sufficient to describe a solution

Lecture 4 Scheduling 2 Single machine models: Number of Tardy Jobs -2- Algorithm 1 U j 1. enumerate jobs such that d 1... d n ; 2. S 1 := ; t := 0; 3. FOR j:=1 TO n DO 4. S 1 := S 1 {j}; t := t + p j ; 5. IF t > d j THEN 6. Find job k with largest p k value in S 1 ; 7. S 1 := S 1 \ {k}; t := t p k ; 8. END 9. END

Lecture 4 Scheduling 3 Single machine models: Number of Tardy Jobs -3- Remarks Algorithm 1 U j Principle: schedule jobs in order of increasing due dates and always when a job gets late, remove the job with largest processing time; all removed jobs are late complexity: O(n log(n)) Example: n = 5; p = (7, 8, 4, 6, 6); d = (9, 17, 18, 19, 21)

Lecture 4 Scheduling 4 Single machine models: Number of Tardy Jobs -3- Remarks Algorithm 1 U j Principle: schedule jobs in order of increasing due dates and always when a job gets late, remove the job with largest processing time; all removed jobs are late complexity: O(n log(n)) Example: n = 5; p = (7, 8, 4, 6, 6); d = (9, 17, 18, 19, 21) 1 2 3 0 5 10 15 20 d 3

Lecture 4 Scheduling 5 Single machine models: Number of Tardy Jobs -3- Remarks Algorithm 1 U j Principle: schedule jobs in order of increasing due dates and always when a job gets late, remove the job with largest processing time; all removed jobs are late complexity: O(n log(n)) Example: n = 5; p = (7, 8, 4, 6, 6); d = (9, 17, 18, 19, 21) 1 3 4 5 0 5 10 15 20 d 5

Lecture 4 Scheduling 6 Single machine models: Number of Tardy Jobs -3- Remarks Algorithm 1 U j Principle: schedule jobs in order of increasing due dates and always when a job gets late, remove the job with largest processing time; all removed jobs are late complexity: O(n log(n)) Example: n = 5; p = (7, 8, 4, 6, 6); d = (9, 17, 18, 19, 21) 3 4 5 0 5 10 15 20 Algorithm 1 U j computes an optimal solution Proof on the board

Lecture 4 Scheduling 7 Single machine models: Weighted Number of Tardy Jobs -1- Problem 1 w j U j problem 1 w j U j is NP-hard even if all due dates are the same; i.e. 1 d j = d w j U j is NP-hard Proof on the board (reduction from PARTITION) priority based heuristic (WSPT-rule): schedule jobs in decreasing w j /p j order

Lecture 4 Scheduling 8 Single machine models: Weighted Number of Tardy Jobs -1- Problem 1 w j U j problem 1 w j U j is NP-hard even if all due dates are the same; i.e. 1 d j = d w j U j is NP-hard Proof on the board (reduction from PARTITION) priority based heuristic (WSPT-rule): schedule jobs in decreasing w j /p j order WSPT may perform arbitrary bad for 1 w j U j :

Lecture 4 Scheduling 9 Single machine models: Weighted Number of Tardy Jobs -1- Problem 1 w j U j problem 1 w j U j is NP-hard even if all due dates are the same; i.e. 1 d j = d w j U j is NP-hard Proof on the board (reduction from PARTITION) priority based heuristic (WSPT-rule): schedule jobs in decreasing w j /p j order WSPT may perform arbitrary bad for 1 w j U j : n = 3; p = (1, 1, M); w = (1+ɛ, 1, M ɛ); d = (1+M, 1+M, 1+M) wj U j (W SP T )/ w j U j (opt) = (M ɛ)/(1 + ɛ)

Lecture 4 Scheduling 10 Single machine models: Weighted Number of Tardy Jobs -2- Dynamic Programming for 1 w j U j assume d 1... d n as for 1 U j a solution is given by a partition of the set of jobs into sets S 1 and S 2 and jobs in S 1 are in EDD order Definition: F j (t) := minimum criterion value for scheduling the first j jobs such that the processing time of the on-time jobs is at most t F n (T ) with T = n j=1 p j is optimal value for problem 1 w j U j Initial conditions: F j (t) = { for t < 0; j = 1,..., n 0 for t 0; j = 0 (1)

Lecture 4 Scheduling 11 Single machine models: Weighted Number of Tardy Jobs -3- Dynamic Programming for 1 w j U j (cont.) if 0 t d j and j is late in the schedule corresponding to F j (t), we have F j (t) = F j 1 (t) + w j if 0 t d j and j is on time in the schedule corresponding to F j (t), we have F j (t) = F j 1 (t p j )

Lecture 4 Scheduling 12 Single machine models: Weighted Number of Tardy Jobs -3- Dynamic Programming for 1 w j U j (cont.) if 0 t d j and j is late in the schedule corresponding to F j (t), we have F j (t) = F j 1 (t) + w j if 0 t d j and j is on time in the schedule corresponding to F j (t), we have F j (t) = F j 1 (t p j ) summarizing, we get for j = 1,..., n: { min{f F j (t) = j 1 (t p j ), F j 1 (t) + w j } for 0 t d j F j (d j ) for d j < t T (2)

Lecture 4 Scheduling 13 Single machine models: Weighted Number of Tardy Jobs -4- DP-algorithm for 1 w j U j 1. initialize F j (t) according to (1) 2. FOR j := 1 TO n DO 3. FOR t := 0 TO T DO 4. update F j (t) according to (2) 5. w j U j (OP T ) = F n (d n )

Lecture 4 Scheduling 14 Single machine models: Weighted Number of Tardy Jobs -4- DP-algorithm for 1 w j U j 1. initialize F j (t) according to (1) 2. FOR j := 1 TO n DO 3. FOR t := 0 TO T DO 4. update F j (t) according to (2) 5. w j U j (OP T ) = F n (d n ) complexity is O(n n j=1 p j ) thus, algorithm is pseudopolynomial

Lecture 4 Scheduling 15 Single machine models: Total Tardiness -1- Basic results: 1 T j is NP-hard preemption does not improve the criterion value 1 pmtn T j is NP-hard idle times do not improve the criterion value Lemma 1: If p j p k and d j d k, then an optimal schedule exist in which job j is scheduled before job k. Proof: exercise this lemma gives a dominance rule

Lecture 4 Scheduling 16 Single machine models: Total Tardiness -2- Structural property for 1 T j let k be a fixed job and Ĉk be latest possible completion time of job k in an optimal schedule define ˆd j = { d j max{d k, Ĉk} Lemma 2: Any optimal sequence w.r.t. w.r.t. d 1,..., d n. Proof on the board for j k for j = k ˆd1,..., ˆd n is also optimal

Lecture 4 Scheduling 17 Single machine models: Total Tardiness -3- Structural property for 1 T j (cont.) let d 1... d n let k be the job with p k = max{p 1,..., p n } Lemma 1 implies that an optimal schedule exists where {1,..., k 1} k Lemma 3: There exists an integer δ, 0 δ n k for which an optimal schedule exist in which {1,..., k 1, k + 1,..., k + δ} k and k {k + δ + 1,..., n}. Proof on the board

Lecture 4 Scheduling 18 Single machine models: Total Tardiness -4- DP-algorithm for 1 T j Definition: F j (t) := minimum criterion value for scheduling the first j jobs starting their processing at time t by Lemma 3 we get: there exists some δ {1,..., j} such that F j (t) is achieved by scheduling 1. first jobs 1,..., k 1, k + 1,..., k + δ in some order 2. followed by job k starting at t + k+δ l=1 p l p k 3. followed by jobs k + δ + 1,..., j in some order where p k = max j l=1 p l

Lecture 4 Scheduling 19 Single machine models: Total Tardiness -5- DP-algorithm for 1 T j (cont.) {1,..., j} {1,..., k 1, k + 1,..., k + δ} k {k + δ + 1,..., j} Definition: J(j, l, k) := {i i {j, j + 1,..., l}; p i p k ; i k}

Lecture 4 Scheduling 20 Single machine models: Total Tardiness -5- DP-algorithm for 1 T j (cont.) {1,..., j} {1,..., k 1, k + 1,..., k + δ} k {k + δ + 1,..., j} Definition: J(j, l, k) := {i i {j, j + 1,..., l}; p i p k ; i k} {1,..., j} J(1, k + δ, k) k J(k + δ + 1, j, k)

Lecture 4 Scheduling 21 Single machine models: Total Tardiness -5- DP-algorithm for 1 T j (cont.) {1,..., j} J(1, k + δ, k) k J(k + δ + 1, j, k) Definition: J(j, l, k) := {i i {j, j + 1,..., l}; p i p k ; i k} V (J(j, l, k), t) := minimum criterion value for scheduling the jobs from J(j, l, k) starting their processing at time t

Lecture 4 Scheduling 22 Single machine models: Total Tardiness -6- DP-algorithm for 1 T j (cont.) t t J(j, l, k) J(j, k + δ, k ) k J(k + δ + 1, l, k ) C k (δ) we get: V (J(j, l, k), t) = min δ {V (J(j, k + δ, k ), t) + max{0, C k (δ) d k } +V (J(k + δ + 1, l, k ), C k (δ)))} where p k = max{p j j J(j, l, k)} and C k (δ) = t + p k + j V (J(j,k +δ,k ) p j V (, t) = 0, V ({j}, t) = max{0, t + p j d j }

Lecture 4 Scheduling 23 Single machine models: Total Tardiness -7- DP-algorithm for 1 T j (cont.) optimal value of 1 T j is given by V ({1,..., n}, 0) complexity: at most O(n 3 ) subsets J(j, l, k) at most p j values for t each recursion (evaluation V (J(j, l, k), t)) costs O(n) (at most n values for δ) total complexity: O(n 4 p j ) (pseudopolynomial)