Document

advertisement
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
x31
x11
x22
 x22
x11
x21
 x32
 x32





y1
y2
y3
y4
y5
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
D
Pd

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
x31
x11
x22
 x22
x11
x21
 x32
 x32





we will also define a vector y  ( y1 , y2 ,
y1
y2
y3
y4
y5
, 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
e1
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
e1
Subject to
E
x
e1
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
e1
Subject to
 h1  15
x11
x21  x22
Demand constraints:
Capacity constraints:
x11
x22
 x22
x11
x21
Non-negativity constraints: y  0,
x0
 h2  20
x31  x32
 h1  10
x31





 x32
 x32
y1
y2
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
x31
D
Pd

d 1 p 1
x11
x22
 x22
x  ye
edp dp
x11
x21
 x32
 x32





y1
y2
y3
y4
y5
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    edpe , d  1, 2, , D, p  1, 2, , Pd
e1
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
x31
x11
x22
 x22
x11
 x32
 x32
x21
 x31
x12
x11
x22
 x12
x11
x12





 x21
 x32
 x32
y1
y2
y3
y4
y5





y1
y2
y3
y4
y5
NDP: modification 1
Objective function remains the same
E
F   e ye  2 y1  y2  y3  3 y4  y5
e1
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
x32
 h3  10
And capacity constraints
 x31
x12
x11
x22
 x12
x11
x12
Minimize
 x32
 x32
 x21
E
D
Pd
F    edp xdpe
e1 d 1 p 1
where  e is the cost of routing over link e





c1
c2
c3
c4
c5
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
minimize F 
E
D
Pd

e1 d 1 p 1
d 1
x  subject to
edp dp e
D
dp
Pd
 hd , d  1, 2,

d 1 p 1
,D
x  ce , e  1, 2,
edp dp
x0
Solution: LP solvers, e.g. Mathlab, CPLEX, Maple, etc.
,E
Download