Network Optimization Models

46
MP4F05 OPERATIONS RESEARCH NETWORK OPTIMIZATION MODELS MP4F05 OPERATIONS RESEARCH NETWORK OPTIMIZATION MODELS NETWORK OPTIMIZATION MODELS WEEK 6 NETWORK OPTIMIZATION MODELS WEEK 6 Dr Mao Jianfeng Dr. Mao Jianfeng Assistant Professor, MAE Office: N3.2-02-32 Email: jfmao@ntu edu sg Consultation Hour 5~6pm, Tuesday Email: jfmao@ntu.edu.sg Tel: 6790 5522

Transcript of Network Optimization Models

MP4F05 OPERATIONS RESEARCHNETWORK OPTIMIZATION MODELS

MP4F05 OPERATIONS RESEARCHNETWORK OPTIMIZATION MODELSNETWORK OPTIMIZATION MODELS

WEEK 6NETWORK OPTIMIZATION MODELS

WEEK 6

Dr Mao JianfengDr. Mao JianfengAssistant Professor, MAEOffice: N3.2-02-32Email: jfmao@ntu edu sg

Consultation Hour 5~6pm, TuesdayEmail: [email protected]

Tel: 6790 5522p , y

Network Optimization Models Main TopicsNetwork Optimization Models Main Topics

Shortest Path Problem

Minimum Spanning Tree Problem

Maximum Flow ProblemMaximum Flow Problem

Jianfeng MaoJianfeng Mao 11 of of 4545Jianfeng MaoJianfeng Mao 11 of of 4545

Network Optimization ModelsNetwork Optimization ModelsNetwork optimization models exhibit a very special structure.

Networks and graphs are powerful modeling tools.

For special cases, the special structure can dramatically reduce computational complexitydramatically reduce computational complexity.

Network optimization models addresses hugeNetwork optimization models addresses huge number of diverse application.

They were the first widespread application of LP to problem of industrial logistics.

Jianfeng MaoJianfeng Mao 22 of of 4545Jianfeng MaoJianfeng Mao 22 of of 4545

Network Optimization ModelsNetwork Optimization ModelsPhysical Networks

Road NetworksRailway NetworksAirline Traffic NetworksPower Grid NetworksCyber NetworksyOil & Gas Pipeline Networks

Abstract NetworksOrganizational chartsOrganizational chartsHuman relationship charts (match-making as an example)

Jianfeng MaoJianfeng Mao 33 of of 4545Jianfeng MaoJianfeng Mao 33 of of 4545

example)

An Example of Network Optimization ModelAn Example of Network Optimization Model

For further details on, say, the Concorde TSP code, visit

Jianfeng MaoJianfeng Mao 44 of of 4545Jianfeng MaoJianfeng Mao 44 of of 4545

http://www.tsp.gatech.edu/sweden/index.html

An Example of Network Optimization ModelAn Example of Network Optimization Model

Someone wants to tour the 24978 Cities in Sweden

The Travelling Salesman Problem (TSP) asks for the cheapest possible tourcheapest possible tour through a given collection of cities SP

Network representationTour finding - a popular topictopicHard Problem to solve

Jianfeng MaoJianfeng Mao 55 of of 4545Jianfeng MaoJianfeng Mao 55 of of 4545

An Example of Network Optimization ModelAn Example of Network Optimization Model

The TSP was solved inThe TSP was solved in March 2004.

The optimal tour has a length of approximately 72500 kilometers.

The cumulative CPU time used in network optimization procedures was approximately 84.8 CPU years on a single Intel Xeon 2.8 GHz processor.

Jianfeng MaoJianfeng Mao 66 of of 4545Jianfeng MaoJianfeng Mao 66 of of 4545

Directed and Undirected NetworksDirected and Undirected Networks

1 2 1 2

3 4 3 43 4

An Undirected Graph

3 4

An Directed Graph

Networks to transport commoditiesPhysical goodsPhysical goodsCommunicationsElectricity

The field of Network Optimization is concerned with optimization problems on network.

Jianfeng MaoJianfeng Mao 77 of of 4545Jianfeng MaoJianfeng Mao 77 of of 4545

Network DefinitionsNetwork Definitions

Path: Example: 5,2,3,4No node is repeated

5

Directions are ignored

Directed Path: 1,2,5,3,4N d i t d

1 2 3 4

5No node is repeatedDirections are important

Cycle: 1 2 3 1

1 2 3 4Cycle: 1,2,3,1

