49
Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole, a division of Thomson Learning, Inc.

Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

Embed Size (px)

Citation preview

Page 1: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

Chapter 8

Network Models

to accompany

Operations Research: Applications and Algorithms

4th edition

by Wayne L. Winston

Copyright (c) 2004 Brooks/Cole, a division of Thomson Learning, Inc.

Page 2: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

2

8.1 Basic Definitions

A graph or network is defined by two sets of symbols: nodes and arcs.

A set (call it V) of points, or vertices. The vertices of a graph or network are also called nodes.

An arc consists of an ordered pair of vertices and represents a possible direction of motion that may occur between vertices.

A sequence of arcs such that every arc has exactly one vertex in common with the previous are is called a chain.

Page 3: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

3

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.

2 3

1 4

Page 4: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

4

8.2 Shortest Path Problems

Assume that each arc in the network has a length associated with it.

The problem of finding the shortest path from node 1 to any other node in the network is called a shortest path problem.

Page 5: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

5

Example 2: Equipment Replacement

Assume that a new car (or machine) has been purchased for $12,000 at time 0.

The cost of maintaining the car during a year depends on the age of the car at the beginning of the year, as given in the table below.

Age of Car (Years)

Annual Maintenance

cost

Age of Car (Years)

Trade-in Price

0 $2,000 1 $7,000

1 $4,000 2 $6,000

2 $5,000 3 $2,000

3 $9,000 4 $1,000

4 $12,000 5 $0

Page 6: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

6

Ex. 2 - continued

In order to avoid the high maintenance cost associated with an older car, we may trade in the car and purchase a new car.

To simplify the computations we assume that at any time it costs $12,000 to purchase a new car.

The goal is to minimize the net cost incurred during the next five years.

Page 7: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

7

Example 2: Solution

This problem should be formulated as a shortest path problem.

The network will have six nodes. Node i is the beginning of year i and for i<j, an arc

(i,j) corresponds to purchasing a new car at the beginning of year i and keeping it until the beginning of year j.

The length of arc (i,j) (call it cij) is the total net cost incurred from year i to j.

cij = maintenance cost incurred during years i,i+1,…,j-

1 + cost of purchasing a car at the beginning of year i - trade-in value received at the beginning of year j

Page 8: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

8

Ex. 2 – Solution continued

Applying this formula to the information the problem yields

c12=2+12-7=7c13=2+4+12-6=12c14=2+4+5+12-2=21c15=2+4+5+9+12-1=31

c16=2+4+5+9+12+12-0=44c23=2+12-7=7c24=2+4+12-6=12c25=2+4+5+12-2=21

c26=2+4+5+9+12-1=31c34=2+12-7=7c35=2+4+12-6=12c36=2+4+5+12-2=21

c45=2+12-7=7c46=2+4+12-6=12c56=2+12-7=7

Page 9: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

9

Ex. 2 – Solution continued

From the figure below we can see that both path 1-3-5-6 and 1-2-4-6 will give us the shortest path with a value of 31.

1 654327 7 7 7 7

21

12

12

21

31

12

21

31

44

12

Page 10: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

10

Assuming that all arc lengths are non-negative, Dijkstra’s algorithm, can be used to find the shortest path from a node.

Finding the shortest path between node i and node j in a network may be viewed as a transshipment problem.

The transshipment problem can then easily be solved by using LINGO.

Page 11: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

11

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

These types of problems are called maximum flow problems.

Page 12: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

12

Example 3: Maximum Flow

Sunco Oil wants to ship the maximum possible amount of oil (per hour) via pipeline from node so to node si.

The various arcs represent pipelines of different diameters.

The maximum number of barrels of oil that can be pumped through each arc the arc capacity.

so si21(2)2 (2)3 (2)2

(0)3

a0(2)

3(0)4 (0)1

Arc Capacity

(so,1) 2

(so,2) 3

(1,2) 3

(1,3) 4

(3,si) 1

(2,si) 2

Page 13: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

13

Ex. 3 - Continued

Formulate an LP that can be used to determine the maximum number of barrels of oil per hour that can be send from so to si.

Page 14: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

14

Example 3: Solution

