Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
272 views

Scheduling Algorithm

This document discusses algorithms for scheduling single machine problems to minimize maximum lateness (Lmax) and number of late jobs (ΣUj). For minimizing Lmax, the optimal algorithm is Earliest Due Date (EDD) scheduling. EDD schedules jobs in non-decreasing order of due dates. For minimizing ΣUj, Moore's algorithm schedules jobs in EDD order, removing the longest job if adding a job makes it late, to keep on-time jobs' processing time minimal. Both algorithms run in O(n log n) time.

Uploaded by

furyfox19
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
272 views

Scheduling Algorithm

This document discusses algorithms for scheduling single machine problems to minimize maximum lateness (Lmax) and number of late jobs (ΣUj). For minimizing Lmax, the optimal algorithm is Earliest Due Date (EDD) scheduling. EDD schedules jobs in non-decreasing order of due dates. For minimizing ΣUj, Moore's algorithm schedules jobs in EDD order, removing the longest job if adding a job makes it late, to keep on-time jobs' processing time minimal. Both algorithms run in O(n log n) time.

Uploaded by

furyfox19
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Single machine problems: due date scheduling

Basic Scheduling Algorithms for Single Machine Problems:


Due-Date Scheduling

1. Minimising maximum lateness

In this section we develop an algorithm that finds an optimal schedule for problem 1| |Lmax, where

Lmax = max{Lj = Cj - dj | j=1,…, n}

is the maximum lateness.

Assume that the jobs are numbered in non-decreasing order of their due dates dj. In order to minimize
the maximum lateness it is quite natural to process the jobs in this order. This dispatching rule is
known as EDD (Earliest Due Date), sometimes it is called Jackson's rule due to R. Jackson who
studied it in 1954.

We can prove
Theorem 1. For 1||Lmax the EDD-rule is optimal.

Proof (adjacent pairwise interchange argument)

Suppose a schedule S, which violates EDD, is optimal. In this schedule there must be at least
two adjacent jobs i and k such that di > dk and job i precedes job k.

k
S 1 …
… n

k
S’ 1 … 1 … n

Ck’ Ci Ck= Ci’


Swapping jobs i and k leads to a schedule S’ such that
L'k = C k' − d k < C k − d k
L'i = C i' − d i = C k − d i < C k − d k
L'j = C 'j − d j = C j − d j = L j for j≠i,k

 j ≠i,k
{ }
which implies that Lmax ( S ') = max  L'i , L'k , max L'j  ≤ max  Li , L k , max{L j } = L max ( S ).

 j ≠i,k

If Lmax(S’) < Lmax(S), then we have obtained a contradiction to the assumption that S is optimal.
If Lmax(S’) = Lmax(S), then schedule S can be modified without increasing the objective function value
so that jobs i and k do not violate EDD. 1

EDD rule can be implemented in ……………….. time.

1
Single machine problems: due date scheduling

Σ Uj
2. Minimising the number of late jobs: 1||Σ

ΣUj, where Uj is a
In this section we develop an algorithm that finds an optimal schedule for problem 1||Σ
unit penalty for completing job j after its due date:
0, if C j ≤ d j
Uj =
1, otherwise.

Consider the following example.


Job pj dj
1 7 9
2 8 17
3 4 18
4 6 19
5 6 20

The jobs are in the EDD order. The first two jobs can be scheduled on-time while job 3 is late.
...

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

The optimal job sequence is ( | ), where the first … … … … jobs are on-time and the last
… … … … jobs are late.
The value of the objective function for this schedule is
ΣUj = … … …

2
Single machine problems: due date scheduling

ΣUj is known as Moore'


The algorithm that solves problem 1||Σ s algorithm, due to J.M. Moore who
designed it in 1968.
Moore’s algorithm.
- The algorithm repeatedly adds jobs in the EDD order to the end of a partial schedule of on-time jobs.
- If the addition of job j results in this job being completed after its due date dj, then a job in the partial
schedule with the largest processing time is removed and declared late.
- All late jobs are scheduled in an arbitrary order after on-time jobs.

The correctness of the algorithm can be proved by induction.


By removing the job with the largest processing time, we guarantee that the total processing time of
on-time jobs is as small as possible.

The time complexity of Moore’s algorithm is … … … … … … … …

You might also like