A path with 2 or more nodes, except that the first node is the last node.Di ti i d

2

1 3Directions are ignored

Directed Cyle: 1,2,3,4,1No node is repeated, except that 2

4

No node is repeated, except that the first node is the last nodeDirections are important

2

1 3

4

Jianfeng MaoJianfeng Mao 88 of of 4545Jianfeng MaoJianfeng Mao 88 of of 4545

4

The Shortest Path ProblemThe Shortest Path ProblemThe shortest path problem aims to find the shortest path in a network from one node to another node.

A labeling algorithm can be used to find the shortest g gpaths from a particular node to all other nodes in the network, if all arcs in the network have nonnegative

lvalues.

Other criteria, such as time and cost, can be used. For example, we may want to find the route with the h i f d hshortest traverse time from one node to another

node. Neither time nor cost needs to be linearly related to distance

Jianfeng MaoJianfeng Mao 99 of of 4545Jianfeng MaoJianfeng Mao 99 of of 4545

related to distance.

Problem Definition and Example Problem DataProblem Definition and Example Problem Data

Problem: Determine the shortest path from the origin to all destinationsdestinations.

Shipping routes from Los Angeles

Network of shipping routes

Jianfeng MaoJianfeng Mao 1010 of of 4545Jianfeng MaoJianfeng Mao 1010 of of 4545

Problem Definition and Example Problem DataProblem Definition and Example Problem Data

Problem: Determine the shortest routes from the origin to all gdestinations.

Shipping routes from Los Angelespp g g

Network of shipping routes

Jianfeng MaoJianfeng Mao 1111 of of 4545Jianfeng MaoJianfeng Mao 1111 of of 4545

Shortest Path Problem Solution Method SummaryShortest Path Problem Solution Method SummaryStep 1: Let the shortest distance from the origin to itself be 0. Mark the origin node as a permanent node.

Step 2: Select the node with the shortest direct route from the origin. Mark this node as a permanent node.

Step 3: Determine all non-permanent nodes directly connected to a permanent node.connected to a permanent node.

Step 4: Select a node from the nodes identified in Step 3 hi h h th h t t t di tl t d d f3 which has the shortest route directly extended from a permanent node. Mark this selected node as a permanent node.

Repeat Steps 3 & 4 until all nodes are marked as permanent nodes

Jianfeng MaoJianfeng Mao 1212 of of 4545Jianfeng MaoJianfeng Mao 1212 of of 4545

permanent nodes

Shortest Path Problem Solution Approach (1 of 7)Shortest Path Problem Solution Approach (1 of 7)

Determine the initial shortest route from the origin (node 1) to th l t d (3)the closest node (3).

Network with node 1 in the

Jianfeng MaoJianfeng Mao 1313 of of 4545Jianfeng MaoJianfeng Mao 1313 of of 4545

Network with node 1 in the permanent set

Shortest Path Problem Solution Approach (2 of 7)Shortest Path Problem Solution Approach (2 of 7)

Determine all nodes directly connected to the permanent set.

Network with nodes 1 and 3 in the

Jianfeng MaoJianfeng Mao 1414 of of 4545Jianfeng MaoJianfeng Mao 1414 of of 4545

Network with nodes 1 and 3 in the permanent set

Shortest Path Problem Solution Approach (3 of 7)Shortest Path Problem Solution Approach (3 of 7)

Redefine the permanent set.

Network with nodes 1 2 and 3 in the

Jianfeng MaoJianfeng Mao 1515 of of 4545Jianfeng MaoJianfeng Mao 1515 of of 4545

Network with nodes 1, 2, and 3 in the permanent set

Shortest Path Problem Solution Approach (4 of 7)Shortest Path Problem Solution Approach (4 of 7)

Redefine the permanent set.

Network with nodes 1 2 3 and 4 in the

Jianfeng MaoJianfeng Mao 1616 of of 4545Jianfeng MaoJianfeng Mao 1616 of of 4545

Network with nodes 1, 2, 3, and 4 in the permanent set

Shortest Path Problem Solution Approach (5 of 7)Shortest Path Problem Solution Approach (5 of 7)

Continue.

Network with nodes 1 2 3 4 and 6 in the permanent set

Jianfeng MaoJianfeng Mao 1717 of of 4545Jianfeng MaoJianfeng Mao 1717 of of 4545

Network with nodes 1, 2, 3, 4, and 6 in the permanent set

Shortest Path Problem Solution Approach (6 of 7)Shortest Path Problem Solution Approach (6 of 7)

