de.cm.osm2po.tsp
Interface TspSolver

All Known Implementing Classes:
TspDefaultSolver, TspSolverBase

public interface TspSolver

Schnittstelle zum Loesen eines osm2po-TSP, genauer genommen, einer bestehenden Kostenmatrix.

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

Method Summary
 int[] createInitialTour(boolean asRing)
          Erstellt eine Anfangskonfiguration fuer eine Tour auf der kompletten Matrix.
 TspSolver init(TspMatrix tspMatrix, Log log)
          Quasi-Konstruktor.
 int[][] makePaths(int[] tour)
          Generiert aus einer Besuchsreihenfolge die entsprechenden Pfade.
 boolean solveTour(int[] tour, java.util.Properties params)
          Berchnet die optimale Rundreise aus der Matrix.
 

Method Detail

init

TspSolver init(TspMatrix tspMatrix,
               Log log)
Quasi-Konstruktor.

Parameters:
tspMatrix - TspMatrix
log - Log, NULLABLE
Returns:
this

createInitialTour

int[] createInitialTour(boolean asRing)
Erstellt eine Anfangskonfiguration fuer eine Tour auf der kompletten Matrix.

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

solveTour

boolean solveTour(int[] tour,
                  java.util.Properties params)
Berchnet die optimale Rundreise aus der Matrix. Dies ist der eigentliche TSP-Schritt.

Parameters:
tour - int[] zu modifizierende Tour = Rueckgabe.
params - Properties
Returns:
boolean true: Loesung gefunden.
Wichtig:
Als Besuchsreihenfolge wird normalerweise eine einfache Folge erwartet, z.B. {0,1,2,3}, wobei hier Ziel nicht gleich Start ist. Soll eine Rundreise berechnet werden, dann muss {0,1,2,3,0} uebergeben werden.
Pre: Ausser fuer Start und Ziel darf jede Station nur einmal vorkommen.

makePaths

int[][] makePaths(int[] tour)
Generiert aus einer Besuchsreihenfolge die entsprechenden Pfade.

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

osm2po-core-4.8.8 (c) 2012 Carsten Moeller - info@osm2po.de