Loading...

PPT – Transportation, Assignment and Transshipment Problems PowerPoint presentation | free to download - id: 769479-NGMxY

The Adobe Flash plugin is needed to view this content

Transportation, Assignment and Transshipment

Problems

Applications of Network Optimization

Applications

Physical analogof nodes

Physical analogof arcs

Flow

Communicationsystems

phone exchanges, computers, transmission facilit

ies, satellites

Cables, fiber optic links, microwave relay

links

Voice messages, Data, Video transmissions

Hydraulic systems

Pumping stationsReservoirs, Lakes

Pipelines

Water, Gas, Oil,Hydraulic fluids

Integrated computer circuits

Gates, registers,processors

Wires

Electrical current

Mechanical systems

Joints

Rods, Beams, Springs

Heat, Energy

Transportationsystems

Intersections, Airports,Rail yards

Highways,Airline routes Railbeds

Passengers, freight, vehicles, operators

Description

- A transportation problem basically deals with the

problem, which aims to find the best way to

fulfill the demand of n demand points using the

capacities of m supply points. While trying to

find the best way, generally a variable cost of

shipping the product from one supply point to a

demand point or a similar constraint should be

taken into consideration.

7.1 Formulating Transportation Problems

- Example 1 Powerco has three electric power

plants that supply the electric needs of four

cities. - The associated supply of each plant and demand of

each city is given in the table 1. - The cost of sending 1 million kwh of electricity

from a plant to a city depends on the distance

the electricity must travel.

Transportation tableau

- A transportation problem is specified by the

supply, the demand, and the shipping costs. So

the relevant data can be summarized in a

transportation tableau. The transportation

tableau implicitly expresses the supply and

demand constraints and the shipping cost between

each demand and supply point.

Table 1. Shipping costs, Supply, and Demand for

Powerco Example

From To To To To To

From City 1 City 2 City 3 City 4 Supply (Million kwh)

Plant 1 8 6 10 9 35

Plant 2 9 12 13 7 50

Plant 3 14 9 16 5 40

Demand (Million kwh) 45 20 30 30

Transportation Tableau

Solution

- Decision Variable
- Since we have to determine how much electricity

is sent from each plant to each city - Xij Amount of electricity produced at plant i

and sent to city j - X14 Amount of electricity produced at plant 1

and sent to city 4

2. Objective function

- Since we want to minimize the total cost of

shipping from plants to cities - Minimize Z 8X116X1210X139X14
- 9X2112X2213X237X24
- 14X319X3216X335X34

3. Supply Constraints

- Since each supply point has a limited production

capacity - X11X12X13X14 lt 35
- X21X22X23X24 lt 50
- X31X32X33X34 lt 40

4. Demand Constraints

- Since each supply point has a limited production

capacity - X11X21X31 gt 45
- X12X22X32 gt 20
- X13X23X33 gt 30
- X14X24X34 gt 30

5. Sign Constraints

- Since a negative amount of electricity can not be

shipped all Xijs must be non negative - Xij gt 0 (i 1,2,3 j 1,2,3,4)

LP Formulation of Powercos Problem

- Min Z 8X116X1210X139X149X2112X2213X237X24

- 14X319X3216X335X34
- S.T. X11X12X13X14 lt 35 (Supply Constraints)
- X21X22X23X24 lt 50
- X31X32X33X34 lt 40
- X11X21X31 gt 45 (Demand Constraints)
- X12X22X32 gt 20
- X13X23X33 gt 30
- X14X24X34 gt 30
- Xij gt 0 (i 1,2,3 j 1,2,3,4)

General Description of a Transportation Problem

- A set of m supply points from which a good is

shipped. Supply point i can supply at most si

units. - A set of n demand points to which the good is

shipped. Demand point j must receive at least di

units of the shipped good. - Each unit produced at supply point i and shipped

to demand point j incurs a variable cost of cij.

- Xij number of units shipped from supply point i

to demand point j

Balanced Transportation Problem

- If Total supply equals to total demand, the

problem is said to be a balanced transportation

problem

Balancing a TP if total supply exceeds total

demand

- If total supply exceeds total demand, we can

balance the problem by adding dummy demand point.

Since shipments to the dummy demand point are not

real, they are assigned a cost of zero.

Balancing a transportation problem if total

supply is less than total demand

- If a transportation problem has a total supply

that is strictly less than total demand the

problem has no feasible solution. There is no

doubt that in such a case one or more of the

demand will be left unmet. Generally in such

situations a penalty cost is often associated

with unmet demand and as one can guess this time

the total penalty cost is desired to be minimum

7.2 Finding Basic Feasible Solution for TP

- Unlike other Linear Programming problems, a

balanced TP with m supply points and n demand

points is easier to solve, although it has m n

equality constraints. The reason for that is, if

a set of decision variables (xijs) satisfy all

but one constraint, the values for xijs will

satisfy that remaining constraint automatically.

Methods to find the bfs for a balanced TP

- There are three basic methods
- Northwest Corner Method
- Minimum Cost Method
- Vogels Method

1. Northwest Corner Method

- To find the bfs by the NWC method
- Begin in the upper left (northwest) corner of the

transportation tableau and set x11 as large as

possible (here the limitations for setting x11 to

a larger number, will be the demand of demand

point 1 and the supply of supply point 1. Your

x11 value can not be greater than minimum of this

2 values).

According to the explanations in the previous

slide we can set x113 (meaning demand of demand

point 1 is satisfied by supply point 1).

After we check the east and south cells, we saw

that we can go east (meaning supply point 1 still

has capacity to fulfill some demand).

