0% found this document useful (0 votes)
28 views59 pages

Network Optimization Problems Explained

Operations research pptx- Network Model

Uploaded by

islam tamim
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views59 pages

Network Optimization Problems Explained

Operations research pptx- Network Model

Uploaded by

islam tamim
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Slides Prepared by JOHN

LOUCKS
© 2000 South-Western College Publishing/ITP
Network Models
 The Shortest-Route Problem
 The Minimal Spanning Tree Problem
 The Maximal Flow Problem
Shortest-Route Problem
 The shortest-route problem is concerned with
finding the shortest path in a network from
one node (or set of nodes) to another node (or
set of nodes).
 If all arcs in the network have nonnegative
values then a labeling algorithm can be used
to find the shortest paths from a particular
node to all other nodes in the network.
 The criterion to be minimized in the shortest-
route problem is not limited to distance even
though the term "shortest" is used in
describing the procedure. Other criteria
include time and cost. (Neither time nor cost
are necessarily linearly related to distance.)
Shortest-Route Algorithm

Note: We use the notation [ ] to represent a permanent


label and ( ) to represent a tentative label.
 Step 1: Assign node 1 the permanent label [0,S]. The
first number is the distance from node 1; the
second number is the preceding node. Since node 1
has no preceding node, it is labeled S for the starting
node.

 Step 2: Compute tentative labels, (d,n), for the nodes


that can be reached directly from node 1. d = the
direct distance from node 1 to the node in
question -- this is called the distance value. n indicates
the preceding node on the route from node 1 -- this is
called the preceding node value.
Shortest-Route Algorithm

 Step 3: Identify the tentatively labeled node with the


smallest distance value. Suppose it is node k. Node k is
now permanently labeled (using [ , ] brackets). If all
nodes are permanently labeled, GO TO STEP 5.

 Step 4: Consider all nodes without permanent labels


that can be reached directly from the node k identified
in Step 3. For each, calculate the quantity t, where
t = (arc distance from node k to node i)
+ (distance value at node k).
Shortest-Route Algorithm

 Step 4: (continued)
 If the non-permanently labeled node has a tentative label,
compare t with the current distance value at the
tentatively labeled node in question.
 If t < distance value of the tentatively labeled node,
replace the tentative label in question with (t,k).
 If t > distance value of the tentatively labeled node, keep the
current tentative label.
 If the non-permanently labeled node does not have a
tentative label, create a tentative label of (t,k) for the node
in question.
In either case, now GO TO STEP 3.
Shortest-Route Algorithm

 Step 5: The permanent labels identify the shortest


distance from node 1 to each node as well as the
preceding node on the shortest route. The
shortest route to a given node can be found by working
backwards by starting at the given node and moving to
its preceding node. Continuing this procedure from the
preceding node will provide the shortest route from
node 1 to the node in question.
Example: Shortest Route
 Find the Shortest Route From Node 1 to All Other Nodes
in the Network:

5
2 5

4 6
3
2
7 3
1 3 7

1
5 6 2

4 6
8
Example: Shortest Route

 Iteration 1
 Step 1: Assign Node 1 the permanent label [0,S].

 Step 2: Since Nodes 2, 3, and 4 are directly connected to


Node 1, assign the tentative labels of (4,1) to Node 2; (7,1)
to Node 3; and (5,1) to Node 4.
Example: Shortest Route
(4,1)
 Tentative Labels2 Shown 5 5

4 6
3
2
7 3
[0,S] 1 3 (7,1) 7

1
5 6 2

(5,1) 4 6
8
Example: Shortest Route

 Iteration 1
 Step 3: Node 2 is the tentatively labeled node
with the smallest distance (4) , and hence
becomes the new permanently labeled node.
Example: Shortest Route
[4,1]
 5
Permanent Label
2 Shown 5

4 6
3 2
7 3
[0,S] 1 3 (7,1) 7

5 1 2
6

(5,1) 4 6
8
Example: Shortest Route

 Iteration 1
 Step 4: For each node with a tentative label
