1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

David G. Luenberger, Yinyu Ye - Linear and Nonlinear Programming International Series Episode 1 Part 8 pdf

25 338 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 488,56 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

A different type of network problem, discussed in this section, is that of mining the maximal flow possible from one given source node to a sink nodeunder arc capacity constraints.. A ca

Trang 1

6.7 Minimum Cost Flow 165

found In terms of network concepts, one looks first for an end of the spanningtree corresponding to the basis; that is, one finds a node that touches only one arc

of the tree The flow in this arc is then determined by the supply (or demand) atthat node Back substitution corresponds to solving for flows along the arcs of thespanning tree, starting from an end and successively eliminating arcs

The Simplex Method

The revised simplex method can easily be applied to the generalized minimum costflow problem We describe the steps below together with a brief discussion of theirnetwork interpretation

Step 1. Start with a given basic feasible solution

Step 2. i for each node i This amounts to solvingthe equations

for each i j corresponding to a basic arc This follows because arc i j corresponds

to a column in A with a+1 at row i and a −1 at row j The equations are solved

by arbitrarily setting the value of any one multiplier An equation with only oneundetermined multiplier is found and that value determined, and so forth

The relative cost coefficients for nonbasic arcs are then

Trang 2

New arc indtroduces flow around cycle

Arc driven out when net flow

is zero

Fig 6.3 Spanning trees of basis

by introducing an additional node with zero supply and with an arc connected to

each other node—directed to nodes with demand and away from nodes with supply.

An initial basic feasible solution is then constructed with flow on these artificialarcs During phase I, the cost on the artificial arcs is unity and it is zero on all otherarcs If the total cost can be reduced to zero, a basic feasible solution to the originalproblem is obtained (The reader might wish to show how the above technique can

be modified so that an additional node is not required.)

An important extension of the problem is the inclusion of upper bounds(capacities) on allowable flow magnitudes in an arc., but we shall not describe thedetails here

Finally, it should be pointed out that there are various procedures for organizingthe information required by the simplex method The most straightforward procedure

is to just work with the algebraic form defined by the node–arc incidence matrix.Other procedures are based on representing the network structure more compactlyand assigning flows to arcs and simplex multipliers to nodes

A different type of network problem, discussed in this section, is that of mining the maximal flow possible from one given source node to a sink nodeunder arc capacity constraints A preliminary problem, whose solution is a funda-mental building block of a method for solving the flow problem, is that of simplydetermining a path from one node to another in a directed graph

deter-Tree Procedure

Recall that node j is reachable from node i in a directed graph if there is a path

from node i to node j For simple graphs, determination of reachability can beaccomplished by inspection, but for large graphs it generally cannot The problem

Trang 3

6.8 Maximal Flow 167

can be solved systematically by a process of repeatedly labeling and scanningvarious nodes in the graph This procedure is the backbone of a number of methodsfor solving more complex graph and network problems, as illustrated later It canalso be used to establish quickly some important theoretical results

Assume that we wish to determine whether a path from node 1 to node mexists At each step of the algorithm, each node is either unlabeled, labeled butunscanned, or labeled and scanned The procedure consists of these steps:

Step 1. Label node 1 with any mark All other nodes are unlabeled

Step 2. For any labeled but unscanned node i, scan the node by finding allunlabeled nodes reachable from i by a single arc Label these nodes with an i

Step 3 If node m is labeled, stop; a breakthrough has been achieved—a path exists.

If no unlabeled nodes can be labeled, stop; no connecting path exists Otherwise,

It is easy to prove that the algorithm does indeed resolve the issue of theexistence of a connecting path At each stage of the process, either a new node

is labeled, it is impossible to continue, or node m is labeled and the process is

2

2 5

5 8

8 6

3 3

6 7

7 10

6 4

9

1

1 1

x

Fig 6.4 The scanning procedure

Trang 4

successfully terminated Clearly, the process can continue for at most n− 1 stages,where n is the number of nodes in the graph Suppose at some stage it is impossible

to continue Let S be the set of labeled nodes at that stage and let ¯S be the set ofunlabeled nodes Clearly, node 1 is contained in S, and node m is contained in ¯S Ifthere were a path connecting node 1 with node m, then there must be an arc in thatpath from a node k in S to a node in ¯S However, this would imply that node k wasnot scanned, which is a contradiction Conversely, if the algorithm does continueuntil reaching node m, then it is clear that a connecting path can be constructedbackward as outlined above