After applying the same procedure, we saw that we

can go south this time (meaning demand point 2

needs more supply by supply point 2).

Finally, we will have the following bfs, which

is x113, x122, x223, x232, x241, x342

2. Minimum Cost Method

- The Northwest Corner Method dos not utilize

shipping costs. It can yield an initial bfs

easily but the total shipping cost may be very

high. The minimum cost method uses shipping costs

in order come up with a bfs that has a lower

cost. To begin the minimum cost method, first we

find the decision variable with the smallest

shipping cost (Xij). Then assign Xij its largest

possible value, which is the minimum of si and dj

- After that, as in the Northwest Corner Method we

should cross out row i and column j and reduce

the supply or demand of the noncrossed-out row or

column by the value of Xij. Then we will choose

the cell with the minimum cost of shipping from

the cells that do not lie in a crossed-out row or

column and we will repeat the procedure.

An example for Minimum Cost MethodStep 1 Select

the cell with minimum cost.

Step 2 Cross-out column 2

Step 3 Find the new cell with minimum shipping

cost and cross-out row 2

Step 4 Find the new cell with minimum shipping

cost and cross-out row 1

Step 5 Find the new cell with minimum shipping

cost and cross-out column 1

Step 6 Find the new cell with minimum shipping

cost and cross-out column 3

Step 7 Finally assign 6 to last cell. The bfs is

found as X115, X212, X228, X315, X334 and

X346

3. Vogels Method

- Begin with computing each row and column a

penalty. The penalty will be equal to the

difference between the two smallest shipping

costs in the row or column. Identify the row or

column with the largest penalty. Find the first

basic variable which has the smallest shipping

cost in that row or column. Then assign the

highest possible value to that variable, and

cross-out the row or column as in the previous

methods. Compute new penalties and use the same

procedure.

An example for Vogels MethodStep 1 Compute the

penalties.

Step 2 Identify the largest penalty and assign

the highest possible value to the variable.

Step 3 Identify the largest penalty and assign

the highest possible value to the variable.

Step 4 Identify the largest penalty and assign

the highest possible value to the variable.

Step 5 Finally the bfs is found as X110, X125,

X135, and X2115

7.3 The Transportation Simplex Method

- In this section we will explain how the simplex

algorithm is used to solve a transportation

problem.

How to Pivot a Transportation Problem

- Based on the transportation tableau, the

following steps should be performed. - Step 1. Determine (by a criterion to be developed

shortly, for example northwest corner method) the

variable that should enter the basis. - Step 2. Find the loop (it can be shown that there

is only one loop) involving the entering variable

and some of the basic variables. - Step 3. Counting the cells in the loop, label

them as even cells or odd cells.

- Step 4. Find the odd cells whose variable assumes

the smallest value. Call this value ?. The

variable corresponding to this odd cell will

leave the basis. To perform the pivot, decrease

the value of each odd cell by ? and increase the

value of each even cell by ?. The variables that

are not in the loop remain unchanged. The pivot

is now complete. If ?0, the entering variable

will equal 0, and an odd variable that has a

current value of 0 will leave the basis. In this

case a degenerate bfs existed before and will

result after the pivot. If more than one odd cell

in the loop equals ?, you may arbitrarily choose

one of these odd cells to leave the basis again

a degenerate bfs will result

7.5. Assignment Problems

- Example Machineco has four jobs to be completed.

Each machine must be assigned to complete one

job. The time required to setup each machine for

completing each job is shown in the table below.

Machinco wants to minimize the total setup time

needed to complete the four jobs.

- Setup times
- (Also called the cost matrix)

Time (Hours) Time (Hours) Time (Hours) Time (Hours)

Job1 Job2 Job3 Job4

Machine 1 14 5 8 7

Machine 2 2 12 6 5

Machine 3 7 8 3 9

Machine 4 2 4 6 10

The Model

- According to the setup table Machincos problem

can be formulated as follows (for i,j1,2,3,4)

- For the model on the previous page note that
- Xij1 if machine i is assigned to meet the

demands of job j - Xij0 if machine i is not assigned to meet the

demands of job j - In general an assignment problem is balanced

transportation problem in which all supplies and

demands are equal to 1.

The Assignment Problem

- In general the LP formulation is given as
- Minimize

Each supply is 1

Each demand is 1

Comments on the Assignment Problem

- The Air Force has used this for assigning

thousands of people to jobs. - This is a classical problem. Research on the

assignment problem predates research on LPs. - Very efficient special purpose solution

techniques exist. - 10 years ago, Yusin Lee and J. Orlin solved a

problem with 2 million nodes and 40 million arcs

in ½ hour.

- Although the transportation simplex appears to be

very efficient, there is a certain class of

transportation problems, called assignment

problems, for which the transportation simplex is

often very inefficient. For that reason there is

an other method called The Hungarian Method. The

steps of The Hungarian Method are as listed

below - Step1. Find a bfs. Find the minimum element in

each row of the mxm cost matrix. Construct a new

matrix by subtracting from each cost the minimum

cost in its row. For this new matrix, find the

minimum cost in each column. Construct a new

matrix (reduced cost matrix) by subtracting from

each cost the minimum cost in its column.

- Step2. Draw the minimum number of lines

(horizontal and/or vertical) that are needed to

cover all zeros in the reduced cost matrix. If m

lines are required , an optimal solution is

available among the covered zeros in the matrix.

If fewer than m lines are required, proceed to

step 3. - Step3. Find the smallest nonzero element (call

its value k) in the reduced cost matrix that is

uncovered by the lines drawn in step 2. Now

subtract k from each uncovered element of the

