Download presentation
Presentation is loading. Please wait.
Published byDamon Matthew Dorsey Modified over 9 years ago
1
Constrained stress majorization using diagonally scaled gradient projection Tim Dwyer and Kim Marriott Clayton School of Information Technology Monash University Australia
2
Separation constraints: x 1 +d ≤ x 2, y 1 +d ≤ y 2 can be used with force-directed layout to impose certain spacing requirements Constrained stress majorization layout (x 1,y 1 ) (x 2,y 2 ) (x 3,y 3 ) w1w1 w2w2 h2h2 h3h3 x 1 + ≤ x 2 (w 1 +w 2 ) 2 y 3 + ≤ y 2 (h 2 +h 3 ) 2 In this talk we present: Diagonal scaling for faster gradient projection Changes to our active-set solver Evaluation of the new method Constrained stress majorization Stress majorization - reduce overall layout stress Gradient projection - solve quadratic programs Active-set solver - projection step
3
“Unix” Graph data From www.graphviz.org
4
Stress majorization stress(X) (x,y)*(x,y)* x* y* x* y*
5
Instead of solving unconstrained quadratic forms we solve subject to separation constraints i.e. Quadratic Programming Constrained stress majorization stress(X) x* y* x* y* (x,y)*(x,y)*
6
Gradient projection -g -αg-αg x0x0 x1x1
7
Gradient projection -αg-αg x1x1
8
d x2x2 x1x1 βdβd
9
x*
10
A badly scaled problem can have poor GP convergence Condition number of is Convergence
11
A badly scaled problem can have poor GP convergence Perfect scaling should give immediate convergence Convergence Newton’s method:
12
Transform entire problem s.t. Scaled gradient projection
13
Is itself a quadratic program Solve with active-set style method Move each x i to u i Build blocks of active constraints Projection operation u subj to: x l +d ≤ x r uiui b d a c e
14
Is itself a quadratic program Solve with active-set style method Move each x i to u i Build blocks of active constraints Find most violated constraint x l +d ≤ x r Projection operation u subj to: x l +d ≤ x r uiui b d a c e
15
Is itself a quadratic program Solve with active-set style method Move each x i to u i Build blocks of active constraints: Find most violated constraint x l +d ≤ x r Satisfy and add to block B Move B to average position of constituent vars Projection operation u subj to: x l +d ≤ x r uiui b d a c e
16
Is itself a quadratic program Solve with active-set style method Move each x i to u i Build blocks of active constraints: Find most violated constraint x l +d ≤ x r Add to block B (satisfy constraint) Move B to average position of constituent vars Projection operation u subj to: x l +d ≤ x r uiui etc… b d a c e
17
Is itself a quadratic program Solve with active-set style method Move each x i to u i Build blocks of active constraints: Find most violated constraint x l +d ≤ x r Add to block B (satisfy constraint) Move B to average position of constituent vars Projection operation u subj to: x l +d ≤ x r uiui etc… b d a c e
18
Is itself a quadratic program: Solve with active-set style method: Move each x i to u i Build blocks of active constraints: Find most violated constraint x l +d ≤ x r Add to block B (satisfy constraint) Move B to average position of constituent vars: Projection operation u subj to: x l +d ≤ x r uiui etc… b d a c e
19
Block structure is preserved between projection operations Before each projection previous blocks are checked for split points (ensures convergence) Projection operation: incremental b d a c e
20
Block structure is preserved between projection operations Before each projection previous blocks are checked for split points (ensures convergence) In next projection blocks will be moved as one to new weighted average desired positions Projection operation: incremental b d a c e
21
Projection operation b d a c e Is itself a quadratic program Scaling by a full n×n matrix turns separation constraints into linear constraints over n variables u subj to: x l +d ≤ x r uiui
22
Scaling for stress majorization Q is diagonally dominant: Choose diagonal s.t. ≤
23
Diagonal scaling: Separation constraints: Need new expressions for Optimal block position Lagrange multipliers for active constraints Scaled separation constraints
24
minimize subject to active constraints : where: minimum at: Optimum block position
25
Optimum at: where: Optimum block position
26
Test cases unconstrained constrained
27
Test cases unconstrained constrained
28
Results
29
Improved convergence
30
Diagonal scaling is cheap to compute transforms separation constraints into scaled separation constraints not full linear constraints so we can still use block tricks is appropriate for improving condition of graph Laplacian matrices because they are diagonally dominant particularly improves Laplacian condition if graph has wide variation in degree (often in practical applications) Summary
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.