|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--y.layout.AbstractLayoutStage | +--y.layout.labeling.AbstractLabelingAlgorithm | +--y.layout.labeling.MISLabelingAlgorithm | +--y.layout.labeling.SALabeling
This class places the labels of a graph using a simulated annealing strategy. This algorithm is slower than the greedy-strategy but achieves in general better results. The algorithm is inspired by the article of Christensen, Marks and Shieber.
Field Summary |
Fields inherited from class y.layout.labeling.MISLabelingAlgorithm |
conflictGraph, nodesToBoxes, nodesToID, showGraph |
Fields inherited from interface y.layout.Layouter |
EDGE_ID_DPKEY, NODE_ID_DPKEY, SELECTED_EDGES, SELECTED_NODES |
Constructor Summary | |
SALabeling()
|
Method Summary | |
protected void |
createNodes(y.layout.labeling.Label[] labels)
Overwrittes existing method to add the created nodes to an array. |
protected void |
iterate(y.layout.labeling.Label[] labels,
Node[] solution)
Perform simulated annealing. |
protected boolean |
iterateFast(y.layout.labeling.Label[] labels,
Node[] solution,
double t,
int labelCount)
Do the simulated annealing at a fixed temperature. |
protected boolean |
iterateSlow(y.layout.labeling.Label[] labels,
Node[] solution,
double t,
int labelCount)
Do the simulated annealing at a fixed temperature. |
protected boolean |
randomLayout(y.layout.labeling.Label[] labels,
Node[] result)
Computes a random start label assignment. |
protected NodeList |
solveMIS(y.layout.labeling.Label[] labels)
Calculates labeling with simulated annealing. |
Methods inherited from class y.layout.labeling.MISLabelingAlgorithm |
assignProfit, createConflictGraph, createEdges, intersectionSL, label, propagateSolution |
Methods inherited from class y.layout.AbstractLayoutStage |
canLayoutCore, doLayoutCore, getCoreLayouter, setCoreLayouter |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public SALabeling()
Method Detail |
protected NodeList solveMIS(y.layout.labeling.Label[] labels)
solveMIS
in class MISLabelingAlgorithm
protected void createNodes(y.layout.labeling.Label[] labels)
createNodes
in class MISLabelingAlgorithm
protected boolean randomLayout(y.layout.labeling.Label[] labels, Node[] result)
labels
- the list of labels to placeresult
- here the random solution is stored
true
if there are only empty candidate lists.protected void iterate(y.layout.labeling.Label[] labels, Node[] solution)
protected boolean iterateSlow(y.layout.labeling.Label[] labels, Node[] solution, double t, int labelCount)
t
- the temperatureprotected boolean iterateFast(y.layout.labeling.Label[] labels, Node[] solution, double t, int labelCount)
t
- the temperature
|
© Copyright 2000-2003, yWorks GmbH. All rights reserved. 2003 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |