I am new to the field of shortest-path problems but after a fair amount of Googling, I think my problem is a variation on the TSP.
I have multiple frames/planes of points scattered on a 2D grid and must select one point from each frame sequentially so that the cartesian distance between successive points is minimized. Each point can only be selected once.
Alternatively, the problem can be viewed as points mixed on a single plane with X = {x1, x2, ..., xn} possible categorizations , and the points must be selected one at a time in a path from x1 to xn, repeated until all points have been selected. (In this formulation, however, there may be multiple points at a single location, so perhaps it makes more sense to say they are separated by an imaginary distance, as above.)
I don't need an exact solution, just a decent-looking heuristic. All paths between points must be less than a threshold cartesian distance T, and this is more important than minimizing total path length. (I assume that minimizing the paths selected between all the various nodes in each category will result in a minimum total path length, however, it is theoretically possible that one or two large paths would allow for all other points to be minimized to a degree that would overshadow those large outlier distances. That solution must be rejected.)
The number of nodes per category is on the order of ~200-400, and the number of categories around 200-900 (inversely related - the more categories, the fewer points in each.) There are exactly the same number of points in each category.
The points are scattered on each frame(/category) in a random way that is denser toward the center, so while there are many acceptable solutions toward the center of the plane, the edges have a very sparse scattering of points. I keep running into problems at those outer edges, e.g. where choosing the next point to minimize the distance between frame 2 and 3 on iteration n means that the point chosen on frame 2 for iteration n+1 has no point on frame 3 nearer than T.