Transportation, Assignment and Transshipment Problems - PowerPoint PPT Presentation

Loading...

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



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

Transportation, Assignment and Transshipment Problems

Description:

Transportation, Assignment and Transshipment Problems CPM and Critical Path Theorem: The minimum length of the schedule is the length of the longest path. – PowerPoint PPT presentation

Number of Views:137
Avg rating:3.0/5.0
Slides: 156
Provided by: t2366
Learn more at: http://abufara.com
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Transportation, Assignment and Transshipment Problems


1
Transportation, Assignment and Transshipment
Problems

2
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
3
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.

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

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

6
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
7
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

8
2. Objective function
  • Since we want to minimize the total cost of
    shipping from plants to cities
  • Minimize Z 8X116X1210X139X14
  • 9X2112X2213X237X24
  • 14X319X3216X335X34

9
3. Supply Constraints
  • Since each supply point has a limited production
    capacity
  • X11X12X13X14 lt 35
  • X21X22X23X24 lt 50
  • X31X32X33X34 lt 40

10
4. Demand Constraints
  • Since each supply point has a limited production
    capacity
  • X11X21X31 gt 45
  • X12X22X32 gt 20
  • X13X23X33 gt 30
  • X14X24X34 gt 30

11
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)

12
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)

13
General Description of a Transportation Problem
  1. A set of m supply points from which a good is
    shipped. Supply point i can supply at most si
    units.
  2. 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.
  3. Each unit produced at supply point i and shipped
    to demand point j incurs a variable cost of cij.

14
  • Xij number of units shipped from supply point i
    to demand point j

15
Balanced Transportation Problem
  • If Total supply equals to total demand, the
    problem is said to be a balanced transportation
    problem

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

17
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

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

19
Methods to find the bfs for a balanced TP
  • There are three basic methods
  • Northwest Corner Method
  • Minimum Cost Method
  • Vogels Method

20
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).

21
According to the explanations in the previous
slide we can set x113 (meaning demand of demand
point 1 is satisfied by supply point 1).
22
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).
23
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).
24
Finally, we will have the following bfs, which
is x113, x122, x223, x232, x241, x342
25
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

26
  • 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.

27
An example for Minimum Cost MethodStep 1 Select
the cell with minimum cost.
28
Step 2 Cross-out column 2
29
Step 3 Find the new cell with minimum shipping
cost and cross-out row 2
30
Step 4 Find the new cell with minimum shipping
cost and cross-out row 1
31
Step 5 Find the new cell with minimum shipping
cost and cross-out column 1
32
Step 6 Find the new cell with minimum shipping
cost and cross-out column 3
33
Step 7 Finally assign 6 to last cell. The bfs is
found as X115, X212, X228, X315, X334 and
X346
34
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.

35
An example for Vogels MethodStep 1 Compute the
penalties.
36
Step 2 Identify the largest penalty and assign
the highest possible value to the variable.
37
Step 3 Identify the largest penalty and assign
the highest possible value to the variable.
38
Step 4 Identify the largest penalty and assign
the highest possible value to the variable.
39
Step 5 Finally the bfs is found as X110, X125,
X135, and X2115
40
7.3 The Transportation Simplex Method
  • In this section we will explain how the simplex
    algorithm is used to solve a transportation
    problem.

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

42
  • 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

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

44
  • 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
45
The Model
  • According to the setup table Machincos problem
    can be formulated as follows (for i,j1,2,3,4)

46
  • 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.

47
The Assignment Problem
  • In general the LP formulation is given as
  • Minimize

Each supply is 1
Each demand is 1
48
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.

49
  • 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.

50
  • 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.

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

52
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

53
  • 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.

54
  • 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.

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

56
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

57
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

58
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

59
Chapter 8Network Models

60
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?

61
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

62
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

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

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

65
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

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

67
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

68
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
69
  • 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
70
  • 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.

71
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

72
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).

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

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

75
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

76
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
77
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

78
Dijkstras Algorithm for Shortest Path on a
Network with Positive Arc Lengths
A
Solved Nodes
2
O
B
5
4
C
79
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
80
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)
81
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
82
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)
83
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)
84
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
85
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
86
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

87
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)

88
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)

89
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

90
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
91
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

92
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

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

94
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
95
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
96
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
97
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
98
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
99
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
100
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
101
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
102
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

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

104
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).
105
  • 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

106
  • 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

107
  • One optimal solution to this LP is Z3, Xso,12,
    X131, X121, Xso,21, X3,si1, X2,si2, Xo3.

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

109
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

110
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

111
  • 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
112
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

113
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

114
  • 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.

115
  • 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
116
  • 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
117
  • 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
118
  • 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
119
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.

120
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

121
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

122
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

123
  • 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
124
  • 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.

125
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

126
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)

127
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

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

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

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

131
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

132
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
133
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
134
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
135
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
136
  • 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
137
  • 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

138
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

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

140
  • 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

141
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
142
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
About PowerShow.com