|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectpl.edu.pw.elka.pszt.inteligraph.model.Model
public class Model
Field Summary | |
---|---|
private SubjectCollection |
bestSubjectCollection
Najlepsze uzyskane rozwiązanie |
private EventsBlockingQueue |
blockingQueue
|
private java.lang.Thread |
calculationThread
Wątek przeprowadzający obliczenia |
private Population |
currentPopulation
Aktualna populacja |
private double |
edgeWeight
Waga krawędzi. |
private int |
evolutionSteps
Ilość iteracji wykonana przez algorytm ewolucyjny; |
private edu.uci.ics.jung.graph.Graph<VertexName,java.lang.String> |
graph
Logiczny model grafu |
private java.lang.Boolean |
stopThread
|
Constructor Summary | |
---|---|
Model(EventsBlockingQueue blockingQueue)
|
Method Summary | |
---|---|
void |
buildGraph(java.io.File xmlFile)
Buduje graf na podstawie informacji z pliku XML |
private int |
calculateCrossing(java.util.Map<VertexName,java.awt.Point> map,
java.util.List<edu.uci.ics.jung.graph.util.Pair<VertexName>> vertexPairList)
|
private java.lang.Integer |
calculateQuality(SubjectCollection solution)
Oblicza jakość rozwiązania pod wzglądem spełnienia kryteriów |
void |
calculateVerticesPositions(java.lang.Integer mi,
java.lang.Integer lambda)
|
void |
calculateVerticesPositions(java.lang.Integer mi,
java.lang.Integer lambda,
java.lang.Integer evolutionStepsToDo)
Funkcja realizująca strategię ewolucyjną mi+labda. |
private boolean |
checkPoints(edu.uci.ics.jung.graph.util.Pair<VertexName> p1,
edu.uci.ics.jung.graph.util.Pair<VertexName> p2)
Sprawdza czy dwie pary punktów są takie same. |
void |
clearbestSubjectCollection()
|
private double |
edgeDistanseToVertex(java.util.Map<VertexName,java.awt.Point> map,
java.util.List<edu.uci.ics.jung.graph.util.Pair<VertexName>> vertexPairList,
java.util.Collection<VertexName> vertexCollection,
int distance)
|
private int |
edgeLengthVariation(java.util.Map<VertexName,java.awt.Point> map,
java.util.List<edu.uci.ics.jung.graph.util.Pair<VertexName>> vertexPairList,
double avg)
|
private Population |
generateFirstPopulation(java.util.Collection<VertexName> verticies,
java.lang.Integer mi)
|
Arrangement |
getBestArrangement()
|
double |
getEdgeWeight()
|
int |
getEvolutionSteps()
|
edu.uci.ics.jung.graph.Graph<VertexName,java.lang.String> |
getGraph()
|
private java.util.List<edu.uci.ics.jung.graph.util.Pair<VertexName>> |
getGraphEdges()
Na podstawie nazwy krawędzi ustala i tworzy listę par wierzchołków krawędzi. |
int |
getGraphQuality()
|
private void |
pickBestSubjectCollection()
Wybiera najlepsze rozwiązanie z aktualnej populacji |
void |
setEdgeWeight(double edgeWeight)
|
void |
stopCalculations()
Przerywa obliczenia |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private EventsBlockingQueue blockingQueue
private int evolutionSteps
private double edgeWeight
private edu.uci.ics.jung.graph.Graph<VertexName,java.lang.String> graph
private Population currentPopulation
private SubjectCollection bestSubjectCollection
private java.lang.Thread calculationThread
private volatile java.lang.Boolean stopThread
Constructor Detail |
---|
public Model(EventsBlockingQueue blockingQueue)
Method Detail |
---|
public edu.uci.ics.jung.graph.Graph<VertexName,java.lang.String> getGraph()
public int getEvolutionSteps()
public int getGraphQuality()
public void buildGraph(java.io.File xmlFile)
xmlFile
- plik xml z definicją grafupublic Arrangement getBestArrangement() throws java.lang.Exception
java.lang.Exception
public void calculateVerticesPositions(java.lang.Integer mi, java.lang.Integer lambda, java.lang.Integer evolutionStepsToDo)
mi
- lambda
- iterations
- Liczba iteracji, po której algorytm ma się zakończyćpublic void stopCalculations()
private void pickBestSubjectCollection()
private java.lang.Integer calculateQuality(SubjectCollection solution)
solution
-
private double edgeDistanseToVertex(java.util.Map<VertexName,java.awt.Point> map, java.util.List<edu.uci.ics.jung.graph.util.Pair<VertexName>> vertexPairList, java.util.Collection<VertexName> vertexCollection, int distance)
private int edgeLengthVariation(java.util.Map<VertexName,java.awt.Point> map, java.util.List<edu.uci.ics.jung.graph.util.Pair<VertexName>> vertexPairList, double avg)
private int calculateCrossing(java.util.Map<VertexName,java.awt.Point> map, java.util.List<edu.uci.ics.jung.graph.util.Pair<VertexName>> vertexPairList)
private boolean checkPoints(edu.uci.ics.jung.graph.util.Pair<VertexName> p1, edu.uci.ics.jung.graph.util.Pair<VertexName> p2)
p1
- p2
-
private Population generateFirstPopulation(java.util.Collection<VertexName> verticies, java.lang.Integer mi)
mi
-
public void calculateVerticesPositions(java.lang.Integer mi, java.lang.Integer lambda)
private java.util.List<edu.uci.ics.jung.graph.util.Pair<VertexName>> getGraphEdges()
public void clearbestSubjectCollection()
public void setEdgeWeight(double edgeWeight)
public double getEdgeWeight()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |