0% found this document useful (0 votes)
11 views

Module-03 Networking

The document discusses network optimization models, emphasizing their applications in various fields such as supply chain management and project planning. It introduces key concepts like network problems, minimum spanning trees, and algorithms for finding the shortest routes, including Dijkstra's and Ford-Fulkerson algorithms. Additionally, it highlights the importance of these models in real-world scenarios like network design and resource management.

Uploaded by

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

Module-03 Networking

The document discusses network optimization models, emphasizing their applications in various fields such as supply chain management and project planning. It introduces key concepts like network problems, minimum spanning trees, and algorithms for finding the shortest routes, including Dijkstra's and Ford-Fulkerson algorithms. Additionally, it highlights the importance of these models in real-world scenarios like network design and resource management.

Uploaded by

javvadi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 59

Network Analysis

Module-3

J Uma mahesh
Network Optimization Models
Network representations also are widely used for problems in such
diverse areas as production, distribution, project planning, facilities
location, resource management, supply chain management and
financial planning— to name just a few examples.
Many network optimization models actually are special types of
linear programming problems.
we shall introduce you to five important kinds of network problems
and some basic ideas of how to solve them (without delving into
issues of data structures that are so vital to successful large-scale
implementations).
Types of network problems
EXAMPLE
SEERVADA PARK has recently been set aside for a limited amount of sightseeing and
backpack hiking. Cars are not allowed into the park, but there is a narrow, winding road
system for trams and for jeeps driven by the park rangers. This road system is shown
(without the curves) in Fig. 10.1, where location O is the entrance into the park; other
letters designate the locations of ranger stations (and other limited facilities). The
numbers give the distances of these winding roads in miles.
THE TERMINOLOGY OF NETWORKS
A network consists of a set of points and a set of lines connecting
certain pairs of the points. The points are called nodes (or vertices);
e.g., the network in Fig. 10.1 has seven nodes designated by the seven
circles. The lines are called arcs (or links or edges or branches); e.g., the
network in Fig. 10.1 has 12 arcs corresponding to the 12 roads in the
road system. Arcs are labeled by naming the nodes at either end; for
example, AB is the arc between nodes A and B in Fig. 10.1
The arcs of a network may have a flow of some type through them, e.g.,
the flow of
trams on the roads of Seervada Park in Sec. 10.1. Table 10.1 gives several
examples of
flow in typical networks. If flow through an arc is allowed in only one
direction (e.g., a
one-way street), the arc is said to be a directed arc. The direction is
indicated by adding
an arrowhead at the end of the line representing the arc. When a directed
arc is labeled by
listing two nodes it connects, the from node always is given before the to
node; e.g., an arc
that is directed from node A to node B must be labeled as AB rather than
BA. Alternatively,
this arc may be labeled as A B.
If flow through an arc is allowed in either direction (e.g., a pipeline that can
be used
to pump fluid in either direction), the arc is said to be an undirected arc.
To help you
Algorithms for finding shortest route
(Network problems)
• There are several algorithms for solving the shortest route problem, including:
1.Dijkstra's Algorithm: a graph search algorithm that finds the shortest path from a
source node to all other nodes in a weighted graph.
2.Bellman-Ford Algorithm: an algorithm that finds the shortest path in a weighted graph
with negative edge weights.
3.A* Algorithm: a heuristic search algorithm that combines Dijkstra's algorithm with a
best-first search.
4.Floyd-Warshall Algorithm: an algorithm that finds the shortest path between all pairs of
nodes in a weighted graph.
5.Johnson Algorithm: an algorithm that finds the shortest path between all pairs of nodes
in a weighted graph, with a time complexity of O(n^2 log n).
6.Viterbi Algorithm: a dynamic programming algorithm used for finding the most likely
sequence of hidden states in a Markov model. It can also be used to find the shortest
path in a weighted graph.
• All of these algorithms have their own strengths and weaknesses, and the choice of
algorithm depends on the specific problem and constraints.
Initial Distance
matrix from node
1 to node 4
Minimum Spanning Tree
• What is a Spanning Tree?

• A Spanning tree is a subset to a connected graph G,


