Single

Machine

Scheduling

Subject

to

Precedence

Delays

Lucian

FINTA

Zhen

LIU

INRIA

Centre

Sophia

Antipolis

route

des

Lucioles

B.P.

Sophia-Antipolis

France

December

Revised

January

and

March

To

appear

in

Discrete

Applied

Mathematics

Abstract

A

single-machine

scheduling

problem

with

precedence

delays

is

analyzed

A

set

of

n

tasks

is

to

be

scheduled

on

the

machine

in

such

a

way

that

the

makespan

is

minimized

The

executions

of

the

tasks

are

constrained

by

precedence

delays

i.e.

a

task

can

start

its

execution

only

after

any

of

its

predecessors

has

completed

and

the

delay

between

the

two

tasks

has

elapsed

In

the

case

of

unit

execution

times

and

integer

lengths

of

delays

the

problem

is

shown

to

be

NP-hard

in

the

strong

sense

In

the

case

of

integer

execution

times

and

unit

length

of

delays

the

problem

is

polynomial

and

an

O

-LRB-

-RRB-

optimal

algorithm

is

provided

Both

preemptive

and

non-preemptive

cases

are

considered

Introduction

and

Problem

Description

Consider

the

following

scheduling

problem

There

are

a

single

machine

and

a

set

of

n

tasks

to

be

run

on

that

machine

The

executions

of

the

tasks

are

constrained

by

precedence

constraints

which

are

described

by

a

directed

acyclic

graph

G

-LRB-

V

E

-RRB-

referred

to

as

task

graph

where

the

set

of

vertices

V

corresponds

to

the

set

of

tasks

and

the

set

of

arcs

E

to

the

precedence

constraints

The

task

graph

is

a

weighted

graph

with

vertices

weighted

by

task

processing

times

pi

i

V

and

arcs

weighted

by

lengths

of

delays

lij

For

any

pair

of

tasks

i

j

V

if

-LRB-

i

j

-RRB-

E

then

task

j

can

start

execution

only

lij

time

units

after

the

execution

completion

of

task

i

i.e.

Ci

lij

oe

-LRB-

j

-RRB-

where

Ci

is

the

completion

time

of

task

i

oe

-LRB-

j

-RRB-

is

the

starting

time

of

task

j.

Throughout

the

paper

processing

times

and

precedence

delays

are

assumed

to

be

nonnegative

integers

The

problem

is

to

ond

a

feasible

schedule

-LRB-

which

satisoes

the

precedence

delays

-RRB-

such

that

the

makespan

Cmax

i.e.

the

completion

time

of

the

last

executed

task

Cmax

Ci

is

minimized

We

analyze

both

the

preemptive

and

the

non-preemptive

scheduling

problems

According

to

the

three-oeld

notation

scheme

introduced

by

Graham

Lawler

Lenstra

and

Rinnooy

Kan

-LSB-

-RSB-

our

non-preemptive

-LRB-

resp

preemptive

-RRB-

scheduling

problem

can

be

denoted

as

j

prec

-LRB-

lij

-RRB-

pj

j

Cmax

-LRB-

resp

j

pmtn

prec

-LRB-

lij

-RRB-

pj

j

Cmax

-RRB-

where

lij

denotes

precedence

delays

In

case

we

have

identical

parallel

machines

the

problems

can

be

denoted

by

P

j

prec

-LRB-

lij

-RRB-

pj

j

Cmax

and

P

j

pmtn

prec

-LRB-

lij

-RRB-

pj

j

Cmax

The

notion

of

precedence

delays

can

be

used

to

model

the

release

date

of

the

tasks

Indeed

by

adding

a

octive

initial

task

of

which

all

tasks

are

its

successors

the

precedence

delay

between

the

initial

task

and

any

particular

task

can

be

considered

as

the

release

date

of

the

latter

In

a

similar

way

the

precedence

delays

can

also

be

used

to

model

the

delivery

times

-LRB-

which

are

in

certain

sense

equivalent

to

due

dates

-RRB-

Indeed

by

adding

a

octive

onal

task

of

which

all

tasks

are

its

predecessors

the

precedence

delay

between

a

task

and

the

onal

task

can

be

considered

as

the

delivery

time

of

the

former

Note

however

that

the

notion

of

precedence

delays

is

dioeerent

from

that

of

communication

times

in

the

scheduling

literature

-LRB-

see

e.g.

-LSB-

-RSB-

-RRB-

The

eoeective

communication

times

between

tasks

depend

on

the

task

assignment

Communication

times

between

tasks

which

are

assigned

to

the

same

machine

are

usually

assumed

to

be

small

typically

negligible

-LRB-

i.e.

zero

-RRB-

However

precedence

delays

between

tasks

are

assumed

to

remain

unchanged

even

when

two

tasks

are

assigned

to

the

same

machine

Single-machine

scheduling

has

been

receiving

much

interest

in

the

literature

Indeed

as

Baker

-LSB-

-RSB-

indicated

it

is

a

building

block

in

the

development

of

a

comprehensive

understanding

of

complicated

systems

The

reader

is

referred

to

the

survey

papers

by

Dileepan

and

Sen

-LSB-

-RSB-

Gupta

and

Kyparisis

-LSB-

-RSB-

and

Lawler

Lenstra

Rinnooy

Kan

and

Shmoys

-LSB-

-RSB-

for

research

work

in

this

oeld

The

scheduling

problem

analyzed

in

this

paper

is

an

extension

of

the

model

with

release

and

delivery

times

-LRB-

or

due

dates

-RRB-

Moreover

it

has

direct

applications

in

manufacturing

systems

and

computer

systems

For

example

one

of

the

orst

studies

of

scheduling

under

precedence

delays

is

due

to

Dauz?re

Peres

and

Lasserre

-LSB-

-RSB-

where

the

authors

used

a

solution

of

the

single-machine

scheduling

to

solve

the

job-shop

scheduling

problem

They

proposed

a

modiocation

of

the

shifting

bottleneck

procedure

of

Adams

et

al.

-LSB-

-RSB-

Such

a

modiocation

takes

into

account

the

precedence

delays

associated

with

the

precedence

relations

induced

by

scheduling

a

bottleneck

machine

and

therefore

yields

better

performances

In

-LSB-

-RSB-

a

scheduling

problem

of

multiprocessor

system

is

reduced

to

this

single-machine

model

where

the

tasks

represent

communications

on

a

bus

and

the

precedence

delays

represent

execution

times

of

threads

in

parallel

processors

The

general

non-preemptive

scheduling

problem

for

makespan

minimization

subject

to

release

and

delivery

times

-LRB-

which

corresponds

to

the

problem

with

precedence

delays

of

zero

length

in-between

tasks

except

for

those

associated

with

the

initial

and

the

onal

tasks

-RRB-

was

shown

to

be

NP-hard

by

Garey

and

Johnson

-LSB-

-RSB-

Carlier

-LSB-

-RSB-

proposed

an

eOEcient

branch-and-bound

algorithm

for

solving

the

problem

When

all

the

task

processing

times

are

equal

Simons

-LSB-

-RSB-

and

Garey

Johnson

Simons

and

Tarjan

-LSB-

-RSB-

proposed

polynomial

algorithms

for

the

optimal

solution

In

the

preemptive

case

however

simple

polynomial

algorithms

solve

the

problem

for

makespan

minimization

subject

to

release

and

delivery

times

Indeed

as

observed

by

Garey

et

al.

-LSB-

-RSB-

the

presence

of

precedence

constraints

-LRB-

with

