Chapter 5 Network Flow Programming Models 高等作業研究

advertisement
高等作業研究
Chapter 5
Network Flow Programming Models
Chapter 5 Network Flow Programming Models
高等作業研究
Introduction
1.
A network is a set of nodes joined by a set of arcs, much like a
highway system linking major cities or a power grid that
supplies electricity to a community over high-tension wires.
2.
We consider in this chapter networks in which the arcs carry
flow and the total flow entering each node must equal the
total flow leaving each node.
3.
One optimization problem that is defined on a network is to
determine the assignment of flows to the arcs such that the
total cost of the flow is minimized. This is called the network
flow programming (NFP) problem or, alternatively , the
minimum-cost flow problem.
4.
The NFP problem has a linear programming (LP) model, so
NFP can be considered a special case of LP.
Chapter 5 Network Flow Programming Models
高等作業研究
5.
Problems that can be modeled with NFP include some of the
classical problems of OR such as the assignment problem, the
shortest path problem, the maximum flow problem, the pure
minimum-cost flow problem, and the generalized minimumcost flow problem.
6.
As an introduction we provide a graphical representation of
a typical model. The situation associated with the model
involves the distribution of a single commodity across the
country. When more than one commodity flows in a
network, the underlying problem becomes much more
difficult to solve.
Chapter 5 Network Flow Programming Models
高等作業研究
Chapter 5 Network Flow Programming Models
高等作業研究
Terminology
NODES AND ARCS
1. The network flow model consists of nodes and arcs. In the
context of modeling a problem, each node, shown as a circle,
represents some aspect of the problem, such as a physical
location, an individual worker, or a point in time.
2. For modeling purposes, it is often convenient to assign names
to the nodes. Arcs are directed line segments that generally
pass from an origin node to a terminal node, although in the
case of external flow, an arc may be incident to only one node.
If an arc does not have a direction, it is sometimes referred to
as an edge. The number of nodes is denoted by m, and the
number of arcs by n.
Chapter 5 Network Flow Programming Models
高等作業研究
ARC FLOW
1. Flow is associated with the network, entering and leaving at
the nodes and passing through the arcs.
2.
The flow in arc k is xk. When flow is conserved at the nodes,
the total flow entering a node must equal the total flow
leaving the node.
3.
The arc flows are the decision variables for the network
flow programming model.
Chapter 5 Network Flow Programming Models
高等作業研究
UPPER AND LOWER BOUNDS ON FLOW
Flow is limited in an arc by lower and upper bounds. Sometimes
the term capacity refers to the upper bound on flow. We use lk
and uk for the lower and upper bounds of arc k, respectively.
COST
The criterion for optimality is cost. Associated with each arc k is
the cost per unit of flow ck. Negative values of ck correspond to
revenues.
Chapter 5 Network Flow Programming Models
高等作業研究
GAIN
1. The arc gain gk multiplies the flow at the beginning of the arc to
obtain the flow at the end of the arc. When a flow xk is assigned
to an arc, this flow leaves the origin node of the arc. The flow
entering the terminal node is gkxk.
2. The arc's lower bound, upper bound, and cost all refer to the
flow at the beginning of the arc. Gains less than 1 model losses,
such as evaporation or spoilage. Gains greater than 1 model
growth in flow.
A network in which all arcs have unit gains is called a pure
network. The optimal solution for a pure network with integer
parameters always has integer flows. If some gains have values
other than 1, the network is a generalized network, and the
solution is not usually integral.
Chapter 5 Network Flow Programming Models
高等作業研究
ARC PARAMETERS
In a network diagram, the arc parameters are shown adjacent to
arcs and are enclosed in parentheses (e.g., lower bound, upper
bound, cost, gain). When a parameter is not shown, it assumes
its default value. Default values are 0 for the lower bound, 
for the upper bound, 0 for the cost, and 1 for the gain.
EXTERNAL FLOWS
The external flow at node i, denoted by bi is the flow that must
enter node i from sources, or leave node i for destinations
outside the network. A positive external flow enters the node,
and a negative external flow leaves the node. In a network
diagram, the external flow is shown in square brackets
adjacent to the node.
Chapter 5 Network Flow Programming Models
高等作業研究
FEASIBLE FLOW
When an assignment of flows to the arcs satisfies conservation
of flow for each node and is within the bounds of each arc, the
flow is said to be feasible.
OPTIMAL FLOW
The feasible flow that minimizes the sum of all arc costs is the
optimal flow.
Chapter 5 Network Flow Programming Models
高等作業研究
5.1 CLASSICAL PROBLEMS
Chapter 5 Network Flow Programming Models
高等作業研究
1.
Transportation Problem
In the statement of the classical transportation problem,
balance is present, which meansmthat the ntotal supply always
equals the total demand-i.e., i 1 si   j 1 d j
2. This is the case in our example and is a sufficient condition
for feasibility. Instances of the problem can always be put
into this form with the addition of a dummy supply point
(call it m +1) when demand exceeds supply, or a dummy
demand point (call it n +1 ) when supply exceeds demand.
3.
If  denotes the excess, we set sm1   or d n1   . All
unit costs,c m 1, j or ci ,n 1 , associated with the
corresponding shipments are set equal to zero.
Chapter 5 Network Flow Programming Models
高等作業研究
5.1 CLASSICAL PROBLEMS
Chapter 5 Network Flow Programming Models
高等作業研究
5.1 CLASSICAL PROBLEMS
1. The network has a special form important in graph theory. It is
called a bipartite network, which means that the nodes can be
divided into two subsets with all arcs going from one subset to
the other. The optimal solution for this example is shown in
Figure 5.5
Chapter 5 Network Flow Programming Models
高等作業研究
5.1 CLASSICAL PROBLEMS
Assignment Problem
A typical assignment problem, presented in the classic form, is
shown in Figure 5.6. Here there are five workers that are to be
assigned to five jobs. The numbers in the matrix indicate the
cost c ij of worker i doing job j. Jobs with costs of M are
disallowed assignments. The problem is to match workers and
jobs at minimum cost.
Chapter 5 Network Flow Programming Models
高等作業研究
5.1 CLASSICAL PROBLEMS
Chapter 5 Network Flow Programming Models
高等作業研究
5.1 CLASSICAL PROBLEMS
Shortest Path Problem
1. The problem is to find the shortest path from some specified
node, node A for example, to some other node or perhaps to
all other nodes.
2. The latter problem is called the shortest path tree problem
because the collection of all shortest paths from a specified
node forms a graph structure called a tree.
3. Since it is not much more difficult to find the paths to all
nodes than it is to find the path to one node, the shortest
path tree problem is usually solved.
4. The NFP equivalent of the shortest path tree problem is
formed by equating arc distance to arc cost, assigning a fixed
external flow of m - 1 ( m is the number of nodes ) to the
source node, and assigning fixed external flows of -1 to
every other node.
Chapter 5 Network Flow Programming Models
高等作業研究
5.1 CLASSICAL PROBLEMS
Chapter 5 Network Flow Programming Models
高等作業研究
5.1 CLASSICAL PROBLEMS
Maximum Flow Problem
1. The problem is to find the maximum possible flow from a
given source node s to a given sink node t. All arc costs are
zero with the exception that the cost on the arc leaving the
sink is set to -1. Since the objective is to minimize cost, the
maximum possible flow is delivered to the sink node.
2. By convention, we assign a large number M to the upper
bound on flow into the source and out of the sink node.
3. The individual arc flows that yield this result are shown in
parentheses. The bold arcs in the figure, {(1,3), (2,6), (2,7),
(5,8)}, are called the minimal cut. In general, a cut is a set of
arcs such that if they are removed from the graph, no flow
can pass from the source to the sink.
Chapter 5 Network Flow Programming Models
高等作業研究
5.1 CLASSICAL PROBLEMS
4.
A cut partitions the nodes in a graph into two disjoint subsets
or subgraphs. The arcs in the minimal cut are the bottlenecks
that are restricting the maximum flow. The fact that the sum
of the capacities of the arcs on the minimal cut equals the
maximum flow in this example is not a coincidence.
5.
It is always the case and is a famous primal-dual result in
network theory called the max-flow min-cut theorem. The
arcs comprising the minimal cut can be identified using
sensitivity analysis.
Chapter 5 Network Flow Programming Models
高等作業研究
5.1 CLASSICAL PROBLEMS
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
Transportation Problem with Costs and Revenues
1. Consider a company that has two plants (S1 and S2) and
four customers (D1,D2,D3, and D4). The problem faced by
the plant manager is to find the optimal shipping pattern
that maximizes the net profit-that is, revenue less shipping
costs less manufacturing costs.
2. The only difference is that the quantities available at the
sources and the amounts demanded by the customers are no
longer fixed but are given by a range of values.
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
*Treat extra supply
and demand as
capacity of external
flows.
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
Multiperiod Operations
The company needs to establish a shipping schedule for the
next two months. The demands for each customer are 15 units
in the first month and 20 units in the second month. These
demands must be met. Plant S1 has a manufacturing capacity
of 30 units per month and plant S2 has a capacity of 50 units
per month. In the first month ,the production cost are $8 per
unit at plan S1 has and $l0 per unit at plant S2. In the second
month, the unit costs are $9 per unit at both plants. Products
can be stored at the customer sites from one month to the next
at a cost of $1 per unit. Products cannot be stored at the plants.
Shipping costs are as given in the preceding example except
that the shipping company is offering a discount of $1 per unit
on all routes during the first month. The goal is to minimize
total production costs, shipping costs, and inventory costs over
the two-month period. Not all production capacity needs to be
utilized.
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
Because there are no longer any minimum shipping requirements, there are no
square brackets above the source nodes. The first number in parentheses on
an arc entering a source node represents an upper bound on the available supply.
Also, demand is fixed at each destination-i.e., there is no extra demand.
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
Transshipment Problem
This model contains intermediate nodes with nonnegative
supply or demand requirements and with arcs between pairs
of sources or pairs of destinations.
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
1. A transshipment problem can be transformed into a balanced
transportation problem. The associated NFP model is bipartite. To
begin, we assume that there are m pure supply points, n pure
demand points, and p transshipment points.
2. For an NFP model, a pure supply point would have only leaving
arcs whereas a pure demand point would have only entering arcs.
We let sT be the total supply available for the problem- i.e., ~
m p
sT  i 1 si and we let tk be the net stock position at transshipment
node k for k= 1,..., p. If stock is supplied at node k, then tk is
positive, and if stock is demanded at node k, then tk is negative. In
the example, m=n=p= 3, with sT = 17.
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
Step 1: If necessary, put the problem into balanced form by adding
either a dummy supply point to meet the excess demand or a
dummy demand point to absorb the excess supply. Shipments
to or from the dummy node will have zero shipping cost.
Step 2: Construct a transportation tableau with m + p rows-one for
each supply point and transshipment point-and n +p columns
-one for each demand point and transshipment point. Each
pure supply point i will have a supply equal to its original
value si, and each pure demand point j will have a demand
equal to its original value dj. Each transshipment point k will
have a supply equal to sk = tk + sT. and a demand equal to
dk = sT.
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
we assign a large cost M to shipments that are not permissible.
To facilitate modeling, we allow a shipment from a
transshipment point to itself and assign it a unit transportation
cost of zero-that is, we include xkk in the model and set
ckk=0 for k= i,...,p.
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
sT
sT+tk
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
1. The decision variable xkk corresponds to a fictitious shipment. For
each transshipment point k that has a nonnegative quantity to be
supplied (tk ≥0), the net difference between the amount demanded
(dk = sT) and the fictitious shipment xkk represents the transshipment
quantity. Similarly , for each transshipment point k that has a
negative quantity (tk < 0) indicating the number of units demanded,
the net difference between the amount supplied (sk = dk + sT) and the
fictitious shipment xkkrepresents the transshipment quantity. Because
the fictitious shipment variables xkk have ckk = 0, their levels do not
contribute to the total cost of transportation.
2. To achieve the conversion to a standard transportation model, we
have introduced sT which can be thought of as a fictitious buffer
stock at each transshipment node k. Because sT has been included in
both sk and dk the sum of all the si, remains equal to the sum of all
the dj. Thus, balance is maintained. The total amount of stock
transshipped through point k is sT - xkk if tk≥0,and tk+sT–xkk , if tk <0.
(For T3: 17-14=3; For T1: -2+17-15=0)
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
Transformation of Flow
A company makes three products at four plants. Because of
differences in labor skills, the amount of time required to
manufacture the products varies among the plants. The time
requirements (in minutes per unit) are shown in the matrix in
Figure 5.19. A dash indicates that the specified product cannot
be made at the specified plant. The demands for the three
products are also shown. The total time available at each plant is
25 hours per week, but it is not necessary that all of it be used.
The hourly charges for labor are $10, $12, $9, and $13 for plants
1, 2,3, and 4, respectively. There is no labor charge for time not
used. The problem is to construct and solve a network model that
can be used to minimize total manufacturing costs while meeting
all demand. The requirements data are given in minutes per unit,
so to compute the appropriate gain factors it is necessary to invert
the quantities in Figure 5.19 and then multiply by 60 to find
units per hour. The gain for plant 1 producing product A is
60 (min/hr) / 30 (min/unit) = 2 units per hour.
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
Convex Costs and Concave Revenues
Consider an arc that carries flow between two nodes. Suppose that
the first 10 units of flow have a unit cost of $5, the next five units
have a unit cost of $8, and any additional units have a unit cost of
$10. When unit cost is increasing with flow, the arc cost is a
convex function of the flow and can be modeled with multiple arcs.
Unfortunately, concave cost functions and convex revenue
functions cannot be transformed into linear models. To deal with
such functions, it would be necessary to introduce integer variables
into the formulation to ensure that arcs were selected in the proper
order, higher-cost arcs first in the case of concave costs.
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
Undirected Edges
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
Elimination of Arc Lower Bounds
Determining Economic Life
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
1.
2.
Consider an investment in a machine with an initial purchase
price of $1000. It is anticipated that the machine will be used
far into the future. Given that the salvage value is decreasing
and operating costs are increasing, there must be some optimal
time at which the machine should be replaced. The optimal
replacement time is called the economic life of the machine.
Time value of money principle. Specifically, the present value
of an amount cn received n years from now is computed as
cn
follows.
p
(1  i) n
The term 1 /(1  i) n is the discount factor.
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
To find a general expression for the present value of the cash
flow as a function of the time of disposal, let cn be the cost
expended at time n, let N be the life of the machine, and let sN
be the amount realized when the machine is disposed of at
time N. The net present value for a lifetime of N years, PN, is
then
N
cn
sN
PN  

