SlideShare a Scribd company logo
Greedy Algorithm & Local Search

Scheduling Jobs On Identical
Parallel Machines
Prepared By
Mir Md. Asif Hossain
Student Id : 0805070
Problem Overview
‘n’ Different Jobs
‘j’=1 to n
With processing time P

j =1 to ‘n’

JOB 1
JOB 2
JOB 3

JOB ‘N’

All Jobs Are
Present At Time 0
Problem Overview
‘m’ Identical Parallel Machine
‘i’=1 to m
M1

M2

M4

Mm
Problem Overview
Aim is to complete all jobs as
soon as possible
JOB 1

Schedule

JOB 3

JOB 2
JOB 5
JOB 3
JOB
4

JOB 1

JOB 5
JOB 6

JOB 2

JOB 6
NP HARD

JOB
4
Problem Overview
Goal
If job ‘J’ completes at a time Cj
then minimize
Cmax = max(j=1,...,n Cj)
Cj is often called the makespan
or length of the schedule
Local Search Algorithm For Scheduling
Jobs At Identical Parallel Machine
1.Start with any schedule
2. Consider job ‘l’ that finishes last
3. If there any machine to which it
can be reassigned such that this
job finishes earlier . Reassigned
the Job.
4. Repeat step until no other Job
left to reassigned.
Example
Consider a scenario with 7 jobs and 4 parallel machine

JOBS
JOB 1
JOB 2
JOB 3
JOB
4

JOB 5
JOB 6
JOB 7

Machines
Example
1.Start with any schedule
2. Consider job ‘l’ that finishes last
3. If there any machine to which it
can be reassigned such that this
job finishes earlier . Reassigned
the Job.
4. Repeat step until no other Job
left to reassigned.
Example
1.Start with any schedule
2. Consider job ‘l’ that finishes last
3. If there any machine to which it
can be reassigned such that this
job finishes earlier . Reassigned
the Job.
4. Repeat until no other Job
left to reassigned.

JOB 1
JOB 3

JOB 5

JOB
4

JOB 6

JOB 7

JOB 2
Example
1.Start with any schedule
2. Consider job ‘l’ that finishes last
3. If there any machine to which it
can be reassigned such that this
job finishes earlier . Reassigned
the Job.
4. Repeat steps until no other Job
left to reassigned.

JOB 1
JOB 3

JOB 5

JOB
4

JOB 6

JOB 7

JOB 2
Example
1.Start with any schedule
2. Consider job ‘l’ that finishes last
3. If there any machine to which it
can be reassigned such that this
job finishes earlier . Reassigned
the Job.
4. Repeat steps until no other Job
left to reassigned.

JOB 1
JOB 3

JOB 5

JOB
4

JOB 6

JOB 7

JOB 2
Example
1.Start with any schedule
2. Consider job ‘l’ that finishes last
3. If there is any machine to which it
can be reassigned such that this
job finishes earlier . Reassigned
the Job.
4. Repeat step 3 until no other Job
left to reassigned.

JOB 1
JOB 3

JOB 5

JOB
4

JOB 6

JOB 7

JOB 2
Example
1.Start with any schedule
2. Consider job ‘l’ that finishes last
3. If there is any machine to which it
can be reassigned such that this
job finishes earlier . Reassigned
the Job.
4. Repeat step 3 until no other Job
left to reassigned.

JOB 1
JOB 3

JOB 5

JOB
4

JOB 6

JOB 7

JOB 2
Example
1.Start with any schedule
2. Consider job ‘l’ that finishes last
3. If there is any machine to which it
can be reassigned such that this
job finishes earlier . Reassigned
the Job.
4. Repeat step 3 until no other Job
left to reassigned.

JOB 1
JOB 3

JOB 5

JOB
4

JOB 6

JOB 7

JOB 2
Example
1.Start with any schedule
2. Consider job ‘l’ that finishes last
3. If there is any machine to which it
can be reassigned such that this
job finishes earlier . Reassigned
the Job.
4. Repeat step 3 until no other Job
left to reassigned.

JOB 1
JOB 3

JOB 5

JOB
4

JOB 6

JOB 7

JOB 2
Example
1.Start with any schedule
2. Consider job ‘l’ that finishes last
3. If there is any machine to which it
can be reassigned such that this
job finishes earlier . Reassigned
the Job.
4. Repeat step 3 until no other Job
left to reassigned.

