java.lang.Object
org.jgrapht.alg.tour.HamiltonianCycleAlgorithmBase<V,E>
- Type Parameters:
V- the graph vertex typeE- the graph edge type
- All Implemented Interfaces:
HamiltonianCycleAlgorithm<V,E>
- Direct Known Subclasses:
ChristofidesThreeHalvesApproxMetricTSP,GreedyHeuristicTSP,HeldKarpTSP,NearestInsertionHeuristicTSP,NearestNeighborHeuristicTSP,PalmerHamiltonianCycle,RandomTourTSP,TwoApproxMetricTSP,TwoOptHeuristicTSP
public abstract class HamiltonianCycleAlgorithmBase<V,E>
extends Object
implements HamiltonianCycleAlgorithm<V,E>
Base class for TSP solver algorithms.
This class provides implementations of utilities for TSP solver classes.
- Author:
- Peter Harman, Hannes Wellmann
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcheckGraph(Graph<V, E> graph) Checks that graph is undirected, complete, and non-emptyTransform from a closed List representation (first and last vertex element are the same) to a graph path.Transform from a Set representation to a graph path.getSingletonTour(Graph<V, E> graph) Creates a tour for a graph with 1 vertexprotected voidrequireNotEmpty(Graph<V, E> graph) Checks that graph is not emptyTransform from a List representation to a graph path.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.jgrapht.alg.interfaces.HamiltonianCycleAlgorithm
getTour
-
Constructor Details
-
HamiltonianCycleAlgorithmBase
public HamiltonianCycleAlgorithmBase()
-
-
Method Details
-
vertexListToTour
Transform from a List representation to a graph path.- Parameters:
tour- a list containing the vertices of the tour (is modified)graph- the graph- Returns:
- a graph path
-
closedVertexListToTour
Transform from a closed List representation (first and last vertex element are the same) to a graph path.- Parameters:
tour- a closed list containing the vertices of the tourgraph- the graph- Returns:
- a graph path
-
edgeSetToTour
Transform from a Set representation to a graph path.- Parameters:
tour- a set containing the edges of the tourgraph- the graph- Returns:
- a graph path
-
getSingletonTour
Creates a tour for a graph with 1 vertex- Parameters:
graph- The graph- Returns:
- A tour with a single vertex
-
checkGraph
Checks that graph is undirected, complete, and non-empty- Parameters:
graph- the graph- Throws:
IllegalArgumentException- if graph is not undirectedIllegalArgumentException- if graph is not completeIllegalArgumentException- if graph contains no vertices
-
requireNotEmpty
Checks that graph is not empty- Parameters:
graph- the graph- Throws:
IllegalArgumentException- if graph contains no vertices
-