View
218
Download
1
Embed Size (px)
Citation preview
(A fast quadratic program solver for)Stress Majorization with Orthogonal
Ordering Constraints
Tim Dwyer1
Yehuda Koren2
Kim Marriott1
1 Monash University, Victoria, Australia2 AT&T - Research
Orthogonal order preserving layout
Orthogonal order preserving layoutNew South Wales rail network
Graph layout by Stress Majorization
Stress Majorization in use in MDS applications for decades– e.g. de Leeuw 1977
“Reintroduced” to graph-drawing community by Gansner et al. 2004
Features:– Monotonic convergence– Better handling of weighted edges (than Kamada-Kawai 1988)– Addition of constraints by quadratic programming
(Dwyer and Koren 2005) Today we introduce:
– A fast quadratic programming algorithm for a simple class of constraints
Layout by Stress Majorization
Stress function:
-w12 -w1n
-w2n
…
…
Σi≠1w1i
Σi≠2w2i…
Σi≠nwin
Constant terms
Quadratic coefficients
Linear coefficients
Layout by Stress Majorization
Iterative algorithm:
Take Z=Xt
Find Xt+1 by solving FZ(Xt+1)
t=t+1
Converges on local minimum of overall stress function
Stress function:
Quadratic Programming
At each iteration, in each dimension we solve:
xT A x – 2 xT AZ Z(a)
bT = 2 AZ Z(a)
xT A x – b xminx
subject to: C x ≥ d
Orthogonal Ordering Constraints
QP with ordering constraints
xT A x – b xminx
subject to: C x ≥ d
u3
u2
u1
Gradient projection
g = 2 A x + b
x′ = x – s g
s =gT g
gT A g-g
-sg
x
x′
x′ = project( x – s g )
Gradient projection
g = 2 A x + b
x′ = x – s g
s =gT g
gT A g
x-sg
x′
x′ = project( x – s g )
Gradient projection
g = 2 A x + b
s =gT g
gT A g
x
x′
d = x′ – xdαd
x′′ = x – α d
x′′
α = max(gT d
dT A d, 1)
x
x′ = project( x – s g )
Gradient projection
g = 2 A x + b
s =gT g
gT A g
d = x′ – x
x′′ = x – α d
x*
α = max(gT d
dT A d, 1)
Projection Algorithm
Sort within levelsFor each boundary:
Find most violating nodesRepeat:
Compute average position pFind nodes in violation of p
Until all satisfied
Projection Algorithm
Sort within levelsFor each boundary:
Find most violating nodesRepeat:
Compute average position pFind nodes in violation of p
Until all satisfied
Complexity
Projection: O( mn + n log n )– m: levels– n: nodes
Computing gradient and step-size: O( n2 ) Gradient Projection iteration: O( n2 ) Same as for conjugate-gradient
Applications – directed graphs
Applications – directed graphs
Orthogonal order preserving layoutNew South Wales rail network
Orthogonal order preserving layoutInternet backbone network
Running Time
Further work
Experiment with other constrained optimisation techniques
Other applications– Using more general linear constraints– Constraints regenerated at each iteration