Your SlideShare is downloading. ×
0
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

My presentation minimum spanning tree

6,524

Published on

Networking models for quantitative methods of research

Networking models for quantitative methods of research

Published in: Business, Technology
0 Comments
2 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
Your message goes here
• Be the first to comment

No Downloads
Views
Total Views
6,524
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
161
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
• Introduction to Networks Network models are an extremely important category of mathematical program that have numerous practical applications. Part of their appeal is the direct and intuitive mapping between the real world, the network diagram, and the underlying solution algorithms. Many network problems can be solved via linear programming, and in fact, special extremely fast variants of linear programming can be applied. The largest mathematical programs that are regularly solved in practice, e.g. airline crew scheduling problems, are usually network problems. For many types of network problems there are also specialized non-LP solution algorithms. We will first look at some of the classic non-LP solution methods, and later return to the idea of solving networks via LP.
• Basic Definitions Network models are created from two major building blocks: arcs (sometimes called edges), which are connecting lines, and nodes, which are the connecting points for the arcs. A graph is a structure that is built by interconnecting nodes and arcs. A directed graph (often called a digraph) is a graph in which the arcs have specified directions, as shown by arrowheads. Finally, a network is a graph (or more commonly a digraph) in which the arcs have an associated flow. Some example diagrams are given in Figure 8.1.
• Flow:Wireless networksNetwork of possible cable TV paths
• There are some further definitions associated with graphs and networks: chain: a sequence of arcs connecting two nodes i and j. For example, in Figure 8.1(a), we might connect nodes A and E via the chains ABCE or ADCE. path: a sequence of directed arcs connecting two nodes. In this case, you must respect the arc directions. For example, in Figure 8.1(b), a path from A to E might be ABDE, but the chain ABCE is not a path because it traverses arc BC in the wrong direction. cycle: a chain that connects a node to itself without any retracing. For example, in Figure 8.1(a), ABCEDA is a cycle, but ABCDECBA is not a cycle because of the double traversal of arcs AB and BC.
• It is sometimes important to know whether a graph is connected and there are efficient computer algorithms for checking this.
• tree: a connected graph having no cycles. Some examples are shown in Figure 8.2(a) .
• spanning tree: normally a tree selected from among the arcs in a graph or network so that all of the nodes in the tree are connected. See Figure 8.2(b). Spanning trees have interesting applications in services layout, for example, finding a way to lay out the computer cable connecting all of the buildings on a campus (nodes) by selecting from among the possible inter-building connections (arcs). See Figure 8.2(b). Spanning trees have interesting applications in services layout, for example, finding a way to lay out the computer cable connecting all of the buildings on a campus (nodes) by selecting from among the possible inter-building connections (arcs).
• The minimal spanning tree problem is:to connect all nodes in a network so that the total branch lengths are minimized.The technical statement of the minimum spanning tree problem is simple: given a graph in which the arcs are labeled with the distances between the nodes that they connect, find a spanning tree which has the minimum total length. Recall that a spanning tree connects all of the nodes in the graph, and has no cycles. As for the shortest route problem, the arc labels could as well be related to time or cost. There are many examples of applications of the minimum spanning tree problem: 1. Find the least cost set of roadways among the possible set of roadways to connect a set of locations. 2. Find the shortest total length of sewer to lay among the buildings in a planned subdivision, given the set of possible inter-building sewer routes. 3. Find the minimum total length of telephone cable to connect all of the offices in a building, given the possible routings of cable between offices.
• You can also use excel tabulation in solving this.The solution approach to the minimal spanning tree problem is actually easier than the shortest route solution method. In the minimal spanning tree solution approach, we can start at any node in the network. However, the conventional approach is to start with node 1.
• Let us begin arbitrarily at node E, and label the nodes with the order in which they are solved, while keeping track of all of the notations on a copy of the graph in Figure 8.10. The closest node to node E is node D at a distance of 4 units, so node D is the 2nd solved node. Candidate unsolved nodes are now B (BD=2), A (AD=5), C (CD=2, CE=5), F (FD=6), and G (GD=3, GE=6). The smallest connecting length is 2 (CD or BD), so we choose CD arbitrarily. Node C is the 3rd solved node. Nodes E, D, and C are now solved. Candidate unsolved nodes are A (AC=2, AD=5), B (BD=2), F (FD=6), and G (GD=3, GE=6). The smallest connecting length is 2 (AC or BD), so we choose BD arbitrarily. Node B is the 4th solved node. Nodes E, D, C and B are now solved. Candidate unsolved nodes are A (AB=3, AD=5, AC=2), F (FB=13, FD=6) and G (GD=3, GE=6). The smallest connecting length is 2 (AC), so this is chosen. Node A is the 5th solved node. Nodes E, D, C, B and A are now solved. Candidate unsolved nodes are F (FB=13, FD=6), and G (GD=3, GE=6). The smallest connecting length is 3 (GD), so node G is the 6th solved node. Nodes E, D, C, B, A and G are now solved. Candidate unsolved nodes are F (FB=13, FD=6, FG=2), and H (HG=6). The smallest connecting length is 2 (FG), so F is the 7th solved node. Finally, all nodes are solved except node H. The candidate connecting lengths are HF=3 and HG=6. HF is chosen, so H is the 8th and last solved node. Now the solution can be recovered. The minimum spanning tree itself is all of the arcs in the arc set (i.e. all of the arcs shown in bold in Figure 8.10). Note how this differs from the shortest route solution in which not all of the arcs in the arc set are part of the final solution. The total length of the minimum spanning tree is found by summing the lengths of all of the arcs in the arc set: ED + DC + DB + CA + DG + GF + FH = 4 + 2 + 2 + 2 + 3 + 2 + 3 = 18. The total length of the minimum spanning tree is 18 units.
• Note that you will get the identical total of 18 units no matter which node you choose as the initial node (tr y it yourself). There is more than one spanning tree that gives this same result, however. We know this because of the arbitrary choice we made in solving the 3rd node. The solution method for the minimum spanning tree problem is an example of a greedy algorithm. A greedy algorithm does whatever is best at the current step, without ever considering what the impact might be on the overall problem. This is usually a bad idea in optimization because it leads to a solution that is less than optimal over all. However, just choosing the closest unsolved nodes leads to an overall optimum solution in thisspecial case. The algorithm for a maximum spanning tree is obvious: simply choose the longest solved-to-unsolved node connection at each step. You might want a maximum spanning tree in a case where profit is involved, for example, choosing television cable routings to connect a set of locations. The extension to directed graphs is also straightforward: you can only select from among arcs that connect in the direction that you are working (either away from the initial node, or towards the initial node).
• The longest we`ve had a child stay so far is nine months. The shortest was one night. ... Sometimes it`s just a misunderstanding, and the child can get back home, ... It`s very hard. But it`s the most rewarding thing I`ve ever done. They tell you in training to love the kids like they`re your own. But you know you have to love them enough to let them go.- Michael StewartView more Michael Stewart Quotes
• Transcript