reduced cost matrix and add k to each element

that is covered by two lines. Return to step2.

7.6 Transshipment Problems

- A transportation problem allows only shipments

that go directly from supply points to demand

points. In many situations, shipments are allowed

between supply points or between demand points.

Sometimes there may also be points (called

transshipment points) through which goods can be

transshipped on their journey from a supply point

to a demand point. Fortunately, the optimal

solution to a transshipment problem can be found

by solving a transportation problem.

Transshipment Problem

- An extension of a transportation problem
- More general than the transportation problem in

that in this problem there are intermediate

transshipment points. In addition, shipments

may be allowed between supply points and/or

between demand points - LP Formulation
- Supply point it can send goods to another point

but cannot receive goods from any other point - Demand point It can receive goods from other

points but cannot send goods to any other point - Transshipment point It can both receive goods

from other points send goods to other points

- The following steps describe how the optimal

solution to a transshipment problem can be found

by solving a transportation problem. - Step1. If necessary, add a dummy demand point

(with a supply of 0 and a demand equal to the

problems excess supply) to balance the problem.

Shipments to the dummy and from a point to itself

will be zero. Let s total available supply. - Step2. Construct a transportation tableau as

follows A row in the tableau will be needed for

each supply point and transshipment point, and a

column will be needed for each demand point and

transshipment point.

- Each supply point will have a supply equal to

its original supply, and each demand point will

have a demand to its original demand. Let s

total available supply. Then each transshipment

point will have a supply equal to (points

original supply)s and a demand equal to (points

original demand)s. This ensures that any

transshipment point that is a net supplier will

have a net outflow equal to points original

supply and a net demander will have a net inflow

equal to points original demand. Although we

dont know how much will be shipped through each

transshipment point, we can be sure that the

total amount will not exceed s.

Transshipment Example

- Example 5 Widgetco manufactures widgets at two

factories, one in Memphis and one in Denver. The

Memphis factory can produce as 150 widgets, and

the Denver factory can produce as many as 200

widgets per day. Widgets are shipped by air to

customers in LA and Boston. The customers in each

city require 130 widgets per day. Because of the

deregulation of airfares, Widgetco believes that

it may be cheaper first fly some widgets to NY or

Chicago and then fly them to their final

destinations. The cost of flying a widget are

shown next. Widgetco wants to minimize the total

cost of shipping the required widgets to

customers.

Transportation Tableau Associated with the

Transshipment Example

- NY Chicago LA Boston Dummy

Supply - Memphis 8 13 25 28

0 150 - Denver 15 12 26 25

0 200 - NY 0 6 16 17

0 350 - Chicago 6 0 14 16

0 350 - Demand 350 350 130 130

90 - Supply points Memphis, Denver
- Demand Points LA Boston
- Transshipment Points NY, Chicago
- The problem can be solved using the

transportation simplex method

Limitations of Transportation Problem

- One commodity ONLY any one product supplied and

demanded at multiple locations - Merchandise
- Electricity, water
- Invalid for multiple commodities (UNLESS

transporting any one of the multiple commodities

is completely independent of transporting any

other commodity and hence can be treated by

itself alone) - Example transporting product 1 and product 2

from the supply points to the demand points where

the total amount (of the two products)

transported on a link is subject to a capacity

constraint - Example where economy of scale can be achieved

by transporting the two products on the same link

at a larger total volume and at a lower unit cost

of transportation

Limitations of Transportation Problem

- Difficult to generalize the technique to