JOB 1
JOB 3

JOB 5

JOB
4

JOB 6

JOB 7

JOB 2
Example
1.Start with any schedule
2. Consider job ‘l’ that finishes last
3. If there is any machine to which it
can be reassigned such that this
job finishes earlier . Reassigned
the Job.
4. Repeat steps until no other Job
left to reassigned.

JOB 1
JOB 3
JOB 6

JOB 5
JOB
4

JOB 7

JOB 2
Example
1.Start with any schedule
2. Consider job ‘l’ that finishes last
3. If there is any machine to which it
can be reassigned such that this
job finishes earlier . Reassigned
the Job.
4. Repeat steps until no other Job
left to reassigned.

JOB 1
JOB 3
JOB 6

JOB 7

JOB 5
JOB
4
JOB 2
Example
1.Start with any schedule
2. Consider job ‘l’ that finishes last
3. If there is any machine to which it
can be reassigned such that this
job finishes earlier . Reassigned
the Job.
4. Repeat steps until no other Job
left to reassigned.

JOB 1
JOB 3
JOB 6

JOB 7

JOB 5
JOB
4
JOB 2
Example
1.Start with any schedule
2. Consider job ‘l’ that finishes last
3. If there is any machine to which it
can be reassigned such that this
job finishes earlier . Reassigned
the Job.
4. Repeat steps until no other Job
left to reassigned.

JOB 1
JOB 3
JOB 6

JOB 7

JOB 5
JOB
4
JOB 2
Example
1.Start with any schedule
2. Consider job ‘l’ that finishes last
3. If there is any machine to which it
can be reassigned such that this
job finishes earlier . Reassigned
the Job.
4. Repeat step 3 until no other Job
left to reassigned.

JOB 1
JOB 3
JOB 6

JOB 7

JOB 5
JOB
4
JOB 2
Example
1.Start with any schedule
2. Consider job ‘l’ that finishes last
3. If there is any machine to which it
can be reassigned such that this
job finishes earlier . Reassigned
the Job.
4. Repeat steps until no other Job
left to reassigned.

JOB 1
JOB 3
JOB 6

JOB 7

JOB 5
JOB
4
JOB 2
Example
1.Start with any schedule
2. Consider job ‘l’ that finishes last
3. If there is any machine to which it
can be reassigned such that this
job finishes earlier . Reassigned
the Job.
4. Repeat steps until no other Job
left to reassigned.

JOB 1

JOB 2

JOB 3

JOB 5

JOB 6

JOB 7

JOB
4
Algorithm Analysis
We first provide some natural lower
bounds on the length of an optimal
schedule Cmax

Total work done
Average work in each machine is P/m
So
Algorithm Analysis
Consider solution of local search algorithm.
Let ℓ be a job that completes
last in this final schedule; the completion
time of job ℓ, Cℓ
Partition Total Time
into two parts

Sℓ = Cℓ − pℓ

pℓ
Algorithm Analysis
Total work done in 1st part
m*Sℓ <= total work
So

From 2.4

Hence
Theorem 2.5: The local search procedure for
scheduling jobs on identical parallel machines is
a 2-approximation algorithm
Proof

From inequality 2.5 we can write that

hence the total length of the schedule produced is at most

By applying lower bounds 2.3 and 2.4 we get that schedule
length is at most
1/m is significant only when m is small.
Greedy Algorithm For Scheduling Jobs
At Identical Parallel Machine
Whenever a machine is Idle
If there is at least a job in the list
then
One of the remaining
jobs is assigned to start
processing on that
machine
Often Called As List Scheduling Algorithm
Example
Consider a scenario with 7 jobs and 4 parallel machine

JOBS
JOB 1,3
JOB
2,2
JOB 3,5
JOB
4,2
JOB 5,3
JOB
6,2
JOB 7,4

Machines
Example
Consider a scenario with 7 jobs and 4 parallel machine

JOBS
JOB 1,3
JOB
2,2
JOB 3,5
JOB
4,2
JOB 5,3
JOB
6,2
JOB 7,4

Machines
JOB 1,3
Example
Consider a scenario with 7 jobs and 4 parallel machine

JOBS

Machines
JOB 1,3

JOB
2,2
JOB 3,5
JOB
4,2
JOB 5,3
JOB
6,2
JOB 7,4

