9 OS-3: Minimum Total Capacity with Limited Oversubscription
Tải bản đầy đủ - 0trang
This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks
The edge reduction guideline of Equation 9.45 can also be viewed simply as an initial criterion that can be followed by any further
limitations necessary or warranted. For instance with k=4, dmax = 5 the edge space of a 26 node problem is reduced from 190 candidate
edges to 76. Using heuristic methods that follow we may be able to work with 76-edge candidates, but often that will still be too many to be
practical. Seventy-six candidate edges corresponds, however, to an actual ratio of candidate edges to nodes of 7.6. Even though we used
dmax = 5, the large number of extra candidates are admitted by thek=4 criterion, so k=3 could be asserted instead. Ultimately of course,
case by case inspection of the edges for "plausible appearance" in an optimal solution can be used to further reduce the edge set.
Additional criteria for acceptance or rejection can be based on absolute properties of each edge candidate. All edges below a certain low
absolute distance or cost may be considered worthwhile exceptions to the basic rule. Conversely, if the maximum geographic diameter of
a network region was say 1,000 km, or the average nodal distance to a nearest neighbor was (say) 200 km, then one might assert that in
addition to any eliminations by the basic dmax criterion, any single prospective edge over 800 km will not be considered.
[ Team LiB ]
.
This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks
[ Team LiB ]
9.12 Successive Inclusion Heuristic
The Successive Inclusion (SI) heuristic (initially called Iterative Sampling in [Ezema03]) offers a way to check or partially guard against
greediness effects from edge limiting and/or to permit more aggressive initial edge limiting as may be necessary on larger problems. The
idea is to provide an initial set of candidate edges and solve for the optimum topology within that edge set to start. Then, each edge that
was part of the true universe of edges for the problem but was not included in the initial design is readmitted for consideration in a series
relatively fast subsequent runs of the topology design problem. The overall process is still suboptimal but, in practice, it performs quite
well. In effect when each initially excluded edge is readmitted individually, we are asking the solver, "Would you change your mind about
anything if you had this edge to work with too?" Of course this misses the possibility that edgex would only be chosen in the presence of
edge y, both of which were initially excluded edges, but it does "mop up" on any first order opportunities to include good edges that were
initially omitted. To the extent that certain elements or choices tend to be "good ideas" in combinatorial problems, this heuristic will be
effective. What we mean by this is that if an edge tends to be a "good idea"—in and of itself, set in almost any backdrop of other edge
combinations—then Successive Inclusion will work well to backstop or improve on the quality of edge-limited designs, because it makes
sure that the edge limiting process did not exclude any really important (i.e., useful) edge.
Successive Inclusion can actually use any initial (biconnected) topology design and universe of edges. We assume that MTRS with
reduced edge sets, or the 3-step heuristic for MTRS are used as the basic solution technique in conjunction with Successive Inclusion.
First, let us define:
Euniv = the set of all candidate edges for the problem.
Elim = the edge-limited set of edge candidates. Obviously Elim
Euniv .
th
Eopt(n) = the set of edges included in the n iteration.
MTRS(E) = the MTRS solution procedure given edge set E, returns Eopt
E.
Then the procedure is:
Successive Inclusion:
n:=1; Eopt(n):= MTRS(Elim);
for every edge i in {Euniv -Elim): {
Eopt(n+1):= MTRS(Eopt(n)
n:=n+1}
i);
The reason this works well is the understanding that an edge solution found from an edge set E can never worsen when presented with a
larger edge set {E+i}; it can only improve. Thus, in the first step above, an initial topology is found within the reduced edge set. In the main
loop that follows, each edge that was initially excluded is individually reintroduced. The new edge could be included if its effect is to reduce
capacity costs more than its own cost, or MTRS may revise its prior edge choices given the opportunity to consider {Eopt +i} and adopt the
new edge i, while dropping one or more other edges from the prior solution. If edgei is not adopted we can be satisfied that its addition
(individually) to the initial edge set would also not have had any effect because the solution cost of MTRS(E) is always
Any improvements found in the main loop are implicitly retained in Eopt(n).
MTRS(E+i).
This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks.
To use Successive Inclusion it is still always best to solve the initial MTRS problem on the largest reduced edge set that is practicable. But
SI allows us to approach larger overall problems than we otherwise could tackle at the same solution quality. For instance an 11-node
problem with its universe of 55 edges might be edge-limited to 28 edges. Twenty-eight edges is equivalent to the universal edge set for an
eight-node problem, which we can solve directly with MTRS in about a minute. Say this results in selection of an initial topology with 20
edges (i.e.,
~3.6). The initial MTRS run is then followed by 55-28 = 27 further runs of MTRS with (nominally) 21 edges (in principle the
number of edges could go either back up or down). Assuming the average edge size of subsequent runs stays about 21, these MTRS
(28-21) 7
problems are roughly 2
= 2 times faster than the initial MTRS run. The overall procedure is thus vastly faster than the initial
55
problem involving 2 edge combinations. And although strictly suboptimal, in practice it often does match the fully optimal MTRS solution
where the latter are available.
Note that there are several options for the initial design step in SI. It could be a full MTRS solution on the reduced edge set, or, an
application for the 3-step heuristic for MTRS in which case a larger reduced edge set can usually be handled at the initial stage. Ezema
used a minimum spanning tree, repaired for biconnectivity, with addition of a set of further candidate edges selected from edge-limiting as
the Eopt(1) initial edge set and observed SI to accumulate the added edges and make other revisions to the solution topology as needed
to reach the optimal solution. Figure 9-25 shows two selected results for the COST-239 network of 11 nodes and universe of all 55
possible edges. The problem uses the published COST-239 demand matrix, Euclidean distances as edge costs and
=25. A set of 26
candidate edges was assembled from a repaired MST graph (17 edges, d =3.09) plus 9 edges from the universal edge set for this
problem, chosen by edge-limiting. The topology shown at the end in Figure 9-25 is the optimal topology with final d = 2.91 (16 edges).
Topology changes occur only when a new edge inclusion is used in the solution or the new edge permits removal of some existing edges,
as in Figure 9-25(c), (d). The broken lines indicate edges that were part of a prior solution but were deleted following addition of a new
edge. Several different sets of 26 edges were tested and all quickly converged to the 16-edge topology that we believe is actually optimal
at the total cost shown based on separate runs of the 3-step heuristic on 39 edges out of the entire edge-set of 55.
Figure 9-25. Trajectories of SI runs on COST-239 11 node problem starting from repaired MST.
[ Team LiB ]
This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks
[ Team LiB ]
9.13 Graph Sifting and Graph Repair for Topology Search
The edge-limiting heuristic can be applied ahead of time to any MTRS-type problem. Whatever solution method is used, the inherent
problem complexity is reduced, benefitting runtime for any type of subsequent solver. Indeed edge set reductions alone can be combined
with the 3-stage heuristic to obtain high quality solutions to MTRS problems of up to around 20 nodes in practice, or 30 nodes if more
aggressive edge set reduction is applied. But what if we want to solve even larger topology problems and/or we want a separate method
to use as a cross-check on larger designs? To go to larger problem sizes it is quite clear that we have to entirely remove the topology
search subproblem from the sphere of the MIP solver. In this section we explain a procedure to generate "qualified" random graphs to
drive a search on topology in which the MIP is used only to evaluate the capacity costs associated with each candidate graph. The
important difference is that our search will be over the space of qualified graph candidates directly, not single-edge decision variables. By
no longer operating on the space of edge candidates we avoid the vast number of edge vectors that do not even specify a qualified graph,
but which ultimately completely defeat the 1/0 MIP at larger problem sizes.
The basic idea is called "graph sifting." It is based on the realization that among the space of all possible free edge decision vectors, only a
small fraction of these are even plausible or qualified for detailed consideration as the basis for a cost minimal transport network. More
specifically we know that simply to be qualified, a candidate graph must be biconnected or two-connected. We also know that to be even
plausible as the basis for an optimal solution in practice, the graph must be relatively lightweight. The initial sifter idea is thus to implement
a series of extremely fast and simple procedures to apply increasingly targeted but easily implemented sifting criteria, so that all that falls
out at the bottom of the sifter are plausible topologies for detailed routing and capacity design. The graph sifter can work directly to
enumerate and discover all qualified graphs directly by sifting on suitably sized problems. At larger problems, however, so much sifting
time can be spent before finding even one qualified graph that a better strategy is to "repair" unqualified graphs, thereby producing a
series of candidate graphs. The edge cost of each candidate is trivial to evaluate and the MIP solver can quickly assess the capacity cost
of any given candidate graph. The concept of the sifter alone is portrayed in Figure 9-26. The logic of the graph sifter coupled with a graph
repair process is illustrated in Figure 9-27.
Figure 9-26. Concept and architecture of graph sifter approach to optimizing topology.
This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks
Figure 9-27. The graph sifter with repair process to enumerate graph candidates [Ezem03].
This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks
9.13.1 Graph Generation
The output of the graph generator is a binary word of width equal to the number of edge decision variables. Existing edges are
represented as hard wired bits (set to 1) in the "counter." Each time the binary counter advances, its' word is processed by the graph
sieve. In this role a binary counter has the property that it would enumerate every graph combination, although at sizes of interest this may
be impossible in practice. A binary counter also tends to specify graphs with high average weight. If exhaustion of the graph space is not
the aim, then a large random sample of edge combinations is more desirable and bit-wise random generation is preferable.
For bit-wise generation each edge is considered individually and set to one with a probability p. For each slot in the edge vector, a random
number in the range [0, 1] is generated. If the number is less than or equal to p, the slot is set to 1, otherwise it is set to 0. The function
used to determine p leads to the different models for generating random graphs.
In a pure random model p can be set based on plausible maximum nodal degree considerations, so as to directly generate edge vectors
with weight biased into the region of interest. If we want graphs of average nodal degree of 5 for a 10-node network (i.e., 10 nodes with 25
edges on average) out of a possible maximum of 45 edges, we would set p = 25/45 = 0.56. The fixed probability model does not, however,
reflect the structure of real network topologies because any two nodes are as likely as others to become connected.
Other random graph generation methods include Waxman's model [ZeCa96],
Equation 9.46
where d is the Euclidean distance between nodes u and v, L is the network diameter (maximum Euclidean distance between any two
nodes) and a >0 and b <1 are model parameters. Increasing a raises the number of edges. Increasing b raises the probability of a long
edge. If we set b=(L-d)/L we get a pure exponential random graph model where the probability of a diameter-long edge goes to zero. One
problem with these random models is that unless biased to high average edge probabilities, they are unlikely to produce a connected
graph. For instance at a =0.2 and b = 0.15, graphs with d~ 3.5 result but are almost never connected. This is one of the reasons for
considering algorithmic graph generation methods.
Algorithmic graph generation methods provide a way for us to generate graphs that are at least connected. Some such methods are
described below.
Node Linking
A vertex n is selected at random from all nodes in the graph as the start node and is added to the record of nodes visited. At
n, the shortest
candidate edge is added to an adjacent node v. Node v becomes the next node to be visited and is added to the record. Atv, the shortest
candidate edge not yet in the graph is added. This process is continued until the record of nodes visited contains all nodes in the graph, at
which time a random connected graph has been produced. A tie occurs if the edge selected from a vertex v has its other vertex n already
"linked" in the graph or vertex n has all its candidate adjacent neighbors already linked. To break a tie, we choose another vertexu
randomly from the linked vertices such that u has a candidate adjacent node w that is not yet linked. From vertex w, the nodal linking
process continues.
This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks
Two Trees
This graph generation method is the only graph generation method that directly produces a qualified graph candidate without the need for
applying a repair heuristic. It is a variant of the Two Trees Dense graph construction heuristic described in [MoSh89]. The method involves
combining two trees formed on graph G=(V,E) to form a graph G'=(V,E'). The first tree is a minimum cost spanning treeT=(V,E'). The
second tree T' is formed on graph G'=(V,E-E'). Where all nodes have the same survivability requirements (i.e., biconnectivity or two-node
connectivity), we choose the second tree as a minimum cost spanning tree formed on the graph G'=(V,E-E') with no edge of T reused.
This method generates two-node connected (but dense) networks and is illustrated in Figure 9-28. In Figure 9-28(a), the solid lines show a
minimum spanning tree T for the 7-node, 21-span network.Figure 9-28(b) shows a minimum spanning treeT' for the graph after the edges
of T are removed. Figure 9-28(c) shows the resultant graph G'=(V,T
T').
Figure 9-28. Example of two-trees method of random generation of biconnected graphs.
To obtain random biconnected graphs using the two trees method, each tree need not be a minimum spanning tree for its subgraph. Any
tree-forming procedure, including one based on simple node linking can find a first tree T. Numerous complementary T' can then be found
for each T. Note that in most actual transport graphs if we find and remove one treeT, a second tree T' is often not feasible as removal ofT
would often disconnect the graph. It is important, therefore, to realize that when used in our context the initial graph G=(V,E) is based on
the universal set of edges, or, more generally, E at least contains all candidate edges for the problem.
9.13.2 Graph Testing
The principle for ordering the sieve tests is to apply the simplest to execute first, so that by the time required in the more complex
qualification tests, such as for biconnectivity, is invested only for a small fraction of all graph candidates. When a qualified graph is
identified it is passed to a separate process for routing and capacity cost evaluation. We first describe the basic sifting criteria, then
comment on the repair strategy for each criterion if it is failed.
Tests for Minimum and Maximum Edge Count
A graph that is either biconnected or two-connected always contains at least N edges. This tells us that the minimum number of edges a
qualified graph has should be N. So any edge vector containing fewer thanN logic ones is rejected. There is also a maximum edge weight
disqualifier. Based on knowledge that no real network (that we know of) has a physical-layer
> 4.6 or so, we can fairly safely assert, let
This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks
us say,
= 6. We can be confident of this requirement having no deleterious effect on the solution quality but it sieves out an
enormous fraction of graphs. Moreover it is in the nature of the problem that if this limit was having any effect, we would notice solutions
coming out around
and could then shift the search window up accordingly. Once a view of
Smax =
· N/2 as the maximum number of ones in the edge vector. In an evolutionary planning context the
be set with the complete network of both old and new portions in mind as a whole.
is adopted, we set
criterion would
Tests for Individual Nodal Degree
In a two-connected or biconnected graph every node will individually be of at least degree 2. Otherwise it is a singly-connected stub node
and their is no point bothering with the later more complex tests. If all nodes in the graph formed of the existing edge set, any added
nodes, and the current variable edge vector have degree 2 or more, the edge vector goes on to the next sifting stage. Otherwise it is
discarded and the graph generator is incremented, or repair is effected before continuing.
Test for Edge Cost Above Best Bound
The next simplest test on the candidate edge set is to ask if the sum of the fixed costs of the edges it embodies already exceeds the
lowest cost yet seen for a complete design. This test is available after the sifter solver system has evaluated a number of candidate edge
sets but it takes advantage of the fact that if the fixed charges of the current edge set exceed the lowest cost of any complete design yet
seen, then the candidate vector can be rejected because it cannot possibly be the basis of a lower-cost complete design solution.
Test for a Connected Graph
At this stage we know the candidate edge vector has a reasonable number of edges, each node is individually degree 2 or more, and the
sum of fixed edge costs is not above bounds. These tests get rid of many candidates and are extremely fast as they involve nothing more
than counting and comparison tests. But we do not yet know if the edge vector is describing a connected graph in its own right (for green
fields use) or describes a connected graph in conjunction with the existing network (for evolutionary planning). At this point we are forced
to start applying more complex disqualification tests and one could ask why not apply the test for two-connectedness or biconnectivity (as
desired) right at this stage. The test for simple connectivity is still quite fast, however, and rejects many candidates. In addition, the
subsequent tests for biconnectivity or two-connectedness are based on algorithms that look for bridge spans or nodes and therefore
requires a confirmation of basic connectivity before they can be properly applied. A rapid procedure to test if the graph G is a single
connected component is to start at any node as a root node, and step out to each of its adjacent nodes called its neighbors. Each span
traversed to reach a neighbor is marked. From each neighbor node, its own neighbors are visited also, but only unmarked edges are
traversed. A record is kept of all nodes visited. When all connected nodes have been visited, the visited node record is checked to ensure
that it contains all nodes in the graph. If it does, G has passed the test and goes on to be tested for two-connectivity. Otherwise it is
discarded.
Only one of the final two tests need be implemented, depending on whether the design criterion is for two-connectivity (may contain a
bridge node) or biconnectivity (excludes bridge nodes). Each of the following tests can be implemented with space and time complexity of
O (n + m) where n = number of nodes and m = number of edges, using the algorithm for that purpose from BaGe00]
[
which was reviewed in
detail in Section 4.8.
Test for Two-connectivity or Biconnectivity
This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks
For a connected graph G, its edge connectivity l(G) is the size of the smallest cutset in G. In general G isk-edge connected if l(G)
k. A
graph that is not two-edge connected contains a cutset with only one edge, called a bridge. This test checks the graph G for the existence
of a bridge edge. If none exists, G has passed the test and is released as a qualified graph on which to solve the routing and capacity
design problem.
The concepts to test for biconnectivity are analogous, but using nodes instead of edges. If G is connected and not a complete graph, its
(node) connectivity K(G) is the size of the smallest separating set in G. A separating set in G is a set of nodes whose removal disconnects
G. If the separating set contains only one node, the node is called a cut vertex (or bridge node). We then say that G is k-connected if k(G)
k. A biconnected graph is one that is connected and contains no cut vertex. A graph that is not two-connected contains a separating
set with only one node, the cut vertex. This test checks the graph G for the existence of a cut vertex. The number of bi-components in G
signifies the presence or absence of a cut vertex. A bicomponent is defined as a maximally connected subgraph of G. If G has more than
one bicomponent, a cut vertex exists and G is discarded. Otherwise, G represents a valid graph that can be passed on to the final solver
for further optimization of routing and capacity.
9.13.3 Repair Procedures
If sifting with repair is implemented, the repair at each stage only corrects the "local" deficiency being tested for, and does not lead directly
to a fully qualified graph. For instance if a stub node is found, an edge is added to correct this deficiency, even though other flaws may
remain to be found by further criteria in the sifter. The repair heuristics are simple specific routines that deal with each particular graph
property. For example, if a graph fails the test for maximum or minimum span count, the routine to repair the graph would be to add or
remove edges to/from the graph respectively, until the weight of the graph is within the desirable range. If the graph fails the stub node test
we add an adjacent edge to each such node connecting it to a new nearby node. For the tests of connectivity and so on, the repair routine
first finds the components in the graph. Then an edge is added between nodes in different components. The respective test is repeated
and new components (if any) are identified. Edges are added between nodes in different components until the graph is connected,
two-edge or two-node connected as desired. For the best bound test on edge costs, the repair routine exchanges high cost edges with
lower cost edges until the graph cost is at least below the total cost of the best complete design yet seen.
[ Team LiB ]
.
This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks
[ Team LiB ]
9.14 A Tabu Search Extension of the Graph Sifter Architecture
Another tactic that can be applied within the graph-sifter framework draws from ideas of "tabu search" (Section 4.18.3) to accelerate the
process of eliminating candidate edge combinations. This is suggested by the block entitled edge decision frequency-quality metrics in
Figure 9-26 and the outer dashed loop suggesting how certain edges might gradually be pinned to either 1 or 0 as an increasing number
of complete solutions are observed. The basic principle is that in many combinatorial optimization problems, certain elements or choices
are frequently associated with being part of a good overall design. Here, the idea would be to keep a running count of how frequently
each edge appears in low cost designs and how often a high design cost correlates with its absence. A frequency quality metric for this
can be of the general form:
Equation 9.47
th
where dj(k) is the 1/0 decision outcome regarding edge j in the k complete design andC is just an arbitrary constant, characteristic of a
typical design cost. dj(k) values apply in evaluating M j(k) whether edge j is currently a free variable or if, as a result of the strategy below,
it has been forced to 1 or 0. In Equation 9.47 the merit of span j, Mj(k), is updated on every completed design. Either the edge was used
and it was part of a good design, in which case the first term weights it with the cost savings of that design relative to the bias constant C,
and vice-versa. Conversely, a judgment is made about the quality of the designs in which edge j is not employed, in the second term. If
there is no correlation either way with overall design quality and the employment of edge j in the design, M j(k) will bobble around close to
C. On the other hand if edge j is usually a good or a bad decision,M j(k) will drift up or down, away from C, respectively. Thus, a TS-like
policy could be implemented to structure the search as follows:
Equation 9.48
Under this policy the complete edge decision search space would be reduced and the search guided when there is no accumulating
evidence or experience of particular edges being either effective or not, they remain as free edges in the enumeration of graph
candidates. But some edges build a history and get firmly asserted or deleted from the graph candidates inspected in the ongoing
search. Note that the M j(k) values continue to evolve even after an edge crosses the threshold where it is forced in or out of the graph
generation, so a given edge may come in and be firmly held through a certain range of the enumeration space, then dropped out again
later. The thresholds of +/- 2C for forced inclusion or exclusion of an edge inEquation 9.48 is an arbitrary example of how the thresholds
could be set. More formally the thresholds should be set based on observing some criterion like the 1-s cost offset from the mean. Note
that while the basic sifter architecture, run to exhaustion of the free edge counting range, can claim optimality in its result, addition of the
outer loop of frequency-quality metrics and edge assertion thresholds, converts the entire procedure into a form of tabu search algorithm
which may find good solutions more quickly than the exhaustive sifter, but will no longer be an optimal solution algorithm.
[ Team LiB ]
.
This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks
[ Team LiB ]
9.15 Range Sweeping Topology Search
We close the chapter by describing a technique for searching systematically (rather than randomly) through a plausible region of nodal
degree for a detailed topology construction that yields minimum MTRS cost. Using the nodal degree and cost information derived from the
ongoing search, we adaptively narrow the search bracket to search even more closely over the region within which we believe an optimal
graph topology may lie. Called "Sweep Search," the idea exploits the fact that we know from first principles and preliminary studies that
there is a nearly continuous curve of total costs versus connectivity with a unique minimum basin seen in curves such as in Figure 9-6. If
we presume bounds on nodal degree dmin to dmax then sweep search can be used to traverse this region, for as many passes as desired,
enumerating detailed graph constructions within the plausible region.
The procedure has two main phases. One phase is the pare-down procedure already outlined in Section 9.4. In the previous pare-down the
edge with the least working flow crossing it is removed at each iteration, if its removal does not violate biconnectivity. Here, however,
random selection of an edge for removal is a preferred means to explore different graphs on each sweep. The process is repeated until no
edge can be removed from the graph without violating biconnectivity constraints or the average nodal degree of the graph is dmin. The
process reverses here and starts over with edge additions replacing edge removals. To the sparse graph we now have, we add an edge,
and pass the graph to the solver for routing and capacity design. We continue to do this until the graph has an average nodal degree of
dmax. Thus, we never lose biconnectivity throughout the search but are always evolving the actual graphs being considered, walking them
back and forth through the region where the optimum is thought to lie. The test for biconnectivity uses the O(m+n) algorithm of Section 4.8.
When we walk from a highly connected graph to a sparse graph, we call it "pare-down." Similarly, walking from a sparse graph and adding
spans is to "pare-up." A pare-down plus a pare-up sequence is called a "sweep." For each sweep, the nodal degree d of the graph that
produces the lowest edge plus capacity cost and its cost are noted. The search sweeps back and forth through the "plausible region" as
long as desired, constructing different detailed topologies and evaluating their total design cost. The overall search can be progressively
narrowed by adding an observer process that records the local_best_found solution at each d value in the sweep range and using this
information to periodically narrow the dmin to dmax search bracket. The idea is to observe the minimums of total design cost achieved at
each d value in the sweep range and pull in and re-center the actual search bounds as enough
local_best_found(d) data is observed to
produce sufficient monotonicity and contrast between the absolute best_found at the extreme values of the search ranged. Figure 9-29
illustrates the overall idea.
Figure 9-29. Concept of oscillating sweep search strategy for detailed topology construction
with adaptive narrowing of the search bracket.