accommodate (these are generic difficulty for

mathematical programming, including linear and

non-linear programming - Economy of scale the per-unit cost of

transportation on a link decreasing with the

volume (nonlinear and concave there is a trick

to convert a non-linear program with a piecewise

linear but convex objective function to a linear

program no such tricks exists for a piecewise

linear but concave objective function) - Fixed-cost transportation usually involves fixed

charges. For example, the cost of truck rental

(or cost of trucking in general) consists of a

fixed charge that is independent of the mileage

and a mileage charge that is proportional to the

total mileage driven. Such fixed charges render

the objective function NON-LINEAR and CONCAVE and

make the problem much more difficult to solve

Chapter 8Network Models

Networks are Everywhere

- Physical Networks
- Road Networks
- Railway Networks
- Airline traffic Networks
- Electrical networks, e.g., the power grid
- Abstract networks
- organizational charts
- precedence relationships in projects
- Others?

Overview

- Networks and graphs are powerful modeling tools.
- Most OR models have networks or graphs as a major

aspect - Each representation has its advantages
- Major purpose of a representation
- efficiency in algorithms
- ease of use

Description

- Many important optimization problems can be

analyzed by means of graphical or network

representation. In this chapter the following

network models will be discussed - 1. Shortest path problems
- 2. Maximum flow problems
- 3. CPM-PERT project scheduling models
- 4. Minimum Cost Network Flow Problems
- 5. Minimum spanning tree problems

WHAT IS CPM/PERT FOR?

- CPM/PERT are fundamental tools of project

management and are used for one of a kind, often

large and expensive, decisions such as building

docks, airports and starting a new factory.

Such decisions can be described via mathematical

models, but this is not essential. Some would

argue that CPM/PERT is not a pure OR topic.

CPM/PERT really falls into gray area that can be

claimed by fields other than OR also.

General Comments on CPM/PERT vs. ALB

- Assembly Line Balancing (ALB) are naturally not

discussed in this text, but it is important to be

aware of the huge difference between the ALB and

CPM/PERT concepts because the precedence diagrams

look so similar. - Activity on node (AON) method of network

precedence diagram drawing and the ALB diagram

are identical looking at first. The ALB deals

with small repetitive items such as TVs while

CPM/PERT deals with large one of a kind projects.

Network Analysis and Their LP Connections

- Several Major Basic Classes of Network Problems
- How to recognize and formulate them? What are the

features they can be used to model? What are

their limitations? - All can be formulated as an LP
- Several important ad-hoc algorithms and their

rationales will be provided - Most efficient transportation of goods,

information etc. through a network - Transportation problem (already discussed)
- Transshipment problem

Network Analysis and Their LP Connections

- Most efficient way to go from one point to

another in a distance network or networks

representing non-distance phenomenon, e.g., the

cost network representing production,

inventory, and other costs - Shortest path problem
- Find the shortest path between two points in a

network - Dijkstra algorithm
- Limitations Breakdown of the Dijkstras

algorithm when side constraints are added - LP formulation
- LP formulation to accommodate some side

constraints, e.g., disallowing use of two

particular links in the shortest path - An example application to non-distance contexts

Minimum production and inventory cost in the

context of dynamic programming.

Network Analysis and Their LP Connections

- Maximum amount of flow from one point to another

in a capacitated network - Maximum flow problem
- The flow-augmenting algorithm
- Limitations breakdown of the flow-augmenting

algorithm when side-constraints are added - LP formulation
- LP formulation to accommodate some

side-constraints, e.g., no link carrying more

than 30 of the whole flow so as to avoid drastic

reduction of flow after failure of any one

flow-carrying link

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 of a graph or network. - Arcs An arc consists of an ordered pair of

vertices and represents a possible direction of

motion that may occur between vertices.

Nodes

1

2

Arc

1

2

- Chain A sequence of arcs such that every arc

has exactly one vertex in common with the

previous arc is called a chain.

Common vertex between two arcs

1

2

- Path A path is a chain in which the terminal

node of each arc is identical to the initial node

of next arc. - For example in the figure below (1,2)-(2,3)-(4,3)

is a chain but not a path (1,2)-(2,3)-(3,4) is a

chain and a path, which represents a way to

travel from node 1 to node 4.

Essence of Dijkstras Shortest- Path Algorithm

- Key Points regarding the nature of the algorithm
- In each iteration, the shortest path from the

origin to one of the rest of the nodes is found.

That is, we obtain one new solved node in each

iteration. (More than one such path and node may

be found in one iteration when there is a tie.

There may also exist multiple shortest paths from

the origin to some nodes.) - The algorithm stops when the shortest path to the

destination is found

Essence of Dijkstras Shortest- Path Algorithm

- General thought process involved in each

iteration - Let S be the current set of solved nodes (the

set of nodes whose shortest paths from the origin

been found), N be the set of all nodes, and N S

be the set of unsolved nodes - 1. The next solved node should be reachable

directly from one of the solved nodes via one

direct link or arc (these nodes can be called

neighboring nodes of the current solved nodes).

Therefore, we consider only such nodes and all

the links providing the access from the current

solved nodes to these neighboring nodes (but no

other links).

Essence of Dijkstras Shortest- Path Algorithm

- 2. For each of these neighboring nodes, find the

shortest path from the origin via only current

solved nodes and the corresponding distance from

the origin - 3. In general, there exist multiple such

neighboring nodes.The shortest path to one of

these nodes is claimed to have been found. This

node is the one that has the shortest distance

from the origin among these neighboring nodes

being considered. Call this new node solved

node.

Algorithm for the Shortest Path Problem

- Objective of the nth iteration Find the nth

nearest node to the origin (to be repeated for n

1, 2, until the nth nearest node is the

destination) - Input for the nth Iteration (n 1) nearest

nodes to the origin (solved for at the previous

iterations), including their shortest path and

distance from the origin. (These nodes plus the

origin will be called solved nodes the others

are unsolved nodes) - Candidates for the nth nearest node Each solved

node that is directly connected by a link to one

or more unsolved nodes provides one candidate ?

the unsolved node with the shortest connecting

link (ties provide additional candidates) - Calculation of nth nearest node For each solved

node and its candidate, add the distance between

them and the distance of the shortest path from

the origin to this solved node. The candidate

with the smallest such total distance is the nth

nearest node (ties provide additional solved

nodes), and its shortest path is the one

generating this distance.

The Road System for Seervada Park

- Cars are not allowed into the park
- There is a narrow winding road system for trams

and for jeeps driven by the park rangers - The road system is shown without curves in the

next slide - Location O is the entrance into the park
- Other letters designate the locations of the

ranger stations - The scenic wonder is at location T
- The numbers give the distance of these winding

roads in miles - The park management wishes to determine which

route from the park entrance to station T has the

smallest total distance for the operation of the

trams

The Road System for Seervada Park

7

A

D

5

2

T

2

4

1

5

O

B

7

3

4

1

E

4

C

Dijkstras Algorithm for Shortest Path on a

Network with Positive Arc Lengths

- Oth iteration Shortest distance from node O to

Node O. S O. - Ist iteration
- Step 1 Neighboring Nodes A, B, C
- Step 2 Shortest path from O to neighboring nodes

that traverse through the current set of solved

nodes S. Min 2, 5, 4 2 (corresponding to node

A). - Step 3 The shortest path from O to A has been

found with a distance of 2. S O, A

Dijkstras Algorithm for Shortest Path on a

Network with Positive Arc Lengths

A

Solved Nodes

2

O

B

5

4

C

Dijkstras Algorithm for Shortest Path on a

Network with Positive Arc Lengths

- 2nd Iteration
- Step 1 Neighboring nodes B, C, D
- Step 2 Min (Min (2 2, 5), 4, (2 7)) 4.
- Step 3 Shortest path from B and C has been

found. S O, A, B, C

7

A

D

Current Solved Nodes

(2)

2

B

(0)

5

C

O

4

Dijkstras Algorithm for Shortest Path on a

Network with Positive Arc Lengths

- 3rd Iteration
- Step 1 Neighboring nodes D, E. Only AD, BD,

BE, and CE - Step 2 Min(Min(2 7, 44), Min(4 3, 44)) 7
- Step 3 The shortest path to E has been found S

O, A, B, C, E

7

A

D

Current Solved Nodes

(2)

4

B

3

O

E

(4)

C

4

(4)

Dijkstras Algorithm for Shortest Path on a

Network with Positive Arc Lengths

- Iteration 4
- Step 1 Include (only) Nodes D and T. Include

only arcs AD, BD, ED, ET - Step 2 Min((min(27, 44, 71), (77))) 8
- Step 3 Shortest path from node O to Node D has

been found. S O, A, B, C, D, E

7

A

D

(2)

4

O

1

B

(4)

T

E

Current solved nodes

7

(4)

(7)

C

Dijkstras Algorithm for Shortest Path on a

Network with Positive Arc Lengths

- Iteration 5
- Step 1 Include only node T and include arcs DT

and ET - Step 2 Min(85, 77) 13 (no other competing

nodes) - Step 3 The shortest path from the origin to T,

the destination, has been found, with a distance

of 13

A

(2)

D

Current solved nodes

5

(8)

T

B

(4)

(0)

O

7

E

(4)

C

(7)

Dijkstras Algorithm for Shortest Path on a

Network with Positive Arc Lengths

- Final Solution
- Incidentally, we have also found the nth nearest

node from the origin sequentially

A

(2)

(8)

2

2

5

D

4

T

O

B

1

(0)

3

(13)

4

(4)

E

(7)

C

(4)

Shortest-Path Algorithm Applied to Seervada Park

Problem

n Solved Nodes Directly Connected to Unsolved Nodes Closest Connected Unsolved Node Total Distance Involved Nth Nearest Node Minimum Distance Last Connection

1 O A 2 A 2 OA

2, 3 O A C B 4 224 C B 4 4 OC AB

4 A B C D E E 279 437 448 E 7 BE

5 A B E D DD 279 448 718 D D 8 8 BD ED

6 D E T T 8513 7714 T 13 DT

LP Formulation of the Shortest Path Problem

- Consider the following shortest path problem from

node 1 to node 6 - ? denotes a link
- Send one unit of flow from node 1 to node 6

3

2

4

2

3

4

6

1

6

2

1

4

3

2

2

7

3

5

3

5

LP Formulation of the Shortest Path Problem

- Use flow conservation constraints
- (Outflow from any node inflow to that node) 0
- For origin 1
- For destination -1
- For all other nodes 0
- Let xj denote the flow along link j, j 1, 2,

.., 7, xj 0 or 1 - It turns out that this 0-1 constraints can be

replaced by 0 ? xj ? 1, which can in turn be

replaced by xj ? 0

LP Formulation of the Shortest Path Problem

- Min 4x1 3x2 3x3 2x4 3x5 2x6 2x7
- S.t. x1 x2

1 - -x1 x3 x4

0 - - x2 x5

0 - - x3 x6

0 - - x4 x5 x7

0 - - x6

x7 -1 - Xj ? 0, j 1, 2, , 7 (xj integers)

Maximum Flow Problem

- Maximum flow problem description
- All flow through a directed and connected network

originates at one node (source) and terminates at

one another node (sink) - All the remaining nodes are transshipment nodes
- Flow through an arc is allowed only in the

direction indicated by the arrowhead, where the

maximum amount of flow is given by the capacity

of that arc. At the source, all arcs point away

from the node. At the sink, all arcs point into

the node - The objective is to maximize the total amount of

flow from the source to the sink (measured as the

amount leaving the source or the amount entering

the sink)

Maximum Flow Problem

- Typical applications
- Maximize the flow through a companys

distribution network from its factories to its

customers - Maximize the flow through a companys supply

network from its vendors to its factories - Maximize the flow of oil through a system of

pipelines - Maximize the flow of water through a system of

aqueducts - Maximize the flow of vehicles through a

transportation network

Maximum Flow Algorithm

- Some Terminology
- The residual network shows the remaining arc

capacities for assigning additional flows after

some flows have been assigned to the arcs

The residual capacity for assigning some flow

from node B to node O

5

2

O

B

The residual capacity for flow from node O to

Node B

Maximum Flow Algorithm

- An augmenting path is a directed path from the

source to the sink in the residual network such

that every arc on this path has strictly positive

residual capacity - The residual capacity of the augmenting path is

the minimum of these residual capacities (the

amount of flow that can feasibly be added to the

entire path) - Basic idea
- Repeatedly select some augmenting path and add a

flow equal to its residual capacity to that path

in the original network. This process continues

until there are no more augmenting paths, so that

the flow from the source to the sink cannot be

increased further

Maximum Flow Algorithm

- The Augmenting Path Algorithm
- Assume that the arc capacities are either

integers or rational numbers - 1. identify an augmenting path by finding some

directed path from the source to the sink in the

residual network such that every arc on this path

has strictly positive residual capacity. If no

such path exists, the net flows already assigned

constitute an optimal flow pattern - 2. Identify the residual capacity c of this

augmenting path by finding the minimum of the

residual capacities of the arcs on this path.

Increase the flow in this path by c

Maximum Flow Example

- During the peak season the park management of the

Seervada park would like to determine how to

route the various tram trips from the park

entrance (Station O) to the scenic (Station T) to

maximize the number of trips per day. Each tram

will return by the same route it took on the

outgoing trip so the analysis focuses on outgoing

trips only. To avoid unduly disturbing the

ecology and wildlife of the region, strict upper

limits have been imposed on the number of

outgoing trips allowed per day in the outbound

direction on each individual road. For each road

the direction of travel for outgoing trips is

indicated by an arrow in the next slide. The

number at the base of the arrow gives the upper

limit on the number of outgoing trips allowed per

day.

Maximum Flow Example

- Consider the problem of sending as many units

from node O to node T for the following network

(current flow, capacity)

(0,3)

A

D

(0,9)

(0,5)

(0,1)

T

(0,4)

(0,1)

(0,7)

O

B

(0,6)

(0,5)

(0,4)

(0,2)

E

(0,4)

C

Maximum Flow Example

- Iteration 1 one of the several augmenting paths

is O?B?E?T, which has a residual capacity of

min7, 5, 6 5. By assigning the flow of 5 to

this path, the resulting network is shown above

(0,3)

A

D

(0,9)

(0,5)

(0,1)

T

(0,4)

(0,1)

(5,7)

O

B

(5,6)

(5,5)

(0,4)

(0,2)

E

(0,4)

C

Maximum Flow Example

- Iteration 2 Assign a flow of 3 to the augmenting

path O?A?D?T. The resulting residual network is

(3,3)

A

D

(3,9)

(3,5)

(0,1)

T

(0,4)

(0,1)

(5,7)

O

B

(5,6)

(5,5)

(0,4)

(0,2)

E

(0,4)

C

Maximum Flow Example

- Iteration 3 Assign a flow of 1 to the augmenting

path O?A?B?D?T. The resulting residual network is

(3,3)

A

D

(4,9)

(4,5)

(1,1)

T

(1,4)

(0,1)

(5,7)

O

B

(5,6)

(5,5)

(0,4)

(0,2)

E

(0,4)

C

Maximum Flow Example

- Iteration 4 Assign a flow of 2 to the augmenting

path O?B?D?T. The resulting residual network is

(3,3)

A

D

(6,9)

(4,5)

(1,1)

T

(3,4)

(0,1)

(7,7)

O

B

(5,6)

(5,5)

(0,4)

(0,2)

E

(0,4)

C

Maximum Flow Example

- Iteration 5 Assign a flow of 1 to the augmenting

path O?C?E?D?T. The resulting residual network is

(3,3)

A

D

(7,9)

(4,5)

(1,1)

T

(3,4)

(1,1)

(7,7)

O

B

(5,6)

(5,5)

(1,4)

(0,2)

E

(1,4)

C

Maximum Flow Example

- Iteration 6 Assign a flow of 1 to the augmenting

path O?C?E?T. The resulting residual network is

(3,3)

A

D

(7,9)

(4,5)

(1,1)

T

(3,4)

(1,1)

(7,7)

O

B

(6,6)

(5,5)

(2,4)

(0,2)

E

(2,4)

C

Maximum Flow Example

- There are no more flow augmenting paths, so the

current flow pattern is optimal

3

A

7

D

1

T

4

13

3

1

O

B

13

6

7

E

5

2

C

2

Maximum Flow Example

- Recognizing optimality
- Max-flow min-cut theorem can be useful
- A cut is defined as any set of directed arcs

containing at least one arc from every directed

path from the source to the sink - For any particular cut, the cut value is the sum

of the arc capacities of the arcs of the cut - The theorem states that, for any network with a

single source and sink, the maximum feasible flow

from the source to the sink equals the minimum

cut value for all cuts of the network

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 the 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.

An example for maximum flow problem

- Sunco Oil wants to ship the maximum possible

amount of oil (per hour) via pipeline from node

so to node si as shown in the figure below.

Arc Capacity

(so,1) 2

(so,2) 3

(1,2) 3

(1,3) 4

(3,si) 1

(2,si) 2

The various arcs represent pipelines of different

diameters. The maximum number of barrels of oil

that can be pumped through each arc is shown in

the table above (also called arc capacity).

- For reasons that will become clear soon, an

artificial arc called a0 is added from the sink

to the source. To formulate an LP about this

problem first we should determine the decision

variable. - Xij Millions of barrels of oil per hour that

will pass through arc(i,j) of pipeline. - For a flow to be feasible it needs to be in the

following range - 0 lt flow through each arc lt arc capacity
- And
- Flow into node i Flow out from node i

- Let X0 be the flow through the artificial arc,

the conservation of flow implies that X0 total

amount of oil entering the sink. Thus, Suncos

goal is to maximize X0. - Max Z X0
- S.t. Xso,1lt2 (Arc Capacity constraints)
- Xso,2lt3
- X12lt3
- X2,silt2
- X13lt4
- X3,silt1
- X0Xso,1Xso,2 (Node so flow constraints)
- Xso,1X12X13 (Node 1 flow constraints)
- Xso,2X12X2,si (Node 2 flow constraints)
- X13X3,si (Node 3 flow constraints)
- X3,siX2,siX0 (Node si flow constraints)
- Xijgt0

- One optimal solution to this LP is Z3, Xso,12,

X131, X121, Xso,21, X3,si1, X2,si2, Xo3.

8.6 Minimum Spanning Tree Problems

- Suppose that each arc (i,j) in a network has a

length associated with it and that arc (i,j)

represents a way of connecting node i to node j.

For example, if each node in a network represents

a computer in a computer network, arc(i,j) might

represent an underground cable that connects

computer i to computer j. In many applications,

we want to determine the set of arcs in a network

that connect all nodes such that the sum of the

length of the arcs is minimized. Clearly, such a

group of arcs contain no loop.

Minimum Spanning Tree Problem

- An undirected and connected network is being

considered, where the given information includes

some measure of the positive length (distance,

cost, time, etc.) associated with each link - Both the shortest path and minimum spanning tree

problems involve choosing a set of links that

have the shortest total length among all sets of

links that satisfy a certain property - For the shortest-path problem this property is

that the chosen links must provide a path between

the origin and the destination - For the minimum spanning tree problem, the

required property is that the chosen links must

provide a path between each pair of nodes

Some Applications

- Design of telecommunication networks (fiber-optic

networks, computer networks, leased-line

telephone networks, cable television networks,

etc.) - Design of lightly used transportation network to

minimize the total cost of providing the links

(rail lines, roads, etc.) - Design of a network of high-voltage electrical

transmission lines - Design of a network of wiring on electrical

equipment (e.g., a digital computer system) to

minimize the total length of the wire - Design of a network of pipelines to connect a

number of locations

- For a network with n nodes, a spanning tree is a

group of n-1 arcs that connects all nodes of the

network and contains no loops.

12

1

2

(1,2)-(2,3)-(3,1) is a loop

4

7

(1,3)-(2,3) is the minimum spanning tree

3

Minimum Spanning Tree Problem Description

- You are given the nodes of the network but not

the links. Instead you are given the potential

links and the positive length for each if it is

inserted into the network (alternative measures

for length of a link include distance, cost, and

time) - You wish to design the network by inserting

enough links to satisfy the requirement that

there be a path between every pair of nodes - The objective is to satisfy this requirement in a

way that minimizes the total length of links

inserted into the network

Minimum Spanning Tree Algorithm

- Greedy Algorithm
- 1. Select any node arbitrarily, and then connect

(i.e., add a link) to the nearest distinct node - 2. Identify the unconnected node that is closest

to a connected node, and then connect these two

nodes (i.e., add a link between them). Repeat the

step until all nodes have been connected - 3. Tie breaking Ties for the nearest distinct

node (step 1) or the closest unconnected node

(step 2) may be broken arbitrarily, and the

algorithm will still yield an optimal solution. - Fastest way of executing algorithm manually is

the graphical approach illustrated next

- Example The State University campus has five

computers. The distances between computers are

given in the figure below. What is the minimum

length of cable required to interconnect the

computers? Note that if two computers are not

connected this is because of underground rock

formations.

- Solution We want to find the minimum spanning

tree. - Iteration 1 Following the MST algorithm

discussed before, we arbitrarily choose node 1 to

begin. The closest node is node 2. Now C1,2,

C3,4,5, and arc(1,2) will be in the minimum

spanning tree.

1

1

2

2

2

6

5

4

3

2

4

4

3

5

- Iteration 2 Node 5 is closest to C. since node

5 is two blocks from node 1 and node 2, we may

include either arc(2,5) or arc(1,5) in the

minimum spanning tree. We arbitrarily choose to

include arc(2,5). Then C1,2,5 and C3,4.

1

1

2

2

2

6

5

4

3

2

4

4

3

5

- Iteration 3 Since node 3 is two blocks from

node 5, we may include arc(5,3) in the minimum

spanning tree. Now C1,2,5,3 and C4.

1

1

2

2

2

6

5

4

3

2

4

4

3

5

- Iteration 4 Node 5 is the closest node to node

4. Thus, we add arc(5,4) to the minimum spanning

tree. - We now have a minimum spanning tree consisting of

arcs(1,2), (2,5), (5,3), and (5,4). The length of

the minimum spanning tree is 12249 blocks.

1

1

2

2

2

6

5

4

3

2

4

4

3

5

8.4 CPM and PERT

- Network models can be used as an aid in the

scheduling of large complex projects that consist

of many activities. - CPM If the duration of each activity is known

with certainty, the Critical Path Method (CPM)

can be used to determine the length of time

required to complete a project. - PERT If the duration of activities is not known

with certainty, the Program Evaluation and Review

Technique (PERT) can be used to estimate the

probability that the project will be completed by

a given deadline.

CPM and PERT are used in many applications

including the following

- Scheduling construction projects such as office

buildings, highways and swimming pools - Developing countdown and hold procedure for

the launching of space crafts - Installing new computer systems
- Designing and marketing new products
- Completing corporate mergers
- Building ships

Project Planning, Scheduling and Control

- Planning organized approach to accomplish the

goal of minimizing elapsed time of project - defines objectives and tasks represents tasks

interactions on a network estimates time and

resources - Scheduling a time-phased commitment of resources
- identifies critical tasks which, if delayed, will

delay the projects completion time. - Control means of monitoring and revising the

progress of a project

Network Representation

- Tasks (or activities) are represented by arcs
- Each task has a duration denoted by tj
- Node 0 represents the start and node n denotes

the finish of the project - Precedence relations are shown by arcs
- specify what other tasks must be completed before

the task in question can begin. - A path is a sequence of linked tasks going from

beginning to end - Critical path is the longest path

- To apply CPM and PERT, we need a list of

activities that make up the project. The project

is considered to be completed when all activities

have been completed. For each activity there is a

set of activities (called the predecessors of the

activity) that must be completed before the

activity begins. A project network is used to

represent the precedence relationships between

activities. In the following discussions the

activities will be represented by arcs and the

nodes will be used to represent completion of a

set of activities (Activity on arc (AOA) type of

network).

A

B

1

3

2

Activity A must be completed before activity B

starts

- While constructing an AOA type of project diagram

one should use the following rules - Node 1 represents the start of the project. An

arc should lead from node 1 to represent each

activity that has no predecessors. - A node (called the finish node) representing the

completion of the project should be included in

the network. - Number the nodes in the network so that the node

representing the completion time of an activity

always has a larger number than the node

representing the beginning of an activity. - An activity should not be represented by more

than one arc in the network - Two nodes can be connected by at most one arc.
- To avoid violating rules 4 and 5, it can be

sometimes necessary to utilize a dummy activity

that takes zero time.

Formulating the CPM Problem

- Input Data
- Precedence relationships and durations
- Decision Variable
- ESi Earliest starting times for each of the

tasks - Objective
- Minimize the elapsed time of the project
- where node n is the last node in the graph

Constraints

- If tj is the earliest starting time of a task,

ESi is the earliest starting time of an immediate

predecessor and ti is the duration of the

immediate predecessor, then we have - ESj ³ ESi ti for every arc (i, j)

Critical Path Definitions

- Earliest Start Time (ES) is the earliest time a

task can feasibly start - Earliest Finish Time (EF) is the earliest time a

task can feasibly end - Latest Start Time (LS) is the latest time a task

can feasibly start, without delaying the project

at all. - Latest Finish Time (LF) is the latest time a task

can feasibly end, without delaying the project at

all

Critical Path Method

- Forward Pass
- Go through the jobs in order
- Start each job at the earliest time while

satisfying the precedence constraints - It finds the earliest start and finish times
- EFi ESi ti
- Earliest start time for an activity leaving a

particular node is equal to the largest of the

earliest finish times for all activities entering

the node.

CPM The Backward Pass

- Fix the finishing time
- Look at tasks in reverse order
- Lay out tasks one at a time on the Gantt chart

starting at the finish and working backwards to

the start - Start the task at its latest starting time
- LSi LFi - ti
- Latest finish time for an activity entering a

particular node is equal to the smallest of the

latest start times for all activities leaving the

node.

CPM and Critical Path

- Theorem The minimum length of the schedule is

the length of the longest path. The longest

path is called the critical path - Look for tasks whose earliest start time and

latest start time are the same. These tasks are

critical, and are on a critical path.

CPM and Critical Path

- Critical path are found by identifying those

tasks where ESLS (equivalently, EFLF) - No flexibility in scheduling tasks on the

critical path - The makespan of the critical path equals the LF

of the final task - Slack is the difference between LS and ES, or LF

and EF. An activity with a slack of zero is on

the critical path

An example for CPM

- Widgetco is about to introduce a new product. A

list of activities and the precedence

relationships are given in the table below. Draw

a project diagram for this project.

Activity Predecessors Duration(days)

Atrain workers - 6

Bpurchase raw materials - 9

Cproduce product 1 A, B 8

Dproduce product 2 A, B 7

Etest product 2 D 10

Fassemble products 12 C, E 12

Project Diagram for Widgetco

C 8

F 12

6

5

3

A 6

D 7

1

Dummy

E 10

B 9

4

2

Node 1 starting node Node 6 finish node

Project Diagram for Widgetco Forward Pass (ES,EF)

(9,17)

(26,38)

C 8

F 12

(0,6)

6

5

3

A 6

D 7

1

Dummy

E 10

(16,26)

(9,16)

B 9

4

2

(0,9)

Node 1 starting node Node 6 finish node

Project Diagram for Widgetco Backward Pass (LS,LF)

(18,26)

(26,38)

C 8

F 12

(3,9)

6

5

3

A 6

D 7

1

Dummy

E 10

(16,26)

(9,16)

B 9

4

2

(0,9)

Node 1 starting node Node 6 finish node

- For Widgetco example ES(i)s and LS(i)s are as

follows

Activity ES(i) LS(i)

A 0 3

B 0 0

C 9 18

D 9 9

E 16 16

F 26 26

- According to the table on the previous slide the

slacks are computed as follows - Activity B 0
- Activity A 3
- Activity D 0
- Activity C 9
- Activity E 0
- Activity F 0

Critical path

- An activity with a slack of zero is a critical

activity - A path from node 1 to the finish node that

consists entirely of critical activities is

called a critical path. - For Widgetco example B-D-E-F is a critical path.
- The Makespan is equal to 38

Using LP to find a critical path

- Decision variable
- Xijthe time that the event corresponding to node

j occurs - Since our goal is to minimize the time required

to complete the project, we use an objective

function of - ZXF-X1
- Note that for each activity (i,j), before j

occurs , i must occur and activity (i,j) must be

completed.

- Min Z X6-X1
- S.T. X3gtX16 (Arc (1,3) constraint)
- X2gtX19 (Arc (1,2) constraint)
- X5gtX38 (Arc (3,5) constraint)
- X4gtX37 (Arc (3,4) constraint)
- X5gtX410 (Arc (4,5) constraint)
- X6gtX512 (Arc (5,6) constraint)
- X3gtX2 (Arc (2,3) constraint)
- The optimal solution to this LP is Z38, X10,

X29, X39, X416, X526, X638

On variability of tasks

- Consider 10 independent tasks
- each takes 1 unit of time on average
- the time it takes is uniformly distributed

between 0 and 2.

Modeling Randomness

CPM (uses expected value)

The random schedule takes longer

On Incorporating Variability

- Program Evaluation and Review Technique (PERT)
- Attempts to incorporate variability in the

durations - Assume mean, m, and variance, s2, of the

durations can be estimated