zero

delay

-RRB-

is

essentially

irrelevant

in

this

case

One

can

orst

modify

the

release

and

delivery

times

so

that

they

become

consistent

with

the

precedence

relations

and

then

apply

the

Largest-DeliveryTime

policy

see

Horn

-LSB-

-RSB-

It

is

easily

seen

from

the

above

discussions

that

the

NP-hardness

of

makespan

minimization

subject

to

release

and

delivery

times

implies

the

NP-hardness

of

makespan

minimization

subject

to

integer

precedence

delays

Balas

Lenstra

and

Vazacopoulos

-LSB-

-RSB-

-LRB-

where

the

term

delayed

precedence

constraints

was

used

-RRB-

showed

that

when

release

and

delivery

times

are

all

equal

the

makespan

minimization

subject

to

integer

lengths

of

precedence

delays

remains

NP-hard

even

if

preemption

is

allowed

In

this

paper

we

show

that

even

if

tasks

have

unit

execution

time

-LRB-

UET

-RRB-

the

problem

of

makespan

minimization

subject

to

integer

lengths

of

precedence

delays

is

still

NP-hard

-LRB-

in

the

strong

sense

-RRB-

However

in

case

of

unit

length

of

precedence

delay

-LRB-

UPD

-RRB-

even

if

the

tasks

have

arbitrary

integer

execution

times

the

problem

becomes

polynomial

and

we

provide

an

O

-LRB-

-RRB-

algorithm

These

results

hold

for

both

preemptive

and

non-preemptive

scheduling

The

presentation

of

the

paper

is

organized

as

follows

In

Sections

and

below

we

consider

non-preemptive

scheduling

problems

We

prove

in

Section

the

NP-hardness

for

the

case

of

arbitrary

integer

precedence

delays

In

Section

we

provide

the

polynomial

solution

for

the

case

of

unit

precedence

delay

In

Section

we

extend

these

results

to

preemptive

scheduling

problems

Finally

in

Section

we

provide

some

concluding

remarks

NP-hardness

In

this

section

we

prove

the

NP-hardness

of

the

non-preemptive

scheduling

problem

j

prec

-LRB-

lij

-RRB-

pj

j

Cmax

We

consider

the

associated

decision

problem

deoned

as

follows

-LRB-

-RRB-

Single-machine

scheduling

with

unit

execution

time

and

integer

lengths

of

precedence

delays

Given

a

directed

acyclic

graph

G

-LRB-

V

E

-RRB-

with

unit

execution

time

pj

for

all

j

V

precedence

delays

lij

IN

def

g

and

a

time

limit

T

IN

does

there

exist

a

function

oe

V

T

such

that

oe

-LRB-

i

-RRB-

lij

oe

-LRB-

j

-RRB-

for

all

-LRB-

i

j

-RRB-

E

This

problem

will

be

shown

to

be

NP-complete

In

order

to

do

that

we

begin

by

introducing

a

slightly

more

complex

problem

-LRB-

-RRB-

which

can

be

polynomially

transformed

to

-LRB-

-RRB-

In

-LRB-

-RRB-

there

are

some

forbidden

regions

for

the

scheduling

function

i.e.

the

machine

is

not

available

in

some

periods

of

time

We

then

show

this

new

problem

-LRB-

-RRB-

to

be

NP-complete

so

that

-LRB-

-RRB-

is

also

NP-complete

-LRB-

-RRB-

Single-machine

scheduling

with

unit

execution

time

integer

lengths

of

precedence

delays

and

forbidden

regions

Given

a

directed

acyclic

graph

G

-LRB-

V

E

-RRB-

with

unit

execution

time

pj

for

all

j

V

precedence

delays

lij

IN

a

time

limit

T

IN

T

j

and

some

positive

integers

br

er

T

does

there

exist

a

function

oe

V

T

such

that

-LRB-

i

-RRB-

for

all

-LRB-

i

j

-RRB-

E

oe

-LRB-

i

-RRB-

lij

oe

-LRB-

j

-RRB-

and

-LRB-

ii

-RRB-

for

all

i

V

and

all

s

rg

oe

-LRB-

i

-RRB-

-LSB-

bs

es

-RRB-

Note

that

the

time

limit

in

-LRB-

-RRB-

is

polynomial

in

the

number

of

vertices

of

the

graph

to

be

scheduled

i.e.

T

j.

Lemma

-LRB-

-RRB-

polynomially

transforms

to

-LRB-

-RRB-

Proof

Let

V

ffi

-LSB-

s

r

fbs

bs

es

es

Let

V

ihg

-LRB-

resp

V

jkg

-RRB-

be

the

odd

-LRB-

resp

even

-RRB-

numbers

in

V

ffi

such

that

V

ffi

V

-LSB-

V

and

ih

jk

We

construct

two

chains

-LRB-

-RRB-

and

-LRB-

-RRB-

such

that

vihg

f

-LRB-

vis

vis

-RRB-

j

s

h

vjk

g

f

-LRB-

vjs

vjs

-RRB-

j

s

k

The

lengths

of

precedence

delays

are

deoned

as

follows

lvis

vis

is

is

s

h

lvjs

vjs

js

js

s

k

Now

for

any

given

instance

of

-LRB-

-RRB-

with

task

graph

G

and

time

limit

T

we

construct

an

instance

of

-LRB-

-RRB-

as

follows

The

task

graph

in

-LRB-

-RRB-

is

deoned

as

the

union

of

G

and

connected

by

a

initial

task

and

a

onal

task

in

such

a

way

that

ffl

the

precedence

delays

between

and

any

task

of

G

without

predecessors

are

ffl

the

precedence

delays

between

any

tasks

of

G

without

successors

and

are

ffl

the

precedence

delay

between

and

-LRB-

resp

-RRB-

is

-LRB-

resp

-RRB-

ffl

the

precedence

delay

between

vih

-LRB-

resp

vjk

-RRB-

and

is

T

ih

-LRB-

resp

T

jk

-RRB-

The

time

limit

in

-LRB-

-RRB-

is

T

active

forbidden

G

Figure

Construction

of

given

G

and

the

forbidden

regions

As

an

example

consider

the

the

forbidden

regions

in

Figure

There

are

two

forbidden

regions

with

and

the

time

limit

is

T

for

-LRB-

-RRB-

Therefore

the

set

V

ffi

contains

the

numbers

It

follows

that

V

and

V

Thus

and

The

chain

-LRB-

resp

-RRB-

is

simply

-LRB-

resp

-RRB-

where

the

symbol

represents

an

arc

The

time

limit

for

the

constructed

instance

of

problem

-LRB-

-RRB-

is

-LRB-

for

the

schedule

of

-RRB-

It

is

easy

to

see

that

there

is

a

solution

to

-LRB-

-RRB-

if

and

only

if

there

is

a

solution

to

-LRB-

-RRB-

Indeed

according

to

the

construction

of

the

chains

and

are

critical

paths

in

so

that

task

vis

s

h

-LRB-

resp

vjs

s

k

-RRB-

should

be

executed

at

time

is

-LRB-

resp

js

-RRB-

We

now

transform

the

classical

problem

denoted

by

to

-LRB-

-RRB-

by

a

polynomial

transformation

Recall

the

deonition

of

Given

a

set

X

of

binary

variables

xi

i

m

and

a

collection

C

of

clauses

Cj

over

X

j

k

jCjj

is

there

a

satisfying

truth

assignment

for

C

Lemma

polynomially

transforms

to

-LRB-

-RRB-

Proof

Given

an

instance

of

as

above

we

construct

the

following

instance

of

-LRB-

-RRB-

such

that

there

exists

a

scheduling

function

oe

if

and

only

if

has

a

solution

The

structure

of

our

task

graph

G

-LRB-

V

E

-RRB-

is

similar

to

the

one

used

by

Ullman

-LSB-

-RSB-

in

the

proof

of

NP-hardness

of

makespan

minimization

of

UET

tasks

on

identical

machines

under

precedence

constraints

However

since

we

have

only

one

machine

the

one-to-one

correspondence

between

the

solutions

of

these

problems

is

much

more

diOEcult

to

prove

Let

us

start

with

an

informal

deonition

of

the

task

graph

G

to

be

constructed

For

each

variable

xi

X

i

m

we

have

two

paths

xi

xi

xi

m

and

xi

xi

xi

m

in

G

The

arcs

-LRB-

xi

j

xi

j

-RRB-

and

-LRB-

xi

j

xi

j

-RRB-

have

precedence

delays

lxi

j

xij

l?xi

j

xij

j

for

i

m

j

m.

For

each

path

there

is

one

more

vertex

yi

or

yi

without

outgoing

arc

connected

to

the

path

by

an

arc

-LRB-

xi

i

yi

-RRB-

or

-LRB-

xi

i

yi

-RRB-

with

precedence

delays

lxi

i

yi

l?xi

i

yi

m

for

i

m.

For

each

clause

Cr

C

r

k

we

have

in

G

seven

vertices

crs

s

There

is

an

arc

from

xi

m

-LRB-

or

xi

m

-RRB-

to

each

clause

vertex

cr

s

whenever

it

contributes

An

example

of

the

construction

of

the

instance

of

-LRB-

-RRB-

is

illustrated

in

Figure

where

the

set

of

literals

is

X

and

the

clauses

are

and

hence

k

m

The

graph

is

top-bottom

oriented

and

all

the

arcs

at

the

same

level

have

the

same

length

Some

vertices

and

vertex

names

and

some

arcs

connected

to

clause

vertices

j

are

omitted

for

sake

of

simplicity

j

The

formal

deonition

of

the

graph

is

the

following

ffl

The

set

of

vertices

V

contains

xij

and

xij

for

i

m

j

m

yi

and

yi

for

i

m

Figure

Task

graph

of

the

instance

-LRB-

-RRB-

corresponding

to

the

instance

of

crs

for

r

k

and

s

ffl

The

set

of

arcs

E

and

precedence

delays

are

-LRB-

xi

j

xij

-RRB-

and

-LRB-

xi

j

xij

-RRB-

with

precedence

delays

lxi

j

xij

l?xi

j

xij

j

for

i

m

j

m

-LRB-

xi

i

yi

-RRB-

and

-LRB-

xi

i

yi

-RRB-

with

precedence

delays

lxi

i

yi

l?xi

i

yi

m

for

i

m.

The

arcs

connecting

xim

-LRB-

resp

xim

-RRB-

and

crs

i

m

r

k

s

are

deoned

as

follows

Let

Cr

consist

of

literals

where

each

z

independently

stands

for

x

or

x

in

a

oxed

order

i.e.

Cr

m

r

k.

Let

be

the

binary

representation

of

s

s

Then

for

p

if

ap

we

have

an

arc

-LRB-

zupm

crs

-RRB-

else

if

ap

then

we

have

an

arc

-LRB-

zupm

crs

-RRB-

where

z

stands

for

x

or

x

should

z

be

x

or

x

respectively

Note

that

since

a

clause

should

have

at

least

one

true

literal

the

case

can

not

occur

The

precedence

delays

are

deoned

by

lzupm

crs

l?zupm

crs

k

There

are

m

forbidden

regions

for

the

scheduling

function

oe

For

i

m

the

i-th

forbidden

region

Fi

-LSB-

bi

ei

-RRB-

is

of

length

i

The

last

three

forbidden

regions

Fi

-LSB-

bi

ei

-RRB-

m

i

m

are

of

lengths

k

m

m

respectively

The

start

and

the

end

of

those

regions

are

bi

-LRB-

-RRB-

i

i

-LRB-

i

-RRB-

ei

-LRB-

-RRB-

i

i

-LRB-

i

-RRB-

i

m

bm

m

em

m

k

bm

m

k

em

m

k

bm

m

em

m

Thus

there

are

m

active

regions

for

the

machine

the

orst

one

with

length

the

next

m

ones

with

length

the

m-th

with

length

m

the

m

with

length

m

the

m

with

length

k

and

the

m

with

length

The

time

limit

is

T

m

Observe

that

jV

j

-LRB-

m

-RRB-

Thus

T

-LRB-

m

-RRB-

j

Note

that

T

jV

j

Pm

i

-LRB-

ei

bi

-RRB-

so

that

under

any

feasible

scheduling

solution

the

machine

never

idles

The

forbidden

and

active

regions

of

the

machine

corresponding

to

the

example

of

Figure

is

illustrated

in

Figure

The

time

limit

is

T

active

Time

Figure

Forbidden

and

active

regions

of

the

machine

of

the

instance

-LRB-

-RRB-

We

claim

that

there

is

a

solution

to

the

instance

of

if

and

only

if

there

there

is

a

feasible

schedule

for

the

above

instance

of

-LRB-

-RRB-

The

intuitive

idea

behind

the

proof

is

that

xi

-LRB-

or

xi

-RRB-

is

true

if

and

only

if

the

execution

of

-LRB-

or

-RRB-

begins

in

the

time

interval

-LSB-

m

-RSB-

The

problem

instance

of

-LRB-

-RRB-

is

constructed

in

such

a

way

that

there

is

a

solution

to

the

instance

of

if

and

only

if

there

is

a

feasible

non-idle

schedule

for

the

above

instance

of

-LRB-

-RRB-

In

order

to

have

a

non-idle

solution

we

have

to

schedule

in

the

orst

m

active

regions

the

x

and

y

tasks

and

in

the

m

active

region

the

k

clause

tasks

corresponding

to

truth

assignment

of

literals

and

in

the

last

active

region

the

other

clause

tasks

Moreover

in

order

to

have

an

one-to-one

correspondence

between

the

solutions

of

instances

of

-LRB-

-RRB-

and

we

should

schedule

in

the

m

active

region

k

clause

tasks

corresponding

to

k

dioeerent

clauses

These

k

clause

tasks

are

available

for

execution

in

the

m

nd

active

region

only

if

we

schedule

in

the

orst

m

time

slots

either

task

or

depending

on

the

truth

value

associated

with

each

literal

xi

being

or

respectively

The

delays

on

the

precedence

constraints

are

chosen

such

that

once

all

xi

's

and

xi

's

are

executed

we

can

not

change

the

order

of

execution

for

their

successors

i.e.

xi

j

's

and

xi

j

's

for

any

oxed

j

j

m

without

introducing

at

least

one

idle

time

in

the

schedule

These

properties

are

stated

and

proved

in

the

four

claims

below

In

the

following

we

denote

by

-LRB-

resp

-RRB-

the

orst

executed

task

among

tasks

xij

and

xij

-LRB-

resp

yi

and

yi

-RRB-

and

by

-LRB-

resp

-RRB-

the

second

one

In

order

to

simplify

the

proof

-LRB-

and

the

notation

in

the

proof

-RRB-

we

consider

an

additional

forbidden

region

of

zero

length

-LSB-

-RRB-

with

We

have

therefore

m

forbidden

regions

in

total

