Chapter 8 Network Models – Part 1 Prof. Dr. Arslan M. ÖRNEK
Network Optimization Models • Networks arise in numerous settings: – Transportation – Electrical and communication networks – Production planning problems – Distribution problems – Project management – Facilities location – Financial planning etc. • Recent developments in OR: Efficient network algorithms 2
Network Optimization Models • Many network models: Special type of LP – Minimum cost network flow problem (MCNFP) • In this chapter: – Shortest path problem – Minimum spanning tree problem – Maximum flow problem – Project scheduling 3
8.1. Basic Definitions A graph or network is defined by two sets of symbols: • Nodes: A set of points or vertices (call it V) are called nodes (or vertices ) of a graph or network. • Arcs: An arc consists of an ordered pair of vertices and represents a possible direction of motion (flow) that may occur between vertices. Node Node ( vertex ) 1 2 Arc (1,2)
8.1. Basic Definitions – Edges ( links , branches , undirected arcs ) : Lines connecting certain pairs of nodes in a network. The flow through an edge is allowed in both directions. 5
8.1. Basic Definitions 6
8.1. Basic Definitions – On an edge , the flow will be in only one direction at a time , a simultaneous flow to both directions requires two directed arcs in both directions. – A network with only directed arcs: A directed network – A network with only undirected arcs: An undirected network – You can convert a network with both directed and undirected arcs to a directed network. (How?) 7
8.1. Basic Definitions V = {1, 2, 3, 4} and A = {(1, 2), (2, 3), (3, 4), (4, 3), (4, 1)} For any arc (j, k), node j is the initial node , and node k is the terminal node . The arc ( j, k) is said to go from node j to node k.
8.1. Basic Definitions A sequence of arcs such that every arc has exactly one vertex in common with the previous arc is called a chain (or undirected path) . A path is a directed chain in which the terminal node of each arc is identical to the initial node of the next arc.
8.1. Basic Definitions – A path from node i to node j has a sequence of arcs whose directions are towards node j. – A chain from node i to node j has a sequence of arcs whose directions are either towards or away from node j. 10
8.1. Basic Definitions – Nodes A and B are factories, Nodes D and E are warehouses, and Node C is a distribution center, arcs represent shipping channels. – A B C E : path from A to E (We can send a flow from A to E on this path) – B C A D : undirected path (chain) from B to D ( cannot send flow) 11
8.2. Shortest Path Problems Assume that each arc in the network has a length associated with it. Suppose we start at a particular node (say, node 1). The problem of finding the shortest path (path of minimum length) from node 1 to any other node in the network is called a shortest path problem .
8.2. Shortest Path Problems Example 1: Suppose that when power is sent from plant 1 (node 1) to city 1 (node 6), it must pass through substations (nodes 2 to 5). For any pair of nodes between which power can be transported, distances (in miles) between the nodes are shown. Powerco wants the power sent from plant 1 to city 1 to travel the minimum possible distance.
8.2. Solution: Dijkstra’s Algorithm Find the shortest path from a node (say, node 1) to all other nodes. To begin, we label node 1 with a permanent label of “ 0 ” . Then we label each node i that is connected to node 1 by a single arc with a temporary label equal to the length of the arc joining node 1 to node i. Each other node (except, of course, for node 1) will have a temporary label of “∞” . Choose the node with the smallest temporary label and make this label permanent. See the rest on the example:
8.2. Shortest Path Problems Dijkstra’s Algorithm
8.2. Shortest Path Problems Dijkstra’s Algorithm
8.2. Shortest Path Problems Dijkstra’s Algorithm
8.2. Shortest Path Problems Dijkstra’s Algorithm
The Shortest Path Problem Example 2 Problem: Determine the shortest routes from the origin to all destinations. The arc lengths are times of travel between cities. 19
The Shortest Path Problem Example Network Representation 20
The Shortest Path Problem Example [ 0* , 16, 9, 35, inf., inf., inf.] Label 3 as permanent: [0*, 16, 9* , 35, inf., inf., inf.] Update labels for connected nodes: [0*, 16, 9*, 24 , inf., 31 , inf.] Label 2 as permanent: [0*, 16* , 9*, 24, inf., 31, inf.] Update labels for connected nodes: [0*, 16*, 9*, 24 , 41 , 31, inf.] Label 4 as permanent: 21
The Shortest Path Problem Example [0*, 16*, 9*, 24* , 41, 31, inf.] Update labels for connected nodes: [0*, 16*, 9*, 24*, 38 , 31 , 43 ] Label 6 as permanent: [0*, 16*, 9*, 24*, 38, 31* , 43] Update labels for connected nodes: [0*, 16*, 9*, 24*, 38, 31*, 43 ] Label 5 as permanent: [0*, 16*, 9*, 24*, 38* , 31*, 43] Update labels for connected nodes: 22
The Shortest Path Problem Example [0*, 16*, 9*, 24*, 38*, 31*, 43* ]. Work backwards: 43-31 = 8 NO, 43-38 = 5 NO, 43-24 = 19 YES Go back to node 4: 24-9 = 15 YES Go back to node 3: 9-0 = 9 YES Shortest path from node 1 to node 7 : 1-3-4-7 with length 43. 23
The Shortest Path Problem Example Network with Optimal Routes 24
The Shortest Path Problem Example Shortest Travel Time from Origin to Each Destination 25
The Shortest Path Problem Example – Mathematical Model Formulation as a 0 - 1 integer programming problem: x ij = 1 if branch (i,j) is selected as part of the shortest route, and 0 if it is not selected. Minimize Z = 16x 12 + 9x 13 + 35x 14 + 12x 24 + 25x 25 + 15x 34 + 22x 36 + 14x 45 + 17x 46 + 19x 47 + 8x 57 + 14x 67 subject to: x 12 + x 13 + x 14 = 1 x 12 - x 24 - x 25 = 0 x 13 - x 34 - x 36 = 0 x 14 + x 24 + x 34 - x 45 - x 46 - x 47 = 0 x 25 + x 45 - x 57 = 0 x 36 + x 46 - x 67 = 0 x 47 + x 57 + x 67 = 1 x ij = 0 or 1 26
8.2. Shortest Path Problems Example 3: I have just purchased (at time 0) a new car for $12,000. To avoid the high maintenance costs associated with an older car, I may trade in my car and purchase a new car. At any time, it costs $12,000 to purchase a new car. My goal is to minimize the net cost (purchasing costs + maintenance costs - money received in trade-ins) incurred during the next five years. Formulate this problem as a shortest-path problem. Age of Car Annual Age of Car Trade-in Price (Years) Maintenance cost (Years) 0 $2,000 1 $7,000 1 $4,000 2 $6,000 2 $5,000 3 $2,000 3 $9,000 4 $1,000 4 $12,000 5 $0
8.2. Shortest Path Problems Example 3 solution: Our goal is to minimize the net cost incurred during the next five years. Our network will have six nodes. Node i is the beginning of year i and for i<j , an arc (i,j) corresponds to purchasing a new car at the beginning of year i and keeping it until the beginning of year j . The length of arc (i,j) (call it c ij ) is the total net cost incurred from year i to j . etc.
8.2. Shortest Path Problems Example 3 solution: We now see that the length of any path from node 1 to node 6 is the net cost incurred during the next five years corresponding to a particular trade-in strategy. For example, suppose I trade in the car at the beginning of year 3 and next trade in the car at the end of year 5 (the beginning of year 6). This strategy corresponds to the path 1 – 3 – 6 in the graph. Exercise: Solve this shortest path problem using Dijkstra’s!
8.3. Maximum Flow Problems Many situations can be modeled by a network in which the arcs may be thought of as having a capacity that limits the quantity of a product that may be shipped through that arc. In these situations, it is often desired to transport the maximum amount of flow from a starting point (called the source ) to a terminal point (called the sink ). Such problems are called maximum flow problems . We will see the LP model and Ford-Fulkerson/Augmented Path method for solving the maximum flow problems.
8.3. Maximum Flow Problems Example: Sunco Oil wants to ship the maximum possible amount of oil (per hour) via pipeline from node s o to node s i . The various arcs represent pipelines of different diameters. The maximum number of barrels of oil (millions of barrels per hour) that can be pumped through each arc is shown. Formulate an LP that can be used to determine the maximum number of barrels of oil per hour.
8.3. Maximum Flow Problems Example (cont.):
8.3. Maximum Flow Problems Example (cont.): Artificial arc
8.3. Maximum Flow Problems Example (cont.):
8.3. Maximum Flow Problems Example: Fly-by-Night Airlines must determine how many connecting flights can be arranged between Juneau, Alaska, and Dallas, Texas daily. Connecting flights must stop in Seattle and then stop in Los Angeles or Denver. Because of limited landing space, Fly-by-Night is limited to making the number of daily flights between pairs of cities shown in Table 9. Set up a maximum-flow problem whose solution will tell the airline how to maximize the number of connecting flights daily from Juneau to Dallas.
8.3. Maximum Flow Problems Network for the problem: Exercise: Write the LP for the model.
Recommend
More recommend