– “A Mathematical Programming Model is a mathematical decision model for planning (programming) decisions that optimize an objective function and satisfy limitations imposed by mathem[r]
(1)Optimization Background for Optimization Background for
Network Design Network Design
David Tipper
Associate Professor
Associate Professor Department of Information Science
and
Telecommunications University of Pittsburgh
tipper@tele.pitt.edu
tipper@tele.pitt.edu
Slides 5
Slides 5
http://www.sis.pitt.edu/~dtipper/2110.html
http://www.sis.pitt.edu/~dtipper/2110.html
Network Design Tools
Network Design Tools
• Optimization formulation to try and minimize cost
– Metro and WANS Designed using computer aid tools
(2)Telcom 2120
• Variety of tools available
– WANDL, VPISystems, OPNET, RSOFT, etc – trend is to develop tools for internal use only make money on consulting
Network Design Tools
Telcom 2110 Spring 2006
Optimization Review
• Optimization Techniques
– Seek to find maximum or minimum of a objective function
– Set of unknown decision variables
– Constraintslimit the possible values for the variables
• Definition
(3)Telcom 2120
Types of Optimization Problems
Telcom 2110 Spring 2006
Simple Continuous Optimization
• If Unconstrained
– objective function F(X)is continuous function of xand x is continuous
– Find MAX/MIN of F(x)by differentiation (set derivative = 0) – Determine if MAX or MIN by second derivative
– If multi-dimensional – calculate gradient – use numerical gradient search methods
– Newton's method gives rise to a wide and important class of algorithms that require computation of the gradient vector
ˆ ˆ ˆ ( , , )x y z x y z
x y z
φ φ φ
φ ∂ ∂ ∂
∇ = + +
(4)Telcom 2120
Constrained Optimization
Maximize (or minimize): Subject to:
Constraints Objective
• General Symbolic Model
…
(x x xn)
f 1, 2K
( ) { }
( ) { }
1
2 2
, , , , , ,
n n
g x x x b
g x x x b
≤ ≥ = ≤ ≥ = K
K
( 1, ) { , , }
m n m
g x xKx ≤ ≥ = b
… where x1,x2Kxn are the decision variables
Telcom 2110 Spring 2006
Mathematical Programming
• Types of Mathematical Programs:
– Linear Programs (LP):the objective and constraint functions are linear and the decision variables are continuous
– Integer (Linear) Programs (IP):one or more of the decision variables are restricted to integer values only and the functions are linear
• Pure IP: all decision variables are integer
• Mixed IP (MIP): some decision variables are integer, others are continuous
(5)Telcom 2120 Linear Programming Maximize: Subject to: Constraints Objective Bounds
… where aij,bj,cj are the model parameters
• General Symbolic Form
…
{ }
{ }
11 12 1 21 22 2
, , , ,
n n
n n
a x a x a x b
a x a x a x b
+ + + ≤ ≥ =
+ + + ≤ ≥ =
K K
{ }
1 2 , ,
0 , 1, ,
m m mn n m
j
a x a x a x b
x j n
+ + + ≤ ≥ = ≤ = K K n nx c x c x
c1 1+ 2+K
x c
Maximize : T
Telcom 2110 Spring 2006
Linear Programming
Maximize:
Subject to: Constraints Objective
Bounds
• Can be written in matrix formulation
x cT
b Ax=
j xj ∀
≤
(6)Telcom 2120 49
What are the remaining constraints ? : - for link 3-5 ?:
- for link 4-5 ?
1 5 4 f2 f3 f4 10 20 20 20 10 20 2
c5: f3 + f2 <= 20; /*link 35 capacity */ c6: f4 + f1 <= 5; /*link 45 capacity */
f1
(note this makes prior constraint f4 + f1<=10 redundant )
Network Flow LP Formulations (8)
“flow assignment to routes” or “arc-path” approach - example (2)
Source: W D Grover, ECE 681, UofA, Fall 2004
• Note that the “indicator” parameters not appear explicitly in the executable model
• Really they just represent our knowledge of the topology and the routes being considered
• Implicitly above, we only wrote the flow variables that had non-zero coefficients Examples: k i δ 12
1 (flow1 crosses span 12)
δ =
35 1 (flow3 crosses span 35)
δ =
Hence f1 is in the first constraint Hence f3 is in the fifth constraint, etc
Network Flow LP Formulations (9)
(7)Telcom 2120 51
Sonet/STM Design Problem
Complexity - Solving Design Problems
• Real world Network Design problems are quite large (have many variables and constraints)
– Graph Theory and Optimization Based algorithms for network design are complex – when can one use a technique?
• Complexity of an algorithm usually denotes O(.) which denotes the order of time growth in the algorithm as a function of problem variables
– Dijkstra’s Algorithm for SPT O(N2) where N is number of nodes in graph
– Prim’s Algorithm for MST O(E log(N)) where N is # nodes, E # edges
• Problems that can be solved by a deterministic algorithm in a polynomial time complexity denoted P that is O(Nk)
• Problems that can not be solved with P complexity denoted NP and don’t scale well
– Linear Programming Problems have P complexity – Integer Programming Problems have NP complexity
• Still Branch and Bound can be used for small problems !
• In general for NP problems use Sub-optimal algorithms (meta-heuristics)