-LRB-

including

the

above

one

with

zero

length

-RRB-

Fm

Similarly

we

consider

m

actives

regions

Am

where

is

the

active

region

between

time

zero

and

time

and

is

the

active

region

from

time

to

time

For

all

tasks

v

V

we

deone

L

-LRB-

v

-RRB-

the

length

of

the

longest

path

to

vertex

v

as

follows

L

-LRB-

v

-RRB-

-LRB-

-LRB-

v

-RRB-

L

-LRB-

u

-RRB-

luv

P

-LRB-

v

-RRB-

P

-LRB-

v

-RRB-

where

P

-LRB-

v

-RRB-

denotes

the

set

of

immediate

predecessors

of

v

in

the

task

graph

A

task

is

said

to

be

available

at

some

time

t

if

each

of

its

predecessors

has

onished

execution

and

the

precedence

delay

between

the

predecessor

to

the

task

has

elapsed

by

time

t.

Claim

Tasks

with

labels

xij

or

xij

which

are

successors

of

the

orst

m

executed

tasks

must

be

executed

as

soon

as

they

become

available

in

order

to

have

a

non-idle

schedule

Proof

of

Claim

Tasks

xim

or

xim

are

not

available

before

time

em

due

to

the

fact

that

L

-LRB-

xim

-RRB-

L

-LRB-

xim

-RRB-

em

Since

the

number

of

time

units

where

the

machine

is

active

until

time

em

is

which

is

equal

to

the

maximum

number

of

possibly

available

tasks

until

this

time

fxij

xij

yj

yj

i

m

j

m

all

these

tasks

should

be

executed

by

time

em

in

order

to

have

a

non-idle

schedule

Let

be

the

task

executed

at

time

It

is

clear

that

only

task

is

available

at

time

em

provided

all

tasks

on

the

path

are

executed

as

soon

as

they

become

available

Let

-LRB-

or

-RRB-

be

the

task

executed

at

time

v

v

m

The

same

argument

shows

that

only

task

xivm

-LRB-

or

xivm

-RRB-

is

available

at

time

em

v

provided

all

tasks

on

the

path

xivm

-LRB-

or

xivm

-RRB-

are

executed

as

soon

as

they

become

available

Claim

In

order

to

have

a

non-idle

schedule

tasks

are

executed

in

active

region

in

the

order

of

where

img

is

a

permutation

on

mg

and

in

active

region

Aj

j

m

tasks

are

executed

in

the

order

of

and

in

active

region

Am

tasks

are

executed

in

the

order

of

and

in

active

region

Am

tasks

are

executed

in

the

order

of

Proof

of

Claim

For

i

m

j

m

the

length

of

the

path

to

tasks

xij

and

xij

is

L

-LRB-

xij

-RRB-

L

-LRB-

xij

-RRB-

-LRB-

-RRB-

j

j

-LRB-

j

-RRB-

ej

and

the

length

of

the

path

to

tasks

yj

and

yj

is

L

-LRB-

yj

-RRB-

L

-LRB-

yj

-RRB-

-LRB-

-RRB-

-LRB-

j

-RRB-

-LRB-

j

-RRB-

-LRB-

j

-RRB-

m

Therefore

the

maximum

number

of

possibly

available

tasks

by

time

ej

is

-LRB-

-RRB-

j

which

is

the

number

of

x-tasks

with

the

second

index

strictly

smaller

than

j

and

y-tasks

with

the

index

smaller

than

j

j

m

Since

the

number

of

time

units

where

the

machine

is

active

until

time

ej

is

also

equal

to

-LRB-

-RRB-

j

j

m

all

these

available

tasks

should

be

executed

by

time

ej

in

order

to

have

a

non-idle

schedule

At

time

bj

-LRB-

-RRB-

-LRB-

j

-RRB-

-LRB-

j

-RRB-

-LRB-

j

-RRB-

j

m

tasks

xij

or

xij

are

not

available

and

task

is

available

if

oe

-LRB-

-RRB-

L

-LRB-

-RRB-

bj

so

that

oe

-LRB-

-RRB-

m

j

m

Therefore

tasks

i

mg

should

be

executed

in

the

orst

m

time

slots

of

the

schedule

in

order

not

to

have

idle

Consider

now

the

orst

time

slot

of

active

region

Aj

j

m

i.e.

time

slot

ej

bj

j

Task

is

available

only

if

oe

-LRB-

-RRB-

L

-LRB-

-RRB-

ej

or

equivalently

oe

-LRB-

-RRB-

m

j

An

induction

on

j

m

yields

that

task

is

scheduled

at

m

j

Once

the

schedule

of

tasks

and

i

m

are

oxed

a

simple

inductive

argument

shows

that

all

tasks

xij

or

xij

j

should

be

executed

as

soon

as

they

become

available

It

then

follows

that

in

active

region

tasks

are

executed

in

the

order

of

where

img

is

a

permutation

on

mg

in

active

region

Aj

j

m

tasks

are

executed

in

the

order

of

and

in

active

region

Am

tasks

are

executed

in

the

order

of

and

in

active

region

Am

tasks

are

executed

in

the

order

of

Claim

In

order

to

have

a

non-idle

schedule

only

tasks

of

type

crs

r

k

s

are

executed

in

the

last

two

active

regions

Proof

of

Claim

The

length

of

the

path

to

tasks

of

type

crs

is

L

-LRB-

crs

-RRB-

k

bm

Hence

no

task

of

this

type

is

available

before

the

end

of

the

active

region

Am

Since

the

number

of

tasks

to

be

executed

in

the

last

two

active

regions

is

equal

to

the

number

of

tasks

of

type

crs

only

tasks

crs

are

to

be

executed

in

the

last

two

active

regions

in

order

to

have

a

non-idle

schedule

Claim

In

order

to

have

a

non-idle

schedule

tasks

of

type

crs

r

k

s

that

are

available

for

execution

in

the

active

region

Am

should

have

their

predecessors

executed

in

the

active

region

Am

Proof

of

Claim

The

earliest

time

when

some

successor

of

the

orst

executed

task

of

type

in

the

active

region

Am

becomes

available

is

em

crs

bm

Thus

in

order

for

some

task

crs

to

be

executed

in

the

active

region

Am

all

its

predecessors

i.e.

tasks

of

type

xjm

or

xjm

should

be

executed

in

the

active

region

Am

It

then

follows

that

the

predecessors

of

tasks

that

are

available

for

execution

in

the

active

region

Am

are

of

type

Observe

that

for

each

pair

crs

and

crt

s

t

there

is

at

least

one

j

such

that

either

xjm

precedes

crs

and

xjm

precedes

crt

or

xjm

precedes

crs

and

xjm

precedes

crt

Thus

for

any

r

r

k

one

and

only

one

of

the

seven

tasks

crs

s

can

be

executed

in

the

active

region

Am

Therefore

we

have

non-idling

scheduling

function

oe

if

and

only

if

the

orst

m

executed

tasks

correspond

to

a

satisfying

truth

assignment

Theorem

Both

problems

-LRB-

-RRB-

and

-LRB-

-RRB-

are

NP-complete

Proof

The

assertion

follows

from

Lemmas

and

Observe

that

the

assertion

of

the

above

theorem

still

holds

if

the

statement

of

problem

-LRB-

-RRB-

is

modioed

in

such

a

way

that

the

time

limit

T

is

bounded

T

j.

Indeed

in

the

proof

of

Lemma

the

time

limit

of

the

corresponding

instance

of

problem

-LRB-

-RRB-

can