An artificial arc called a0 is added from the sink to the source.

First 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 must have two characteristics: 0 <= flow through each arc <= arc capacity

Flow into node i = Flow out from node i

Page 15: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

15

Ex. 3 – Solution continued

Let x0 be the flow through the artificial arc, the conservation of flow implies that x0 = total amount of oil entering the sink.

Sunco’s goal is to maximize x0.

One optimal solution to this LP is Z=3, xso,1=2, x13=1, x12=1, xso,2=1, x3,si=1, x2,si=2, xo=3.

Max Z= X0S.t. Xso,1<=2 (Arc Capacity constraints)

Xso,2<=3X12<=3X2,si<=2X13<=4X3,si<=1X0=Xso,1+Xso,2 (Node so flow constraints)Xso,1=X12+X13 (Node 1 flow constraints)Xso,2+X12=X2,si (Node 2 flow constraints)X13+X3,si (Node 3 flow constraints)

X3,si+X2,si=X0 (Node si flow constraints)Xij>=0

Page 16: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

16

The maximum flow in a network can be found

using LINDO, but LINGO greatly lessens the effort needed to communicate the necessary information to the computer.

Important questions – Ford-Fulkerson Method Given a feasible flow, how can we tell if it an optimal

flow (that is maximizes x0)?

If a feasible flow is nonoptimal, how can we modify the flow to obtain a new feasible flow that has a larger flow from the source to the sink?

Page 17: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

17

Choose any set of nodes V’ that contains the sink but does not contain the source. Then the set of arcs (i,j) with i not in V’ and j a member of V’ is a cut for the network.

The capacity of a cut is the sum of the capacities of the arcs in the cut.

The flow from source to sink for any feasible flow is less than or equal to the capacity of any cut.

If the sink cannot be labeled, thenCapacity of CUT = current flow from source to sink

Page 18: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

18

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.

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.

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.

Page 19: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

19

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

Page 20: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

20

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.

Page 21: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

21

For each activity there is a set of activities (called predecessors) that must be completed before the activity begins.

Activities are represented by arcs and the nodes will be used to represent completion of a set of activities This type of project network is called an activity on arc (AOA) network.

Given a list of activities, predecessors, and AOS representation of a project (called a project network or project diagram) can be constructed by using the following rules.

Page 22: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

22

1. Node 1 represents the start of the project. An arc should lead from node 1 to represent each activity that has no predecessors.

2. A node (called the finish node) representing the completion of the project should be included in the network.

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

4. An activity should not be represented by more than one arc in the network

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

Page 23: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

23

Example 6: Drawing a Project Network

Widgetco is about to introduce a new product. A list of activities and their predecessors and of the duration of each activity is given.

Draw a project diagram for this project.

Activity Predecessors Duration(days)

A:train workers - 6

B:purchase raw materials - 9

C:produce product 1 A, B 8

D:produce product 2 A, B 7

E:test product 2 D 10

F:assemble products 1&2 C, E 12

Page 24: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

24

Example 6: Solution

Project Diagram for Widgetco

1

65

42

3A 6

B 9

Dummy

C 8

D 7

E 10

F 12

Node 1 = starting nodeNode 6 = finish node

Page 25: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

25

The early event time for node i, represented by ET(i),

is the earliest time at which the event corresponding to node i can occur.

The late event time for node i, represented by LT(i), is the latest time at which the event corresponding to node i can occur without delaying the completion of the project.

To find the early event time for each node in the project network we follow the steps below: Find each prior event to node i that is connected by an arc

to node i. To the ET for each immediate predecessor of the node i,

add the duration of the activity connecting the immediate predecessor to node i.

ET(i) equals the maximum of the sums computed in previous step.

Page 26: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

26

To compute LT(i) we begin with the finish node and go backwards and we follow the steps below: Find each node that occurs after node i and is

connected to node i by an arc. These events are immediate successors of node i.

From the LT for each immediate successor to node i subtract the duration of the activity joining the successor the node i.

LT(i) is the smallest of the differences determined in previous step.

Page 27: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

27

Ex. 6 – Solution continued

To compute LT(i)’s From the graph we know that the late completion

time for node 6 is 38.

