CHAPTER 7 – NETWORK DESIGN, DIMENSIONING AND OPTIMIZATION
7.1. Core Network
7.1.1. Single layer design
7.1.1.1. Classical problems
Dimensioning Problems
Dimensioning problems (also called capacitated problems) require simultaneous optimization of flows and link capacities. We start the presentation with a simple dimensioning problem, which we will further extend in various directions throughout Subsection 7.1.1. The problem is referred to as DP1-LP (Dimensioning Problem 1 - Linear Programming formulation) and assumes that the lists of candidate paths for the demands are given in advance.
DP1-LP (Dimensioning Problem 1 - Linear Programme) indices
d=1,2,...,D demands
j=1,2,...,m(d) candidate paths for flows realizing demand d
e=1,2,...,E links constants
aedj = 1 if link e belongs to path j realizing demand d
= 0 otherwise
hd volume of demand d, h = (h1,h2,...,hD)
ce marginal (unit) cost of link e, c = (c1,c2,...,cE) variables
xdj non-negative continuous flow allocated to path j of demand d, x = (xdj: d=1,2,...,D, j=1,2,...,m(d))
ye non-negative continuous capacity of link e, y = (y1,y2,...,yE) objective
minimize C(y) = Σe ceye (7.1.1a)
constraints
Σj xdj = hd d=1,2,...,D (7.1.1b)
ΣdΣj aedjxdj ≤ ye e=1,2,...,E. (7.1.1c)
Objective function (7.1.1a) is interpreted as the cost of the link capacity. Constraint (7.1.1b) is called the demand constraint; it assures that all demand volumes are realized by means of flows assigned to their paths (of course, not all flows have to be non-zero). Constraint (7.1.1c) is called capacity constraint and it requires that the link load (left hand side) does not exceed the link capacity. As indicated by its name, problem DP1-LP is a linear programming problem, since all the functions defining cost (7.1.1a), demand constraints (7.1.1b), capacity constraints (7.1.1c), and the non-negativity constraints (7.1.1d) are linear, and all variables are continuous. It is quite easy to see that problem (7.1.1) can be solved in a straightforward way, by allocating the demand volumes to their shortest paths with respect to the link unit costs. To demonstrate this, we first note that for any optimal solution (x0,y0) of the problem all
constraints (7.1.1c) become equalities (otherwise we would unnecessarily pay for unused capacity of links). Then, we can eliminate the capacity variables, inserting the left hand sides ΣdΣj aedjxdj of (7.1.c) (link loads) instead of ye into (7.1.1a). The reduced problem (only in variables x) reveals that the non-zero optimal flows xdj0
can be assigned only to the paths with the minimum length Σe aedjce (we leave the details as an easy exercise for the reader). Thus, an optimal solution of problem (7.1.1) can be easily found by using the shortest path allocation.
Observe, that if demand d has several shortest paths, then its volume hd can be split into the flows assigned to the shortest paths in an arbitrary way.
In the sequel, unless stated otherwise, we will assume non-negativity of all optimization variables.
In most cases the link capacities are not continuous, since the link capacity in majority of network technologies is composed of certain capacity modules. For instance, in an SDH/SONET network, links are typically dimensioned in STM-1 (OC-48) modules
corresponding to the transmission rate of 155.52 Mbps. Then we have to change accordingly
the formulation of DP1-LP by imposing the requirement of integrality (modularity) of the link capacity variables and changing constraint (7.1.1c) into:
ΣdΣj aedjxdj ≤ Mye e=1,2,...,E (7.1.1c′)
where M is the given module size. The resulting, modified problem will be referred to as DP1-MIP (Dimensioning Problem 1 - Mixed Integer Programming formulation). The name, MIP, reflects the fact that some variables (flows) are continuous, and some (link capacities) are integral. It is important to note that the above, seemingly simple, modification makes the resulting problem very difficult to solve in the exact way, especially for large networks. It is well known that problem DP1-MIP is NP-complete (NP-complete problems as DP1-MIP are very difficult to solve exactly in a computationally effective way; see [7.2] and Appendix B in [7.1] for the discussion of the notion of NP-completeness), which means that all exact
algorithms for resolving the problem have exponential complexity, i.e., the time required to find the exact solution grows exponentially with the size of the problem. In practice, the applicable exact methods are based on the branch-and-bound approach [7.3], especially on its modification called branch-and-cut [7.4]. We should emphasize that the branch-and-cut algorithms are pretty complicated and require generating the so called valid inequalities in the nodes (subproblems) of the branch-and-bound tree (see [7.5]), in order to effectively account for the integrality of link capacities. Such equalities can be obtained by Benders’
decomposition, or by some special, problem-specific methods (cf. [7.6]). For approximate solutions one can always try to use the shortest path allocation approach (applied for the unit module costs c used as the link metrics for the shortest paths computation), and then
dimension the links for the resulting link loads. This approach, however, may sometimes result in quite poor solutions, with the cost (7.1.1a) much higher than optimal.
In many cases, also the demand volume is modular. For instance, if the demand for digital telephone circuits (64 kbps each) is to be realized in the STM-1 links, then, for the European version of the PCM system, we assume that one demand volume unit (DVU) corresponds to 30 circuits, and then M = 63, since one STM-1 transport module can carry 63 VC-12
containers, each carrying one PCM basic module. Then, DP1-MIP is simply modified by the requirement that the flows must be non-negative integers and assuming M = 63. In effect, we arrive at an all-integer problem DP1-IP, referred to as Dimensioning Problem 1 - Integer Programming formulation. DP1-IP can be approached in a similar way as DP1-MIP, i.e., with the branch-and-cut algorithms or by linear approximation.
In many cases, the modularity of the link capacity may be more complicated than being the multiple of just one module M. First of all, the link capacity can be built from more than one type of the module, as for example in an SDH network with transmission systems STM-1, STM-4 and STM-16. In such case we have three modules: M, 4M and 16M, for M = 155.52 Mbps. In the general case we assume that there K module types with module sizes Mk, k=1,2,..,K. Then, we have to introduce more link capacity variables and this leads to the following problem.
DP2-MIP (Dimensioning Problem 2 - Mixed Integer Programme) indices
d=1,2,...,D demands
j=1,2,...,m(d) candidate paths for demand d e=1,2,...,E links
k=1,2,...,K number of different link capacity modules constants
aedj = 1 if link e belongs to path j realizing demand d
= 0 otherwise
hd volume of demand d, h = (h1,h2,...,hD)
Mk capacity of module no. k expressed in DVU’s cek cost of one module of type k on link e
variables
xdj continuous flow allocated to path j of demand d, x = (xdj: d=1,2,...,D, j=1,2,...,m(d))
yek integer number of modules of type k realized on link e, y = (yek: e=1,2,...,E, k=1,2,...,K)
objective
minimize C(y) = ΣeΣk cekyek (7.1.2a)
constraints
Σj xdj = hd d=1,2,...,D (7.1.2b)
ΣdΣj aedjxdj ≤ Σk Mkyek e=1,2,...,E. (7.1.2c)
Problem (7.1.2) is more complicated than DP1-MIP, still the optimization approaches for DP1-MIP can be extended to DP2-MIP. Obviously, integer flows can be assumed as well.
The next, more general type of modularity, can be introduced using a general step-wise dimensioning function in the following way.
DP3-MIP (Dimensioning Problem 3 - MIP) indices
d=1,2,...,D demands
j=1,2,...,m(d) candidate paths for demand d e=1,2,...,E links
k=1,2,...,K number of incremental link capacity modules constants
aedj = 1 if link e belongs to path j realizing demand d
= 0 otherwise
hd volume of demand d, h = (h1,h2,...,hD)
mk incremental capacity of module no. k expressed in DVU’s cek incremental cost of one module of type k on link e
variables
xdj continuous flow allocated to path j of demand d,
x = (xdj: d=1,2,...,D, j=1,2,...,m(d))
εek binary variable indicating whether incremental module of type k is realized on link e, ε = (εek: e=1,2,...,E, k=1,2,...,K)
objective
minimize C(ε) = ΣeΣk cekεek (7.1.3a)
constraints
Σj xdj = hd d=1,2,...,D (7.1.3b)
ΣdΣj aedjxdj ≤ Σk mkεek e=1,2,...,E (7.1.3c)
εe1 ≥εe2 ≥... ≥εeK e=1,2,...,E. (7.1.3d)
Note that the new constraint (7.1.3d) makes sure that if, for some k, incremental module of type k is installed, then also all modules of type i, i < k, are installed. Hence, the actual capacity of link e is the sum of all mk with k=1,2,...,kmax, where kmax is the greatest index k such that εek = 1 (cf. constraint (7.1.3c)). Of course, it is assumed that Σk mk is the maximal capacity of each link. It may seem that problem DP3-MIP is harder to solve than problem DP2-MIP, due to additional “monotonicity” constraints (7.1.3d). In practice the opposite holds. Additional constraints allow for more effective use of the branch-and-bound tree and lead to shorter execution times.
Finally, we note that in some cases we may need to use concave dimensioning functions ye = Fe(ye) in the problem formulations (ye denotes load of link e). For instance, if the link load ye is expressed in Erlangs (1 DVU = 1 Erl.), then its capacity can be computed as the number of circuits ye such that
Be = Eye(ye) (7.1.4)
where is Eye(ye) the Erlang loss formula giving the link call blocking probability when traffic of ye Erlangs is offered to ye circuits, and Be is the assumed fixed link call blocking. The resulting dimensioning function ye = Fe(ye) is the inverse of (7.1.4) for fixed Be, and is known to be a concave function. With concave dimensioning function the dimensioning problem DP1-LP takes the form:
DP4-CV (Dimensioning Problem 4 - Concave Programming formulation) constants
aedj = 1 if link e belongs to path j realizing demand d
= 0 otherwise
hd volume of demand d, h = (h1,h2,...,hD) Fe(⋅) concave dimensioning function for link e ce marginal (unit) cost of link e, c = (c1,c2,...,cE) variables
xdj continuous flow allocated to path j of demand d, x = (xdj: d=1,2,...,D, j=1,2,...,m(d))
ye continuous load of link e, y = (y1,y2,...,yE)
objective
minimize C(y) = Σe ceFe(ye) (7.1.5a)
constraints
Σj xdj = hd d=1,2,...,D (7.1.5b)
ΣdΣj aedjxdj = ye e=1,2,...,E. (7.1.5c)
The concave programming problems are very difficult to solve for global minimum, as they are usually characterized by enormous number of local minima. In fact, as discussed in detail in Section 4.3 of [7.1], problem DP4-CV can be transformed to a MIP problem and solved accordingly (by branch-and-cut). Also, we may try use stochastic meta-heuristics discussed in Section 7.3.3.
Another type of extensions of the basic problem DP1-LP is obtained when flow routing is constrained in some way (so far we have not imposed any constraint on the flows). The first requirement which constraints the flow distribution is the path diversity requirement: the demand volume must be split among at least a certain number of disjoint paths.
DP5-PD-LP (Dimensioning Problem 5 - Path Diversity - LP) indices
d=1,2,...,D demands
j=1,2,...,m(d) candidate disjoint paths for demand d e=1,2,...,E links
constants
aedj = 1 if link e belongs to path j realizing demand d
= 0 otherwise
hd volume of demand d, h = (h1,h2,...,hD)
nd minimal number of paths for splitting volume hd (e.g. nd = 3) ce marginal (unit) cost of link e, c = (c1,c2,...,cE)
variables
xdj continuous flow allocated to path j of demand d, x = (xdj: d=1,2,...,D, j=1,2,...,m(d))
ye continuous capacity of link e, y = (y1,y2,...,yE) objective
minimize C(y) = Σe ceye (7.1.6a)
constraints
Σj xdj = hd d=1,2,...,D (7.1.6b)
xdj ≤ hd / nd d=1,2,...,D (7.1.6c)
ΣdΣj aedjxdj≤ ye e=1,2,...,E. (7.1.6d)
Path diversity is assured jointly by the requirement that the candidate paths are disjoint (link or node disjoint) and by constraint (7.1.6c) which does not allow to put more than 1/nd of the demand volume on one path. This requirement is a commonly used means for protecting the demands against link (node) failures.
The next problem requires that the entire demand volume of each demand is assigned to only one path.
DP6-SPR-MIP (Dimensioning Problem 6 - Single-Path Routing - MIP) variables
xdj flow allocated to path j of demand d x = (xdj: d=1,2,...,D, j=1,2,...,m(d))
εdj binary variable associated with flow variable xdj ε = (εdj: d=1,2,...,D, j=1,2,...,m(d))
ye integer capacity of link e, y = (y1,y2,...,yE) objective
minimize C(y) = Σe ceye (7.1.7a)
constraints
xdj = hdudj d=1,2,...,D j=1,2,...,m(d) (7.1.7b)
Σj εdj = 1 d=1,2,...,D (7.1.7c)
ΣdΣj aedjxdj ≤ Mye e=1,2,...,E. (7.1.7d)
Note that since link capacities are modular, the single-path allocation to the shortest paths with respect to link weights c does not in general solve the problem, so the single-path routing must be forced explicitly. This is done by the binary variables ε and constraint (7.1.7c).
Observe also that the flow variables are auxiliary in formulation (7.1.7) since they can be eliminated by substituting xdj in (7.1.7d) with the right hand side of (7.1.7b). DP6-SPR-MIP is an example of another NP-complete problem, and hence is difficult to solve. Again, for exact solutions the branch-and-cut approaches are applicable here [7.7]. For approximate solutions meta-heuristic methods are applicable [7.8].
Other routing restrictions can also be taken into account by appropriate MIP formulations. For instance, we may require that non-zero flows must be greater than a certain fraction of the demand volume (not to use too small flows), or that the demand volume must be must be split among at most nd paths. Such formulations can be found in Chapter 4 of [7.1].
Allocation Problems
In allocation problems, called also capacitated problems, link capacities are given (installed) and fixed; the task is to allocate flows for given demand volumes in such a way that the resulting link loads do not exceed link capacities. Although certain additional objective function can be added to allocation problems, the main issue is to find a feasible solution, i.e., to be able to allocate demands in the existing link capacity, as in the following problem.
AP1-LP (Allocation Problem 1 - Linear Programme) indices
d=1,2,...,D demands
j=1,2,...,m(d) candidate paths for flows realizing demand d e=1,2,...,E links
constants
aedj = 1 if link e belongs to path j realizing demand d
= 0 otherwise
hd volume of demand d, h = (h1,h2,...,hD) ye capacity of link e, y = (y1,y2,...,yE) variables
xdj continuous flow allocated to path j of demand d, x = (xdj: d=1,2,...,D, j=1,2,...,m(d))
constraints
Σj xdj = hd d=1,2,...,D (7.1.8a)
ΣdΣj aedjxdj ≤ ye e=1,2,...,E. (7.1.8b)
Note that the above problem has no objective function. There is no such a simple way to solve AP1-LP as the shortest path allocation for DP1-LP, as there are no link unit costs involved in the problem and also optimal solutions may have to be bifurcated (the reader is asked to find an example). In fact, AP1-LP must be solved by the general LP methods (simplex algorithm).
A typical objective that can be added to problem (7.1.8) accounts for the cost of flows:
minimize C(x) = ΣdΣj cdjxdj (7.1.9)
where cdj is the cost of realizing of one DVU of demand d on its path j. Another example of an additional objective is to maximize the total unused capacity of links left after feasible
allocation of flows - formulation of this objective is left for the reader as an exercise.
Certainly, additional routing restrictions such as path diversity or single-path routing can be added to the problem in the same way as for the dimensioning problems. Also integral (modular) demand volumes can be assumed; then, however, the problem may become NP-complete.
Finally let us notice that in the allocation case it can be important to have access to all the paths in the network graph in order to be able to use the available capacity of the links with no limitations. One way to do it is to use the so called column generation method of LP (called path generation in our context) to adjust the candidate path lists (cf. [7.6]).
Another (and somewhat simpler for a reader not used to more sophisticated use of linear programming) is to differently formulate the optimization problem, using the so called node-link formulation given below. We point out here that so far we have used the node-link-path
formulations, with candidate path lists given explicitly in the problem. The node-link formulation assumes the directed graph, so that the links (often called arcs in this case) are directed and this direction must be followed when the link is used in a path. The node-link formulation can be easily adapted for undirected links (see Chapter 4 in [7.1]). Note that in the link-path formulation it is not important if links are directed or undirected; what is important is only whether the paths are correctly constructed.
AP1-NL-LP (Allocation Problem 1 - Node-Link formulation - LP) indices
d=1,2,...,D demands v=1,2,...,V nodes e=1,2,...,E links constants
Aev = 1 if link e originates at node v, 0 otherwise Bev = 1 if link e terminates in node v, 0 otherwise sd source node of demand d
td sink node of demand d hd volume of demand d
ye capacity of link e, y = (y1,y2,...,yE) variables
xed continuous flow realizing demand d allocated to link e x = (xde: d=1,2,...,D, e=1,2,...,E)
constraints
= hd if v = sd
Σe Aevxed - Σe Bevxed = 0 if v ≠ sd, td v=1,2,...,V d=1,2,...,D (7.1.10a)
= - hd if v = td
Σd xed ≤ ye e=1,2,...,E. (7.1.10b)
This time the flows realizing a particular demand d are associated with links, not with the paths pre-allocated to the demand. Hence the capacity constraints and link loads take a different form, see (7.1.10a). Also, demand constraints are different, and take the form of the flow conservation law (cf. (7.1.10b)). We note that the node-link formulation (7.1.10) usually has more constraints than the link-path formulation (when candidate path lists are limited).
Another important remark here is that there exist more sophisticated node-link formulations involving less flow variables (e.g. with link flows associated only with destination nodes, not with the demands), see Chapter 4 in [7.1].
Topological Design
We end this paragraph by defining two versions of the topological design problem. The problem assumes that there are two components of the link cost: fixed cost of installing the link, and the capacity dependent factor considered so far.
TDP1-LP (Topological Dimensioning Problem 1 - Mixed Integer Programme) indices
d=1,2,...,D demands
j=1,2,...,m(d) candidate paths for flows realizing demand d e=1,2,...,E links
constants
aedj = 1 if link e belongs to path j realizing demand d
= 0 otherwise
hd volume of demand d, h = (h1,h2,...,hD)
ce unit of the capacity-dependent cost factor of link e, c = (c1,c2,...,cE) κe installation cost of link e, κ = (κ1,κ2,...,κE)
∆ an upper limit for link capacity (usually a large number) variables
xdj continuous flow allocated to path j of demand d, x = (xdj: d=1,2,...,D, j=1,2,...,m(d))
ye continuous capacity of link e, y = (y1,y2,...,yE)
εe binary variable if link e is installed (εe = 1) or not (εe = 0), ε = (ε1,ε2,...,εE) objective
minimize C(y,ε) = Σe ceye + Σe κeεe (7.1.11a)
constraints
Σj xdj = hd d=1,2,...,D (7.1.11b)
ye ≤ ∆εe e=1,2,...,E (7.1.11c)
ΣdΣj aedjxdj ≤ ye e=1,2,...,E. (7.1.11d)
We note that there appears a new type of constraint, (7.1.11c), which forces that the capacity ye of a non-installed link e (with εe = 0) is equal to 0. A variant of the above problem
introduces the budget constraint for the installation cost.
TDP2-LP (Topological Dimensioning Problem 2 - MIP) additional constant
B budget limit for the installation cost variables
xdj continuous flow allocated to path j of demand d, x = (xdj: d=1,2,...,D, j=1,2,...,m(d))
ye continuous capacity of link e, y = (y1,y2,...,yE)
εe binary variable if link e is installed (εe = 1) or not (εe = 0), ε = (ε1,ε2,...,εE) objective
minimize C(y) = Σe ceye (7.1.11a)
constraints
Σj xdj = hd d=1,2,...,D (7.1.11b)
ye ≤ ∆εe e=1,2,...,E (7.1.11c)
ΣdΣj aedjxdj ≤ ye e=1,2,...,E (7.1.11d)
Σe κeεe ≤ B. (7.1.11e)
Both variants of the topological design problem are NP-complete. In fact, problem TDP1-MIP is similar to the modular dimensioning problem DP1-MIP (problem (7.1.1) with integral link capacity variables and constraint (7.1.1c)), and can be solved by similar optimization
techniques (see [7.9]).