Continue.

Network with nodes 1 2 3 4 5 and 6 in the permanent

Jianfeng MaoJianfeng Mao 1818 of of 4545Jianfeng MaoJianfeng Mao 1818 of of 4545

Network with nodes 1, 2, 3, 4, 5, and 6 in the permanent set

Shortest Path Problem Solution Approach (7 of 7)Shortest Path Problem Solution Approach (7 of 7)

Network with optimal routes fromoptimal routes from Los Angeles to all destinations

TotalFrom Los Angeles to: Route HoursSalt Lake City (node 2) 1 ‒ 2 16Phoenix (node 3) 1 ‒ 3 9Denver (node 4) 1 ‒ 3 ‒ 4 24Denver (node 4) 1 3 4 24Des Moines (node 5) 1 ‒ 3 ‒ 4 ‒ 5 38Dallas (node 6) 1 ‒ 3 ‒ 6 31St. Louis (node 7) 1 ‒ 3 ‒ 4 ‒ 7 43

Jianfeng MaoJianfeng Mao 1919 of of 4545Jianfeng MaoJianfeng Mao 1919 of of 4545

Shortest Travel Time from Origin to Each Destination

Shortest Path Problem Solution ApproachShortest Path Problem Solution Approach

Dijkstra's algorithmSingle SourceSingle SourceNonnegative Distance

Bellmen-Ford algorithmSlowerCover the cases with negative distanceEfficiency vs. Generalityc e cy s Ge e a ty

Li P iJianfeng MaoJianfeng Mao 2020 of of 4545Jianfeng MaoJianfeng Mao 2020 of of 4545

Linear Programming

Problem Definition and Example Problem DataProblem Definition and Example Problem Data

Problem: Determine the shortest Path from the origin, city 1 to g , ythe target, city 7 in this directed graph.

Jianfeng MaoJianfeng Mao 2121 of of 4545Jianfeng MaoJianfeng Mao 2121 of of 4545

Shortest Path ProblemShortest Path Problem

Formulation as a 0-1 integer programming problem.g p g g p

Decision Variables:

⎧= ⎨⎩

1 if branch - is selected as part of the shortest route. 0 if notij

i jx

Objective Function:Minimize

Z = 16x12 + 9x13 + 35x14 + 12x24 + 25x25 + 15x34 + 22x36 + 14x45 + 17 19 8 1417x46 + 19x47 + 8x57 + 14x67

Jianfeng MaoJianfeng Mao 2222 of of 4545Jianfeng MaoJianfeng Mao 2222 of of 4545

Shortest Path ProblemShortest Path Problem

Formulation as a 0-1 integer programming problem. (cont’d.)Constraints:Constraints:

subject to x12 + x13 + x14= 1

x12 - x24 - x25 = 0

x13 - x34 - x36 = 0

x14 + x24+ x34 - x45 - x46 - x47 = 0

x25 + x45 - x57 = 0

x36 + x46 - x67 = 0

x47 + x57 + x67 = 1

xij = 0 or 1

Jianfeng MaoJianfeng Mao 2323 of of 4545Jianfeng MaoJianfeng Mao 2323 of of 4545

Shortest Path ProblemShortest Path Problem

Formulation as Linear Programming Problem. (cont’d.)Constraints:Constraints:

subject to x12 + x13 + x14= 1

x12 - x24 - x25 = 0x12 x24 x25 0

x13 - x34 - x36 = 0

x14 + x24+ x34 - x45 - x46 - x47 = 014 24 34 45 46 47

x25 + x45 - x57 = 0

x36 + x46 - x67 = 036 46 67

x47 + x57 + x67 = 1

xij ≥ 0

The problem can be ready solved as LP by deleting the binary restriction on xij as it is a special type of LP problem.

Jianfeng MaoJianfeng Mao 2424 of of 4545Jianfeng MaoJianfeng Mao 2424 of of 4545

Problem Definition and Example Problem DataProblem Definition and Example Problem Data

Problem: Determine the shortest Path from the origin, city 1 to g , ythe target, city 7 in this undirected graph.

Linear Programming Formulation?

Jianfeng MaoJianfeng Mao 2525 of of 4545Jianfeng MaoJianfeng Mao 2525 of of 4545

Minimum Spanning Tree ProblemMinimum Spanning Tree ProblemA 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 networknetwork.

The minimum spanning tree problem seeks toThe minimum spanning tree problem seeks to determine the minimum sum of arc lengths necessary to connect all nodes in a network.