which is connected to Node 2 by just one arc,
compute the sum of its arc length plus the
distance value of Node 2 (which is 4).
Node 3: 3 + 4 = 7 (not smaller
than current label; do not change.)
Node 5: 5 + 4 = 9 (assign
tentative label to Node 5 of (9,2) since node 5
had no label.)
Example: Shortest Route
[4,1] (9,2)
 5
Iteration 1, Step2 4 Results 5

4 6
3 2
7 3
[0,S] 1 3 (7,1) 7

5 1 2
6

(5,1) 4 6
8
Example: Shortest Route
 Iteration 2
 Step 3: Node 4 has the smallest tentative label distance (5).
It now becomes the new permanently labeled node.
Example: Shortest Route
[4,1] (9,2)
 Iteration 2, Step 3 Results5
2 5

4 6
3 2
7 3
[0,S] 1 3 (6,4) 7

1
5 6 2

[5,1] 4 6
8
Example: Shortest Route

 Iteration 2
 Step 4: For each node with a tentative label
which is connected to node 4 by just one arc,
compute the sum of its arc length plus the
distance value of node 4 (which is 5).
Node 3: 1 + 5 = 6 (replace the
tentative label of node 3 by (6,4) since 6 < 7, the
current distance.)
Node 6: 8 + 5 = 13 (assign
tentative label to node 6 of (13,4) since node 6
had no label.)
Example: Shortest Route
 Iteration 2, Step 4 Results

[4,1] (9,2)
5
2 5

4 6
3 2
7 3
[0,S] 1 3 (6,4) 7

1
5 6 2

[5,1] 4 6 (13,4)
8
Example: Shortest Route

 Iteration 3
 Step 3: Node 3 has the smallest tentative
distance label (6). It now becomes the new
permanently labeled node.
Example: Shortest Route
[4,1] (9,2)
 Iteration 3, Step 3 Results5
2 5

4 6
3 2
7 3
[0,S] 1 3 [6,4] 7

1
5 6 2

[5,1] 4 6 (13,4)
8
Example: Shortest Route

 Iteration 3
 Step 4: For each node with a tentative label
which is connected to node 3 by just one arc,
compute the sum of its arc length plus the
distance to node 3 (which is 6).
Node 5: 2 + 6 = 8 (replace the
tentative label of node 5 with (8,3) since 8 < 9,
the current distance)
Node 6: 6 + 6 = 12 (replace the
tentative label of node 6 with (12,3) since 12 <
13, the current distance)
Example: Shortest Route
[4,1] (8,3)
 Iteration 3, Step 4 5
Results
2 5

4 6
3
2
7 3
[0,S] 1 3 [6,4] 7

1
5 6 2

[5,1] 4 6 (12,3)
8
Example: Shortest Route

 Iteration 4
 Step 3: Node 5 has the smallest tentative label
distance (8). It now becomes the new
permanently labeled node.
Example: Shortest Route
[4,1] [8,3]
 Iteration 4, Step 3 5
Results
2 5

4 6
3
2
7 3
[0,S] 1 3 [6,4] 7

1
5 6 2

[5,1] 4 6 (12,3)
8
Example: Shortest Route

 Iteration 4
 Step 4: For each node with a tentative label
which is connected to node 5 by just one arc,
compute the sum of its arc length plus the
distance value of node 5 (which is 8).
Node 6: 3 + 8 = 11 (Replace the
tentative label with (11,5) since 11 < 12, the
current distance.)
Node 7: 6 + 8 = 14 (Assign
Example: Shortest Route
[4,1] [8,3]
 5
Iteration 4, Step 4 Results
2 5

4 6
3
2
7 3 (14,5)
[0,S] 1 3 [6,4] 7

1
5 6 2

[5,1] 4 6 (11,5)
8
Example: Shortest Route

 Iteration 5
 Step 3: Node 6 has the smallest tentative label
distance (11). It now becomes the new
permanently labeled node.
Example: Shortest Route
[4,1] [8,3]
 5
Iteration 5, Step 3 Results
2 5

4 6
3
2
7 3 (14,5)
[0,S] 1 3 [6,4] 7

1
5 6 2

[5,1] 4 6 [11,5]
8
Example: Shortest Route

 Iteration 5
 Step 4: For each node with a tentative label
which is connected to Node 6 by just one arc,
compute the sum of its arc length plus the
distance value of Node 6 (which is 11).
Node 7: 2 + 11 = 13 (replace the
tentative label with (13,6) since 13 < 14, the
current distance.)
Example: Shortest Route
[4,1] [8,3]
 5
Iteration 5, Step 4 Results
2 5

4 6
3
2
7 3 (13,6)
[0,S] 1 3 [6,4] 7

5 1 2
6

[5,1] 4 6 [11,5]
8
Example: Shortest Route
 Iteration 6
 Step 3: Node 7 becomes permanently labeled, and hence all
nodes are now permanently labeled. Thus proceed to
summarize in Step 5.

 Step 5: Summarize by tracing the shortest routes backwards


through the permanent labels.
Example: Shortest Route

 Solution Summary

Node Minimum Distance Shortest


Route
2 4 1-2
3 6 1-4-
3
4 5 1-4
5 8 1-4-
3-5
6 11 1-4-
3-5-6
Minimal Spanning Tree
Problem
 A tree is a set of connected arcs that does not
form a cycle.
 A spanning tree is a tree that connects all nodes
of a network.
 The minimal spanning tree problem seeks to
determine the minimum sum of arc lengths
necessary to connect all nodes in a network.
 The criterion to be minimized in the minimal
spanning tree problem is not limited to distance
even though the term "closest" is used in
describing the procedure. Other criteria include
time and cost. (Neither time nor cost are
necessarily linearly related to distance.)
Minimal Spanning Tree
Algorithm
 Step 1: Arbitrarily begin at any node and connect
it to the closest node. The two nodes are referred
to as connected nodes, and the remaining
nodes are referred to as unconnected nodes.

 Step 2: Identify the unconnected node that is


closest to one of the connected nodes (break ties
arbitrarily). Add this new node to the set of
connected nodes. Repeat this step until all nodes
have been connected.

 Note: A problem with n nodes to be connected


will require n - 1 iterations of the above steps.
Example: Minimal
Spanning Tree
3 60
 Find the Minimal
45 Spanning Tree: 9
20 30
50
1 45
4 6
40
40
30 35
5 15
25
7 20
10
2 35
30
25
50
8
Example: Minimal
Spanning Tree
 Iteration 1: Arbitrarily selecting node 1, we see that its
closest node is node 2 (distance = 30). Therefore,
initially we have:
Connected nodes: 1,2
Unconnected nodes: 3,4,5,6,7,8,9,10
Chosen arcs: 1-2

 Iteration 2: The closest unconnected node to a


connected node is node 5 (distance = 25 to node 2).
Node 5 becomes a connected node.
Connected nodes: 1,2,5
Unconnected nodes: 3,4,6,7,8,9,10
Chosen arcs: 1-2, 2-5
Example: Minimal
Spanning Tree
 Iteration 3: The closest unconnected node to a
connected node is node 7 (distance = 15 to node 5).
Node 7 becomes a connected node.
Connected nodes: 1,2,5,7
Unconnected nodes: 3,4,6,8,9,10
Chosen arcs: 1-2, 2-5, 5-7

 Iteration 4: The closest unconnected node to a


connected node is node 10 (distance = 20 to node 7).
Node 10 becomes a connected node.
Connected nodes: 1,2,5,7,10
Unconnected nodes: 3,4,6,8,9
Chosen arcs: 1-2, 2-5, 5-7, 7-10
Example: Minimal
Spanning Tree
 Iteration 5: The closest unconnected node to a
connected node is node 8 (distance = 25 to node 10).
Node 8 becomes a connected node.
Connected nodes: 1,2,5,7,10,8
Unconnected nodes: 3,4,6,9
Chosen arcs: 1-2, 2-5, 5-7, 7-10, 10-8

 Iteration 6: The closest unconnected node to a


connected node is node 6 (distance = 35 to node 10).
Node 6 becomes a connected node.
Connected nodes: 1,2,5,7,10,8,6
Unconnected nodes: 3,4,9
Chosen arcs: 1-2, 2-5, 5-7, 7-10, 10-8, 10-6
Example: Minimal
Spanning Tree
 Iteration 7: The closest unconnected node to a
connected node is node 3 (distance = 20 to node 6).
Node 3 becomes a connected node.
Connected nodes: 1,2,5,7,10,8,6,3
Unconnected nodes: 4,9
Chosen arcs: 1-2, 2-5, 5-7, 7-10, 10-8, 10-6, 6-3

 Iteration 8: The closest unconnected node to a


connected node is node 9 (distance = 30 to node 6).
Node 9 becomes a connected node.
Connected nodes: 1,2,5,7,10,8,6,3,9
Unconnected nodes: 4
Chosen arcs: 1-2, 2-5, 5-7, 7-10, 10-8, 10-6, 6-3, 6-9
Example: Minimal
Spanning Tree
 Iteration 9: The only remaining unconnected
node is node 4. It is closest to connected node
6 (distance = 45).
Thus, the minimal spanning tree (displayed on
the next slide) consists of:
Arcs: 1-2, 2-5, 5-7, 7-10, 10-8, 10-6, 6-3,
6-9, 6-4
Values: 30 + 25 + 15 + 20 + 25 + 35 +
20 + 30 + 45
= 245
Example: Minimal
Spanning Tree
3 60
 Optimal Spanning
45 Tree 9
20 30
50
1 45
4 6
40
40
35
30
5
15
25
7 20
10
2 35
30
50 25
8
Maximal Flow Problem

 The maximal flow problem is concerned with


determining the maximal volume of flow from
one node (called the source) to another node
(called the sink).
 In the maximal flow problem, each arc has a
maximum arc flow capacity which limits the
flow through the arc.
 It is possible that an arc, (i,j), may have a
different flow capacity from i to j than from j to
i.
Maximal Flow Algorithm

 Step 1: Find any path from the source node to the


sink node that has positive flow capacities (in the
direction of the flow) for all arcs on the path. If no
path is available, then the optimal solution has been
found.

 Step 2: Find the smallest arc capacity, Pf , on the path


selected in Step 1. Increase the flow through the
network by sending the amount, Pf , over this path.

 Step 3: For the path selected in Step 1 reduce all arc


flow capacities in the direction of the flow by Pf and
increase all arc flows in the opposite direction of the
flow by Pf . Go to Step 1.
Maximal Flow Algorithm

 NOTE:
Students often ask if it is necessary to
increase the arc flow capacities in the opposite
direction of the flow (latter part of step 3), since
it appears to be a wasted effort. The answer is
YES, it is necessary.
This creation of fictitious capacity allows
us to alter a previous flow assignment if we
need to. Otherwise, we might have to
terminate the algorithm before reaching an
optimal solution.
Example: Maximal Flow

 Find the maximal flow3 from node


3 1 to node 7 in
2 5
the following 0network:
2 4 2

4 3 3 0
4 0 3 0
1 4 7
3 5 1 0
0 3 1 5
6 0
3 6
Example: Maximal Flow
 Iteration 1
 Step 1: Find a path from the source node, 1, to the sink node,
7, that has flow capacities greater than zero on all arcs of the
path. One such path is 1-2-5-7.

 Step 2: The smallest arc flow capacity on the path 1-2-5-7 is


the minimum of {4, 3, 2} = 2.

 Step 3: Reduce all arc flows in the direction of the flow by 2


on this path and increase all arc flows in the reverse direction
by 2:
(1-2) 4 - 2 = 2 (2-1) 0 + 2 = 2
(2-5) 3 - 2 = 1 (5-2) 3 + 2 = 5
(5-7) 2 - 2 = 0 (7-5) 0 + 2 = 2
Example: Maximal Flow
1 5
 2
Iteration 1 Results
5
2 0
2 4

2 3 3 2
4 0 3 0
1 4 7
3 5 1
0
3 1 5
0
6 0
3 6
Example: Maximal Flow

 Iteration 2
 Step 1: Path 1-4-7 has flow capacity greater than zero
on all arcs.

 Step 2: The minimum arc flow capacity on 1-4-7 is 3.

 Step 3: Reduce the arc flow capacities on the path in


the direction of the flow by 3, and increase these
capacities in the reverse direction by 3:
(1-4) 4 - 3 = 1 (4-1) 0 + 3 = 3
(4-7) 3 - 3 = 0 (7-4) 0 + 3 = 3
Example: Maximal Flow
1 5
 2
Iteration 2 Results 5
2 0
2 4

2 3 3 2
1 3 0 3
1 4 7
3 5 1 0
0 3 1 5
6 0
3 6
Example: Maximal Flow

 Iteration 3
 Step 1: Path 1-3-4-6-7 has flow capacity greater than
zero on all arcs.

 Step 2: The minimum arc capacity on 1-3-4-6-7 is 1.

 Step 3: Reduce the arc capacities on the path in the


direction of the flow by 1 and increase the arc
capacities in the reverse direction of the flow by 1:
(1-3) 3 - 1 = 2 (3-1) 0 + 1 = 1
(3-4) 3 - 1 = 2 (4-3) 5 + 1 = 6
(4-6) 1 - 1 = 0 (6-4) 1 + 1 = 2
(6-7) 5 - 1 = 4 (7-6) 0 + 1 = 1
Example: Maximal Flow
1 5
 2 5
Iteration 3 Results 2 0
2 4

2 3 3 2
1 3 0 3
1 4 7
2 6 0 1

2 2 4
1
6 0
3 6
Example: Maximal Flow

 Iteration 4
 Step 1: Path 1-3-6-7 has flow capacity greater than
zero on all arcs.

 Step 2: The minimum arc capacity on 1-3-6-7 is 2.

 Step 3: Reduce all arc flow capacities on the path in


the direction of the flow by 2 and increase the arc flow
capacities in the reverse direction by 2:
(1-3) 2 - 2 = 0 (3-1) 1 + 2 = 3
(3-6) 6 - 2 = 4 (6-3) 0 + 2 = 2
(6-7) 4 - 2 = 2 (7-6) 1 + 2 = 3
Example: Maximal Flow
1 5
 2
Iteration 4 Results 5
2 2 4 0

2 3 3 2
1 3 0 3
1 4 7
0 6 0 3
3 2 2 2
4 2
3 6
Example: Maximal Flow
 Iteration 5
 Step 1: Using the shortest route algorithm, the shortest route
from node 1 to node 7 is 1-2-4-3-6-7.

 Step 2: The smallest arc capacity on 1-2-4-3-6-7 is 2.

 Step 3: Reduce the arc flow capacities on the path in the


direction of the flow by 2 and increase these capacities in the
reverse direction of the flow by 2:
(1-2) 2 - 2 = 0 (2-1) 2 + 2 = 4
(2-4) 2 - 2 = 0 (4-2) 3 + 2 = 5
(4-3) 6 - 2 = 4 (3-4) 2 + 2 = 4
(3-6) 4 - 2 = 2 (6-3) 2 + 2 = 4
(6-7) 2 - 2 = 0 (7-6) 3 + 2 = 5
Example: Maximal Flow

 Note:
Arc 3-4 is a case where in iteration 3
flow of 1 unit was directed from node 3 to node
4. In iteration 5 flow of 2 units was directed
from node 4 to node 3. By subtracting the
assigned flow from the capacity of the
"sending" end of the arc and adding it to the
"receiving" end of the arc, the net effect of the
oppositely directed flow assignments is readily
known.
Example: Maximal Flow
1 5
 2
Iteration 5 Results 5
4 0 0
4

0 5 3 2
1 3 0 3
1 4 7
0 4 0
5
3 4 2
0
2 4
3 6
Example: Maximal Flow

 Note
There are no arcs with positive flow into
the sink node 7. Thus, the maximal possible
flow from node 1 to node 7 has been found. To
identify the maximal flow amount and how it is
to be achieved (directed), compare the original
capacities with the adjusted capacities of each
arc in both directions. If the adjusted capacity
is less than the original capacity, the difference
represents the flow amount for that arc.
Example: Maximal Flow
2
 2
Solution Summary 5

1 2
3

4 3
4 7
1
1 1

3 5
3 6
4
The End of Chapter 9

You might also like