be

bounded

by

j

and

in

the

proof

of

Lemma

the

time

limit

T

of

the

instance

of

problem

-LRB-

-RRB-

is

T

T

where

T

is

the

time

limit

of

the

corresponding

instance

of

problem

-LRB-

-RRB-

Corollary

The

problem

j

prec

-LRB-

lij

-RRB-

pj

j

Cmax

is

NP-hard

Corollary

The

problem

j

prec

-LRB-

lij

-RRB-

pj

j

Cmax

is

NP-hard

Polynomial

Solution

In

this

section

we

consider

the

non-preemptive

scheduling

problem

under

the

assumption

that

precedence

delays

have

unit

length

However

the

task

processing

times

can

be

arbitrary

natural

numbers

This

problem

denoted

by

j

prec

-LRB-

lij

-RRB-

pj

IN

j

Cmax

will

be

shown

to

be

polynomial

and

we

provide

an

optimal

O

-LRB-

-RRB-

algorithm

for

the

minimization

of

makespan

At

the

end

of

this

section

we

will

extend

the

optimal

solution

to

the

case

where

some

of

the

precedence

delays

have

length

zero

and

also

to

the

case

where

release

and

delivery

times

are

zero

or

one

unit

The

optimal

schedule

referred

to

as

Lexicographic

Order

Schedule

-LRB-

LOS

-RRB-

in

this

paper

is

a

list

schedule

proposed

by

Cooeman

and

Graham

-LSB-

-RSB-

for

the

makespan

minimization

of

an

arbitrary

task

graph

with

UET

tasks

on

two

parallel

processors

LOS

is

based

on

a

static

list

of

tasks

deoned

by

the

lexicographic

order

as

follows

Let

there

be

f

onal

tasks

Assign

labels

f

to

these

onal

tasks

in

an

arbitrary

way

Suppose

now

that

k

f

tasks

have

already

been

labeled

by

k.

Consider

all

the

tasks

whose

successors

are

all

labeled

Assign

label

k

to

the

task

such

that

the

decreasing

sequence

of

the

labels

of

its

immediate

successors

is

lexicographically

minimal

-LRB-

tie

is

broken

in

an

arbitrary

way

-RRB-

LOS

is

then

the

list

schedule

which

assigns

the

available

tasks

to

the

machine

according

to

the

decreasing

order

of

the

labels

Theorem

Let

G

-LRB-

V

E

-RRB-

be

an

arbitrary

task

graph

If

precedence

delays

have

unit

length

then

LOS

minimizes

the

makespan

of

G

within

the

class

of

non-preemptive

schedules

Proof

If

the

machine

does

not

idle

under

LOS

then

LOS

is

trivially

optimal

Assume

in

the

following

that

the

machine

does

idle

under

LOS

Let

M

be

the

makespan

of

G

under

LOS

Let

the

label

of

task

v

G

assigned

by

LOS

be

-LRB-

v

-RRB-

Denote

by

V

M

the

scheduling

function

of

LOS

Denote

by

P

-LRB-

v

-RRB-

the

set

of

all

predecessors

of

v

in

G.

Consider

orst

the

case

where

all

the

tasks

are

UET

For

sake

of

simplicity

of

notation

we

assume

by

convention

that

whenever

the

machine

is

idle

before

time

M

it

is

executing

a

octitious

task

denoted

by

with

-LRB-

-RRB-

Note

that

unless

all

the

tasks

have

completed

execution

the

machine

never

idles

two

or

more

units

of

time

contiguously

due

to

the

fact

that

the

precedence

delays

have

unit

length

Denote

by

M

V

-LSB-

the

inverse

of

i.e.

-LRB-

t

-RRB-

denotes

the

task

which

is

executing

on

the

machine

during

the

time

slot

-LSB-

t

t

-RRB-

under

LOS

Let

be

the

earliest

time

for

which

the

machine

is

non-idle

under

LOS

during

the

time

interval

-LSB-

M

-RRB-

i.e.

is

the

last

idle

in

the

schedule

min

n

s

j

s

M

fs

s

M

-LRB-

t

-RRB-

o

Denote

by

the

set

of

tasks

assigned

to

the

machine

during

the

time

interval

-LSB-

M

-RRB-

M

-LSB-

t

f

-LRB-

t

-RRB-

g

Let

be

the

octitious

task

executed

at

time

Note

that

the

task

executed

at

time

is

a

predecessor

of

all

the

tasks

in

-LRB-

otherwise

as

precedence

delays

have

unit

length

at

least

one

task

in

which

is

not

a

successor

of

-LRB-

-RRB-

should

be

executed

at

time

-RRB-

Let

be

the

earliest

time

for

which

the

machine

is

continuously

executing

predecessors

of

all

the

tasks

in

min

n

t

j

t

f

-LRB-

t

-RRB-

-LRB-

t

-RRB-

-LRB-

-RRB-

g

P

-LRB-

v

-RRB-

o

Denote

by

the

set

of

tasks

assigned

to

the

machine

during

the

time

interval

-LSB-

-RRB-

-LSB-

t

f

-LRB-

t

-RRB-

g

Let

be

the

-LRB-

possibly

octitious

-RRB-

task

executed

at

time

Note

that

by

deonition

task

is

not

a

predecessor

of

all

the

tasks

of

whereas

tasks

of

are

the

predecessors

of

all

the

tasks

of

Therefore

according

to

the

deonition

of

the

labeling

procedure

has

a

smaller

label

than

tasks

in

-LRB-

-RRB-

-LRB-

v

-RRB-

Thus

the

task

executed

at

time

is

a

predecessor

of

all

the

tasks

in

-LRB-

otherwise

according

to

the

deonition

of

LOS

at

least

one

task

in

which

is

not

a

successor

of

-LRB-

-RRB-

should

be

executed

at

time

due

to

again

the

assumption

that

precedence

delays

have

unit

length

-RRB-

Let

be

the

earliest

time

for

which

the

machine

is

continuously

executing

the

predecessors

of

all

the

tasks

in

min

n

t

j

t

f

-LRB-

t

-RRB-

-LRB-

t

-RRB-

-LRB-

-RRB-

g

P

-LRB-

v

-RRB-

o

Denote

by

the

set

of

tasks

assigned

to

the

machine

during

the

time

interval

-LSB-

-RRB-

-LSB-

t

f

-LRB-

t

-RRB-

g

Let

be

the

-LRB-

possibly

octitious

-RRB-

task

executed

at

time

Due

to

the

facts

that

task

has

a

smaller

label

than

the

tasks

in

that

task

is

not

a

predecessor

of

all

the

tasks

of

and

that

every

task

in

is

predecessor

of

all

the

tasks

of

and

all

the

tasks

of

by

transitivity

task

has

a

smaller

label

than

tasks

in

-LRB-

-RRB-

-LRB-

v

-RRB-

Thus

the

task

executed

at

time

is

a

predecessor

of

all

the

tasks

in

so

that

we

can

deone

as

the

earliest

time

for

which

the

machine

is

continuously

executing

the

predecessors

of

all

the

tasks

in

Continue

this

procedure

until

the

beginning

of

the

schedule

and

we

obtain

the

time

epochs

sm

sm

M

such

that

for

all

i

m

every

task

of

Vi

is

predecessor

of

all

the

tasks

of

Vi

where

Vi

si

-LSB-

t

si

f

-LRB-

t

-RRB-

g

Let

ui

be

the

-LRB-

possibly

octitious

-RRB-

task

executed

at

time

si

i

m

Such

a

construction

