chapter 2: business efficiency lesson plan business efficiency visiting vertices-graph theory...

44
Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum Cost-Hamiltonian Circuit Method of Trees Fundamental Principle of Counting Traveling Salesman Problem Helping Traveling Salesman Nearest Neighbor and Sorted Edges Algorithms Minimum-Cost Spanning Trees Kruskal’s Algorithm Critical-Path Analysis

Upload: kevin-hensley

Post on 27-Mar-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyLesson Plan Business Efficiency

Visiting Vertices-Graph Theory Problem

Hamiltonian Circuits Vacation Planning Problem

Minimum Cost-Hamiltonian Circuit Method of Trees

Fundamental Principle of Counting

Traveling Salesman Problem

Helping Traveling Salesman Nearest Neighbor and Sorted Edges Algorithms Minimum-Cost Spanning Trees

Kruskal’s Algorithm

Critical-Path Analysis

Page 2: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyBusiness Efficiency

Visiting Vertices In some graph theory problems, it is only necessary to visit

specific locations (using the travel routes, or streets available). Problem: Find an efficient route along distinct edges of a graph

that visits each vertex only once in a simple circuit.

Applications: Salesman visiting

particular cities Inspecting traffic

signals Delivering mail to

drop-off boxes Pharmaceutical

representative visiting doctors

Page 3: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyVocabulary Review

Page 4: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Remember….Chapter 1: Urban ServicesFinding Euler Circuits Is there an Euler

Circuit? Does it have even

valence? (Yes) Is the graph

connected? (Yes)Euler circuit exists if both “yes.”

Create (Find) an Euler Circuit Pick a point to start (if none has been

given to you). Number the edges in order of travel,

showing the direction with arrows. Cover every edge only once, and end at

the same vertex where you started.

Page 5: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Hamiltonian Circuit A tour that starts and ends at the same vertex (circuit definition). Visits each vertex once. (Vertices cannot be reused or revisited.) Circuits can start at any location. Use wiggly edges to show the circuit.

Starting at vertex A, the tour can be written as ABDGIHFECA, or starting at E, it would be EFHIGDBACE.

Chapter 2: Business EfficiencyHamiltonian Circuit

A different circuit visiting each vertex once and only once would be CDBIGFEHAC (starting at vertex C).

Page 6: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Hamiltonian vs. Euler Circuits Similarities

Both forbid re-use. Hamiltonian do not reuse vertices. Euler do not reuse edges.

Differences Hamiltonian is a circuit of vertices. Euler is a circuit of edges. Euler graphs are easy to spot

(connectedness and even valence). Hamiltonian circuits are NOT as easy

to determine upon inspection. (some classes of graphs have

them, so do not)

Chapter 2: Business EfficiencyHamiltonian Circuit vs. Euler Circuits

Hamiltonian circuit – A tour (showed by wiggly edges) that starts at a vertex of a graph and visits each vertex once and only once, returning to where it started.

Euler circuit – A circuit that traverses each edge of a graph exactly once and starts and stops at the same point.

Page 7: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyHamiltonian CircuitExample of a graph that will NEVER have a Hamiltonian circuit.

A family of graphs that never has a Hamiltonian circuit

Constructed with vertices on two parallel vertical columns with one column having more vertices than the other.

Page 8: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyHamiltonian Circuit

Find a Hamiltonian circuit for this graph starting at A.

Page 9: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyHamiltonian Circuit

Does this graph have a Hamiltonian circuit?

Page 10: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyHamiltonian Circuits

Vacation–Planning Problem Hamiltonian circuit concept is used to find the best route that

minimizes the total distance traveled to visit friends in different cities. (assume less mileage less gas minimizes costs)

Road mileage between four cities

Hamiltonian circuit with weighted edges Edges of the graph are given

weights, or in this case mileage or distance between cities.

As you travel from vertex to vertex, add the numbers (mileage in this case).

Each Hamiltonian circuit will produce a particular sum.

Page 11: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyHamiltonian Circuit

Algorithm – A step-by-step description of how to solve a problem.

Minimum-Cost Hamiltonian Circuit A Hamiltonian circuit with the lowest

possible sum of the weights of its edges.

Algorithm (step-by-step process) for Solving This Problem1. Generate all possible

Hamiltonian tours (starting with Chicago).

2. Add up the distances on the edges of each tour.

3. Choose the tour of minimum distance.

Page 12: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyHamiltonian Circuits

Method of trees for vacation-planning problem

Method of Trees For the first step of the algorithm, a systematic approach is

