Package org.jgrapht.alg
Class HamiltonianCycle
java.lang.Object
org.jgrapht.alg.HamiltonianCycle
This class will deal with finding the optimal or approximately optimal
minimum tour (hamiltonian cycle) or commonly known as the Traveling
Salesman Problem.
- Author:
- Andrew Newell
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <V,
E> List <V> This method will return an approximate minimal traveling salesman tour (hamiltonian cycle).
-
Constructor Details
-
HamiltonianCycle
public HamiltonianCycle()
-
-
Method Details
-
getApproximateOptimalForCompleteGraph
This method will return an approximate minimal traveling salesman tour (hamiltonian cycle). This algorithm requires that the graph be complete and the triangle inequality exists (if x,y,z are vertices then d(x,y)+d(y,z)invalid input: '<'d(x,z) for all x,y,z) then this algorithm will guarantee a hamiltonian cycle such that the total weight of the cycle is less than or equal to double the total weight of the optimal hamiltonian cycle. The optimal solution is NP-complete, so this is a decent approximation that runs in polynomial time.- Type Parameters:
V
-E
-- Parameters:
g
- is the graph to find the optimal tour for.- Returns:
- The optimal tour as a list of vertices.
-