is

illustrated

in

Figure

Vm

Vm

um

um

Figure

The

decomposition

of

the

LOS

schedule

Due

to

the

precedence

relations

between

tasks

of

Vi

and

Vi

i

m

it

is

clear

that

any

feasible

schedule

of

task

graph

G

has

at

least

length

m

Pmi

jVij

where

jVij

denotes

the

cardinality

of

Vi

Since

M

m

Pmi

jVij

LOS

is

thus

an

optimal

schedule

Consider

now

the

general

case

where

task

processing

times

are

arbitrary

natural

numbers

We

deone

the

sets

of

tasks

in

a

similar

way

viz.

is

the

set

of

tasks

executed

after

the

last

machine

idling

and

tasks

of

Vi

i

m

are

consecutively

executed

and

each

task

of

Vi

is

predecessor

of

all

the

tasks

of

Vi

Since

precedence

delays

have

unit

length

there

is

only

one

-LRB-

possibly

octitious

-RRB-

task

denoted

by

ui

in-between

tasks

of

Vi

and

those

of

Vi

in

the

LOS

schedule

Let

U

be

the

set

of

non-octitious

tasks

executed

in-between

sets

Vi

i

m

U

def

V

m

-LSB-

i

Vi

m

-LSB-

i

fuig

Then

the

makespan

is

equal

to

the

total

processing

time

of

G

and

number

of

idling

slots

M

m

X

i

-LRB-

-RRB-

m

X

i

X

pv

W

m

jU

j

-LRB-

-RRB-

where

W

P

pv

is

the

total

processing

time

of

G

and

is

the

indicator

function

Consider

an

arbitrary

schedule

ss

for

G

with

makespan

M

In

the

following

we

show

that

makespan

M

of

ss

is

never

less

than

makespan

M

of

LOS

The

basic

idea

is

that

any

schedule

has

to

onish

all

tasks

in

Vi

before

executing

some

task

from

Vi

Let

-LRB-

resp

-RRB-

be

the

time

epoch

when

the

orst

-LRB-

resp

last

-RRB-

task

of

Vi

starts

execution

under

schedule

ss

i

m

Since

every

task

of

Vi

i

m

is

predecessor

of

all

the

tasks

of

Vi

we

obtain

that

Let

V

i

be

the

set

of

tasks

which

start

execution

under

ss

during

time

interval

-LSB-

-RSB-

i

m.

Clearly

Vi

V

i

i

m.

Denote

by

U

i

the

set

of

-LRB-

non-octitious

-RRB-

tasks

which

start

execution

under

ss

during

time

interval

-LRB-

-RRB-

i

m.

Let

U

be

the

set

of

non-octitious

tasks

executed

in-between

sets

Vi

and

Vi

i

m

It

is

simple

that

U

def

m

-LSB-

i

U

i

V

m

-LSB-

i

V

i

V

m

-LSB-

i

Vi

U

-LRB-

-RRB-

Therefore

M

m

X

i

i

g

-LRB-

X

i

pu

-RRB-

i

g

A

m

X

i

X

i

pv

W

m

m

X

i

i

g

W

m

jU

j

-LRB-

-RRB-

where

the

orst

inequality

is

due

to

the

fact

that

schedule

ss

may

have

idling

periods

Inequality

-LRB-

-RRB-

together

with

relations

-LRB-

-RRB-

and

-LRB-

-RRB-

immediately

imply

that

M

W

m

jU

j

W

m

jU

j

M

Therefore

LOS

has

a

minimum

makespan

In

case

of

UET

tasks

the

optimality

of

LOS

remains

true

even

when

lengths

of

precedence

delays

are

allowed

to

be

zero

in-between

tasks

of

a

subchain

of

the

task

graph

i.e.

lij

only

if

jS

-LRB-

i

-RRB-

j

jP

-LRB-

j

-RRB-

j

where

S

-LRB-

i

-RRB-

denotes

the

set

of

immediate

successors

of

i

In

this

case

tasks

i

and

j

are

given

the

same

lexicographic-order

label

More

speciocally

we

deone

a

Modioed

Lexicographic

Order

Schedule

-LRB-

MLOS

-RRB-

based

on

the

following

modioed

lexicographic-order

labeling

Let

there

be

f

onal

tasks

Assign

labels

f

to

these

onal

tasks

in

an

arbitrary

way

Suppose

now

that

k

f

tasks

have

already

been

labeled

by

k.

Consider

all

the

tasks

whose

successors

are

all

labeled

If

the

task

whose

decreasing

sequence

of

the

labels

of

immediate

successors

is

lexicographically

minimal

has

a

unique

successor

and

if

the

precedence

delay

between

this

task

and

its

successor

has

length

zero

then

the

task

is

assigned

the

same

label

as

its

successor

Otherwise

this

task

is

assigned

label

k

Theorem

Let

G

-LRB-

V

E

-RRB-

be

an

arbitrary

task

graph

with

UET

tasks

Assume

that

for

all

-LRB-

u

v

-RRB-

E

luv

and

that

jS

-LRB-

u

-RRB-

j

jP

-LRB-

v

-RRB-

j

whenever

luv

Then

MLOS

minimizes

the

makespan

of

G

within

the

class

of

non-preemptive

schedules

Proof

The

proof

is

analogous

to

the

orst

part

-LRB-

for

the

case

of

UET

tasks

-RRB-

of

the

proof

of

Theorem

We

can

deone

time

epochs

sm

sm

M

in

such

a

way

that

for

all

i

m

every

task

of

Vi

is

predecessor

of

all

the

tasks

of

Vi

where

Vi

si

-LSB-

t

si

f

-LRB-

t

-RRB-

g

If

luv

and

v

Vi

for

some

i

m

then

according

to

the

assumption

jS

-LRB-

u

-RRB-

j

jP

-LRB-

v

-RRB-

j

so

that

u

Vi

Thus

for

any

-LRB-

u

v

-RRB-

E

if

u

Vi

and

v

Vi

then

luv

Therefore

the

arguments

of

the

optimality

of

LOS

provided

in

the

proof

of

Theorem

are

still

valid

Remark

It

is

easily

seen

from

the

above

proof

that

the

optimality

of

MLOS

extends

to

the

case

where

the

processing

times

of

u

and

v

are

arbitrary

natural

numbers

whenever

luv

Remark

As

mentioned

previously

precedence

delays

can

be

used

to

model

release

and

delivery

times

Thus

the

above

result

of

polynomial

solution

holds

for

the

case

where

release

and

delivery

times

are

unit

length

In

fact

the

polynomial

solution

can

be

extended

to

the

case

where

release

and

delivery

times

are

zero

or

unit

length

In

this

case

lexicographic-order

labeling

starts

with

the

onal

tasks

which

have

zero

delivery

times

The

proof

of

the

optimality

of

such

an

LOS

can

be

carried

out

by

adding

a

octive

task

as

the

successor

of

all

the

onal

tasks

which

have

unit

delivery

times

The

rest

of

the

proof

is

analogous

to

that

of

Theorem

In

LOS

and

MLOS

the

lexicographic-order

labeling

requires

O

-LRB-

jEj

-RRB-

operations

and

the

on-line

scheduling

requires

O

-LRB-

n

log

n

-RRB-

operations

Since

jEj

the

time

complexity

of

LOS

is

therefore

O

-LRB-

-RRB-

Preemptive

Scheduling

In

this

section

we

consider

the

preemptive

case

j

pmtn

prec

-LRB-

lij

-RRB-

pj

j

Cmax

It