needed to generate all possible Hamiltonian tours (disregard distances during this step).

This method begins by selecting a starting vertex, say Chicago, and making a tree-diagram showing the next possible locations.

At each stage down, there will be one less choice (3, 2, then 1 choice).

In this example, the method of trees generated six different paths, all starting and ending with Chicago.

However, only three are unique circuits.

Page 13: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyHamiltonian Circuits

The three Hamiltonian circuits’ sums of the tours

Minimum-Cost Hamiltonian Circuit: Vacation-Planning Example

1. Method of tree used to find all tours (for four cities: three unique paths). On the graph, the unique paths are drawn with wiggly lines.

2. Add up distance on edges of each unique tour. The smallest sum would give us the minimal distance, which is the minimum cost.

3. Choose the tour of minimum distance. The smallest sum would give us the minimal distance, which is the minimum cost.

Page 14: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyHamiltonian CircuitUse the method of trees to find all possible Hamiltonian circuits for this graph starting at A.

Page 15: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyHamiltonian CircuitUse the method of trees to find all possible Hamiltonian circuits for this graph starting at A.

The first three branches on the left yield three distinct Hamiltonian circuits ABCDA, ABDCA, and ABDCA

The next three are their reversals ADCBA, ACDBA, and ADBCA

Page 16: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyHamiltonian Circuit Principle of Counting for

Hamiltonian Circuits For a complete graph of n vertices, there are (n

- 1)! possible routes. Half of these routes are repeats, the result is:

Possible unique Hamiltonian circuits are

(n - 1)! / 2

Complete graph – A graph in which every pair of vertices is joined by an edge.

Fundamental Principle of Counting If there are a ways of choosing one thing,

b ways of choosing a second after the first is chosen,

c ways of choosing a third after the second is chosen…, and so on…,

and z ways of choosing the last item after the earlier choices,

then the total number of choice patterns is a × b × c × … × z.

Example: Jack has 9 shirts and 4 pairs of pants. He can wear 9 × 4 = 36 shirt-pant outfits.

Page 17: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyComplete Graph

Complete graph – A graph in which every pair of vertices is joined by an edge.

Page 18: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyPrinciple of Counting

Determine how many Hamiltonian

circuits there are for a complete graph with 10 vertices.

Principle of Counting for Hamiltonian Circuits For a complete graph of n vertices, there are

(n - 1)! possible routes. Half of these routes are repeats, the result is:

Possible unique Hamiltonian circuits are

(n - 1)! / 2

Page 19: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyPrinciple of Counting

Determine how many Hamiltonian circuits there are for a complete graph with 10 vertices.

ሺ10−1ሻ!2 = 9!2 = 9∙8∙7∙6∙5∙4∙3∙2∙12 = 362,8802 = 181,440

For n = 10, we get:

Page 20: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyBrute Force Method

Page 21: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Traveling Salesman Problem (TSP) Difficult to solve Hamiltonian circuits when the number of vertices

in a complete graph increases (n becomes very large). This problem originated from a salesman determining his trip that

minimizes costs (less mileage) as he visits the cities in a sales territory, starting and ending the trip in the same city.

Many applications today: Lobster Fisherman needs to pick up nets Telephone company needs to pick up coins form payphones Electric Company needs to set routes for the meter reader Bus picking up campers and then returning them Picking up records from ATM machines Driving service dropping people from the airport You running your errands…thank you Jared Mackie!

Chapter 2: Business EfficiencyTraveling Salesman Problem

Page 22: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

How can the TSP be solved? Computer program can find optimal route (not always

practical). Heuristic methods can be used to find a “fast” answer, but

does not guarantee that it is always the optimal answer. Nearest-Neighbor algorithm Sorted-Edges algorithm

Chapter 2: Business EfficiencyTraveling Salesman Problem

Page 23: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyTraveling Salesman Problem — Nearest Neighbor

Nearest neighbor starting at vertex A

Nearest Neighbor Algorithm Starting from the “home” city (or vertex), first visit the nearest city (one with the least mileage from “home”). As you travel from city to city, always choose the next city (vertex)

that can be reached quickest (i.e., nearest with the least miles), that has not already been visited.

When all other vertices have been visited, the tour returns home.

Nearest neighbor starting at vertex B

Hamiltonian Circuit: A-B-C-E-D-A

Hamiltonian Circuit: B-C-A-D-E-B

Page 24: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyUse the Nearest Neighbor Algorithm to finish finding a Hamiltonian circuit for this graph. When you have finished, calculate the total.

