Vous êtes sur la page 1sur 18

Constrained Optimisation and Graph Drawing

Tim Dwyer Monash University Australia

Tim.Dwyer@infotech.monash.edu.au

This talk:

Brief overview of constraint optimisation and operations research techniques in graph drawing Position statement:

Usual GD approach:

Define overall optimisation problem too hard! Simplify model and attack a sequence of more tractable sub-problems

Dont forget the big-picture!

Our work in constrained force-directed GD

OR techniques in GD

Long history in GD of defining embedding problems as constrained optimization problems

OR techniques in GD

Long history in GD of defining embedding problems as constrained optimization problems

Angular resolution problem: maximise smallest angle subj. to:

OR techniques in GD

Long history in GD of defining embedding problems as constrained optimization problems

Angular resolution problem

Network flow problems


orthogonal bend minimization orthogonal compaction layer assignment

OR techniques in GD

Long history in GD of defining embedding problems as constrained optimization problems

Crossing minimisation

Exact solution
n 1

min :

i 1 j i 1

(c

ij

c ji ) xij

xij {0,1}, for : 1 i j n


0 xij x jk xik 1, for : 1 i j k n

OR techniques in GD

Long history in GD of defining embedding problems as constrained optimization problems

Angular resolution problem

Network flow problems


orthogonal bend minimization orthogonal compaction layer assignment

Crossing minimisation Probably loads of others

STT framework (for layered directed graph drawing)


cycle removal
layer assignment layer by layer crossing minimization

Horizontal node placement

Eiglsperger, Siebenhaller, Kaufmann: Layered drawing in O( (|V|+|E|) log |V|)

Topology-shape-metrics (orthogonal layout)

Planarization

Based on initial embedding If not planar, dummy nodes inserted at crossings

Bend minimization

By transformation to min-cost network flow

Compaction

By shortening edges (no new bends) Lots of possible heuristics

Limitations

These frameworks apply a succession of stages each optimising with respect to a given requirement Assignments in earlier stages can limit the success of later stages
Usually the algorithms are not able to backtrack to a previous stage Leads to parameters for the various stages which users must juggle to improve output

Force directed layout


Simple goal function with global scope


Not restricted to a particular class of graph Easily used in incremental context Can add constraints to capture drawing conventions

Constrained FD Layout

Constraints are not springies, they must be satisfied Springies are a modification of the goal function Constraints (in the OR sense) are separate (in)equalities subject to which the original goal function is optimised Springies:

Sugiyama and Misue (1995), Ryal et al. (1997), etc He and Marriott (1998); Dwyer and Koren (2005); Dwyer, Koren and Marriott (2006)

Constraints:

Separation Constraints

Separation constraints: x1+d x2 , y1+d y2 can be used with force-directed layout to impose certain spacing requirements

w1 (x1,y1)

w2 (x2,y2) h2

x1+

(w1+w2) x2 2

y3+
(x3,y3) h3

(h2+h3) y2 2

Unix Graph data From www.graphviz.org

Constrained Stress Majorisation


stress(X ) =

Minimise a quadratic function in each axis of drawing


f(x) = xTA x + xT b f(y) = yTA y + yT b stress(X)
x*

y* x* y* X*

Constrained stress majorization

Instead of solving unconstrained quadratic forms we solve subject to separation constraints i.e. Quadratic Programming

stress(X)

x*

y* x* y* X*

My $0.02

Look at the big picture:

Question the design decisions of monolithic layout frameworks

Consider practical performance for the kind of graphs that people actually want to draw
Where does rigour yield the most benefit?

Vous aimerez peut-être aussi