Lateness Models Contents

Slides:



Advertisements
Similar presentations
1 Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations.
Advertisements

Traveling Salesperson Problem
Lecture 6: Job Shop Scheduling Introduction
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 8: Open shops Section 8.1 (you may skip Sections 8.2 – 8.5)
ISE480 Sequencing and Scheduling Izmir University of Economics ISE Fall Semestre.
Lecture 10: Integer Programming & Branch-and-Bound
1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Embedded Systems Exercise 2: Scheduling Real-Time Aperiodic Tasks.
1 Project Scheduling Contents 1. Problem Statement 2. Critical Path Method 3. Extensions to the classical project scheduling problems Literature Operations.
Spring, Scheduling Operations. Spring, Scheduling Problems in Operations Job Shop Scheduling. Personnel Scheduling Facilities Scheduling.
AMA522 SCHEDULING Set # 2 Dr. LEE Heung Wing Joseph
1 IOE/MFG 543 Chapter 3: Single machine models (Sections 3.1 and 3.2)
Branch and Bound Searching Strategies
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.
1 Tardiness Models Contents 1. Moor’s algorithm which gives an optimal schedule with the minimum number of tardy jobs 1 ||  U j 2. An algorithm which.
1 Single Machine Deterministic Models Jobs: J 1, J 2,..., J n Assumptions: The machine is always available throughout the scheduling period. The machine.
1 Set # 3 Dr. LEE Heung Wing Joseph Phone: Office : HJ639.
CSE 421 Algorithms Richard Anderson Lecture 6 Greedy Algorithms.
Deterministic Scheduling
1 Set # 4 Dr. LEE Heung Wing Joseph Phone: Office : HJ639.
1 Branch and Bound Searching Strategies 2 Branch-and-bound strategy 2 mechanisms: A mechanism to generate branches A mechanism to generate a bound so.
8-1 Problem-Solving Examples (Preemptive Case). 8-2 Outline Preemptive job-shop scheduling problem (P-JSSP) –Problem definition –Basic search procedure.
Aperiodic Task Scheduling
1 IOE/MFG 543 Chapter 3: Single machine models (Sections )
1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
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.
1 IOE/MFG 543 Chapter 10: Single machine stochastic models Sections 10.1 and 10.4 You may skip Sections
INTRODUCTION TO SCHEDULING
Introduction to LEKIN Gareth Beddoe
Job-shop Scheduling n jobs m machines No recirculation – Jobs do not revisit the same machine (i, j) is referred to as an operation in which job j is processed.
© J. Christopher Beck Lecture 5: Project Planning 2.
Integer Programming Key characteristic of an Integer Program (IP) or Mixed Integer Linear Program (MILP): One or more of the decision variable must be.
Operational Research & ManagementOperations Scheduling Introduction Operations Scheduling 1.Setting up the Scheduling Problem 2.Single Machine Problems.
CS 615: Design & Analysis of Algorithms Chapter 5: Searching Brassard & Bratley Chap.: Chapter 9 Page &
Extensions of the Basic Model Chapter 6 Elements of Sequencing and Scheduling by Kenneth R. Baker Byung-Hyun Ha R1.
Exact methods for ALB ALB problem can be considered as a shortest path problem The complete graph need not be developed since one can stop as soon as in.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 8.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
Outline Introduction Minimizing the makespan Minimizing total flowtime
1 Branch and Bound Searching Strategies Updated: 12/27/2010.
Maximum Flow Problem (Thanks to Jim Orlin & MIT OCW)
Divide and Conquer Optimization problem: z = max{cx : x  S}
15.082J and 6.855J March 4, 2003 Introduction to Maximum Flows.
Lagrangean Relaxation
CSCE350 Algorithms and Data Structure Lecture 21 Jianjun Hu Department of Computer Science and Engineering University of South Carolina
Branch-and-Bound & Beam-Search. Branch and bound Enumeration in a search tree each node is a partial solution, i.e. a part of the solution space... root.
1 Simulated Annealing Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations.
1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Genetic Algorithm (GA)
1 Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations Simulated Annealing (SA)
1 Chapter 6 Reformulation-Linearization Technique and Applications.
1 Job Shop Scheduling. 2 Job shop environment: m machines, n jobs objective function Each job follows a predetermined route Routes are not necessarily.
Single Machine Scheduling Problem Lesson 5. Maximum Lateness and Related Criteria Problem 1|r j |L max is NP-hard.
Approximation Algorithms for Scheduling Lecture 11.
Solving IPs – Implicit Enumeration Similar to Binary IP Branch and Bound General Idea: Fixed variables – those for which a value has been fixed. Free Variable.
1 Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations.
Approximation Algorithms for Scheduling
Some Topics in OR.
Job Shop Scheduling Contents 1. Problem Statement 2. Disjunctive Graph
Project Scheduling Contents 1. Problem Statement
Design and Analysis of Algorithm
General Purpose Procedures Applied to Scheduling
Richard Anderson Lecture 6 Greedy Algorithms
Richard Anderson Autumn 2016 Lecture 7
Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
Richard Anderson Lecture 7 Greedy Algorithms
Topic 15 Job Shop Scheduling.
Branch and Bound Example
Richard Anderson Winter 2019 Lecture 7
Single Machine Deterministic Models
Presentation transcript:

