1. Introduction

1. Introduction

As an independent branch of Operational Research, Theory appeared in the beginning of the 50s. In addition to computer systems and manufacturing, scheduling theory can be applied to many areas including agriculture, health care and transport.

Operational Research

Mathematical Programming

Combinatorial Optimisation Scheduling deals with the problems of optimal

Scheduling Theory arrangement, sequencing and timetabling.

Scheduling is a decision-making process of allocating limited resources to activities over time.

Resources (machines): Tasks (jobs): - machines at a workshop, - operations in a workshop, - runways at an airport, - takeoffs and landings, - crews at a construction site, - stages at a construction project, - processing units in a computing environment. - computer programs.

A is a job sequence determined for every machine of the processing system.

Standard scheduling requirements say: • a job cannot be processed by two or more machines at a time, • a machine cannot process two or more jobs at the same time. Depending on the type of scheduling system, specific constraints should be satisfied (jobs may be released at different times, there may be allowed preemption of jobs by other jobs, etc.).

1 1. Introduction

Gantt chart is a horizontal bar chart that graphically displays the time relationships between the different tasks in a project: - the X-axis represents the time, - the Y-axis represents machines, - a colour and/or pattern code may be used to indicate operations of the same job.

M 1 2 1 M2 1 2 M3 1 2

M4 1 2 time 4 5 9 10 13 14

Scheduling theory covers more than 10,000 different models. The models are specified according to three-field classification α|β|γ where - α specifies the machine environment, - β specifies the job characteristics, and - γ determines the optimality criterion.

Machine environment

Single stage systems Multistage systems

If there is a single machine (m=1), Each job should be processed on each each job should be processed by that machine from the set {M1, M2, …, Mm}. machine exactly once. All machines are different. If there are several parallel machines {M1, M2, …, Mm}, each job can be processed by any machine.  F − flow shop,   job j is processed first on machine 1,  1− single (dedicated) machine  then on machine 2, ... , and finally on    p j - processing time of job j  machine m     α =   α = J − job shop, P dentical parallel machines,   p = p - processing time of job j  eachjob has its own route to follow  ij j   on machine i    O − open shop,   each job can be processed by  2  the machines in an arbitrary order 1. Introduction

Job environment

There are n jobs N={1,… ,n}.

Processing time of job j on machine i is pij. If there is a single machine, then processing time of job j does not depend on machine number and it is denoted by pj.

For job j there may be given also rj – release time (the time the job arrives at the system), dj – due date (the time the job is promised to the customer), wj – weight (the importance of job j).

Preemption (pmtn) implies the processing of any job can be interrupted and resumed later.

Optimality criterion

The schedule can be characterised by starting or completion times of all operations of the jobs. The objective is to construct a schedule, that minimizes a given objective function F. Usually function F depends on job completion times Cj, j=1,…,n, where Cj is the completion time of the last operation of job j.

The most common objective functions are

Makespan Cmax = max {Cj | j=1,…,n}

n C = C Total completion time ∑ j ∑ j=1 j n w C = w C Total weighted completion time ∑ j j ∑ j=1 j j

Other objective functions depend on due dates dj. We define for each job j

L j = C j − d j - lateness of job j,

E j = max{0, d j − C j } - earliness,

T j = max{0, C j − d j } - tardiness,

0 if C j ≤ d j U j =  - unit penalty.  1 otherwise

The corresponding objective functions can be defined as follows:

Maximum lateness Lmax = max {Lj | j=1,…,n}

n n Total (weighted) tardiness T w T ∑ j=1 j (∑ j=1 j j )

n n Total (weighted) number of late jobs U w U ∑ j=1 j (∑ j=1 j j )

3 1. Introduction

Examples:

1) 1| rj, pmtn | Lmax is the problem of finding a preemptive schedule on one machine for a set of jobs with given release times such that maximum lateness is minimised.

2) P| pj=1|Cmax is the problem of scheduling jobs with unit processing times on m identical parallel machines such that the makespan is minimised.

3) J3| pij=1|Cmax is the problem of minimising maximum completion time in a three-machine job shop with unit processing times. In-class exercise 1: Consider a scheduling problem with n readers and two books. Classify the following scheduling models:

Machines Jobs Objective α|β|γ

Two volumes of Readers Finish reading as F2 | | Cmax one book soon as possible

Two volumes of Readers Minimise the cost one book of late book return Two different Readers Finish reading as (independent) books soon as possible Two different Readers (each reader has its Finish reading as (independent) books own “reading sequence”) soon as possible

In-class exercise 2: Classify the examples of scheduling problems:

Publishing industry: typesetting, actual printing, binding, packaging.

Different items have different processing times depending on the book size, the number of copies, etc. The objective is to produce all items as F4 | | C soon as possible. max Clothing industry: cutting, sewing, pressing, packing. The objective is ? to produce all items as soon as possible. Steel mills: different rods or girders pass through the set of rollers in their own orders with their own temperatures and pressure settings. The objective is to produce all items as soon as possible. Repair of cars in a garage: replace tires, repair gear box, check brakes, repair headlights, etc. The objective is to repair all cars in a garage as soon as possible. Completing several pieces of CW so that the maximum lateness is minimised. CW j is released at time rj, requires pj days for completion and has a due date dj. Revision schedule: starting on 13/12/2004, revise the material of n modules by their exam dates. Revision time for module j is pj. Literature review for FYP should be based on n library books. Book j can be read in pj days and it should be returned by its due date dj. The library charges 30p per day on each overdue book. The objective is to minimise the total fine.

4 1. Introduction

Complexity Hierarchy

There is a certain complexity hierarchy among scheduling systems and objective functions as shown in the diagrams below. The arrows go to harder problems.

ΣwjTj ΣwjUj

ΣwjCj ΣTj ΣUj J

P F O ΣCj Lmax

1 Cmax

Cmax reduces to Lmax by setting dj=0 for all j.

ΣCj reduces to ΣwjCj by setting wj=1 for all j.

ΣCj reduces to ΣΤj by setting dj=0 for all j.

ΣwjCj reduces to ΣwjΤj by setting dj=0 for all j.

In this course we demonstrate most scheduling methods and techniques. Most algorithms will be illustrated using scheduling software systems LEKIN and LiSA.

LiSA - Library of Scheduling Algorithms, Otto-von-Guericke Universität, Magdeburg, Germany, Project Leader: Professor Heidemarie Bräsel, http://fma2.math.uni-magdeburg.de/~lisa/ LEKIN - Educational Scheduling System, Stern School of Business, New York University, Project Leader: Professor Michael Pinedo, http://www.stern.nyu.edu/om/pinedo/lekin/

The following books are considered to be standard texts on the topic:

1. J.Blazewicz, K.H. Ecker, E.Pesch, G.Schmidt, J. Weglarz “Scheduling Computer and Manufacturing Processes”, Springer, 1996, 2001. 2. P. Brucker “Scheduling Algorithms”, Springer, 1995, 1998, 2001. 3. S. French “Sequencing and scheduling”, Ellis Horwood, 1982. 4. M. Pinedo “Scheduling: Theory, Algorithms, and Systems”, Prentice Hall, 1995, 2001. 5. M. Pinedo “Operations Scheduling with Applications in Manufacturing and Services”, Irwin/McGraw Hill, 1999.

5