A NETWORK SIMPLEX ALGORITHM FOR THE MINIMUM COST-BENEFIT NETWORK FLOW PROBLEM

Similar documents
7 Max-Flow Problems. Business Computing and Operations Research 608

Maximum Entropy and Exponential Families

Hankel Optimal Model Order Reduction 1

General Equilibrium. What happens to cause a reaction to come to equilibrium?

Complexity of Regularization RBF Networks

Millennium Relativity Acceleration Composition. The Relativistic Relationship between Acceleration and Uniform Motion

max min z i i=1 x j k s.t. j=1 x j j:i T j

Normative and descriptive approaches to multiattribute decision making

The Laws of Acceleration

Nonreversibility of Multiple Unicast Networks

Relativistic Dynamics

The Hanging Chain. John McCuan. January 19, 2006

On Component Order Edge Reliability and the Existence of Uniformly Most Reliable Unicycles

A Queueing Model for Call Blending in Call Centers

Optimization of Statistical Decisions for Age Replacement Problems via a New Pivotal Quantity Averaging Approach

Sensitivity analysis for linear optimization problem with fuzzy data in the objective function

Lightpath routing for maximum reliability in optical mesh networks

Advanced Computational Fluid Dynamics AA215A Lecture 4

Average Rate Speed Scaling

23.1 Tuning controllers, in the large view Quoting from Section 16.7:

IMPEDANCE EFFECTS OF LEFT TURNERS FROM THE MAJOR STREET AT A TWSC INTERSECTION

Singular Event Detection

UPPER-TRUNCATED POWER LAW DISTRIBUTIONS

Taste for variety and optimum product diversity in an open economy

Directional Coupler. 4-port Network

On the Licensing of Innovations under Strategic Delegation