Capacitated Networks

In some network applications it is useful to assume that there are upper bounds

on the allowable flow in various arcs This motivates the concept of a capacitatednetwork

Definition. A capacitated network is a network in which some arcs are

assigned nonnegative capacities, which define the maximum allowable flow

in those arcs The capacity of an arc i j is denoted kij, and this capacity isindicated on the graph by placing the number kijadjacent to the arc

Throughout this section all capacities are assumed to be nonnegative integers.

Figure 6.5 shows an example of a network with the capacities indicated Thus thecapacity from node 1 to node 2 is 12, while that from node 2 to node 1 is 6

The Maximal Flow Problem

Consider a capacitated network in which two special nodes, called the source and the sink, are distinguished Say they are nodes 1 and m, respectively All other

nodes must satisfy the strict conservation requirement; that is, the net flow intothese nodes must be zero However, the source may have a net outflow and thesink a net inflow The outflow f of the source will equal the inflow of the sink as

a consequence of the conservation at all other nodes A set of arc flows satisfying

these conditions is said to be a flow in the network of value f The maximal flow

2

1

12 6

3 3

4 4

5

Fig 6.5 A network with capacities

Trang 5

where only those i j pairs corresponding to arcs are allowed.

The problem can be expressed more compactly in terms of the node–arc

incidence matrix Let x be the vector of arc flows xij (ordered in any way) Let

A be the corresponding node–arc incidence matrix Finally, let e be a vector with

dimension equal to the number of nodes and having a+1 component on node 1, a

−1 on node m, and all other components zero The maximal flow problem is then

maximize f

x  k

The coefficient matrix of this problem is equal to the node–arc incidence matrix with

an additional column for the flow variable f Any basis of this matrix is triangular,and hence as indicated by the theory in the earlier part of this chapter, the simplexmethod can be effectively employed to solve this problem However, instead ofthe simplex method, a more efficient algorithm based on the tree algorithm can

be used

The basic strategy of the algorithm is quite simple First we recognize that it ispossible to send nonzero flow from node 1 to node m only if node m is reachablefrom node 1 The tree procedure of the previous section can be used to determine

if m is in fact reachable; and if it is reachable, the algorithm will produce a pathfrom 1 to m By examining the arcs along this path, we can determine the onewith minimum capacity We may then construct a flow equal to this capacity from

1 to m by using this path This gives us a strictly positive (and integer-valued)initial flow

Next consider the nature of the network at this point in terms of additionalflows that might be assigned If there is already flow xij in the arc i j, then theeffective capacity of that arc is reduced by xij(to kij−xij), since that is the maximalamount of additional flow that can be assigned to that arc On the other hand, the

Trang 6

effective reverse capacity, on the arc (j i), is increased by xij (to kji+ xij), since asmall incremental backward flow is actually realized as a reduction in the forwardflow through that arc Once these changes in capacities have been made, the treeprocedure can again be used to find a path from node 1 to node m on which to

assign additional flow (Such a path is termed an augmenting path.) Finally, if m

is not reachable from 1, no additional flow can be assigned, and the procedure iscomplete

It is seen that the method outlined above is based on repeated application ofthe tree procedure, which is implemented by labeling and scanning By includingslightly more information in the labels than in the basic tree algorithm, the minimumarc capacity of the augmenting path can be determined during the initial scanning,instead of by reexamining the arcs after the path is found A typical label at a node

i has the form k ci, where k denotes a precursor node and ciis the maximal flowthat can be sent from the source to node i through the path created by the previouslabeling and scanning The complete procedure is this:

Step 0. Set all xij= 0 and f = 0

Step 1. Label node 1 (− ) All other nodes are unlabeled

Step 2. Select any labeled node i for scanning Say it has label (k ci) For allunlabeled nodes j such that i j is an arc with xij< kij, assign the label i cj,where cj= min ci kij− xij For all unlabeled nodes j such that j i is an arcwith xji> 0, assign the label (i cj), where cj= min ci xji

Step 3. Repeat Step 2 until either node m is labeled or until no more labels can

be assigned In this latter case, the current solution is optimal

Step 4. (Augmentation.) If the node m is labeled i cm, then increase f and theflow on arc (i m) by cm Continue to work backward along the augmenting pathdetermined by the nodes, increasing the flow on each arc of the path by cm Return

to Step 1

The validity of the algorithm should be fairly apparent However, a completeproof is deferred until we consider the max flow–min cut theorem below Never-theless, the finiteness of the algorithm is easily established

Proposition The maximal flow algorithm converges in at most a finite number

of iterations.

Proof. (Recall our assumption that all capacities are nonnegative integers.) Clearly,the flow is bounded—at least by the sum of the capacities Starting with zero flow,the minimal available capacity at every stage will be an integer, and accordingly,the flow will be augmented by an integer amount at every step This process mustterminate in a finite number of steps, since the flow is bounded

Example An example of the above procedure is shown in Fig 6.6 Node 1 is thesource, and node 6 is the sink The original network with capacities indicated on the

Trang 7

(4, 1)

2 2

1

1 (–, ∞ )

(2, 1) (1, 1)

6

3 (–, ∞ )

5

6

3 1

Fig 6.6 Example of maximal flow problem

Trang 8

arcs is shown in Fig 6.6(a) Also shown in that figure are the initial labels obtained

by the procedure In this case the sink node is labeled, indicating that a flow of 1unit can be achieved The augmenting path of this flow is shown in Fig 6.6(b).Numbers in square boxes indicate the total flow in an arc The new labels are thenfound and added to that figure Note that node 2 cannot be labeled from node 1because there is no unused capacity in that direction Node 2 can, however, belabeled from node 4, since the existing flow provides a reverse capacity of 1 unit.Again the sink is labeled, and 1 unit more flow can be constructed The augmentingpath is shown in Fig 6.6(c) A new labeling is appended to that figure Again thesink is labeled, and an additional 1 unit of flow can be sent from source to sink.The path of this 1 unit is shown in Fig 6.6(d) Note that it includes a flow fromnode 4 to node 2, even though flow was not allowed in this direction in the originalnetwork This flow is allowable now, however, because there is already flow in theopposite direction The total flow at this point is shown in Fig 6.6(e) The flowlevels are again in square boxes This flow is maximal, since only the source nodecan be labeled

The efficiency of the maximal flow algorithm can be improved by variousrefinements For example, a considerable gain in efficiency can be obtained byapplying the tree algorithm in first-labeled, first-scanned mode Further discussion

of these points can be found in the references cited at the end of the chapter

Max Flow–Min Cut Theorem

A great deal of insight and some further results can be obtained through the

introduction of the notion of cuts in a network Given a network with source node

1 and sink node m, divide the nodes arbitrarily into two sets S and ¯S such that the

source node is in S and the sink is in ¯S The set of arcs from S to ¯S is a cut and is denoted (S ¯S) The capacity of the cut is the sum of the capacities of the arcs in

the cut

2

1 3

2 3

4 6 1

4 2 1

1

Fig 6.7 A cut

Trang 9

a cut is equal to its capacity Thus each cut gives an upper bound on the value ofthe maximal flow problem The max flow–min cut theorem states that equality isactually achieved for some cut That is, the maximal flow is equal to the minimalcut capacity It should be noted that the proof of the theorem also establishes themaximality of the flow obtained by the maximal flow algorithm.

Max Flow–Min Cut Theorem In a network the maximal flow between a source

and a sink is equal to the minimal cut capacity of all cuts separating the source and sink.

Proof. Since any cut capacity must be greater than or equal to the maximal flow,

it is only necessary to exhibit a flow and a cut for which equality is achieved.Begin with a flow in the network that cannot be augmented by the maximal flowalgorithm For this flow find the effective arc capacities of all arcs for incrementalflow changes as described earlier and apply the labeling procedure of the maximalflow algorithm Since no augmenting path exists, the algorithm must terminatebefore the sink is labeled

Let S and ¯S consist of all labeled and unlabeled nodes, respectively Thisdefines a cut separating the source from the sink All arcs originating in S andterminating in ¯S have zero incremental capacity, or else a node in ¯S could havebeen labeled This means that each arc in the cut is saturated by the original flow;that is, the flow is equal to the capacity Any arc originating in ¯S and terminating in