JOB
2,2
Example
Consider a scenario with 7 jobs and 4 parallel machine

JOBS

Machines
JOB 1,3

JOB 3,5
JOB
4,2
JOB 5,3
JOB
6,2
JOB 7,4

JOB
2,2
JOB 3,5
Example
Consider a scenario with 7 jobs and 4 parallel machine

JOBS

Machines
JOB 1,3
JOB
2,2

JOB
4,2
JOB 5,3
JOB
6,2
JOB 7,4

JOB 3,5
JOB
4,2
Example
Consider a scenario with 7 jobs and 4 parallel machine

JOBS

Machines
JOB 1,3
JOB
2,2

JOB 5,3

JOB 3,5
JOB 5,3
JOB
6,2
JOB 7,4

JOB
4,2
Example
Consider a scenario with 7 jobs and 4 parallel machine

JOBS

Machines
JOB 1,3
JOB
2,2

JOB 5,3

JOB 3,5

JOB
6,2
JOB 7,4

JOB
4,2

JOB
6,2
Example
Consider a scenario with 7 jobs and 4 parallel machine

JOBS
Cmax = 3+4 = 7

Machines
JOB 1,3
JOB
2,2

JOB 7,4
JOB 5,3

JOB 3,5
JOB
4,2
JOB 7,4

JOB
6,2
Theorem 2.6: The list scheduling algorithm for
the problem of minimizing the makespan on
m identical parallel machines is a 2-approximation
algorithm.

Proof
It can be proofed that list scheduling can be reduced to local
search algorithm.
To see this,
If we uses this schedule as the starting point for the local search
procedure, that algorithm would immediately declare that the
solution cannot be improved.
Improving Our Greedy Approach
Different lists yield different results

Add additional greedy rule to
sort the jobs in the list in non decreasing order

This greedy algorithm
is called the longest processing time rule, or LPT.
Example
Consider a scenario with 7 jobs and 4 parallel machine

JOBS
JOB 3,5
JOB 7,4

JOB 5,3
JOB 1,3
JOB
4,2
JOB
2,2
JOB
6,2

Machines
Example
Consider a scenario with 7 jobs and 4 parallel machine

JOBS
JOB 3,5
JOB 7,4

JOB 5,3

Machines
JOB 3,5

JOB 7,4

JOB
6,2

JOB 1,3
JOB
4,2
JOB
2,2
JOB
6,2

JOB 5,3

JOB
2,2

JOB 1,3

JOB
4,2
Theorem 2.7: The longest processing time rule is a
4/3-approximation algorithm for scheduling
jobs to minimize the makespan on identical
parallel machines.
Any counterexample for which the last job ℓ to complete is not the smallest can
yield a smaller counterexample, simply by omitting all of the jobs ℓ +1, . . . , n; the
length of the schedule produced is the same, and the optimal value of the
reduced input can be no larger. Hence the reduced input is also a counterexample.

More Related Content

PPTX
Optimization tutorial
PPTX
Convolutional Neural Network - CNN | How CNN Works | Deep Learning Course | S...
PPTX
Presentation on Solution to non linear equations
PDF
L2. Evaluating Machine Learning Algorithms I
PDF
Yurii Pashchenko: Zero-shot learning capabilities of CLIP model from OpenAI
PDF
02 Machine Learning - Introduction probability
PDF
CVPR 2018 Paper Reading MobileNet V2
PDF
Group Theory
Optimization tutorial
Convolutional Neural Network - CNN | How CNN Works | Deep Learning Course | S...
Presentation on Solution to non linear equations
L2. Evaluating Machine Learning Algorithms I
Yurii Pashchenko: Zero-shot learning capabilities of CLIP model from OpenAI
02 Machine Learning - Introduction probability
CVPR 2018 Paper Reading MobileNet V2
Group Theory

What's hot (20)

PDF
Convolutional Neural Network Models - Deep Learning
PDF
PPT
Differential geometry three dimensional space
PPTX
Group abstract algebra
PPTX
Batch normalization presentation
PDF
Introduction to the Artificial Intelligence and Computer Vision revolution
PPTX
Deep Reinforcement Learning
PDF
AI_6 Uncertainty
PDF
Transfer Learning (D2L4 Insight@DCU Machine Learning Workshop 2017)
PPTX
Convolutional Neural Networks
PDF
Convolutional Neural Networks : Popular Architectures
PPTX
Recursion DM
PPTX
NON LINEAR PROGRAMMING
PPT
Variance reduction techniques (vrt)
PDF
Radial Basis Function Interpolation
PPTX
Two Phase Method- Linear Programming
PPTX
Grasshopper optimization algorithm
PPTX
Introduction to CNN
PPTX
Backpropagation And Gradient Descent In Neural Networks | Neural Network Tuto...
PPT
Arima model (time series)
Convolutional Neural Network Models - Deep Learning
Differential geometry three dimensional space
Group abstract algebra
Batch normalization presentation
Introduction to the Artificial Intelligence and Computer Vision revolution
Deep Reinforcement Learning
AI_6 Uncertainty
Transfer Learning (D2L4 Insight@DCU Machine Learning Workshop 2017)
Convolutional Neural Networks
Convolutional Neural Networks : Popular Architectures
Recursion DM
NON LINEAR PROGRAMMING
Variance reduction techniques (vrt)
Radial Basis Function Interpolation
Two Phase Method- Linear Programming
Grasshopper optimization algorithm
Introduction to CNN
Backpropagation And Gradient Descent In Neural Networks | Neural Network Tuto...
Arima model (time series)
Ad

Viewers also liked (20)

PPTX
DFS PA3
PPT
Design notes5
PPTX
Boyer more algorithm
PPT
Depth First Search, Breadth First Search and Best First Search
PDF
Ai for drone navigation
PPT
Artificial Intelligence
PPTX
Machine Intelligence Applications for IoT Slam Dec 1st 2016
PPTX
DFS and BFS
PPTX
Propositional logic & inference
PPT
Unit 5 I/O organization
PPTX
Depth first search and breadth first searching
PPT
Predicate Logic
PPTX
Input Output Organization
PPT
Heapsort
PDF
03 - Predicate logic
PPTX
Knowledge representation and Predicate logic
PPTX
Artificial Intelligence Presentation
PPT
Artificial Intelligence
PPTX
Heap sort
PPT
artificial intelligence
DFS PA3
Design notes5
Boyer more algorithm
Depth First Search, Breadth First Search and Best First Search
Ai for drone navigation
Artificial Intelligence
Machine Intelligence Applications for IoT Slam Dec 1st 2016
DFS and BFS
Propositional logic & inference
Unit 5 I/O organization
Depth first search and breadth first searching
Predicate Logic
Input Output Organization
Heapsort
03 - Predicate logic
Knowledge representation and Predicate logic
Artificial Intelligence Presentation
Artificial Intelligence
Heap sort
artificial intelligence
Ad

Similar to Scheduling jobs on identical parallel machines (20)

PDF
Approximation Algorithms Part Two: More Constant factor approximations
PPT
12-greedy.ppt
PPTX
Job Shop Scheduling.pptx
ODP
Job scheduling
PPTX
MATERIAL MANAGEMENT Job Shop Scheduling.pptx
PPTX
Flowshop scheduling
PDF
04greedy 2x2
PDF
Job shop scheduling
PDF
Exam100118
PPTX
Computational Thinking 11- ActivitySelection.pptx
PPTX
Approaches to real time scheduling
PPTX
Sequencing problem__2-machine-casePart-1.pptx
PPTX
data structures and algorithms Unit 4
PPT
9Johnson's Rule.ppt
PPTX
Job sequencing with Deadlines
PPTX
Sequencing and shedulding problems for Operations management
PDF
Determininstic rounding of linear programs
PDF
Chapter 6 Job Scheduling in Production Planning.pdf
DOC
Parallel machines
PDF
Production & Operation Management Chapter33[1]
Approximation Algorithms Part Two: More Constant factor approximations
12-greedy.ppt
Job Shop Scheduling.pptx
Job scheduling
MATERIAL MANAGEMENT Job Shop Scheduling.pptx
Flowshop scheduling
04greedy 2x2
Job shop scheduling
Exam100118
Computational Thinking 11- ActivitySelection.pptx
Approaches to real time scheduling
Sequencing problem__2-machine-casePart-1.pptx
data structures and algorithms Unit 4
9Johnson's Rule.ppt
Job sequencing with Deadlines
Sequencing and shedulding problems for Operations management
Determininstic rounding of linear programs
Chapter 6 Job Scheduling in Production Planning.pdf
Parallel machines
Production & Operation Management Chapter33[1]