Starting at vertex C, proceed to D, and then to B

CDBAC - 120

Page 25: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyUse the Nearest Neighbor Algorithm to find a Hamiltoniancircuit for this graph starting at C. What is the total weight?

CDAEBC - 112

Page 26: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyTraveling Salesman Problem — Sorted Edges Sorted Edges Algorithm Start by sorting, or arranging,

the edges in order of increasing cost (sort smallest to largest mileage between cities). At each stage, select that edge of least cost until all the edges

are connected at the end while following these rules: If an edge is added that results in three edges meeting at a

vertex, eliminate the longest edge. Always include all vertices in the

finished circuit.

Page 27: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyTraveling Salesman Problem — Sorted Edges

Page 28: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyTraveling Salesman Problem — Sorted Edges

Example using sorted edges Edges selected are DE at 400, BC at 500, AD at 550, and AB at 600 (AC and AE are not chosen because they result in three edges meeting at A). Lastly, CE at 750 is chosen to complete the circuit of 2800 miles.

Page 29: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyFor this graph, what are the first three edges chosen according to the sorted edges algorithm? Complete the circuit and calculate the total cost.

AB, CD, and BC are the cheapest and they do not close a loop or meet at a single vertex – forces us to use DA. Tour adds up to 130

Page 30: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyUse the Sorted-Edges algorithm to find a Hamiltoniancircuit for this graph. What is the total weight?

Edges selected are AB at 10,CD at 10, AC at 15, and DE at 20, and BE at 300 is chosen to complete the circuit of 80

Page 31: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyMinimum-Cost Spanning Trees

Costs (in millions of dollars) of installing Pictaphone service among five cities

Example: What is the cost to construct a Pictaphone service (telephone service with video image of the callers) among five cities?

The diagram shows the cost to build the connection from each vertex to all other vertices (connected graph).

Cities are linked in order of increasing costs to make the connection.

The cost of redirecting the signal may be small compared to adding another link.

Page 32: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyMinimum-Cost Spanning Trees Minimum-Cost Spanning Trees

Another graph theory optimization problem that links all the vertices together, in order of increasing costs, to form a “tree.”

The cost of the tree is the sum of the weights on the edges. A tree will consist of one piece and contains no circuits. A

spanning tree is a tree that connects all vertices of a graph with each other with no redundancy.

Page 33: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyWith A as the original graph, which of the graphs shown in bold represent trees and/or spanning trees?

Page 34: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencySpanning Trees

Two spanning trees for graph A are shown in b and c.

Page 35: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyMinimum-Cost Spanning Trees Kruskal’s Algorithm — Developed by Joseph Kruskal

(AT&T research). Goal of minimum-cost spanning tree: Create a tree that links all

the vertices together and achieves the lowest cost to create. Add links in order of cheapest cost according to the rules:

No circuit is created (no loops). If a circuit (or loop) is created by adding the next largest link, eliminate this

largest (most expensive link)—it is not needed. Every vertex must be included in the final tree.

Page 36: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyUsing this graph again, apply Kruskal’s Algorithm

Page 37: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyUsing this graph again, apply Kruskal’s Algorithm

Page 38: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyUsing this graph again, apply Kruskal’s Algorithm

Page 39: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyCritical Path Analysis Critical Path Analysis

Most often, scheduling jobs consists of complicated tasks that cannot be done in a random order.

Due to a pre-defined order of tasks, the entire job may not be done any sooner than the longest path of dependent tasks.

Page 40: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyCritical Path Analysis Order-Requirement Digraph

A directed graph (digraph) that shows which tasks precede other tasks among the collection of tasks making up a job.

Page 41: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyOrder Requirement Graph True or False

a) T1 must be done before T2

b) T2 must be done before T4

c) T1 must be done before T7

d) T2 need not be done before T5

e) T3 need not be done before T5

Page 42: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyCritical Path Analysis

An order-requirement digraph, tasks A – E with task times in the circles

Critical Path is BE = 25 + 27 = 52 min.

Critical Path The longest path in an order-requirement digraph. The length is measured in terms of summing the task times of the

tasks making up the path.

Page 43: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyFind the Critical Path for this order-requirement digraph

Page 44: Chapter 2: Business Efficiency Lesson Plan Business Efficiency Visiting Vertices-Graph Theory Problem Hamiltonian Circuits Vacation Planning Problem Minimum

Chapter 2: Business EfficiencyWhat is the length of the earliest completion time for this order-requirement digraph?