S, on the other hand, must have zero flow; otherwise, this would imply a positiveincremental capacity in the reverse direction, and the originating node in ¯S would

be labeled Thus, there is a total flow from S to ¯S equal to the cut capacity, and zeroflow from ¯S to S This means that the flow from source to sink is equal to the cutcapacity Thus the cut capacity must be minimal, and the flow must be maximal

In the network of Fig 6.6, the minimal cut corresponds to the S consistingonly of the source That cut capacity is 3 Note that in accordance with the maxflow–min cut theorem, this is equal to the value of the maximal flow, and theminimal cut is determined by the final labeling in Fig 6.6(e) In Fig 6.7 the cutshown is also minimal, and the reader should easily be able to determine the pattern

of maximal flow

Duality

The character of the max flow–min cut theorem suggests a connection with theDuality Theorem We conclude this section by briefly exploring this connection.The maximal flow problem is a linear program, which is expressed formally

by (16) The dual problem is found to be

Trang 10

A pair i, j is included in the above only if (i, j) is an arc of the network.

A feasible solution to this dual problem can be found in terms of any cut set

S ¯S In particular, it is easily seen that

is a feasible solution The value of the dual problem corresponding to this solution

is the cut capacity If we take the cut set to be the one determined by the labelingprocedure of the maximal flow algorithm as described in the proof of the theoremabove, it can be seen to be optimal by verifying the complementary slacknessconditions (a task we leave to the reader) The minimum value of the dual istherefore equal to the minimum cut capacity

Problems of special structure are important both for applications and for theory.The transportation problem represents an important class of linear programs withstructural properties that lead to an efficient implementation of the simplex method.The most important property of the transportation problem is that any basis istriangular This means that the basic variables can be found, one by one, directly

by back substitution, and the basis need never be inverted Likewise, the simplexmultipliers can be found by back substitution, since they solve a set of equationsinvolving the transpose of the basis

Since all elements of the basis are either zero or one, it follows that all basicvariables will be integers if the requirements are integers, and all simplex multipliers

Trang 11

6.10 Exercises 175

will be integers if the cost coefficients are integers When a new variable with

a value is to be brought into the basis, the change in all other basic variableswill be either+  − , or 0, again because of the structural properties of the basis.This leads to a cycle of change, which amounts to shipping an amount of thecommodity around a cycle on the transportation system All necessary computationsfor solution of the transportation problem can be carried out on arrays of solutions

or of cost coefficients The primary operations are row and column scanning, whichimplement the back substitution process

The assignment problem is a case of the transportation problem with additionalstructure Every solution is highly degenerate, having only n positive values instead

of the 2n− 1 that would appear in a nondegenerate solution

Network flow problems represent another important class of linearprogramming problems The transportation problem can be generalized to aminimum cost flow problem in a network This leads to the interpretation of asimplex basis as corresponding to a spanning tree in the network

Another fundamental network problem is that of determining whether it ispossible to construct a path of arcs to a specified destination node from a givenorigin node This problem can be efficiently solved using the tree algorithm Thisalgorithm progresses by fanning out from the origin, first determining all nodesreachable in one step, then all nodes reachable in one step from these, and so forthuntil the specified destination is attained or it is not possible to continue

The maximal flow problem is that of determining the maximal flow from anorigin to a destination in a network with capacity constraints on the flow in eacharc This problem can be solved by repeated application of the tree algorithm,successively determining paths from origin to destination and assigning flow alongsuch paths

3 A matrix A is said to be totally unimodular if the determinant of every square submatrix

formed from it has value 0,+1, or −1

Trang 12

a) Show that the matrix A defining the equality constraints of a transportation problem

is totally unimodular

b) In the system of equations Ax = b, assume that A is totally unimodular and that all elements of A and b are integers Show that all basic solutions have integer

components

4 For the arrays below:

a) Compute the basic solutions indicated (Note: They may be infeasible.)

b) Write the equations for the basic variables, corresponding to the indicated basicsolutions, in lower triangular form

a) Show how to convert it to an ordinary transportation problem

b) Suppose there is a storage cost of siper unit at origin i for goods not transported to

a destination Repeat Part (a) with this assumption

7 Solve the following transportation problem, which is an original example of Hitchcock

Ngày đăng: 06/08/2014, 15:20

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm