Download presentation
Presentation is loading. Please wait.
1
(A fast quadratic program solver for) Stress Majorization with Orthogonal Ordering Constraints Tim Dwyer 1 Yehuda Koren 2 Kim Marriott 1 1 Monash University, Victoria, Australia 2 AT&T - Research
2
Orthogonal order preserving layout
3
Orthogonal order preserving layout New South Wales rail network
4
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
5
Layout by Stress Majorization Stress function: -w 12 -w 1n -w 2n … … Σ i≠1 w 1i Σ i≠2 w 2i … Σ i≠n w in Constant terms Quadratic coefficients Linear coefficients
6
Layout by Stress Majorization Iterative algorithm: Take Z=X t Find X t+1 by solving F Z (X t+1 ) t=t+1 Converges on local minimum of overall stress function Stress function:
7
Quadratic Programming At each iteration, in each dimension we solve: x T A x – 2 x T A Z Z (a) b T = 2 A Z Z (a) x T A x – b x min x subject to: C x ≥ d
8
Orthogonal Ordering Constraints
9
QP with ordering constraints x T A x – b x min x subject to: C x ≥ d u3u3 u2u2 u1u1
10
Gradient projection g = 2 A x + b x′ = x – s g s = g T g g T A g -g -sg x x′x′
11
x′ = project( x – s g ) Gradient projection g = 2 A x + b x′ = x – s g s = g T g g T A g x -sg x′x′
12
x′ = project( x – s g ) Gradient projection g = 2 A x + b s = g T g g T A g x x′x′ d = x′ – x d αdαd x′′ = x – α d x′′x′′ α = max( g T d d T A d, 1)
13
x x′ = project( x – s g ) Gradient projection g = 2 A x + b s = g T g g T A g d = x′ – x x′′ = x – α d x* α = max( g T d d T A d, 1)
14
Projection Algorithm Sort within levels For each boundary: Find most violating nodes Repeat: Compute average position p Find nodes in violation of p Until all satisfied
15
Projection Algorithm Sort within levels For each boundary: Find most violating nodes Repeat: Compute average position p Find nodes in violation of p Until all satisfied
16
Complexity Projection: O( mn + n log n ) – m: levels – n: nodes Computing gradient and step-size: O( n 2 ) Gradient Projection iteration: O( n 2 ) Same as for conjugate-gradient
17
Applications – directed graphs
19
Orthogonal order preserving layout New South Wales rail network
20
Orthogonal order preserving layout Internet backbone network
21
Running Time
22
Further work Experiment with other constrained optimisation techniques Other applications – Using more general linear constraints – Constraints regenerated at each iteration
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.