33
Scheduling and Digraphs Lecture 35 Sections 8.1, 8.2 Robb T. Koether Hampden-Sydney College Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 1 / 25

Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Scheduling and DigraphsLecture 35

Sections 8.1, 8.2

Robb T. Koether

Hampden-Sydney College

Mon, Nov 21, 2016

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 1 / 25

Page 2: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

1 Introduction

2 Definitions

3 Example

4 Digraphs

5 Project Digraphs

6 Priority Lists

7 Assignment

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 2 / 25

Page 3: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Outline

1 Introduction

2 Definitions

3 Example

4 Digraphs

5 Project Digraphs

6 Priority Lists

7 Assignment

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 3 / 25

Page 4: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Introduction

To plan a meeting with several invited speakers involves a numberof tasks:(A) Locate appropriate speakers.(B) Invite them to speak.(C) Send out announcements of the meeting.(D) Build a website to register attendees.(E) Plan a banquet menu.(F) Retain a caterer.(G) Determine the registration fee.(H) Reserve a room for the banquet.(I) Update website with info.

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 4 / 25

Page 5: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Introduction

Some of these tasks can be done simultaneously.Locate appropriate speakers.Plan a banquet menu.

Some must be done in sequence.Plan a banquet menu.Determine the registration fee.Build a website to register attendees.

If we know how long each task will take and if we know the“dependencies,” then we can figure out how long the entire projectwill take.

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 5 / 25

Page 6: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Introduction

Some of these tasks can be done simultaneously.Locate appropriate speakers.Plan a banquet menu.

Some must be done in sequence.Plan a banquet menu.Determine the registration fee.Build a website to register attendees.

If we know how long each task will take and if we know the“dependencies,” then we can figure out how long the entire projectwill take.

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 5 / 25

Page 7: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Introduction

Some of these tasks can be done simultaneously.Locate appropriate speakers.Plan a banquet menu.

Some must be done in sequence.Plan a banquet menu.Determine the registration fee.Build a website to register attendees.

If we know how long each task will take and if we know the“dependencies,” then we can figure out how long the entire projectwill take.

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 5 / 25

Page 8: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Outline

1 Introduction

2 Definitions

3 Example

4 Digraphs

5 Project Digraphs

6 Priority Lists

7 Assignment

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 6 / 25

Page 9: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Definitions

Definition (Task)A task is a unit of work that cannot be broken down into smaller units.

Definition (Processor)A processor is a person or a machine that carries out a task.

Because a task cannot be broken down into parts, each task mustbe done by a single processor.

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 7 / 25

Page 10: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Definitions

Definition (Processing Times)The processing time of a task is the time necessary to complete thetask.

Definition (Precedence Relations)Given two tasks, a precedence relation states that one of them mustbe completed before the other one can be started.

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 8 / 25

Page 11: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Outline

1 Introduction

2 Definitions

3 Example

4 Digraphs

5 Project Digraphs

6 Priority Lists

7 Assignment

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 9 / 25

Page 12: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Example

Assume the following processor times.(A) Locate appropriate speakers – 3 days.(B) Invite them to speak (and get confirmation) – 4 days.(C) Send out announcements of the meeting – 1 day.(D) Build a website to register attendees – 3 days.(E) Plan a banquet menu – 1 day.(F) Retain a caterer – 2 days.(G) Determine the registration fee – 1 day.(H) Reserve a room for the banquet – 1 day.(I) Update website with info – 1 day.

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 10 / 25

Page 13: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Example

We have the following times and precedence relations.Task Time Precedent Tasks

(A) Locate speakers 3(B) Confirm speakers 4 A(C) Send announcements 1 B, D, E, G(D) Build website 3(E) Plan menu 1 F(F) Retain caterer 2(G) Registration fee 1 F(H) Banquet room 1(I) Update website 1 B, D, E, G

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 11 / 25

Page 14: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Outline

1 Introduction

2 Definitions

3 Example

4 Digraphs

5 Project Digraphs

6 Priority Lists

7 Assignment

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 12 / 25

Page 15: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Definitions

Definition (Digraph)A digraph is a “directed” graph. That is, each edge is given a direction,indicated by an arrowhead.

A

C

B

E

D

F

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 13 / 25

Page 16: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Example

A

C

B

E

D

F

GH

I

Start End

This digraph shows the precedence relations of our example.

Note the two additional vertices Start and End.

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 14 / 25

Page 17: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Example