n
N




1

i
1

i
n 0
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
For the specific case for N= 3 and assuming that i is 20%, we have
p3= 1000+ 833.33 + 833.33 + 810.19 = $3476.85
Note that the fourth term in this expression is the present value of
the combined operating cost and salvage value in year 3.
1000
1000
1200
1400
There is no optimization in the network shown in Figure 5.28. The
fixed flow at node 0 is forced on the network, resulting in the arc
flows
X0 = 1, X1 = 0.833,X2 = 0.8332, X3 = 0.8333, P3 = 3476.85
The cost associated with the network is the present value of the
cash flows for the machine.
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
We might ask for the present value of a series of replacements
over an infinite period for the cash flows depicted in Figure 5.29.
Without proving this result, we observe that the NFP model of a
continuous series of replacements can be represented by the cycle
shown in Figure 5.30.
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
The economic life of 3 years is the life that minimizes the
present value of ownership over an infinite time horizon. To
find this value, an optimization problem must be solved. The
NFP model for our example is depicted in Figure 5.31. There
are five cycles or alternative paths representing replacement
after years 1 through 5, respectively.
Chapter 5 Network Flow Programming Models
高等作業研究 5.2 EXTENSIONS OF THE BASIC MODELS
The result indicates that the machine should be replaced every
2 years. The cost of the optimal flow, $8045.46, is the present
value of the costs incurred by following the optimal policy
forever.
Chapter 5 Network Flow Programming Models
高等作業研究
5.3LINEAR PROGRAMMING MODEL
Every NFP model has an LP equivalent.
Chapter 5 Network Flow Programming Models
高等作業研究
5.3LINEAR PROGRAMMING MODEL
Lower bounds on flow (the upper bounds are infinite):
xk ≥0, k=l,2, ...,10
Chapter 5 Network Flow Programming Models
高等作業研究
5.4 MINIMUM-COST FLOW PROBLEM
The problem is to determine an optimal distribution plan that
minimizes the total cost of shipping while meeting all customer
demands with available supplies.
Chapter 5 Network Flow Programming Models
高等作業研究
5.4 MINIMUM-COST FLOW PROBLEM
1. We call the models pure minimum-cost flow models,
because the flow entering an arc at its originating node is equal
to the flow leaving the arc at its terminal node.
2. The pure minimum-cost flow model is contrasted later in
the chapter with the generalized network flow model, which
does not have this requirement.
3. The pure model has the important property of integral optimal
solutions. Whenever all node external flows and all arc upper
and lower bounds are integer valued, the solution to the pure
model is also integer valued.
Chapter 5 Network Flow Programming Models
高等作業研究
Linear Programming Model
Chapter 5 Network Flow Programming Models
高等作業研究
Generalized Minimum-Cost Flow Problem
We introduce an arc gain parameter to handle losses or gains that
occur along a link. Figure 5.39 illustrates the effect of the gain on
flow. We model the 5% loss from Phoenix to Chicago with a gain
of 0.95 on the arc. Thus, 200 units leave Phoenix, but only 190
units arrive at Chicago.
Chapter 5 Network Flow Programming Models
高等作業研究
Node Restrictions and Costs
The airport has instituted a fee for each unit transferred and limits transfers to
100 units per week. In addition, there is a spoilage of 10% of the units that are
handled.
We allow for these possibilities by dividing the Atlanta node into two nodes, as
shown in Figure 5.42, and adding an arc between them. The flow that actually
passes through Atlanta now flows on arc 18, and any information related to that
flow is described by the parameters of the arc.
Chapter 5 Network Flow Programming Models
高等作業研究
Homework 5
A company has one manufacturing plant and three sales outlets (A, B and C). Unit
shipping costs from the plant to outlets A, B and C are $4, $6 and $8, respectively.
The company wishes to develop a production, shipping and sales plan for three
periods. The corresponding data are given below. The plant has the capability of
storing up to 100 units of product stored from one period to the next. The storage
cost is $1 per unit per period. Find a plan that maximizes profit.
Manufacturing data
Period
Selling price
Maximum sales (unit)
Unit Capacity Outlet Outlet Outlet Outlet Outlet Outlet
cost ($) (unit)
A
B
C
A
B
C
1
8
175
$15
$20
$14
50
100
75
2
10
200
$18
$17
$21
75
150
75
3
11
150
$15
$18
$17
20
80
50
Chapter 5 Network Flow Programming Models
Download