will

be

shown

in

Lemma

below

that

preemptive

solutions

are

not

dominant

when

tasks

have

UET

Lemma

Let

G

-LRB-

V

E

-RRB-

be

an

arbitrary

task

graph

with

UET

tasks

and

integer

precedence

delays

Then

for

any

preemptive

schedule

S

of

G

there

is

a

non-preemptive

schedule

of

G

obtained

from

a

polynomial

transformation

of

S

such

that

the

makespan

under

is

the

same

as

the

makespan

under

S.

Proof

Let

M

be

the

makespan

of

G

under

schedule

S.

Assume

without

loss

of

generality

that

under

S

the

tasks

of

V

ng

complete

execution

in

the

order

of

n.

Denote

by

the

tasks

executed

during

the

time

slot

-LSB-

-RRB-

under

S.

Let

r

-LRB-

-RRB-

i

be

the

execution

time

of

these

tasks

in

-LSB-

-RRB-

Construct

schedule

as

follows

In

the

time

slot

-LSB-

-RRB-

executes

exclusively

task

Starting

from

time

epoch

assigns

the

same

tasks

to

the

machine

as

S

does

except

for

task

Whenever

S

assigns

task

to

the

machine

assigns

orstly

task

secondly

task

etc.

and

onally

task

such

that

among

the

total

amount

of

r

-LRB-

-RRB-

execution

time

of

task

task

occupies

the

machine

for

a

total

amount

r

-LRB-

-RRB-

of

time

i

It

is

easy

to

see

that

is

a

feasible

schedule

and

that

all

tasks

-LRB-

in

particular

task

-RRB-

complete

execution

earlier

-LRB-

i.e.

no

later

-RRB-

under

than

under

S.

Consider

now

schedule

Denote

by

the

tasks

executed

during

the

time

slot

-LSB-

-RRB-

under

Let

r

-LRB-

-RRB-

i

be

the

execution

time

of

these

tasks

in

-LSB-

-RRB-

Construct

schedule

in

the

same

way

as

we

do

for

In

the

time

slot

-LSB-

-RRB-

executes

exclusively

task

During

time

intervals

-LSB-

-RRB-

and

-LSB-

M

-RRB-

assigns

the

same

tasks

to

the

machine

as

does

except

for

task

Whenever

assigns

task

to

the

machine

assigns

orstly

task

secondly

task

etc.

and

onally

task

such

that

among

the

total

amount

r

-LRB-

-RRB-

of

execution

time

of

task

task

occupies

the

machine

for

a

total

amount

r

-LRB-

-RRB-

of

time

i

Again

it

is

easily

seen

that

is

a

feasible

schedule

and

that

all

tasks

-LRB-

in

particular

task

-RRB-

complete

execution

earlier

under

than

under

In

general

for

m

M

we

deone

schedule

Sm

based

on

schedule

Sm

Denote

by

kmlm

the

tasks

executed

during

the

time

slot

-LSB-

m

m

-RRB-

under

Sm

Let

r

-LRB-

kmi

-RRB-

i

lm

be

the

execution

time

of

these

tasks

in

-LSB-

m

m

-RRB-

Construct

schedule

Sm

as

follows

In

the

time

slot

-LSB-

m

m

-RRB-

Sm

executes

exclusively

task

During

time

intervals

-LSB-

m

-RRB-

and

-LSB-

m

M

-RRB-

Sm

assigns

the

same

tasks

to

the

machine

as

Sm

does

except

for

task

Whenever

Sm

assigns

task

to

the

machine

Sm

assigns

orstly

task

secondly

task

etc.

and

onally

task

kmlm

such

that

among

the

total

amount

r

-LRB-

-RRB-

of

execution

time

of

task

task

kmi

occupies

the

machine

for

a

total

amount

r

-LRB-

kmi

-RRB-

of

time

i

lm

One

easily

sees

that

all

tasks

-LRB-

in

particular

task

-RRB-

complete

execution

earlier

under

Sm

than

under

Sm

Before

proceeding

with

the

proof

of

the

feasibility

of

the

intermediate

schedules

we

provide

an

example

of

the

construction

Consider

the

four

tasks

and

its

preemptive

schedule

S

in

Figure

The

tasks

complete

execution

in

the

order

of

in

S.

Time

S

Figure

Example

of

construction

of

a

non-preemptive

schedule

ffl

The

preemptive

schedule

S

executes

three

tasks

in

the

time

slot

-LSB-

-RRB-

i.e.

tasks

The

-LRB-

fraction

of

-RRB-

execution

time

for

the

tasks

in

this

slot

is

r

-LRB-

-RRB-

r

-LRB-

-RRB-

r

-LRB-

-RRB-

is

same

as

S

except

for

the

execution

of

tasks

Task

is

completed

at

the

end

of

time

interval

-LSB-

-RRB-

and

the

fractions

r

-LRB-

-RRB-

r

-LRB-

-RRB-

of

tasks

are

executed

during

the

intervals

of

execution

of

task

after

time

in

S

which

are

the

dashed

parts

of

the

execution

of

tasks

in

ffl

In

schedule

tasks

that

are

executed

during

the

time

slot

-LSB-

-RRB-

are

The

fractions

of

execution

times

of

tasks

and

in

this

slot

are

r

-LRB-

-RRB-

and

r

-LRB-

-RRB-

is

same

as

except

for

the

execution

of

tasks

Task

is

completed

at

the

end

of

time

interval

-LSB-

-RRB-

and

the

fraction

r

-LRB-

-RRB-

of

task

is

executed

during

the

intervals

of

execution

of

task

after

time

in

-LRB-

dashed

region

in

-RRB-

ffl

Finally

to

construct

we

have

the

tasks

that

are

executed

in

during

the

third

slot

that

are

with

fractions

r

-LRB-

-RRB-

r

-LRB-

-RRB-

Task

will

be

completed

in

the

third

slot

in

and

obviously

task

in

the

fourth

slot

ffl

The

last

schedule

is

identical

to

the

schedule

since

in

the

initial

schedule

there

is

no

idle

time

-LRB-

thus

we

omitted

in

the

ogure

-RRB-

We

now

prove

the

feasibility

of

Sm

by

induction

on

m

As

we

mentioned

previously

the

feasibility

of

is

trivial

Assume

Sm

is

a

feasible

schedule

In

order

to

prove

the

feasibility

of

Sm

it

suOEces

to

analyze

task

which

is

the

only

task

that

might

start

execution

strictly

earlier

in

Sm

than

in

Sm

Note

that

the

following

facts

hold

ffl

all

the

precedence

delays

are

integers

ffl

in

schedules

Sm

and

Sm

all

the

predecessors

of

task

onish

execution

at

integer

time

epochs

no

later

than

time

m

ffl

schedule

Sm

is

feasible

ffl

task

is

assigned

to

the

machine

during

the

time

slot

-LSB-

m

m

-RRB-

Therefore

in

schedules

Sm

and

Sm

all

precedence

delays

between

task

and

its

predecessors

have

elapsed

by

time

m

Indeed

if

a

predecessor

of

denoted

by

v

is

onished

at

time

t

m

in

the

feasible

schedule

Sm

then

lv

s

t

where

s

m

is

the

starting

time

of

in

Sm

As

lv

and

t

are

integers

we

have

necessarily

lv

m

t.

Thus

task

is

executable

at

time

m

in

schedule

Sm

Consider

the

onal

schedule

SM

under

which

all

tasks

onish

execution

earlier

than

under

S

Since

SM

is

a

non-preemptive