Lateness Models Contents 1. Lawler’s algorithm which gives an optimal schedule with the minimum cost hmax when the jobs are subject to precedence relationship 1 | prec | hmax 2. A branch-and-bound algorithm for the scheduling problems with the objective to minimise lateness 1 | rj | Lmax Literature: Scheduling, Theory, Algorithms, and Systems, Michael Pinedo, Prentice Hall, 1995, Chapter 3.2 or new: Second Addition, 2002, Chapter 3.

Lawler’s Algorithm Backward algorithm which gives an optimal schedule for 1 | prec | hmax hmax = max ( h1(C1), ... ,hn(Cn) ) hj are nondecreasing cost functions Notation makespan Cmax =  pj completion of the last job J set of jobs already scheduled they have to be processed during the time interval JC complement of set J, set of jobs still to be scheduled J'  JC set of jobs that can be scheduled immediately before set J (schedulable jobs)

Lawler’s Algorithm for 1 | | hmax Step 1. J =  JC = {1,...,n} k = n Step 2. Let j* be such that Place j* in J in the k-th order position Delete j* from JC Step 3. If JC =  then Stop else k = k - 1 go to Step 2

Example (no precedence relationships between jobs) J =  JC={1, 2, 3} jobs still to be scheduled Cmax = 10 h1(10) = 11 h2(10) =12 h3(10) =10 Job 3 is scheduled last and has to be processed in [5, 10]. 10 5 ... 3

J = {3} JC={1, 2} jobs still to be scheduled Cmax = 5 h1(5) = 6 h2(5) = 6 Either job 1 or job 2 may be processed before job 3. 10 5 3 2 1 or 10 5 3 1 2 Two schedules are optimal: 1, 2, 3 and 2, 1, 3

Lawler’s Algorithm for 1 | prec | hmax Step 1. J = , JC = {1,...,n} J' the set of all jobs with no successors k = n Step 2. Let j* be such that Place j* in J in the k-th order position Delete j* from JC Modify J' to represent the set of jobs which can be scheduled immediately before set J. Step 3. If JC =  then Stop else k = k - 1 go to Step 2

Example. What will happen in the previous example if the precedence 1  2 has to be taken into account? J =  JC={1, 2, 3} still to be scheduled J'={2, 3} have no successors Cmax = 10 h2(10) = 12 h3(10) = 10 J = {3} JC={1, 2} still to be scheduled J'={2} can be scheduled immediately before J Cmax = 5 h2(5) = 6 J = {3, 2} JC={1} J'={1} h1(2) = 3 Optimal schedule: 1, 2, 3, hmax = 10 10 5 ... 3 10 5 3 2 10 5 3 2 1 2