where all the edges are connected, i.e, one can traverse
to any edge from a particular edge with or without
intermediates. Also, a spanning tree must not have any
cycle in it. Thus we can say that if there are N vertices
in a connected graph then the no. of edges that a
spanning tree may have is N-1.
What is a Minimum Spanning Tree?
Given a connected and undirected graph, a spanning tree
of that graph is a subgraph that is a tree and connects all
the vertices together. A single graph can have many
different spanning trees. A minimum spanning tree (MST)
or minimum weight spanning tree for a weighted,
connected, undirected graph is a spanning tree with a
weight less than or equal to the weight of every other
spanning tree. The weight of a spanning tree is the sum
of weights given to each edge of the spanning tree.
Applications of Minimum Spanning Tree Problem
•Network design
•telephone, electrical, hydraulic, TV cable, computer, road
•The standard application is to a problem like phone network
design. You have a business with several offices; you want to
lease phone lines to connect them up with each other, and
the phone company charges different amounts of money to
connect different pairs of cities. You want a set of lines that
connects all your offices with a minimum total cost. It should
be a spanning tree, since if a network isn’t a tree you can
always remove some edges and save money.
• Approximation algorithms for NP-hard problems
• traveling salesperson problem, Steiner tree
• A less obvious application is that the minimum spanning tree
can be used to approximately solve the traveling salesman
problem. A convenient formal way of defining this problem is to
find the shortest path that visits each point at least once.
• Note that if you have a path visiting all points exactly once, it’s
a special kind of tree. For instance in the example above,
twelve of sixteen spanning trees are actually paths. If you have
a path visiting some vertices more than once, you can always
drop some edges to get a tree. So in general the MST weight is
less than the TSP weight, because it’s a minimization over a
strictly larger set
• Indirect applications
• Max bottleneck paths
• LDPC codes for error correction
• Image registration with Renyi entropy
• Learning salient features for real-time face verification
• Reducing data storage in sequencing amino acids in a protein
• Model locality of particle interactions in turbulent fluid flows
• Autoconfig protocol for Ethernet bridging to avoid cycles in a
network
• Cluster analysis
• k clustering problem can be viewed as finding an MST and
deleting the k-1 most expensive edges.
• Image segmentation: MSTs can be used in image
segmentation to segment an image into different regions.
• Bioinformatics: MSTs are used to construct phylogenetic
trees in bioinformatics which represent the evolutionary
relationship between different species.
• Facility location: MSTs can be used to determine the optimal
location of facilities, such as warehouses or power plants, in a
network.
• Geographic Information Systems(GIS): MSTs can be used
in Geographic Information Systems (GIS) to create a map of a
region with the minimum possible total distance between the
locations.
How to solve the below network
problem using MST

Links:
https://www.geeksforgeeks.org/prims-minimum-spanning-tree-mst-greedy-algo-5/
07-09-23 module-03: Prim Alogorithm
O vertex is selected as starting vertex
Step 2: All the edges connecting the incomplete MST and other vertices are the edges {0, 1}
and {0, 7}. Between these two the edge with minimum weight is {0, 1}. So include the edge
and vertex 1 in the MST.
Maximum flow problem Example
Consider a network of pipelines that transports crude oil from oil wells
to refineries. Intermediate booster and pumping stations are installed
at appropriate design distances to move the crude in the network. Each
pipe segment has a finite discharge rate (or capacity) of crude flow. A
pipe segment may be uni- or bidirectional, depending on its design.
Figure 6.18 demonstrates a typical pipeline network. The goal is to
determine the maximum flow capacity of the network.
Figure 6.18
A cut defines a set of arcs whose removal from the network disrupts flow
between the source and sink nodes. The cut capacity equals the sum of the
capacities of its set of arcs. Among all possible cuts in the network, the cut with
the smallest capacity is the bottleneck that determines the maximum flow in the
network.
PM – class 19-09-23
After backward arc calculations
Final solution
Solve this
problem
using ford
Fulkerson’s
algorithm.
Find the max
flow of this
network
Ford-Fulkerson algorithm
The Ford-Fulkerson algorithm is a popular method for finding the maximum flow in a flow
network. It's a flexible algorithm that can be implemented using various path-finding
algorithms, such as breadth-first search (BFS) or depth-first search (DFS), as you
mentioned. Here's a more detailed explanation of the algorithm steps:
1.Initialization: Start with an initial flow of 0 for all edges in the network.
2.While there exists an augmenting path from the source to the sink:
•An augmenting path is a path from the source node to the sink node in the residual
graph (the graph that represents available capacity after the initial flow is
subtracted). This path should have at least one edge with positive residual capacity.
3.Find an augmenting path:
•You can use a path-finding algorithm like BFS or DFS to find an augmenting path in
the residual graph from the source to the sink.
4.Determine the amount of flow that can be sent along the augmenting path:
•The amount of flow that can be sent along the augmenting path is limited by the
edge with the minimum residual capacity among the edges in the path. This value is
called the bottleneck capacity.
Ford-Fulkerson algorithm

5.Increase the flow along the augmenting path by the determined amount:
•Add the bottleneck capacity to the flow along each edge in the augmenting path. This increases the flow
from the source to the sink.
6.Update the residual graph:
•After updating the flow, update the residual capacities in the residual graph. For forward edges, subtract
the flow from their capacity, and for backward edges (to allow flow reversal), add the flow to their capacity.
7.Repeat steps 2-6:
•Keep finding augmenting paths and increasing the flow along those paths until no more augmenting paths
can be found. This is when there are no paths from the source to the sink in the residual graph with positive
residual capacity.
8.Return the maximum flow:
•Once there are no more augmenting paths, you've found the maximum flow in the network. Sum up the
flow values leaving the source node (or entering the sink node), and that's your maximum flow.
The Ford-Fulkerson algorithm may not always terminate in a finite number of iterations if there are edge
capacities with fractional values or if there are augmenting paths with zero capacity. To ensure termination, you
can use an augmenting path-finding algorithm that guarantees termination, such as the Edmonds-Karp
algorithm, which is based on BFS.
Also, be aware that the Ford-Fulkerson algorithm may not work correctly if capacities have real numbers, as it
assumes integer capacities. To handle real-number capacities, you might need to use techniques like scaling or
network simplex methods.

You might also like