Since node 6 is the only immediate successor of node 6, LT(5)=LT(6)-12=26. Same way LT(4)= LT(5)-10=16.

Nodes 4 and 5 are the immediate successors of node 3. Thus;

90-LT(3)LT(2)

188)5(

97)4(min)3(

LT

LTLT

36)3(

09)2(min)1(

LT

LTLT

Page 28: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

28

The concept of total float of an activity can be used as a measure of how important it is to keep each activity’s duration from greatly exceeding our estimate of its completion time.

For an arbitrary arc representing activity (i,j), the total float, represented by TF(i,j), of the activity represented by (i,j) is the amount by which the starting time of activity (i,j), could be delayed beyond its earliest possible starting time without delaying the completion of the project.

Page 29: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

29

Ex. 6 - Solution continued

Widgetco’s ET(i)’s and LT(i)’s

Node ET(i) LT(i)

1 0 0

2 9 9

3 9 9

4 16 16

5 26 26

6 38 38

Page 30: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

30

An activity with a total float 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.

Widgetco critical path is 1-2-3-4-5-6.

Free float is the amount by which the starting time of the activity corresponding to arc(i,j) can be delayed without delaying the start of any later activity beyond the earliest possible starting time.

Page 31: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

31

Linear programming can be used to determine the length of the critical path. Decision variable: xij: the time that the event

corresponding to node j occurs

Goal is to minimize the time required to complete the project, we use an objective function of: Z=xF-x1

Note that for each activity (i,j), before j occurs, i must occur and activity (i,j) must be completed.

A critical path for this project network consists of a path from the start of the project to the finish in which each arc in the path corresponds to a constraint having a dual price critical path.

Page 32: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

32

In many situations, the project manager must complete the project in a time that is less than the length of the critical path.

Linear programming can often be used to determine the allocation of resources that minimizes the cost of meeting the project deadline.

This process is called crashing a project.

The critical path can be found using LINDO but LINGO makes it very easy to communicate the necessary information with the computer.

Page 33: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

33

PERT CPM assumes that the duration of each activity is

known with certainty. For many projects, this is clearly not applicable.

PERT is an attempt to correct this shortcoming of CPM by modeling the duration of each activity as a random variable.

For each activity, PERT requires that the project manager estimate three quantities:

a = estimate of the activity’s duration under the most favorable conditions

b = estimate of the activity’s duration under the least favorable conditions

m = most likely value for the activity’s duration

Page 34: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

34

Let Tij be the duration of activity (i,j). PERT requires the assumption that Tij follows a beta distribution. According to this assumption, it can be shown that the mean and variance of Tij may be approximated by

36

)(var

6

4)(

2abT

bmaTE

ij

ij

Page 35: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

35

PERT requires the assumption that the durations of all activities are independent.

Let CP be the random variable denoting the total duration of the activities on a critical path found by CPM. PERT assumes that the critical path found by CPM contains enough activities to allow us to invoke the Central Limit Theorem and conclude that the following is normally distributed:

pathji

ijTE),(

)(: expected duration of activities on any path

pathji

ijT),(

var : variance of duration of activities on any path

thcriticalpaji

ijTCP),(

Page 36: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

36

8.5 Minimum Cost Network Flow Problems

The transportation, assignment, transshipment, shortest path, maximum flow, and CPM problems are all special cases of minimum cost network flow problems (MCNFP).

Any MCNFP can be solved by a generalization of the transportation simplex called the network simplex.

MCNFP can be written as

ijijij

j k

ikiij

allarcs

ijij

UXL

bXXts

Xc

..

min

(for each node i in the network)

(for each arc in the network)

Page 37: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

37

Constraints stipulate that the net flow out of node i must equal bi and are referred to as the flow balance equation.

Consider the following transportation problem

1

2 4

3

Supply point 1

Supply point 2 Demand point 2

Demand point 1

1 2 4 (Node 1)

3 4 5 (Node 2)

6 (Node 3) 3 (Node 4)

Page 38: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

38

MCNFP representation of the problem

min Z=X13+2X14+3X23+4X24

X13 X14 X23 X24 rhs Constraint

1 1 0 0 = 4 Node 1

0 0 1 1 = 5 Node 2

-1 0 -1 0 = -6 Node 3

1 -1 0 -1 = -3 Node 4

All Variables nonnegative

Page 39: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

39

The flow balance equations in any MCNFP have this important property:

Each variable xij has a coefficient of +1 in the node i flow balance equation, a coefficient of -1 in the node j flow balance equation, and a coefficient of 0 in all other flow balance equations.

LINGO can easily be used to solve ay MCNFP problem.

Page 40: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

40

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.

In many applications it must be determined that the set of arcs in a network that connects all nodes such that the sum of the length of the arcs is minimized. Clearly, such a group of arcs contain no loop.

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.

Page 41: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

41

A spanning tree of minimum length in a network is a minimum spanning tree (MST).

The MST Algorithm may be used to find a minimum spanning tree. Begin at any node i, and join node i to the node in the

network (call it node j) that is closest to node i. The two nodes i and j now form a connected set of

nodes C={i,j}, and arc (i,j) will be in the minimum spanning tree. The remaining nodes in the network (call them Ć) are referred to as the unconnected set of nodes.

Page 42: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

42

Now choose a member of C’ (call it n) that is closest to set C. Let m represent the node in C that is closest to n. Then the arc(m,n) will be in the minimum spanning tree. Now update C and C’. Since n is now connected to {i,j}, C now equals {i,j,n} and we must eliminate node n from C’.

Repeat this process until a minimum spanning tree is found. Ties for closest node and arc to be included in the minimum spanning tree may be broken arbitrarily.

Page 43: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

43

Example 8: MST Algorithm

The State University campus has five computers. The distances between each pair os computers are given.

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.

4

2

5

3

1

6

45

1

3

2

2

24

Page 44: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

44

Example 8: Solution

We want to find the minimum spanning tree. Iteration 1: Following the MST algorithm discussed

before, arbitrarily choose node 1 to begin. The closest node is node 2. Now C={1,2}, Ć={3,4,5}, and arc(1,2) will be in the minimum spanning tree.

4

2

5

3

1

6

4

5

1

3

2

2

2

4

Page 45: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

45

Ex. 8 – Solution continued

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 C={1,2,5} and Ć={3,4}.

4

2

5

3

1

6

4

5

1

3

2

2

2

4

Page 46: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

46

Ex. 8 – Solution continued

Iteration 3: Since node 3 is two blocks from node 5, we may include arc(5,3) in the minimum spanning tree. Now C={1,2,5,3} and Ć={4}.

4

2

5

3

1

6

4

5

1

3

2

2

2

4

Page 47: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

47

Ex. 8 – Solution continued

Iteration 4: Node 5 is the closest node to node 4. Thus, we add arc(5,4) to the minimum spanning tree.

The minimum spanning tree consists of arcs(1,2), (2,5), (5,3), and (5,4). The length of the minimum spanning tree is 1+2+2+4=9 blocks.

4

2

5

3

1

6

4

5

1

3

2

2

2

4

Page 48: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

48

8.7 The Network Simplex Method

The simplex algorithm simplifies for MCNFPs.

Summary of the Network Simplex method Determine a starting bfs. The n-1 basic variables will

correspond to a spanning tree. Indicate nonbasic variables at their upper bounds by dashed arcs.

Compare y1, y2,…yn (often called the simplex multipliers) by solving y1 =0, yi-yj= cij for all basic variables xij. For all nonbasic variables, determine the row 0 coefficient from =yi – yj – cij. The current bfs is optimal if ≤ 0 for all xij =Lij and ≥ 0 for all xij = Uij. If the bfs is not optimal, choose he nonbasic variable that most violates the optimality conditions as the entering basic variable.

ijcijcijc

ijc

Page 49: Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,

49

Identify the cycle (there will be exactly one!) created by adding the arc corresponding to the entering variable to the current spanning tree of the current bfs. Use conservation of slow to determine the new values of the variables in the cycle. The variable that exits the basis will be the variable that first hits its upper or lower bound as the value of the entering basic variable is changed.

Find the new bfs by changing the flows of the arcs in the cycle found in step 3. Now go to Step 2.