Recently uploaded (20)

PPTX
Cell Structure & Organelles in detailed.
PPTX
Institutional Correction lecture only . . .
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
01-Introduction-to-Information-Management.pdf
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PPTX
Cell Types and Its function , kingdom of life
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
Complications of Minimal Access Surgery at WLH
PDF
Insiders guide to clinical Medicine.pdf
PDF
Pre independence Education in Inndia.pdf
PPTX
GDM (1) (1).pptx small presentation for students
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
TR - Agricultural Crops Production NC III.pdf
Cell Structure & Organelles in detailed.
Institutional Correction lecture only . . .
102 student loan defaulters named and shamed – Is someone you know on the list?
01-Introduction-to-Information-Management.pdf
O5-L3 Freight Transport Ops (International) V1.pdf
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Cell Types and Its function , kingdom of life
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Module 4: Burden of Disease Tutorial Slides S2 2025
Microbial diseases, their pathogenesis and prophylaxis
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Complications of Minimal Access Surgery at WLH
Insiders guide to clinical Medicine.pdf
Pre independence Education in Inndia.pdf
GDM (1) (1).pptx small presentation for students
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
STATICS OF THE RIGID BODIES Hibbelers.pdf
TR - Agricultural Crops Production NC III.pdf

Scheduling jobs on identical parallel machines

  • 1. Greedy Algorithm & Local Search Scheduling Jobs On Identical Parallel Machines Prepared By Mir Md. Asif Hossain Student Id : 0805070
  • 2. Problem Overview ‘n’ Different Jobs ‘j’=1 to n With processing time P j =1 to ‘n’ JOB 1 JOB 2 JOB 3 JOB ‘N’ All Jobs Are Present At Time 0
  • 3. Problem Overview ‘m’ Identical Parallel Machine ‘i’=1 to m M1 M2 M4 Mm
  • 4. Problem Overview Aim is to complete all jobs as soon as possible JOB 1 Schedule JOB 3 JOB 2 JOB 5 JOB 3 JOB 4 JOB 1 JOB 5 JOB 6 JOB 2 JOB 6 NP HARD JOB 4
  • 5. Problem Overview Goal If job ‘J’ completes at a time Cj then minimize Cmax = max(j=1,...,n Cj) Cj is often called the makespan or length of the schedule
  • 6. Local Search Algorithm For Scheduling Jobs At Identical Parallel Machine 1.Start with any schedule 2. Consider job ‘l’ that finishes last 3. If there any machine to which it can be reassigned such that this job finishes earlier . Reassigned the Job. 4. Repeat step until no other Job left to reassigned.
  • 7. Example Consider a scenario with 7 jobs and 4 parallel machine JOBS JOB 1 JOB 2 JOB 3 JOB 4 JOB 5 JOB 6 JOB 7 Machines
  • 8. Example 1.Start with any schedule 2. Consider job ‘l’ that finishes last 3. If there any machine to which it can be reassigned such that this job finishes earlier . Reassigned the Job. 4. Repeat step until no other Job left to reassigned.
  • 9. Example 1.Start with any schedule 2. Consider job ‘l’ that finishes last 3. If there any machine to which it can be reassigned such that this job finishes earlier . Reassigned the Job. 4. Repeat until no other Job left to reassigned. JOB 1 JOB 3 JOB 5 JOB 4 JOB 6 JOB 7 JOB 2
  • 10. Example 1.Start with any schedule 2. Consider job ‘l’ that finishes last 3. If there any machine to which it can be reassigned such that this job finishes earlier . Reassigned the Job. 4. Repeat steps until no other Job left to reassigned. JOB 1 JOB 3 JOB 5 JOB 4 JOB 6 JOB 7 JOB 2
  • 11. Example 1.Start with any schedule 2. Consider job ‘l’ that finishes last 3. If there any machine to which it can be reassigned such that this job finishes earlier . Reassigned the Job. 4. Repeat steps until no other Job left to reassigned. JOB 1 JOB 3 JOB 5 JOB 4 JOB 6 JOB 7 JOB 2
  • 12. Example 1.Start with any schedule 2. Consider job ‘l’ that finishes last 3. If there is any machine to which it can be reassigned such that this job finishes earlier . Reassigned the Job. 4. Repeat step 3 until no other Job left to reassigned. JOB 1 JOB 3 JOB 5 JOB 4 JOB 6 JOB 7 JOB 2
  • 13. Example 1.Start with any schedule 2. Consider job ‘l’ that finishes last 3. If there is any machine to which it can be reassigned such that this job finishes earlier . Reassigned the Job. 4. Repeat step 3 until no other Job left to reassigned. JOB 1 JOB 3 JOB 5 JOB 4 JOB 6 JOB 7 JOB 2
  • 14. Example 1.Start with any schedule 2. Consider job ‘l’ that finishes last 3. If there is any machine to which it can be reassigned such that this job finishes earlier . Reassigned the Job. 4. Repeat step 3 until no other Job left to reassigned. JOB 1 JOB 3 JOB 5 JOB 4 JOB 6 JOB 7 JOB 2
  • 15. Example 1.Start with any schedule 2. Consider job ‘l’ that finishes last 3. If there is any machine to which it can be reassigned such that this job finishes earlier . Reassigned the Job. 4. Repeat step 3 until no other Job left to reassigned. JOB 1 JOB 3 JOB 5 JOB 4 JOB 6 JOB 7 JOB 2
  • 16. Example 1.Start with any schedule 2. Consider job ‘l’ that finishes last 3. If there is any machine to which it can be reassigned such that this job finishes earlier . Reassigned the Job. 4. Repeat step 3 until no other Job left to reassigned. JOB 1 JOB 3 JOB 5 JOB 4 JOB 6 JOB 7 JOB 2
  • 17. Example 1.Start with any schedule 2. Consider job ‘l’ that finishes last 3. If there is any machine to which it can be reassigned such that this job finishes earlier . Reassigned the Job. 4. Repeat steps until no other Job left to reassigned. JOB 1 JOB 3 JOB 6 JOB 5 JOB 4 JOB 7 JOB 2
  • 18. Example 1.Start with any schedule 2. Consider job ‘l’ that finishes last 3. If there is any machine to which it can be reassigned such that this job finishes earlier . Reassigned the Job. 4. Repeat steps until no other Job left to reassigned. JOB 1 JOB 3 JOB 6 JOB 7 JOB 5 JOB 4 JOB 2
  • 19. Example 1.Start with any schedule 2. Consider job ‘l’ that finishes last 3. If there is any machine to which it can be reassigned such that this job finishes earlier . Reassigned the Job. 4. Repeat steps until no other Job left to reassigned. JOB 1 JOB 3 JOB 6 JOB 7 JOB 5 JOB 4 JOB 2
  • 20. Example 1.Start with any schedule 2. Consider job ‘l’ that finishes last 3. If there is any machine to which it can be reassigned such that this job finishes earlier . Reassigned the Job. 4. Repeat steps until no other Job left to reassigned. JOB 1 JOB 3 JOB 6 JOB 7 JOB 5 JOB 4 JOB 2
  • 21. Example 1.Start with any schedule 2. Consider job ‘l’ that finishes last 3. If there is any machine to which it can be reassigned such that this job finishes earlier . Reassigned the Job. 4. Repeat step 3 until no other Job left to reassigned. JOB 1 JOB 3 JOB 6 JOB 7 JOB 5 JOB 4 JOB 2
  • 22. Example 1.Start with any schedule 2. Consider job ‘l’ that finishes last 3. If there is any machine to which it can be reassigned such that this job finishes earlier . Reassigned the Job. 4. Repeat steps until no other Job left to reassigned. JOB 1 JOB 3 JOB 6 JOB 7 JOB 5 JOB 4 JOB 2
  • 23. Example 1.Start with any schedule 2. Consider job ‘l’ that finishes last 3. If there is any machine to which it can be reassigned such that this job finishes earlier . Reassigned the Job. 4. Repeat steps until no other Job left to reassigned. JOB 1 JOB 2 JOB 3 JOB 5 JOB 6 JOB 7 JOB 4
  • 24. Algorithm Analysis We first provide some natural lower bounds on the length of an optimal schedule Cmax Total work done Average work in each machine is P/m So
  • 25. Algorithm Analysis Consider solution of local search algorithm. Let ℓ be a job that completes last in this final schedule; the completion time of job ℓ, Cℓ Partition Total Time into two parts Sℓ = Cℓ − pℓ pℓ
  • 26. Algorithm Analysis Total work done in 1st part m*Sℓ <= total work So From 2.4 Hence
  • 27. Theorem 2.5: The local search procedure for scheduling jobs on identical parallel machines is a 2-approximation algorithm Proof From inequality 2.5 we can write that hence the total length of the schedule produced is at most By applying lower bounds 2.3 and 2.4 we get that schedule length is at most 1/m is significant only when m is small.
  • 28. Greedy Algorithm For Scheduling Jobs At Identical Parallel Machine Whenever a machine is Idle If there is at least a job in the list then One of the remaining jobs is assigned to start processing on that machine Often Called As List Scheduling Algorithm
  • 29. Example Consider a scenario with 7 jobs and 4 parallel machine JOBS JOB 1,3 JOB 2,2 JOB 3,5 JOB 4,2 JOB 5,3 JOB 6,2 JOB 7,4 Machines
  • 30. Example Consider a scenario with 7 jobs and 4 parallel machine JOBS JOB 1,3 JOB 2,2 JOB 3,5 JOB 4,2 JOB 5,3 JOB 6,2 JOB 7,4 Machines JOB 1,3
  • 31. Example Consider a scenario with 7 jobs and 4 parallel machine JOBS Machines JOB 1,3 JOB 2,2 JOB 3,5 JOB 4,2 JOB 5,3 JOB 6,2 JOB 7,4 JOB 2,2
  • 32. Example Consider a scenario with 7 jobs and 4 parallel machine JOBS Machines JOB 1,3 JOB 3,5 JOB 4,2 JOB 5,3 JOB 6,2 JOB 7,4 JOB 2,2 JOB 3,5
  • 33. Example Consider a scenario with 7 jobs and 4 parallel machine JOBS Machines JOB 1,3 JOB 2,2 JOB 4,2 JOB 5,3 JOB 6,2 JOB 7,4 JOB 3,5 JOB 4,2
  • 34. Example Consider a scenario with 7 jobs and 4 parallel machine JOBS Machines JOB 1,3 JOB 2,2 JOB 5,3 JOB 3,5 JOB 5,3 JOB 6,2 JOB 7,4 JOB 4,2
  • 35. Example Consider a scenario with 7 jobs and 4 parallel machine JOBS Machines JOB 1,3 JOB 2,2 JOB 5,3 JOB 3,5 JOB 6,2 JOB 7,4 JOB 4,2 JOB 6,2
  • 36. Example Consider a scenario with 7 jobs and 4 parallel machine JOBS Cmax = 3+4 = 7 Machines JOB 1,3 JOB 2,2 JOB 7,4 JOB 5,3 JOB 3,5 JOB 4,2 JOB 7,4 JOB 6,2
  • 37. Theorem 2.6: The list scheduling algorithm for the problem of minimizing the makespan on m identical parallel machines is a 2-approximation algorithm. Proof It can be proofed that list scheduling can be reduced to local search algorithm. To see this, If we uses this schedule as the starting point for the local search procedure, that algorithm would immediately declare that the solution cannot be improved.
  • 38. Improving Our Greedy Approach Different lists yield different results Add additional greedy rule to sort the jobs in the list in non decreasing order This greedy algorithm is called the longest processing time rule, or LPT.
  • 39. Example Consider a scenario with 7 jobs and 4 parallel machine JOBS JOB 3,5 JOB 7,4 JOB 5,3 JOB 1,3 JOB 4,2 JOB 2,2 JOB 6,2 Machines
  • 40. Example Consider a scenario with 7 jobs and 4 parallel machine JOBS JOB 3,5 JOB 7,4 JOB 5,3 Machines JOB 3,5 JOB 7,4 JOB 6,2 JOB 1,3 JOB 4,2 JOB 2,2 JOB 6,2 JOB 5,3 JOB 2,2 JOB 1,3 JOB 4,2
  • 41. Theorem 2.7: The longest processing time rule is a 4/3-approximation algorithm for scheduling jobs to minimize the makespan on identical parallel machines. Any counterexample for which the last job ℓ to complete is not the smallest can yield a smaller counterexample, simply by omitting all of the jobs ℓ +1, . . . , n; the length of the schedule produced is the same, and the optimal value of the reduced input can be no larger. Hence the reduced input is also a counterexample.