Other criteria, such as time and cost can be used. Neither time nor cost are necessarily linearly related to distance.

Jianfeng MaoJianfeng Mao 2626 of of 4545Jianfeng MaoJianfeng Mao 2626 of of 4545

Problem Definition and Example Problem DataProblem Definition and Example Problem Data

Problem: Connect all nodes in a network so that th t t l b h l th i i i dthe total branch lengths are minimized.

Network of possible cable TV paths

Jianfeng MaoJianfeng Mao 2727 of of 4545Jianfeng MaoJianfeng Mao 2727 of of 4545

Network of possible cable TV paths

Minimum Spanning Tree Problem Solution MethodMinimum Spanning Tree Problem Solution MethodStep 1: Select any starting node.

Step 2: Select the node closest to the starting node and connect it to the starting nodenode, and connect it to the starting node.

St 3 S l t d t tl i thStep 3: Select a node not currently in the spanning tree that is closest to a node already in the spanning tree and connect these two nodesthe spanning tree, and connect these two nodes.

Repeat Step 3 until all nodes have joined the spanning tree.

Jianfeng MaoJianfeng Mao 2828 of of 4545Jianfeng MaoJianfeng Mao 2828 of of 4545

Minimum Spanning Tree Problem Solution Approach (1 of 6) Minimum Spanning Tree Problem Solution Approach (1 of 6)

Start with any node in the network and select the closest node to join the spanning tree.

Spanning tree with nodes 1 and 3

Jianfeng MaoJianfeng Mao 2929 of of 4545Jianfeng MaoJianfeng Mao 2929 of of 4545

Spanning tree with nodes 1 and 3

Minimum Spanning Tree Problem Solution Approach (2 of 6) Minimum Spanning Tree Problem Solution Approach (2 of 6)

Select the closest node not presently in the spanning area.

Spanning tree with nodes 1, 3, and 4

Jianfeng MaoJianfeng Mao 3030 of of 4545Jianfeng MaoJianfeng Mao 3030 of of 4545

Spanning tree with nodes 1, 3, and 4

Minimum Spanning Tree Problem Solution Approach (3 of 6) Minimum Spanning Tree Problem Solution Approach (3 of 6)

Select the closest node not presently in the spanning area.

Spanning tree with nodes 1, 2, 3, and 4

Jianfeng MaoJianfeng Mao 3131 of of 4545Jianfeng MaoJianfeng Mao 3131 of of 4545

Spanning tree with nodes 1, 2, 3, and 4

Minimum Spanning Tree Problem Solution Approach (4 of 6) Minimum Spanning Tree Problem Solution Approach (4 of 6)

Select the closest node not presently in the ispanning area.

Spanning tree with nodes 1, 2, 3, 4 and 5

Jianfeng MaoJianfeng Mao 3232 of of 4545Jianfeng MaoJianfeng Mao 3232 of of 4545

Minimum Spanning Tree Problem Solution Approach (5 of 6) Minimum Spanning Tree Problem Solution Approach (5 of 6)

Select the closest node not presently in the spanning area.

Spanning tree with nodes 1, 2, 3, 4, 5 and 7

Jianfeng MaoJianfeng Mao 3333 of of 4545Jianfeng MaoJianfeng Mao 3333 of of 4545

Spanning tree with nodes 1, 2, 3, 4, 5 and 7

The Minimum Spanning Tree Problem Solution Approach (6 of 6) The Minimum Spanning Tree Problem Solution Approach (6 of 6)

Minimum spanning tree for cable TV network

Jianfeng MaoJianfeng Mao 3434 of of 4545Jianfeng MaoJianfeng Mao 3434 of of 4545

Maximum Flow ProblemMaximum Flow Problem

The maximum flow problem is concerned with determining the maximum volume of flow from dete g t e a u o u e o o oone node (called the source) to another node (called the sink)(called the sink).

In the maximum flow problem, each arc has a maximum arc flow capacity which limits the flow through the arc

Jianfeng MaoJianfeng Mao 3535 of of 4545Jianfeng MaoJianfeng Mao 3535 of of 4545

Problem Definition and Example Problem DataProblem Definition and Example Problem Data

Problem: Maximize the amount of flow of items from an origin to a destination.

Network of railway system

Jianfeng MaoJianfeng Mao 3636 of of 4545Jianfeng MaoJianfeng Mao 3636 of of 4545

Network of railway system

