spring 2015 mathematics in management science critical path analysis scheduling problems directed...

22
Spring 2015 Mathematics in Management Science Critical Path Analysis Scheduling Problems Directed Graphs Critical Paths Earliest Completion Time

Upload: bruno-reeves

Post on 30-Dec-2015

218 views

Category:

Documents


3 download

TRANSCRIPT

Spring 2015Mathematics in

Management Science

Critical Path Analysis

Scheduling Problems

Directed Graphs

Critical Paths

Earliest Completion Time

Scheduling Problems

Very different from Routing Problems.

But, can be represented by a weighted, directed graph.

Here the weights are on the vertices instead of the edges.

Problem Minimize time required to complete a list of tasks.

This part of Scheduling Problem.

Critical Path Analysis

For now, assume have unlimited supply of qualified help.But, have restrictions on the order in which some tasks can be completed.

Think about building a house.

Example

You have responsibility to prepare Thanksgiving dinner.

Menu:

turkey, stuffing, potatoes, gravy, pie

The dinner will require completing a number of tasks.

ExampleThe dinner will require completing a number of tasks. E.g.,• making the stuffing• stuffing the turkey• preheating the oven• peeling the potatoes• making the pie crust, etc., etc.

Each task requires certain time to finish

ExampleWith unlimited help, can assign each task to different person.

But, not all tasks can be worked on at the same time!

Some tasks cannot be started until one or more other tasks are finished. E.g.,crust made before pie is filled, before baked

turkey cleaned, & stuff made, before stuffed

Order-Requirement DigraphCan represent restrictions on task order via weighted digraph called order-requirement digraph.

Abbreviated example (without weights yet):Thaw

Turkey

Clean Turkey

Make Stuffing

Stuff Turkey

Bake Turkey

Cook Potatoes

Mash Potatoes

Make Gravy

Carve

Serve

Vertices represent tasks and the directed edges show the restrictions on when a task can “run”.

Order-Requirement Digraph

Thaw Turkey

Clean Turkey

Make Stuffing

Stuff Turkey

Bake Turkey

Cook Potatoes

Mash Potatoes

Make Gravy

Carve

Serve

work “flows” from left to right, following the arrows.

A task can be started only after everything “upstream” from it has been completed.

Order-Requirement Digraph

Also need to know task time; amount of time required to complete a task.

These are wts added to the vertices.

Example order-requirement digraphs:

Order-Requirement Digraphs

Tasks and order requirement info given via directed graphs (digraphs).

A digraph (directed graph) is a graph with arrows on edges that correspond to order requirements.

Vertices correspond to tasks; label with weights (numbers) which give the processing times for task.

Example

All together order-requirement digraph represents a “job”.

A path in order-requirement digraph is sequence of tasks that can be done in order (if other tasks completed).

The length of a path is the sum of the task times along the path; this is the minimum amount of time required to complete the sequence of tasks.

Easiest question: What is shortest amount of time it takes to complete a job (so, all tasks done) given unlimited amount of help?

Answer: the length of the longest path. (Why?)

A critical path in an order-requirement digraph is a longest path.

(There could be more than one.)

Critical Paths

Look at all paths; each has an assoc completion time (sum of all processing times for tasks along the path).

A path with the longest processing time is called a critical path.

Can find these via backflow algorithm; we use eyeball approach.

Example

Paths & their times:

A-B-C 55

D-C 52

D-E 47

A-B-C is critical path

Earliest Completion Time

The shortest possible time it takes to complete the overall project.

You cannot do better than this.

A major factor in the overall cost.

Just the length of a critical path:

ECT=length of critical path

Example

Paths & their times:

A-B-C 55

D-C 52

D-E 47

A-B-C is critical path

ECT = length of A-B-C = 55

Example What are critical paths?

What is ECT?

Shortening ECT

Problem: How to shorten ECT?• Which task times should we decrease?• By how much will this decrease the ECT?

• Must shorten tasks on critical path.• May introduce a new critical path.

ExamplePaths & their times:

A-B-C 55

D-C 52

D-E 47

A-B-C is critical pathECT = length of A-B-C = 55

Shortening task D has no effect on ECT.

Suppose shorten task A by 5 (so now takes 8).

By how much is ECT decreased? new ECT=52

Machine Scheduling Problem

How to schedule tasks on identical processors (machines, humans, robots, etc.) to finish a project in as short a time as possible.

Attack via List Processing Algorithm.