L12. Network optimization problems
D. Moltchanov, TUT, Spring 2014
Network dimensioning problems
NDP: network model
The general uncapacitated NDP problem
Minimize cost of routing
Given demand volumes, network topology and cost of routing
How much capacity we need over the links?
Example we consider
V = 4 nodes
E = 5 links
D = 3 bidirectional demands
Link rates ce are unknowns!
Demands: hd=15, hd=20, hd=10
Demands d: Pd paths, p = 1,2,…,Pd
sets of path for demand d
d {Pd 1 , Pd 2 ,..., PdPd }
flow variables xdp , p 1, 2,..., Pd
NDP: specifying paths and flows
Demand d = 1, first path
P11 (2, 4)
path consists of two links 2 and 4
the set of path for d=1
1 {P11}
one flow possible: x11
Are there other paths?
Sure, there are
P12 (1,5), P13 (1,3,4) P14 (2,3,5)
We just excluded them!
What is the reason for exclusions
Quite arbitrary, length, external requirements, anything…
In this case: don’t want path longer than 1 hop for this demand
Given topology it is up to us to decide which paths to allow!
NDP: specifying paths and flows
Demand d = 2, two paths
P21 (5), P22 (3, 4)
set of paths for d = 2: 2 {P21 , P22 }
flow variables: x21 , x22
other paths are disallowed by us!
Demand d = 3: two paths
P31 (1), P32 (2,3)
set of paths for d = 3: 3 {P31 , P32 }
flow variables: x31 , x32
other paths are disallowed by us!
NDP: example
Let the vectors of flows for demands be
xd ( xd 1 , xd 2 ,
, xdPd ), d 1, 2,
, D, p 1, 2,
, Pd
the vector of all allocations is
x ( x1 , x2 ,
, xD ) ( xdp : d 1, 2,
, D; p 1, 2,
, Pd )
Flows of a demand must satisfy this demand, thus,
xd 1 xd 2
Pd
xdPd xdi p xdi hd , d 1, 2,
i 1
these are demand constraints
In our particular case we have
x11 h1 15
x21 x22 h2 20
x31 x32 h3 10
,D
NDP: example
Second set of constraints
links are not exceeded by flows
y1
x32
y2
x32
y3
y4
y5
x31
x11
x22
x22
x11
x21
called capacity constraints
Note the following
LHS: link loads due to flows
We need to know relationship between links and paths
Can be formally specified by link-path incidence coefficients
NDP: example
Link-path incidence relation table
provides indication which flows appears in LHS
whether path p of demand d uses link e?
edp
1, e p(demand _ d )
0, otherwise
Example: d=1 path P11 (2, 4) entries are set to 1
Example: d=3 path P32 (2,3) entries are set to 1
NDP: example
Why we introduced edp ?
The link load on link e is given by
Pd
D
d 1 p 1
x
edp dp
Now the capacity constraints are
D
Pd
d 1 p 1
x ye , e 1, 2,
edp dp
,E
which is a compact form of
y1
x32
y2
x32
y3
y4
y5
x31
x11
x22
x22
x11
x21
we will also define a vector y ( y1 , y2 ,
, yE )
NDP: example
We are interested in minimizing the capacity cost
E
F 1 y1 2 y2 3 y3 4 y4 5 y5 e ye
e1
where e is cost of a capacity unit on link e
The whole problem
Minimize
E
F e ye 2 y1 y2 y3 3 y4 y5
e1
Subject to
E
x
e1
D
dp
Pd
hd , d 1, 2,
d 1 p 1
,D
x ye , e 1, 2,
edp dp
y 0, x 0
,E
NDP: example
Equivalent to this extended one
Minimize
E
F e ye 2 y1 y2 y3 3 y4 y5
e1
Subject to
h1 15
x11
x21 x22
Demand constraints:
Capacity constraints:
x11
x22
x22
x11
x21
Non-negativity constraints: y 0,
x0
h2 20
x31 x32
h1 10
x31
y1
x32
y2
x32
y3
y4
y5
NDP: example
Compare with three nodes example
Minimize (routing cost)
F x11 2 x12 x21 2 x22 x31 2 x32
subject to flow constraints
x11
h1 5
x12
x21
h2 7
x22
x31
x32
h3 8
and link constraints
x11
difference
x22
x12
x21
x12
and positivity constraints
x22
x31
xij 0
x32
c1 10
x32
c2 10
c3 15
NDP: example
Compare with three nodes example
Three nodes example
Demands were given
Link capacities were given
We minimized the total routing cost
That is called “capacitated design problem”
Current four nodes example
Demands are given
Link capacities are unknown
Link unit costs are given
Minimizing capacity cost required to route demands
This is called “uncapacitated design problem”
Both problems are of linear programming (LP) type. Why?
NDP: solution
Note the following
When variables are continuous we have equalities
y1
x32
y2
x32
y3
y4
y5
x31
D
Pd
d 1 p 1
x11
x22
x ye
edp dp
x22
x11
x21
What are the reasons?
why should we pay for unused capacity?
that is link load by flows should equal the capacity of this link
NDP: solution
Consider a solution
Just an instance of
First: xdp , d 1, 2, , D, p 1, 2,
Then: ye , e 1, 2, , E via
D
, Pd
Pd
ye edp xdp , e 1, 2,
,E
d 1 p 1
The link rate vector y (5, 20,10, 20,15)
total cost F 115
Is this optimal? No…
Path P22 (3,4) for d=2 carrying x22 5
Expensive as 22 3 4 1 3 4
Another path is P21 (5) with cost 21 5 1
Cost path is found in general using
E
dp edpe , d 1, 2, , D, p 1, 2, , Pd
e1
NDP: solution
What to do?
Move all the flow from P22 (3,4) to P21 (5)
That is, set x22 0, x21 20
Savings per unit: 22 21 4 1 3
Overall savings: x22 ( 22 21 ) 15
Other observations
Flow x11 15 is optimal (only one path!)
Flows x31 5, x32 5 are optimal
Why? paths are of the same cost:
31 32 2
Any split of h3 10 is optimal!
Infinitely many optimal solutions:
x11 15, x21 20, x22 0, x31 a, x32 10 a
y (10 a,15 a, a,15, 20)
F 100
NDP: short path allocation rule
Uncapacitated
NDP only!
Remember we had multiple paths?
Demand d=1:
P11 (2,4), P12 (1,5), P13 (1,3,4)
11 4, 12 3, 13 5
Demand d=2:
P21 (5), P22 (3, 4), P23 (1, 2, 4)
21 1, 22 4, 13 6
Demand d=3:
P31 (1), P32 (2,3), P33 (5,4,2)
31 2, 32 2, 33 5
1
2
1
3
1
NDP: modification 1
Why not to add P12 (1,5) for d=1?
Should be better for the cost!
Recall P11 (2,4), P12 (1,5), P13 (1,3,4) costs 11 4, 12 3, 13 5
Modifications to constraints and objective function
Demand constraints
h1 15
x11
x21 x22
h2 20
x31 x32
h1 10
x11 x12
h1 15
x21 x22
h2 20
x31
x32
h3 10
NDP: modification 1
Capacity constraints
y1
x32
y2
x32
y3
y4
y5
x31
x11
x22
x22
x11
x21
x31
x12
x11
x22
x12
x11
x12
x21
y1
x32
y2
x32
y3
y4
y5
NDP: modification 1
Objective function remains the same
E
F e ye 2 y1 y2 y3 3 y4 y5
e1
Solution to this modified problem
We already have
x11 ?, x12 ?, x21 20, x22 0, x31 a, x32 10 a
Paths P11 (2, 4), P12 (1,5) have costs 11 4, 12 3
Our rule: allocate all to P12 (1,5)
Can we? Why not? We are dealing with uncapacitated problem!
Savings: per unit 11 12 2 1 1 overall h1 (11 12 ) 15
Optimal solution
x11 0, x12 15, x21 20, x22 0, x31 a, x32 10 a
with F 85
NDP: non-bifurcated flows
We may request non-bifurcated solution
Splitting of flows are not allowed
One flow for one demand
AKA: unplittable or single path NDP
For our settings
Already only one path allowed for d=1: P11 (2, 4)
For d=2: one out of two allowed P21 (5), P22 (3, 4)
For d=3: one out of two allowed P31 (1), P32 (2,3)
May not be unique
Bifurcated solution
x11 15, x21 20, x22 0, x31 a, x32 10 a
Non-bifurcated ones: a 0, a 10
NDP: modular links
We assumed links of any rates! Is this realistic? No!
Modular links needs to be used… e.g. T1/E1/STM-1 etc.
Let’s assume 1 LCU = M DVU
What are the implications?
Allocation may not obey the shortest path allocation rule
One can see it using huge values of M
Optimal link capacity is not the same as optimal link load
So far we used these terms interchangeably
Optimal link capacity ye optimal link load ye
Bifurcated solutions are “more optimal” in general
Splitting is good when M is moderate with respect to demands
For huge M non-bifurcated solutions are often obvious
Non-bifurcated with modular links is a complex problem!
NDP: modular links
Let M = 35, 1 LCU = 35 DVU
Recall h1 15, h2 20, h3 30
One module at e = 1
One more at e = 5
Non-modular
Modular
x11 0
x11 0
x12 15
x12 15
x21 20
x21 20
x22 0
x22 0
x31 a
x31 10
x32 10 a
x32 0
P11 (2, 4), P12 (1,5)
P21 (5), P22 (3, 4)
P31 (1), P32 (2,3)
2
1
35
1
3
1
35
NDP: capacitated problem
Uncapacitated design problem
We are given a network, demands, paths, link costs
Link rates are what we need to find
Such that the cost is minimized
Capacitated design problem
We are given a network, demands, paths
Link rates are given (links are installed already)
Flow allocation is what we need to find
Such that routing cost are minimized
Important difference between these two
No link costs in capacitated problem
Cost of using a link could be given (called routing cost)
As a special case: cost of routing for all links may have cost 1
NDP: capacitated problem
Given demand constraints
x11 x12
h1 15
x21 x22
h2 20
x31
h3 10
x32
And capacity constraints
x31
x12
x11
x22
x32
c2
x32
c3
x12
x11
x12
Minimize
c1
x21
c4
c5
E
D
Pd
F edp xdpe
e1 d 1 p 1
where e is the cost of routing over link e
NDP: capacitated problem
Letting in our example
Capacities c (c1 , c2 , c3 , c4 , c5 ) (5,10,10,5,30)
routing costs e 1, e 1, 2,3, 4,5
And allowing one more path for d=1, P13 (4,3,1)
There is bifurcated solution
x11 5, x12 0, x13 10
x21 20, x22 0,
x31 10, x32 10
with paths
P11 (2,4), P12 (1,5), P13 (4,3,1)
10
P21 (5), P22 (3, 4)
P31 (1), P32 (2,3)
No non-bifurcated solutions…
This is often the case
5
5
10
30
NDP: capacitated vs. uncapacitated
Uncapacitated
Pd
x
p 1
E
minimize
F e ye
subject to
e 1
D
dp
hd , d 1, 2,
Pd
d 1 p 1
,D
x ye , e 1, 2,
edp dp
,E
y 0, x 0
Capacitated
Pd
x
dp
minimize F
E
D
Pd
e1 d 1 p 1
x subject to
edp dp e
d 1
D Pd
hd , d 1, 2,
d 1 p 1
,D
x ce , e 1, 2,
edp dp
x0
Solution: LP solvers, e.g. Mathlab, CPLEX, Maple, etc.
,E
© Copyright 2026 Paperzz