Maximum Flow Problem Solution Method SummaryMaximum Flow Problem Solution Method SummaryStep 1: Arbitrarily select any path in the network from origin to destination with a positive flow capacity Let the flow capacity of this path be fcapacity. Let the flow capacity of this path be f. Increase the flow amount by f along that path.

Step 2: Reduce the capacity of each branch on the path identified in Step 1 by f.

Step 3: Increase the capacity of each branch on the opposite direction of the path identified inthe opposite direction of the path identified in Step 1 by f

Repeat Steps 1, 2 & 3 until no path with a positive capacity can be found

Jianfeng MaoJianfeng Mao 3737 of of 4545Jianfeng MaoJianfeng Mao 3737 of of 4545

Maximum Flow Problem Solution Approach (1 of 5)Maximum Flow Problem Solution Approach (1 of 5)

Arbitrarily choose any path through the network from origin to d ti ti d hi h ibldestination and ship as much as possible.

maximum flow for path 1–2–5–6

Jianfeng MaoJianfeng Mao 3838 of of 4545Jianfeng MaoJianfeng Mao 3838 of of 4545

a u o o pat 5 6

Maximum Flow Problem Solution Approach (2 of 5)Maximum Flow Problem Solution Approach (2 of 5)

Re-compute branch flow in both directions and then select th f ibl th bit il d d t i i flother feasible paths arbitrarily and determine maximum flow

along the paths until flow is no longer possible.

maximum flow for path 1–4–6

Jianfeng MaoJianfeng Mao 3939 of of 4545Jianfeng MaoJianfeng Mao 3939 of of 4545

a u o o pat 6

Maximum Flow Problem Solution Approach (3 of 5)Maximum Flow Problem Solution Approach (3 of 5)

Re-compute branch flow in both directions and then select th f ibl th bit il d d t i i flother feasible paths arbitrarily and determine maximum flow

along the paths until flow is no longer possible.

maximum flow for path 1–3–6

Jianfeng MaoJianfeng Mao 4040 of of 4545Jianfeng MaoJianfeng Mao 4040 of of 4545

a u o o pat 3 6

Maximum Flow Problem Solution Approach (4 of 5)Maximum Flow Problem Solution Approach (4 of 5)

Re-compute branch flow in both directions and then select other feasible paths arbitrarily and determine maximum flowother feasible paths arbitrarily and determine maximum flow along the paths until flow is no longer possible.

maximum flow for path 1–3–4-6

Jianfeng MaoJianfeng Mao 4141 of of 4545Jianfeng MaoJianfeng Mao 4141 of of 4545

Maximum Flow Problem Solution Approach (5 of 5)Maximum Flow Problem Solution Approach (5 of 5)

maximum flow for railway network

Jianfeng MaoJianfeng Mao 4242 of of 4545Jianfeng MaoJianfeng Mao 4242 of of 4545

Maximum Flow ProblemMaximum Flow Problem

Formulation as Linear programming problem

2 5

41 6

3

Flow = x61

Add a new arc with a sufficient large capacity, say, the sum of capacities of arcs entering node 6.

Jianfeng MaoJianfeng Mao 4343 of of 4545Jianfeng MaoJianfeng Mao 4343 of of 4545

the sum of capacities of arcs entering node 6.

Maximum Flow ProblemMaximum Flow Problem

Formulation as Linear programming problem

xij = flow along branch i-j

Objective Functionmaximize Z = x61

Node Flow-Conservation Constraintsbjsubject to

x61 - x12 - x13 - x14 = 0 (flow in & out of node 1) x12 – x24 – x25 = 0 (node 2)x13 – x34 – x36 = 0 (etc.)

x14 + x24+ x34 - x46 = 0x25 - x56 = 025 56

x36 + x46 + x56 – x61 = 0

Jianfeng MaoJianfeng Mao 4444 of of 4545Jianfeng MaoJianfeng Mao 4444 of of 4545

Maximum Flow ProblemMaximum Flow Problem

Formulation as Linear programming problem (cont’d.)

Arc Capacity Constraintsx ≤ 6 x ≤ 7 x ≤ 4x12 ≤ 6, x13 ≤ 7, x14 ≤ 4,x24 ≤ 3, x25 ≤ 8, x34 ≤ 2,x36 ≤ 6, x46 ≤ 5, x56 ≤ 4,x ≤ 17x61 ≤ 17

Non-negativity Constraintsxij ≥ 0 for all i,j

Jianfeng MaoJianfeng Mao 4545 of of 4545Jianfeng MaoJianfeng Mao 4545 of of 4545