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
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
checkGraph
(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 void
requireNotEmpty
(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, wait
Methods 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
-