• 1. MINIMUM SPANNING
A Networking Model Report for
DPA 702
QUANTITATIVE METHODS OF RESEARCH
By:
ALONA M. SALVACebu Technological University
• 2. Topics
• Definitions & Networking Basics
Network models are created from two major building blocks:
arcs (sometimes called edges), which are connecting lines, and
nodes, which are the connecting points for the arcs.
A graph is a structure that is built by interconnecting nodes and arcs.
A directed graph (often called a digraph) is a graph in which the arcs have specified directions, as shown by arrowheads.
Finally, a network is a graph (or more commonly a digraph) in which the arcs have an associated flow.
Practical Optimization: A Gentle Introduction, John W. Chinneck, 2010
http://www.sce.carleton.ca/faculty/chinneck/po.html
• 9. Networking Basics
A network is an arrangement of paths connected at various points, through which items move.
Introduction to Management Science, 9thed, Bernard W. Taylor III, 2006
Practical Optimization: A Gentle Introduction, John W. Chinneck, 2010
http://www.sce.carleton.ca/faculty/chinneck/po.html
• 10. Definitions & Networking Basics
Some further definitions associated with graphs and networks:
chain: a sequence of arcs connecting two nodes i and j. For example, in Figure 8.1(a), we might connect nodes A and E via the chains ABCE or ADCE.
path: a sequence of directed arcs connecting two nodes. In this case, you must respect the arc directions. For example, in Figure 8.1(b), a path from A to E might be ABDE, but the chain ABCE is not a path because it traverses arc BC in the wrong direction.
cycle: a chain that connects a node to itself without any retracing.
Practical Optimization: A Gentle Introduction, John W. Chinneck, 2010
http://www.sce.carleton.ca/faculty/chinneck/po.html
• 11. Definitions & Networking Basics
connected graph (or connected network): has just one part. In other words you can reach any node in the graph or network via a chain from any other node.
Practical Optimization: A Gentle Introduction, John W. Chinneck, 2010
http://www.sce.carleton.ca/faculty/chinneck/po.html
• 12. tree: a connected graph having no cycles. Some examples are shown in Figure 8.2(a).
Practical Optimization: A Gentle Introduction, John W. Chinneck, 2010
http://www.sce.carleton.ca/faculty/chinneck/po.html
• 13. Definitions
spanning tree: normally a tree selected from among the arcs in a graph or network so that all of the nodes in the tree are connected.
Practical Optimization: A Gentle Introduction, John W. Chinneck, 2010
http://www.sce.carleton.ca/faculty/chinneck/po.html
• 14. Definitions
flow capacity: an upper (and sometimes lower) limit on the amount of flow in an arc in a network. For example, the maximum flow rate of water in a pipe, or the maximum simultaneous number of calls on a telephone connection.
source (or source node): a node which introduces flow into a network. This happens at the boundary between the network under study and the external world.
sink (or sink node): a node which removes flow from a network. This happens at the boundary between the network under study and the external world.
Practical Optimization: A Gentle Introduction, John W. Chinneck, 2010
http://www.sce.carleton.ca/faculty/chinneck/po.html
• 15. The Minimum Spanning Tree Problem
Given a graph in which the arcs are labeled with the distances between the nodes that they connect, find a spanning tree which has the minimum total length.
NO CYCLES ALLOWED!!
ALGORITHMS – a problem solving procedure following a set of rules
Cycle- the nodes are connected by more than one edge.
Practical Optimization: A Gentle Introduction, John W. Chinneck, 2010
http://www.sce.carleton.ca/faculty/chinneck/po.html
• 16. Steps of the minimal spanning tree solution method:
Select any starting node (conventionally, node 1 is selected).
Select the node closest to the starting node to join the spanning tree.
Select the closest node not presently in the spanning tree.
Repeat step 3 until all nodes have joined the spanning tree.
Introduction to Management Science, 9thed, Bernard W. Taylor III, 2006
• 17. Practical Optimization: A Gentle Introduction, John W. Chinneck, 2010
http://www.sce.carleton.ca/faculty/chinneck/po.html
• 18. What is an MST Algorithm
An MST algorithm is a way to show the shortest distance
There are many different algorithms:
Introduction to Management Science, 9thed, Bernard W. Taylor III, 2006
• 21. KRUSKAL’S ALGORITHM
Pick out the smallest edges
Repeat Step 1 as long as the edges selected does not create a cycle
When all nodes have been connected, you are done
http://www.slideshare.net/zhaokatherine/minimum-spanning-tree
• 22. REVERSE-DELETE ALGORITHM
This is the opposite of Kruskal’s algorithm
Start with all edges
Delete the longest edge
Continue deleting longest edges as long as all nodes are connected and no cycles are formed
http://www.slideshare.net/zhaokatherine/minimum-spanning-tree
• 23. PRIM’S ALGORITHM
Pick out a nod
Pick out the shortest edge that is connected to your tree so far, as long as it doesn’t create a cycle
Continue this until all nodes are covered
http://www.slideshare.net/zhaokatherine/minimum-spanning-tree
• 24. 17
i
a
b
h
c
d
e
f
g
8
7
9
4
2
11
14
4
6
7
10
8
2
1
The execution of Kruskal's algorithm (Moderate part)
• The edges are considered by the algorithm in sorted order by weight.
• 25. The edge under consideration at each step is shown with a red weight number.
• 18
i
i
a
b
h
c
d
e
f
g
a
b
h
c
d
e
f
g
8
7
8
7
9
9
4
4
2
2
11
11
14
14
4
4
6
7
6
7
10
10
8
8
2
1
2
1
• 26. 19
i
i
a
b
h
c
d
e
f
g
a
b
h
c
d
e
f
g
8
7
8
7
9
9
4
4
2
2
11
11
14
14
4
4
6
7
6
7
10
10
8
8
2
1
2
1
• 27. 20
i
i
a
b
h
c
d
e
f
g
a
b
h
c
d
e
f
g
8
7
8
7
9
9
4
4
2
2
11
11
14
14
4
4
6
7
6
7
10
10
8
8
2
1
2
1
• 28. 21
i
i
a
b
h
c
d
e
f
g
a
b
h
c
d
e
f
g
8
7
8
7
9
9
4
4
2
2
11
11
14
14
4
4
6
7
6
7
10
10
8
8
2
1
2
1
• 29. 22
i
i
a
b
h
c
d
e
f
g
a
b
h
c
d
e
f
g
8
7
8
7
9
9
4
4
2
2
11
11
14
14
4
4
6
7
6
7
10
10
8
8
2
1
2
1
• 30. 23
Prim's algorithm(basic part)
MST_PRIM(G,w,r)
A={}
S:={r} (r is an arbitrary node in V)
3. Q=V-{r};
4. while Q is not empty do {
5 take an edge (u, v) such that (1) u S and v  Q (v S ) and
(u, v) is the shortest edge satisfying (1)
6 add (u, v) to A, add v to S and delete v from Q
}
• 31. 24
Prim's algorithm
MST_PRIM(G,w,r)
1 for each u in Q do
key[u]:=∞
parent[u]:=NIL
4 key[r]:=0; parent[r]=NIL;
5 QV[Q]
6 while Q!={} do
7 u:=EXTRACT_MIN(Q); if parent[u]Nil print (u, parent[u])
8 for each v in Adj[u] do
9 if v in Q and w(u,v)<key[v]
10 then parent[v]:=u
11 key[v]:=w(u,v)
• 32. 25
• Grow the minimum spanning tree from the root vertex r.
• 33. Q is a priority queue, holding all vertices that are not in the tree now.
• 34. key[v] is the minimum weight of any edge connecting v to a vertex in the tree.
• 35. parent[v] names the parent of v in the tree.
• 36. When the algorithm terminates, Q is empty; the minimum spanning tree A for G is thus A={(v,parent[v]):v∈V-{r}}.
• 37. Running time: O(||E||lg |V|).
• 26
i
i
a
b
h
c
d
e
f
g
a
b
h
c
d
e
f
g
8
7
8
7
9
9
4
4
2
2
11
11
14
14
4
4
6
7
6
7
10
10
8
8
2
1
2
1
The execution of Prim's algorithm(moderate part)
the root vertex
• 38. 27
i
i
a
b
h
c
d
e
f
g
a
b
h
c
d
e
f
g
8
7
8
7
9
9
4
4
2
2
11
11
14
14
4
4
6
7
6
7
10
10
8
8
2
1
2
1
• 39. 28
i
i
a
b
h
c
d
e
f
g
a
b
h
c
d
e
f
g
8
7
8
7
9
9
4
4
2
2
11
11
14
14
4
4
6
7
6
7
10
10
8
8
2
1
2
1
• 40. 29
i
i
a
b
h
c
d
e
f
g
a
b
h
c
d
e
f
g
8
7
8
7
9
9
4
4
2
2
11
11
14
14
4
4
6
7
6
7
10
10
8
8
2
1
2
1
• 41. 30
i
a
b
h
c
d
e
f
g
8
7
9
4
2
11
14
4
6
7
10
8
2
1
Bottleneck spanning tree: A spanning tree of G whose largest edge weight is minimum over all spanning trees of G. The value of the bottleneck spanning tree is the weight of the maximum-weight edge in T.
Theorem:A minimum spanning tree is also a bottleneck spanning tree. (Challenge problem)
• 42. MST’s
Kruskal (1956) and Prim (1957)
• MST’s makes our life easier and we save money by using short paths
• 43. MST’s was first seen in Poland, France, the Czech Republic Slovakia, and Czechoslovakia
• IMPORTANCE OF MST’S
We need it in computer science because it prevent loops in a switched network with redundant paths
It is one of the oldest and most basic graphs in theoritical computer science
http://www.slideshare.net/zhaokatherine/minimum-spanning-tree
• 44. Why we like MST’s
MST’s are fun to work with
It helps us find the shortest route
“The shortest distance between two people is a sMILE.”