schedule

by

deonition

we

can

take

SM

as

and

the

proof

is

thus

completed

In

the

above

lemma

the

precedence

delays

can

be

zero

Thus

it

implies

schedules

with

preemptions

occurring

at

integer

instants

of

time

are

dominant

in

the

case

of

integer

execution

times

Corollary

Let

G

-LRB-

V

E

-RRB-

be

an

arbitrary

task

graph

with

integer

task

execution

times

and

integer

precedence

delays

Then

for

any

preemptive

schedule

S

of

G

there

is

a

schedule

of

G

obtained

from

a

polynomial

transformation

of

S

such

that

preempts

only

at

integer

time

epochs

and

that

the

makespan

under

is

the

same

as

the

makespan

under

S

As

a

consequence

of

Lemma

and

Corollaries

and

we

obtain

Corollary

The

problem

j

pmtn

prec

-LRB-

lij

-RRB-

pj

j

Cmax

is

NP-hard

Corollary

The

problem

j

pmtn

prec

-LRB-

lij

-RRB-

pj

j

Cmax

is

NP-hard

In

view

of

Lemma

in

case

of

preemptive

scheduling

one

only

need

to

split

tasks

to

UET

tasks

Let

PLOS

denote

the

Preemptive

Lexicographic

Order

Schedule

which

splits

if

necessary

tasks

to

UET

tasks

In

other

words

at

each

integer

time

epoch

PLOS

assigns

an

executable

task

to

the

machine

for

one

unit

of

time

according

to

the

lexicographic-order

labeling

of

the

tasks

Applying

Lemma

and

Theorem

implies

Theorem

Let

G

-LRB-

V

E

-RRB-

be

an

arbitrary

task

graph

If

precedence

delays

have

unit

length

then

PLOS

minimizes

the

makespan

of

G

within

the

class

of

preemptive

schedules

Proof

Let

be

the

task

graph

obtained

from

replacing

each

task

i

of

G

by

a

chain

of

pi

UET

tasks

The

precedence

delays

on

these

chains

have

length

zero

Thus

an

application

of

Lemma

and

Theorem

implies

that

MLOS

minimizes

the

makespan

of

within

the

class

of

preemptive

schedules

The

assertion

of

the

theorem

now

follows

from

the

facts

that

MLOS

for

coincides

with

PLOS

for

G

and

that

the

optimal

preemptive

schedules

of

G

and

have

the

same

makespan

Conclusions

In

this

paper

we

have

considered

a

single-machine

scheduling

problem

with

precedence

delays

for

the

minimization

of

makespan

We

have

analyzed

both

preemptive

and

nonpreemptive

cases

We

have

shown

that

the

problem

is

NP-hard

when

tasks

have

unit

execution

times

and

precedence

delays

have

integer

lengths

We

have

provided

an

O

-LRB-

-RRB-

optimal

algorithm

when

tasks

have

arbitrary

integer

execution

times

and

precedence

delays

have

unit

length

Note

that

the

polynomial

solution

LOS

is

not

optimal

for

two

machines

A

counterexample

is

illustrated

in

Figure

where

all

the

processing

times

and

precedence

delays

have

unit

length

The

Gantt

charts

in

Figure

indicates

that

an

optimal

solution

has

no

idle

and

yields

a

strictly

smaller

makespan

than

that

of

LOS

LOS

Optimal

Figure

A

counterexample

of

LOS

in

two

machines

Acknowledgments

The

authors

are

grateful

to

the

referees

for

useful

comments

on

the

orst

draft

of

the

paper

References

-LSB-

-RSB-

J.

Adams

E.

Balas

D.

Zawack

The

Shifting

Bottleneck

Procedure

for

Job

Shop

Scheduling

Management

Science

-LRB-

-RRB-

pp.

-LSB-

-RSB-

K.

R.

Baker

Introduction

to

Sequencing

and

Scheduling

J.

Wiley

New

York

-LSB-

-RSB-

E.

Balas

J.K.

Lenstra

A.

Vazacopoulos

One

Machine

Scheduling

with

Delayed

Precedence

Constraints

CWI

Research

report

-LSB-

-RSB-

J.

Carlier

The

One-Machine

Scheduling

Problem

E.

J.

O.

R.

-LRB-

-RRB-

pp.

-LSB-

-RSB-

E.

G.

Cooeman

Jr

and

R.

L.

Graham

Optimal

Scheduling

for

Two-Processor

Systems

Acta

Informatica

-LRB-

-RRB-

pp.

-LSB-

-RSB-

S.

Dauz?re

Peres

J.

B.

Lasserre

A

Modioed

Shifting

Bottleneck

Procedure

for

JobShop

Scheduling

Int

J.

Prod

Res.

-LRB-

-RRB-

pp

-LSB-

-RSB-

S.

Dauz?re

Peres

J.

B.

Lasserre

Integration

of

lotsizing

and

scheduling

decisions

in

a

job-shop

E.

J.

O.

R.

-LRB-

-RRB-

pp

-LSB-

-RSB-

P.

Dileepan

T.

Sen

Bicriterion

Static

Scheduling

Research

for

a

Single

Machine

Omega

-LRB-

-RRB-

pp.

-LSB-

-RSB-

L.

Finta

Z.

Liu

Scheduling

of

Parallel

Programs

in

Single-Bus

Multiprocessor

Systems

Rapport

de

Recherche

INRIA

No.

-LSB-

-RSB-

M.

R.

Garey

D.R.

Johnson

Computers

and

Intractability

A

Guide

to

the

Theory

of

NP-Completeness

W.

H.

Freeman

San

Francisco

-LSB-

-RSB-

M.

R.

Garey

D.R.

Johnson

B.

B.

Simons

R.

E.

Tarjan

Scheduling

Unit-Time

Tasks

with

Arbitrary

Release

Times

and

Deadlines

SIAM

J.

Comput.

-LRB-

-RRB-

pp.

-LSB-

-RSB-

R.

L.

Graham

E.

L.

Lawler

J.

K.

Lenstra

A.

H.

G.

Rinnooy

Kan

Optimization

and

Approximation

in

Deterministic

Scheduling

A

Survey

Ann

Disc

Math.

-LRB-

-RRB-

pp.

-LSB-

-RSB-

S.

K.

Gupta

J.

Kyparisis

Single

Machine

Scheduling

Research

Omega

-LRB-

-RRB-

pp.

-LSB-

-RSB-

W.

A.

Horn

Some

Simple

Scheduling

Algorithms

Naval

Res

Logist

Quart.

-LRB-

-RRB-

pp.

-LSB-

-RSB-

E.

L.

Lawler

J.

K.

Lenstra

A.

H.

G.

Rinnooy

Kan

D.

B.

Shmoys

Sequencing

and

Scheduling

Algorithms

and

Complexity

CWI

Report

-LSB-

-RSB-

J.

D.

Ullman

NP-complete

Scheduling

Problems

Journal

of

Computer

and

System

Sciences

-LRB-

-RRB-

pp.

-LSB-

-RSB-

B.

B.

Simons

A

Fast

Algorithm

for

Single

Processor

Scheduling

Annual

Symposium

on

Foundations

of

Computer

Science

-LRB-

-RRB-

pp.

-LSB-

-RSB-

B.

Veltman

B.

J.

Lageweg

J.

K.

Lenstra

Multiprocessor

Scheduling

with

Communication

Delays

Parallel

Computing

-LRB-

-RRB-

pp.

complexity
delivery time
makespan
optimal algorithm
precedence delay
scheduling