Subject: Introduction to Component Matching and Off-Design Operation % % ( (1) R T % (

Sensitivity Analysis in Markov Networks

Computer Science 786S - Statistical Methods in Natural Language Processing and Data Analysis Page 1

Perturbation Analyses for the Cholesky Factorization with Backward Rounding Errors

MOLECULAR ORBITAL THEORY- PART I

DIGITAL DISTANCE RELAYING SCHEME FOR PARALLEL TRANSMISSION LINES DURING INTER-CIRCUIT FAULTS

Product Policy in Markets with Word-of-Mouth Communication. Technical Appendix

Bäcklund Transformations: Some Old and New Perspectives

REFINED UPPER BOUNDS FOR THE LINEAR DIOPHANTINE PROBLEM OF FROBENIUS. 1. Introduction

Volume 29, Issue 3. On the definition of nonessentiality. Udo Ebert University of Oldenburg

Combined Electric and Magnetic Dipoles for Mesoband Radiation, Part 2

COMBINED PROBE FOR MACH NUMBER, TEMPERATURE AND INCIDENCE INDICATION

Chapter 2: Solution of First order ODE

Methods of evaluating tests

Dynamic Programming and Multi Objective Linear Programming approaches

The Effectiveness of the Linear Hull Effect

Control Theory association of mathematics and engineering

Simplified Buckling Analysis of Skeletal Structures

Math 151 Introduction to Eigenvectors

Planning with Uncertainty in Position: an Optimal Planner

6.4 Dividing Polynomials: Long Division and Synthetic Division

An Integer Solution of Fractional Programming Problem

Word of Mass: The Relationship between Mass Media and Word-of-Mouth

THE METHOD OF SECTIONING WITH APPLICATION TO SIMULATION, by Danie 1 Brent ~~uffman'i

Orthogonal Complement Based Divide-and-Conquer Algorithm (O-DCA) for Constrained Multibody Systems

Metric of Universe The Causes of Red Shift.

Theory. Coupled Rooms

MATHEMATICAL AND NUMERICAL BASIS OF BINARY ALLOY SOLIDIFICATION MODELS WITH SUBSTITUTE THERMAL CAPACITY. PART II

Appendix A Market-Power Model of Business Groups. Robert C. Feenstra Deng-Shing Huang Gary G. Hamilton Revised, November 2001

3 Tidal systems modelling: ASMITA model

Modeling of Threading Dislocation Density Reduction in Heteroepitaxial Layers

Measuring & Inducing Neural Activity Using Extracellular Fields I: Inverse systems approach

LECTURE NOTES FOR , FALL 2004

Modeling of discrete/continuous optimization problems: characterization and formulation of disjunctions and their relaxations

A Characterization of Wavelet Convergence in Sobolev Spaces

University of Groningen

The gravitational phenomena without the curved spacetime

MAC Calculus II Summer All you need to know on partial fractions and more

Likelihood-confidence intervals for quantiles in Extreme Value Distributions

Frugality Ratios And Improved Truthful Mechanisms for Vertex Cover

Development of Fuzzy Extreme Value Theory. Populations

Lecture 7: Sampling/Projections for Least-squares Approximation, Cont. 7 Sampling/Projections for Least-squares Approximation, Cont.

the following action R of T on T n+1 : for each θ T, R θ : T n+1 T n+1 is defined by stated, we assume that all the curves in this paper are defined

Solving Constrained Lasso and Elastic Net Using

Battery Sizing for Grid Connected PV Systems with Fixed Minimum Charging/Discharging Time

Examining Applied Rational Functions

Remark 4.1 Unlike Lyapunov theorems, LaSalle s theorem does not require the function V ( x ) to be positive definite.

After the completion of this section the student should recall

Sensor management for PRF selection in the track-before-detect context

Determination of the reaction order

A Spatiotemporal Approach to Passive Sound Source Localization

Controller Design Based on Transient Response Criteria. Chapter 12 1

Tight bounds for selfish and greedy load balancing

Simple FIR Digital Filters. Simple FIR Digital Filters. Simple Digital Filters. Simple FIR Digital Filters. Simple FIR Digital Filters

Probabilistic Graphical Models

F = F x x + F y. y + F z

Most results in this section are stated without proof.

On the Quantum Theory of Radiation.

Robust Recovery of Signals From a Structured Union of Subspaces

Q2. [40 points] Bishop-Hill Model: Calculation of Taylor Factors for Multiple Slip

Experiment 03: Work and Energy

Chapter 2 Linear Elastic Fracture Mechanics

The shape of a hanging chain. a project in the calculus of variations

arxiv: v2 [math.pr] 9 Dec 2016

Advances in Radio Science

Lecture 3 - Lorentz Transformations

Einstein s Three Mistakes in Special Relativity Revealed. Copyright Joseph A. Rybczyk

A Unified View on Multi-class Support Vector Classification Supplement

A simple expression for radial distribution functions of pure fluids and mixtures

Physical Laws, Absolutes, Relative Absolutes and Relativistic Time Phenomena

Reliability Guaranteed Energy-Aware Frame-Based Task Set Execution Strategy for Hard Real-Time Systems

An Adaptive Optimization Approach to Active Cancellation of Repeated Transient Vibration Disturbances

Danielle Maddix AA238 Final Project December 9, 2016

Improvements in the Modeling of the Self-ignition of Tetrafluoroethylene

Transcription:

NETWORK SIMPLEX LGORITHM FOR THE MINIMUM COST-BENEFIT NETWORK FLOW PROBLEM Cen Çalışan, Utah Valley University, 800 W. University Parway, Orem, UT 84058, 801-863-6487, en.alisan@uvu.edu BSTRCT The minimum ost-benefit networ flow problem is to find a minimum ost flow over a apaitated, direted networ for whih the total benefit of flow must be at least a speified minimum value, K ; where eah unit of flow on a given ar inurs a onstant ost and provides a onstant benefit. This problem is an etension of the lassial minimum ost networ flow problem in whih a single side onstraint is added. In this researh, we desribe a very effiient speialized simple algorithm for this problem that is implemented diretly on the networ. Keywords: minimum ost networ flow, networ simple, partitioning, fatorization INTRODUCTION Let G=(V, E) be a direted networ onsisting of a set V of verties (nodes) and a set E of edges (ars). In this networ, the flow on eah ar (i, is represented by the nonnegative variable with a ost, benefit and apaity u. Let bi be the supply/demand of eah node i. The minimum ost-benefit networ flow problem is to minimize the total ost of flow over networ G that sends a total of bi units of flow from eah supply node i and reeives a total of -bi units of flow at eah demand node i, where the total benefit of flow is at least K. The problem then an be formulated as the following linear program: min (1) s.t. E E E ( j, i) E K ji = b i i V 0 u ( i, E (4) The minimum ost-benefit networ flow problem is a speial ase of the minimum ost networ flow problem with side onstraints. Minimum ost networ flow problem with side onstraints may be solved very effiiently in pratie using speialized simple algorithms that eploit the networ substruture present in the oeffiient matri of the LP. However, these algorithms wor with multiple side onstraints, so they perform matri operations as well as networ simple operations and sine they are more general, they usually do not fully eploit the additional speial properties of the problem when there is only a single onstraint. Klingman and Russell [7] study the transportation problem with a single side onstraint and propose a speialized simple algorithm. However, their algorithm is not etendable to the more general minimum ost-benefit networ flow problem. Graves and MBride [6], Chen and Saigal [4], and MBride [9] present speialized simple algorithms for the minimum ost networ flow problem with (multiple) side onstraints, but they are not diretly appliable to the minimum ost-benefit networ flow problem. Çalışan [3] studies the onstrained maimum flow problem, whih (2) (3)

is related to the minimum ost-benefit networ flow problem, but their algorithm isn t diretly appliable to the present problem. We believe that it is important to study the singly-onstrained minimum ost networ flow problem separately as it is an important problem that is enountered frequently in pratie, and it lends itself niely to a networ simple algorithm that does not require any matri operations, re-fatorizations, or any other ompliated non-networ operations. There is a related problem that an be transformed into minimum ost-benefit networ flow problem. In this problem, instead of minimizing the total ost, the objetive is maimizing the total benefit, subjet to a budget limit of D on the total ost of flow. We will all this problem maimum benefit-ost networ flow problem. It is easy to see that maimum benefit-ost networ flow problem an also be solved as a minimization problem, and the side onstraint an be onverted to a onstraint. These problems appear very frequently in pratie. For eample, in government projets, the objetive is usually maimizing benefit to the itizens subjet to a budget. nother eample onerns the environmental issues. There may be environmental osts assoiated with eah unit of flow on eah ar, and the objetive ould be to minimize the total finanial ost of flow subjet to an upper limit on the environmental ost. lternatively, the objetive an be to maimize the total benefit to the itizens, subjet to an upper limit on the environmental ost or environmental ris. We an thin of many eamples lie these that appear in pratie and they all an be solved using the approah presented in this paper; regardless of whether the objetive is to maimize or minimize, and regardless of whether the side onstraint is, =, or. Without loss of generality, we will onsider the minimum ost-benefit networ flow problem in this paper. THE SPECILIZED NETWORK SIMPLEX LGORITHM In this setion, we speialize the simple algorithm by partitioning the basis into a tree and a non-tree part. Our approah is similar to those of Graves and MBride [6], Chen and Saigal [4], and Mamer and MBride [9]. They all onsider the minimum ost networ flow problem with multiple side onstraints. Our approah is speialized for the minimum ost-benefit networ flow problem, so it eploits the additional nie properties that are assoiated with a single side onstraint. Transformation of the Basis In this setion, we desribe how a basis (matri) of the minimum ost-benefit networ flow problem an be transformed into an upper triangular matri so that all simple operations an be arried out diretly on the networ. The eess variable for the minimum benefit onstraint (Eq. 3) an be thought of an ar that forms a loop from a node to itself and that has a benefit of -1 and a ost of 0. Sine it does not appear in any of the balane equations (Eq. 2), we an assoiate it with any of the nodes. Without loss of generality, we will assume that it is a loop on node 1. To be onsistent with the rest of the notation, we will denote the eess variable 11. With the introdution of 11, Eq. (3) beomes an equality onstraint. basis of Eqs. (1)-(4) onsists of ars that form a spanning tree, and an additional non-tree ar. We denote the non-tree ar (, ). This non-tree ar forms a unique yle on the tree, whih is alled a fundamental yle. We will denote this fundamental yle ψ. Note that if 11 is basi, it is always the non-tree ar; whih means that it is the fundamental yle itself. Let B be a basis (matri). Then, we an epress B as the following partition: a B =, (5)

where is the node-ar inidene matri of the spanning tree; a is the node-ar inidene vetor of (, ); is the benefit vetor of the spanning tree ars; and is the benefit of (, ). We denote the benefit vetor of all basi variables in B, B. Let the node-ar inidene matri of nonbasi ars at their upper bounds be N. Then, we denote the benefit vetor for ars in N, N. The flow vetor and the ost vetor an also be similarly partitioned: and are the flow and ost vetors for the spanning tree ars, N and N are the flow and ost vetors for the non-basi ars at their upper bounds, B and B are the flow and ost vetors for all basi variables in B, and and are the flow and ost of the non-tree basi ar (, ). Proposition 1 By a series of olumn operations, B an be turned into an upper-triangular matri as follows: 0 B =, (6) where is the net benefit around ψ when traversed in the diretion of (, ). Furthermore, these olumn operations orrespond to post-multiplying B by: I a B = (7) 0 1 Proof: Consider the unique hain P from to in the spanning tree. We an onvert this hain to a (direted) path from to by reversing eah reverse ar. This orresponds to multiplying the olumns of suh ars in the basis by -1. Let the resulting path be P. If we sum the olumns orresponding to P, the resulting olumn will have zeros on all rows but the rows orresponding to and and the last row; whih will be 1, -1, and ( i, j ) P, respetively. If we add this sum to the olumn of (, ), the resulting olumn will have zeros in all rows but the last one, whih will be + = ±. This is the net benefit around the fundamental yle of (, ). Now, P ψ assume that B is a matri that an be partitioned as follows: M n B =, (8) o p where M is an (n-1) (n-1) matri, n is an (n-1) 1 olumn vetor, o is a 1 (n-1) real number. We laim that B = BB. Then, it follows that: row vetor, and p is a = M + a o (9) 0 = n + a p (10) = M + o (11) It an be shown that the solution to Eqs. (9)-(12) is as follows: = n + p. (12) M = I, n = a, o = 0 and p = 1. Thus, = a. But a is the solution to a system z = a. Sine is a tree, the solution to this system represents the unique hain from to on the tree. The solution is as follows: z = 1 if (i, is oriented opposite to (, ) on the fundamental yle, z = -1 if (i, is oriented in the same diretion as (, ), and z =0 otherwise. Thus, is the net benefit around the

fundamental yle of (, ), or ψ, when traversed in the diretion of (, ). Computing r Flows In this setion, we desribe how ar flows an be determined diretly on the networ given a basis B, just lie in the networ simple algorithm for the minimum ost networ flow problem. Upper triangularity of the transformed basis permits us to arry out these omputations with a small additional effort ompared to the pure networ omputations. Proposition 2 Given a basis matri B and a matri of nonbasi ars N (at their upper bounds), the flow vetor an be determined by solving a simple flow omputation problem on the networ as follows: = ( b N N ) (13) K N N = (14) = a. (15) Proof: The flow vetor B is the solution to a system: BB + NN = b. Defining suh that B = B, and using the fat that B = BB, we an instead solve the following equivalent system: B + NN = b. Eploiting the upper triangularity of B results in Eqs. (13)-(15). Eq. (13) is the solution to the system = b NN. This is an easy flow omputation problem enountered in the networ simple algorithm for the minimum ost networ flow problem. The right hand side represents the remaining supply/demands at all nodes after the nonbasi ar flows are fied at their upper bounds. When the flow of an ar (i, in N is set to or u, we update b(i):=b(i)-u, and b(:=b(+u, and Eq. (13) reflets this. The rest of the ar flows, i.e. the flows of the ars on the spanning tree ( ) an be easily alulated by piing a leaf node at a time, determining the flow on the inident ar as the supply/demand of the leaf node (or the negative of it, depending on the orientation of the ar), and updating the supply/demand of the inident node by the amount of flow assigned to the ar, and then removing the leaf node from the set of uneamined nodes, until all nodes are eamined. It is possible to determine in O(m) time this way. We will not eplain this proedure in detail, as it is well nown in the literature (See, for eample, huja et al. [1], page 414). Equation (14) determines the flow on ar (, ) given the flows on ars at their upper bounds and the flows on the spanning tree ars. The total benefit is always K for any basis. The numerator determines the remaining benefit after the spanning tree ars and nonbasi ars at their upper bounds are assigned and use up a portion of the total benefit. s determined before, the denominator, is the net benefit of flow on ψ, when traversed in the diretion of (, ). Thus, equation (14) determines by alloating all of the remaining benefit to it. However, this will hange the flows on other ars of ψ, due to flow onservation. Equation (15) updates those ar flows on ψ after is alloated. s before, a represents the unique hain between and on the spanning tree, and its value is 1 for an ar on ψ that is oriented opposite to (, ), -1 for an ar that is oriented in the same diretion as (, ), and 0 for ars that are not on ψ. Thus, equation (15) inrements the flows on ars that are oriented in the same diretion as (, ) by, and derements the flows on all other ars on ψ by the same amount. ll of these omputations an be arried out diretly on the networ, without any matri operations. s

we will see later in the paper, we will not need to ompute flows from srath, we will only need to update them as we pivot. We inlude this setion in the paper for a omplete disussion of the algorithm. Computing Dual Variables In this setion, we desribe how we an ompute dual variables diretly on the networ, just as in the networ simple algorithm for the minimum ost networ flow problem. We again eploit the upper triangularity of the transformed basis to effiiently arry our the omputations. Proposition 3 Let the dual variable that orresponds to the minimum benefit onstraint (Eq.3) be λ, and the dual variables that orrespond to the mass balane equations (Eqs.2) be π. Then, λ an be alulated as the ratio of the net ost to net benefit around ψ, when traversed in the diretion of (, ). Furthermore, the dual variables π an be determined by solving the following system of equations π + π λ = 0 ( i, (16) i j Proof: We an solve the system [π λ] B = to obtain the values of π and λ. Post-multiplying both sides of this equation by B, we obtain: [ π λ] B = [ ] B. Eploiting the upper triangularity of B, we obtain: λ = a π λ = 0 (18) Using the same arguments in the proof of Proposition 1, it an be shown that the numerator of Eq. (17) is the net ost around the fundamental yle ψ, when traversed in the diretion of (, ). We will all it for the rest of the paper. is the net benefit around ψ when traversed in the diretion of (, ), as defined in Proposition 1. Equation (18) redues to - πi + πj - λ = 0 for all ars (i, in the spanning tree. In Eq. (16), λ is determined independent of π. We an modify the ar osts as = - λ, and then apply the well-nown proedure to ompute dual variables for all nodes using Eq. (16) (See, for eample, huja et al. [1], page 411). This proedure starts by arbitrarily assigning zero as dual variable to one of the nodes (root node), say, node 1, and then determining the dual variables for the inident nodes using Eq. (16), eliminating the node from the set of uneamined nodes and moving on to one of the inident nodes and repeating the same alulation, and to the net one, and so on, in a depth-first fashion, until there are no uneamined nodes in the networ. This way, the dual variables an be determined in O(n) time. We an also determine the dual variables individually, without having to alulate all others. This will be helpful for updating the dual variables after a pivot. In a spanning tree, there is a single hain that lins every pair of nodes, and all nodes are lined sine the networ is onneted. So, there eists a single hain between node 1 and every other node in the spanning tree. Consider node v V and let the unique hain between node 1 and node v be P. Beause all ars on P are basi ars, = 0 for all P. In order to onvert P to a path from node v to node 1, reverse eah reverse ar on P, while traversing P from node v to 1. Let the resulting path be P. For the resulting path P, π + π λ = 0, or P π = ( λ ) + π. Sine π 1 is always zero, we obtain the following: v 1 P i j (17) π = ± v V, (19) v P

where the sign of is 1 for all P that are oriented towards node 1, and 1 for all P that are oriented away from node 1. Optimality Testing nd the Entering r We define the redued ost for an ar ( i, as follows: = π + π λ = π + π (20) i j Similar to the minimum ost networ flow problem, the optimality onditions for the minimum ost-benefit networ flow problem an be stated as follows: 0 for every nonbasi ar for whih = 0 0 for every nonbasi ar for whih = u If the urrent basis and the orresponding primal and dual solutions satisfy the optimality onditions, the algorithm will terminate. Otherwise, the algorithm selets a nonbasi ar that violates the optimality onditions and that ar enters the basis. For any eligible ar ( i,, we refer to as its violation. Even though we an use any of the various pivot rules, we assume Dantzig s pivot rule in this paper, whih is seleting an ar with the maimum violation. It is nown that Dantzig s pivot rule results in the least number of pivots. i j (21) (22) Updating The Flows nd The Tree Let the entering ar be (, ), whih will form a seond yle when it is added to the spanning tree. Let this yle be ψ. In order to enter (, ) into the basis, its flow needs to be inreased if it is urrently at its lower bound, and dereased otherwise. Let the amount of flow hange around (, ) be θ. We will eplain how to determine θ later in this setion. Due to flow onservation, if we hange by θ units, we have to hange the flows of all ars in ψ by the same amount. Furthermore, the benefit onstraint will be violated by θ units. This violation will have to be eliminated by hanging flows on other ars in the networ. The following proposition determines all flow hanges needed to enter (, ) into the basis. Proposition 4 Given the urrent spanning tree, non-tree basi ar(, ), and the entering ar (, ), the flows will hange as follows: (i) if = 0, the flow around ψ will inrease byθ units, if = u, derease by θ units; (ii) the flow around ψ will hange by ( / )θ units; (iii) θ is the maimum possible value that eeps all ars in ψ and ψ within their upper and lower bounds. Proof: Let y be the olumn orresponding to in the simple tableau. Note that y represents hanges in basi ar flows per unit hange in. The vetor y an be obtained by solving the system: By = a. We an partition y as y and y, orresponding to the tree ars and the non-tree basi ar. Defining y suh that y = B y, and using the fat that B = BB, we an instead solve the following equivalent system: B y = a. Eploiting the upper triangularity of B results in: y = a = (23)

s before, y = a a y (24) 1 a represents the unique hain in the spanning tree from to ; and a represents the unique hain from to. y is the hange in per unit of hange in. In Eq. (24), only the ars that are either on ψ or ψ have nonzero values, so no other ar flows will hange. s it an be seen from the first term of Eq. (24), the rate of hange in the flows of ars in ψ are either 1 or -1, depending on the orientation of the ar with respet to (, ); and from the seond term, the rate of hange in the flows of ars in ψ are either / or - /, depending on the orientation of the ars with respet to (, ). Thus, if the flow around ψ hanges by θ units, the flow around ψ will hange by ( )θ units. Clearly, sine inreasing the flow on (, ) (or dereasing if it is oming / from the upper bound) improves the objetive funtion, θ should be hosen as large as possible, onstrained by the upper and lower bounds of ars in ψ and ψ. Proposition 4 establishes that the flows on both yles need to be hanged, but the diretion and the amount of hanges require areful analysis. The diretion of hange around ψ depends on whether is at its lower or upper bound. However, the diretion of hange around ψ depends on whether the flow around ψ inreases or dereases, and the signs of and. flow derease on an ar an be onsidered as a flow inrease in the opposite diretion. For simpliity of eposition, we onvert flow dereases around yles to flow inreases in the opposite diretion. For this reason, whenever we have to derease flow around ψ, we inrease the flow on the reverse of (, ) and on the other ars in the yle in the same diretion. Similarly, we use the reverse of (, ) if we have to derease the flow around ψ. The ost and benefit of a reverse ar are simply the negatives of the ost and benefit of the original ar, and the apaity of the reverse ar is the flow on the original ar. In the atual implementation of the algorithm, a flow inrease on a reverse ar reflets on the original ar as a flow derease. We denote the ar used in plae of (, ) (either itself or its reverse), σ. Similarly, we denote the ar that is used in plae of (, ), σ. We an determine σ and σ as follows: σ (, ), := (, ), if if (, ), if = 0 and 0 or if = u and 0 σ := (, ), if = 0 and 0 or if = u and 0. (26) By Proposition 4, the flows of ars on ψ and ψ will hange as in the following equations when (, ) enters the basis, and all other ar flows will remain the same. In the equations that follow and in the rest of the paper, let ρ = /. 1. For all ars (i, that are on ψ but not on ψ: + θ, if is in the same diretion as σ := θ, if is opposite to σ (27) 2. For all ars (i, that are on ψ but not on ψ : = 0 = u (25)

ρθ, if is in the same diretion as σ := + ρθ, if is opposite to σ (28) 3. For all ars (i, that are on both ψ and ψ: := + µ θ (29) where 1 + ρ, if (i, is in the same diretion as σ and σ ρ, if (i, is opposite to σ and σ µ := (30) 1 ρ, if (i, is in the same diretion as σ but not as σ + ρ, if (i, is in the same diretion as σ but not as σ The amount of hange, θ, will be determined as the maimum value that eeps the ars on both yles within their upper and lower bounds. Thus, we need to determine the maimum remaining apaity of eah ar that is in the same diretion as the diretion of the flow inrease in eah yle, and the amount of flow on eah opposite ar. Then, we need to tae the minimum of them as the maimum possible hange. We need to tae into aount the fat that for every unit of hange around ψ, the amount of hange around ψ is ρ. We also need to tae into aount the fat that if an ar is on both yles, its flow will be hanged by both yle flow augmentations, so the ombined effet on those ars needs to be onsidered. In the following equations, θ1 represents the maimum amount of flow that an be inreased around ψ, in the diretion of σ, without violating the flow bounds of ars that are elusively in ψ. Similarly, θ2 represents the maimum amount of flow that an be inreased around ψ, in the diretion of σ, without violating the flow bounds of ars that are elusively in ψ. Finally, θ3 represents the maimum flow inrease around ψ, in the diretion of σ, without violating the flow bounds of ars that are both in ψ and ψ. The minimum of the three gives us the maimum amount of inrease around ψ. u, if is in the same diretion as σ θ = min i j ψ, if is opposite to σ (31) 1 (, ) ψ u, if is in the same diretion as σ ρ θ = min ψ (32) 2 ψ, if is opposite to σ ρ θ = 3 min ψ ψ u µ, µ,, if µ > 0 if µ < 0 if µ = 0 θ min{ θ, θ, }. (34) = 1 2 θ3 One the flows are updated, one of the basi variables that reahes its lower or upper bound leaves the basis. If the entering ar is the same as the leaving ar (whih happens if the ar moves from its upper (33)

bound to its lower bound or vie versa), the basis does not hange. This means that the spanning tree does not need to be updated, either. If the leaving ar is the urrent non-tree basi ar, then we an designate the entering ar as the new non-tree basi ar. In this ase again, the spanning tree will not be updated. Otherwise, we will need to update the spanning tree, but we will eep the non-tree basi ar the same, to avoid the hange in the dual variable of the benefit onstraint, λ. We eplain the dual variable updates in the net setion. Updating The Dual Variables s eplained before, dual variables are determined from Eq. (16). However, we do not have to alulate the dual variables from srath using Eq. (16) after every simple pivot. Depending on the entering and the leaving ars, the dual variables will be updated as follows. Let ( ˆ, ˆ ) be the leaving ar. 1. The leaving ar is (, ): In this ase, (, ) simply moves from one of its bounds to the other. The basis remains the same, so the dual variables stay the same as well. No update is needed. 2. The leaving ar is (, ): In this ase, (, ) replaes (, ) as the non-tree basi ar. Thus, the spanning tree remains the same, but λ, the dual variable of the benefit onstraint, hanges. Let the hange in λ be Δλ. By Eq. (19), for eah node v V, the hange in π v will be λ (, ) ±, where P is the unique hain between node v and node 1. By maintaining the unique path P and the sum i j P ( i, ± j ) P for all nodes in the networ throughout the algorithm, we an easily update the dual variables when this ase happens during a pivot. 3. The leaving ar is neither (, ) nor (, ), but another tree ar: In this ase, the spanning tree hanges, but the non-tree basi ar remains the same. Thus, for all ars E, remain the same. Removal of ( ˆ, ˆ ) from the spanning tree partitions it into two parts: 1, and 2. One of them ontains the root node, or node 1. Let 1 ontain the root node. The entering ar, (, ) has one end-point in 1 and another in 2 sine it brings the two sub-trees ba together. It an be shown that the dual variable πi for every node in 1 does not hange after the pivoting, and the ones in 2 hange by a onstant amount: they inrease by if is in 1, and derease by if is in 2. Degeneray pivot does not neessarily derease the objetive funtion value. If this happens, suh a pivot is alled a degenerate pivot. If we enounter a degenerate pivot, then the algorithm may indefinitely yle through a set of basi feasible solutions that represent the same etreme point, whih is alled yling. In order to prevent yling, we use the notion of strongly feasible spanning trees, developed by Cunningham [5] and Barr er al. [2]. Definition spanning tree is alled a strongly feasible spanning tree if and only if: 1. every tree ar with zero flow is oriented toward node 1, and every tree ar whose flow equals its apaity is oriented away from node 1 2. we an send a positive amount of flow from any node to node 1 along the tree path without violating any flow bound. Suppose that when we are maing a pivot, there is only one andidate for the leaving ar. In this ase,

the net spanning tree will also be strongly feasible. However, if there are multiple andidates, we need to hoose the leaving ar arefully in order to maintain the strongly feasible spanning tree. We all the andidate ars bloing ars. Consider the yle ψ formed by the entering ar (, ) in the spanning tree. There is a unique hain between node and node 1 in the spanning tree, same is true for node. These unique paths must join at some node, and we all this node the ape of ψ. The ape of ψ is defined similarly. We an now desribe our eit rule that maintains the strong feasibility of the spanning tree, whih is a modified version of the eit rule in Cunningham[5]. Leaving r Rule Choose the leaving ar as follows: 1. ll bloing ars are on ψ : Choose the leaving ar as the last bloing ar enountered in traversing ψ along its orientation starting at the ape of ψ. 2. ll bloing ars are on ψ: Choose the leaving ar as the last bloing ar on ψ. Sine (, ) is no longer the non-tree basi ar, mae (, ) the non-tree basi ar. Finally, add (, ) to the spanning tree if it is not the leaving ar. 3. There are bloing ars on both yles: Choose the leaving ar as the last bloing ar on ψ. Then, remove the last bloing ar on ψ from the spanning tree and mae it the non-tree basi ar, while adding (, ) to the spanning tree if it is not the leaving ar. Lemma 1 If the leaving ar rule desribed above is used, the net spanning tree will also be strongly feasible. Proof: Our eit rule onerns two pivot yles as opposed to Cunningham s eit rule that involves one pivot yle, but the basi idea is the same. Same arguments an be used that are used in the single pivot yle ase. See, for instane, Martin [10], page 500, or huja et al. [1], page 424. Finding an Initial Basis The algorithm needs to start with a feasible basis. The obvious hoie is a solution with all ar osts are zero. However, in this ase the eess of the benefit onstraint will be nonzero, but the networ simple algorithm we propose assumes that the benefit onstraint is tight. In order to fore the benefit onstraint to be tight, we introdue an artifiial ar from s to t. We assign a reasonably high ost to the artifiial ar (s,t), say M. Then, we assign a flow of K/M to the artifiial ar. rtifiial ar (s,t) beomes the additional ar of the basis. ll other ars in the basis will have zero flow. We an then arbitrarily reate the spanning tree of the basis. The proposed networ simple algorithm will drive the artifiial ar out of the basis due to its high ost, and never re-introdue it to the basis after it beomes nonbasi. If the flow on the artifiial ar is still nonzero at optimality, this indiates that the benefit onstraint is redundant. CONCLUSIONS ND FURTHER RESERCH We proposed a solution algorithm for the minimum ost-benefit networ flow problem, whih is a speialization of the networ simple algorithm. The algorithm is arried out diretly on the networ. In this researh, we developed the theoretial framewor of the algorithm, in future researh, we intend to test the empirial performane of the algorithm via a set of networ problems reated using networ reators suh as NETGEN (Klingman et al. [8]) or MFRNGEN (Çalışan [3]) and ompare it against eisting general LP and networ solvers. REFERENCES [1] R.K. huja, T.L. Magnanti, and J.B. Orlin. Networ flows: Theory, algorithms and appliations. Prentie-Hall, Englewood Cliffs, NJ, 1993.

[2] R. S. Barr, F. Glover, and D. Klingman. The alternating path basis algorithm for the assignment problem. Mathematial Programming Study, 13:1 13, 1977. [3] C. Çalışan. speialized networ simple algorithm for the onstrained maimum flow problem. European Journal of Operational Researh, 210:137 147, 2011. [4] S. Chen and R. Saigal. primal algorithm for solving a apaitated networ flow problem with additional onstraints. Networs, 7:59 79, 1977. [5] W. H. Cunningham. networ simple method. Mathematial Programming, 11:105 116, 1976. [6] G.W. Graves and R.D. MBride. The fatorization approah to large-sale linear programming. Mathematial Programming, 10:91 110, 1976. [7] D. Klingman and R. Russell. Solving onstrained transportation problems. Operations Researh, 23(1):91 106, 1975. [8] D. Klingman,. Napier, and J. Stutz. NETGEN: program for generating large sale apaitated assignment, transportation, and minimum ost flow networ problems. Management Siene, 20(5):814 821, 1974. [9] J.W. Mamer and R.D. MBride. deomposition-based priing proedure for large-sale linear programs: an appliation to the linear multiommodity flow problem. Management Siene, 46(5):693 709, 2000. [10] R. K. Martin. Large Sale Linear and Integer Optimization: Unified pproah. Kluwer ademi Publishers, Norwell, M, 1999.