I'm looking for an algorithm that gives a smallest value of 'travel cost' within the following constraints:
- a complete, connected, weighted graph,
- vertices are defined in 3d euclidean space,
- relatively low number of vertices (less than 500)
- no limits on how many times a node may be visited
- a fixed starting vertex
- no requirement for which vertex to end at.
I've looked at minimum spanning tree algorithms, but those could create sub-optimal result, because they optimize for lowest summed edge weight.
I'm suspecting this may be a variant of the traveling salesman problem and thus NP-hard. For our use case however, a good approximation will be good enough.