de.cm.osm2po.tsp
Class TspDefaultSolver

java.lang.Object
  extended by de.cm.osm2po.tsp.TspSolverBase
      extended by de.cm.osm2po.tsp.TspDefaultSolver
All Implemented Interfaces:
TspSolver

public class TspDefaultSolver
extends TspSolverBase

Default-Implementation eines TspSolver auf Basis einer einfachen Permutation.
Wichtig:
Aufgrund der Laufzeit (n-1)! wird bei mehr als 14 Stationen (Start-[Permut-12]-Ziel) abgeriegelt und stattdessen eine Exception geworfen.

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

Field Summary
 
Fields inherited from class de.cm.osm2po.tsp.TspSolverBase
log, tspMatrix
 
Constructor Summary
TspDefaultSolver()
           
 
Method Summary
 boolean solveTour(int[] tour, java.util.Properties params)
          Berchnet die optimale Rundreise aus der Matrix.
 
Methods inherited from class de.cm.osm2po.tsp.TspSolverBase
calcNeighborhoodCost, calcTourCost, createInitialTour, init, makePaths, moveStation, solveOptimalTour, swapStations
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TspDefaultSolver

public TspDefaultSolver()
Method Detail

solveTour

public boolean solveTour(int[] tour,
                         java.util.Properties params)
Description copied from interface: TspSolver
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.

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