Lukas' Notes

computation scheduling

Definition

Average Completion Time

The average completion time of a schedule is the mean of the job completion times:

Objective

For a fixed job set , minimising average completion time is equivalent to minimising total completion time, because is constant.

Thus the objective is often written as

instead of .

No release times

For the single-machine problem

the shortest processing time first rule is optimal. It orders the jobs by nondecreasing processing time .

SPT optimality

Shortest processing time first minimises for .

Exchange argument does not follow shortest processing time first. Then there are two jobs and such that starts before , but

Suppose, toward a contradiction, that an optimal schedule

Construct by moving into the position of , moving all jobs between and forward, and placing where was. No idle time is introduced.

Every job other than and completes no later in than in . Job in completes when completed in . Job in completes earlier than completed in , because .

Therefore

contradicting the optimality of . Hence some optimal schedule follows shortest processing time first.

Release times

With release times and no preemption, the problem

is strongly NP-hard.

If preemption is allowed, the problem becomes easier:

The optimal rule is shortest remaining processing time first. At every time, among released unfinished jobs, process the job with smallest remaining processing time.

SRPT optimality

Shortest remaining processing time first minimises for .

Local exchange does not follow shortest remaining processing time first. Then at some time , job is processed even though another released job has smaller remaining processing time:

Suppose, toward a contradiction, that an optimal schedule

After time , the schedule spends units of processing on jobs and . Construct by spending the first of those units on , and the remaining units on .

All jobs other than and have the same completion time in as in . Job completes in at time from , while job completes before from because .

Hence the total completion time decreases, contradicting optimality.

Approximation without preemption

The preemptive optimum gives a useful lower bound for the non-preemptive problem

Let

be the completion times in an optimal preemptive schedule. Consider the non-preemptive algorithm that schedules jobs greedily in this order. The next job starts once the previous job has finished and the job has been released.

2-approximation

The greedy order induced by the optimal preemptive schedule is a -approximation for .

Completion-time bound -th job in the preemptive completion order,

For the

Let be the completion time of the same job in the non-preemptive greedy schedule. Before it completes, the schedule waits at most until the latest release time among the first jobs and then processes those jobs. Thus

Summing over all jobs gives

because the preemptive optimum is a lower bound on the non-preemptive optimum.