A

C

B

E

D

F

GH

I

Start End

This digraph shows the precedence relations of our example.Note the two additional vertices Start and End.

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 14 / 25

Page 18: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Outline

1 Introduction

2 Definitions

3 Example

4 Digraphs

5 Project Digraphs

6 Priority Lists

7 Assignment

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 15 / 25

Page 19: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Project Digraphs

Definition (Project Digraph)A project digraph is a digraph that displays the precedence relationsamong the tasks of a project as well as the process times for eachtask, and START and END vertices.

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 16 / 25

Page 20: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Example

Example (Project Digraph)

Start(0)B(5)

D(2)

A(6)

C(7)

End(0)

E(5) H(4)

G(3)

F(3)

The diagram shows the precedence relations.Some of the precedence relations are implied by the graph.

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 17 / 25

Page 21: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Outline

1 Introduction

2 Definitions

3 Example

4 Digraphs

5 Project Digraphs

6 Priority Lists

7 Assignment

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 18 / 25

Page 22: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Priority Lists

Definition (Priority List)A priority list is a list of the tasks of a project, listed in the order inwhich we prefer to execute them.

Definition (Priority List Model)The priority list model uses a priority list to schedule the tasks.Whenever a processor is available, the model chooses the next task inthe list that is ready to be processed. (To be ready, all precedent tasksmust have been completed.)

If there are M tasks, then there are M! possible priority lists.It is not practical to try them all.

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 19 / 25

Page 23: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Example

Example (Priority-List Scheduling)

Start(0)B(5)

D(2)

A(6)

C(7)

End(0)

E(5)

Suppose the priority list is A,B,C,D,E and that there are only 2processors.What is the resulting schedule?

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 20 / 25

Page 24: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Example

Example (Priority-List Scheduling)

Start(0)B(5)

D(2)

A(6)

C(7)

End(0)

E(5)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Processor 1

Processor 2

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 21 / 25

Page 25: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Example

Example (Priority-List Scheduling)

Start(0)B(5)

D(2)

A(6)

C(7)

End(0)

E(5)

A(6)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Processor 1

Processor 2

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 21 / 25

Page 26: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Example

Example (Priority-List Scheduling)

Start(0)B(5)

D(2)

A(6)

C(7)

End(0)

E(5)

B(5)A(6)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Processor 1

Processor 2

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 21 / 25

Page 27: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Example

Example (Priority-List Scheduling)

Start(0)B(5)

D(2)

A(6)

C(7)

End(0)

E(5)

C(7)B(5)A(6)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Processor 1

Processor 2

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 21 / 25

Page 28: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Example

Example (Priority-List Scheduling)

Start(0)B(5)

D(2)

A(6)

C(7)

End(0)

E(5)

C(7)B(5)D(2)A(6)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Processor 1

Processor 2

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 21 / 25

Page 29: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Example

Example (Priority-List Scheduling)

Start(0)B(5)

D(2)

A(6)

C(7)

End(0)

E(5)

C(7)E(5)

B(5)D(2)A(6) Idle

Idle0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Processor 1

Processor 2

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 21 / 25

Page 30: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Example

Example (Priority-List Scheduling)What if there had been 3 processors?What if the priority list had been A,C,D,E ,B?What if the priority list had been E ,D,C,B,A?

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 22 / 25

Page 31: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Another Example

Example (Priority-List Scheduling)

Task Precedent Tasks Time(A) Locate speakers 5(B) Confirm speakers C, D 2(C) Send announcements 4(D) Build website 6(E) Plan menu A, C, F 3(F) Retain caterer A, B 1(G) Registration fee F 4

Schedule the tasks with priority list A,B,C,D,E ,F ,G with 2processors.

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 23 / 25

Page 32: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Outline

1 Introduction

2 Definitions

3 Example

4 Digraphs

5 Project Digraphs

6 Priority Lists

7 Assignment

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 24 / 25

Page 33: Scheduling and Digraphs - Hampden-Sydney Collegepeople.hsc.edu/faculty-staff/robbk/Math111/Lectures/Fall... · 2016-11-21 · Mon, Nov 21, 2016 Robb T. Koether (Hampden-Sydney College)

Assignment

AssignmentChapter 8 Exercises 4, 12, 13, 14, 16, 19, 20.

Robb T. Koether (Hampden-Sydney College) Scheduling and Digraphs Mon, Nov 21, 2016 25 / 25