1 || Lmax is the special case of the 1 | prec | hmax where hj = Cj - dj algorithm results in the schedule that orders jobs in increasing order of their due dates - earliest due date first rule (EDD) 1 | rj | Lmax is NP hard , branch-and-bound is used 1 | rj , prec | Lmax similar branch-and-bound

Branch-and-bound algorithm Search space can grow very large as the number of variables in the problem increases! Branch-and-bound is a heuristic that works on the idea of successive partitioning of the search space. S S1 S2 Sn S12 S13 . . . S = S1 S2... Sn S1 S2...  Sn = 

there is no need to explore S2 We need some means for obtaining a lower bound on the cost for any particular solution (the task is to minimise the cost). S S1 S2 Sn S12 S13 . . . fbound f(x), xS1 fbound  f(x), xS2 there is no need to explore S2

Branch-and-bound algorithm Step 1 Initialise P =  Si (determine the partitions) Initialise fbound Step 2 Remove best partition Si from P Reduce or subdivide Si into Sij Update fbound P = P  Sij For all SijP do if lower bound of f(Sij) > fbound then remove Sij from P Step 3 If not termination condition then go to Step 2

Branch-and-bound algorithm for 1 | rj | Lmax Solution space contains n! schedules (n is number of jobs). Total enumeration is not viable ! *,*,*,* 1,*,*,* 2,*,*,* n,*,*,* 1,2,*,* 1,3,*,* . . .

k-1 level, j1, ... , jk-1 are scheduled, *,*,*,* 1,*,*,* 2,*,*,* n,*,*,* 1,2,*,* 1,3,*,* . . . 1st level 2nd level Branching rule: k-1 level, j1, ... , jk-1 are scheduled, jk need to be considered if no job still to be scheduled can not be processed before the release time of jk that is: J set of jobs not yet scheduled t is time when jk-1 is completed

Lower bound: Preemptive earliest due date (EDD) rule is optimal for 1 | rj prmp | Lmax A preemptive schedule will have a maximum lateness not greater than a non-preemtive schedule. If a preemptive EDD rule gives a nonpreemptive schedule then all nodes with a larger lower bound can be disregarded.

Example. Non-preemptive schedules L1=3 L2=6 Lmax=6 1 2 3 7 12 2 1 5 9 L1=5 L2=-1 Lmax=5 Preemptive schedule obtained using EDD L1=3 L2=3 Lmax=3 2 1 3 7 9 the lowest Lmax !

Example *,*,*,* L.B. = 5 L.B. = 7 1,*,*,* 2,*,*,* 3,*,*,* 4,*,*,* job 1 could be processed before job 4 1,2,*,* 1,3,*,* job 2 could be processed before job 3 L.B. = 5 L.B. = 6 1,3,4,2

*, *, *, * 1,*,*,* 1 [0, 4] L1=-4 3 [4, 5] 4 [5, 10] L4=0 3 [10, 15] L3=4 2 [15, 17] L2=5 2,*,*,* 2 [1, 3] L2=-9 1 [3, 7] L1=-1 4 [7, 12] L4=2 3 [12, 18] L3=7 4,*,*,* either job 1 or 2 can be processed before 4 ! 3,*,*,* job 2 can be processed before 3 ! 1,2,*,* 1 [0, 4] L1=-4 2 [4, 6] L2=-6 4 [6, 11] L4=1 3 [11, 17] L3=6 1,3,*,* 1 [0, 4] L1=-4 3 [4, 10] L3=-1 4 [10, 15] L4=5 2 [15, 17] L3=5 Schedule: 1, 3, 4, 2,

Summary 1 | prec | hmax , hmax=max( h1(C1), ... ,hn(Cn) ), Lawler’s algorithm 1 || Lmax EDD rule 1 | rj | Lmax is NP hard , branch-and-bound is used 1 | rj , prec | Lmax similar branch-and-bound 1 | rj, prmp | Lmax preemptive EDD rule