de.cm.osm2po.tsp
Class TspDefaultMatrix

java.lang.Object
  extended by de.cm.osm2po.tsp.TspDefaultMatrix
All Implemented Interfaces:
TspMatrix

public class TspDefaultMatrix
extends java.lang.Object
implements TspMatrix

Default-Implementation / Erstellung einer Kostenmatrix auf Basis des osm2po-Routings.

Author:
(c) 2013 - Carsten Moeller - info@osm2po

Field Summary
protected  float[][] matrixCosts
           
protected  int[][][] matrixPaths
           
 
Constructor Summary
protected TspDefaultMatrix()
           
  TspDefaultMatrix(Graph graph, int[] vertexIds, float maxCost, Log log, java.util.Properties params)
           
 
Method Summary
static float calcMaxGeoDistance(Graph graph, int[] vertexIds)
          Berechnet die laengste geografische Distanz zwischen allen uebergebenen Vertices.
 float calcTourCosts(int[] tour, int x, int y, float costLimit)
          Berechnet die Kosten einer SubTour (Besuchsreihenfolge), bricht allerdings bereits mit Float.NaN ab, sobald ein Kosten-Limit erreicht wird und somit keine Verbesserung eintritt.
 int[] createFullMatrixTour(boolean asRing)
          Erstellt eine Anfangskonfiguration fuer eine Tour auf der kompletten Matrix.
 float[][] getCosts()
          Liefert alle Kosten der Matrix.
 int[][][] getPaths()
          Liefert den Kosten zugrundeliegenden Pfade.
 int[][] getTourPaths(int[] tour)
          Generiert aus einer Besuchsreihenfolge die entsprechenden Pfade.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

matrixCosts

protected float[][] matrixCosts

matrixPaths

protected int[][][] matrixPaths
Constructor Detail

TspDefaultMatrix

protected TspDefaultMatrix()

TspDefaultMatrix

public TspDefaultMatrix(Graph graph,
                        int[] vertexIds,
                        float maxCost,
                        Log log,
                        java.util.Properties params)
Method Detail

calcMaxGeoDistance

public static float calcMaxGeoDistance(Graph graph,
                                       int[] vertexIds)
Berechnet die laengste geografische Distanz zwischen allen uebergebenen Vertices.

Parameters:
graph - Graph
vertexIds - int[] Ids von Vertices
Returns:
float laengste Distanz

getCosts

public final float[][] getCosts()
Description copied from interface: TspMatrix
Liefert alle Kosten der Matrix.

Specified by:
getCosts in interface TspMatrix
Returns:
Kosten als zweidimensionales float-Array.

getPaths

public final int[][][] getPaths()
Liefert den Kosten zugrundeliegenden Pfade.

Returns:
Pfade aller Stations-Kombinationen.

createFullMatrixTour

public final int[] createFullMatrixTour(boolean asRing)
Description copied from interface: TspMatrix
Erstellt eine Anfangskonfiguration fuer eine Tour auf der kompletten Matrix.

Specified by:
createFullMatrixTour in interface TspMatrix
Parameters:
asRing - boolean true: Start = Ziel (TSP)
Returns:
int[] Besuchsreihenfolge {0,1,2,3,...,[0]}

getTourPaths

public final int[][] getTourPaths(int[] tour)
Generiert aus einer Besuchsreihenfolge die entsprechenden Pfade.

Parameters:
tour - int[] Besuchsreihenfolge.
Returns:
int[][] Pfade.

calcTourCosts

public final float calcTourCosts(int[] tour,
                                 int x,
                                 int y,
                                 float costLimit)
Berechnet die Kosten einer SubTour (Besuchsreihenfolge), bricht allerdings bereits mit Float.NaN ab, sobald ein Kosten-Limit erreicht wird und somit keine Verbesserung eintritt.

Specified by:
calcTourCosts in interface TspMatrix
Parameters:
tour - int[] Besuchsreihenfolge.
x - StartIndex innerhalb der Tour
y - EndIndex der Tour
costLimit - float Maximale Kosten, Abbruchkriterium.
Returns:
float Kosten oder Float.NaN

osm2po-core-5.0.0 (c) December 24 2014 Carsten Moeller - info@osm2po.de