|
||||||||||
| 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 MISLabelingAlgorithmprotected 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 temperature
protected 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 | |||||||||