Constrained Optimal Routes in 3D Space

Given a set of constraints, what is an optimal travel route between given points? Such problems are usually posed in 2D or on a surface; for example, finding the shortest path through a set of points on the surface of Earth. This Demonstration highlights a subset of such optimization problems in 3D, as might be needed in outer space or under water.
Imagine you need to travel on a spaceship to land on several different planets, exactly once each. This would be the traveling salesman problem if you were not subject to a constraint. For example, the more fuel you carry the less cargo you can have, so it is advantageous to limit the ship’s carrying fuel capacity. Therefore you might have to refuel on different planets, but remote planets might not be accessible. You will be able to traverse only a so-called "percolation network," where an edge exists only between planets close enough to travel between without refueling. An optimal tour on such a network is different (if possible at all) from the traveling salesman tour. This Demonstration visualizes the difference between these cases.
In the limit, for very large settings of the "range" control, the routes on the percolation network and traveling salesman route coincide.


  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]


“range” sets how far the spaceship can travel without refueling. Hence it defines which planets can be reached from a given one.
“new” generates a new random set of planets.
“number” defines how many planets are on the route.
“constrained” shows the shortest tour on the percolation network. If there is no route shown even with the control checked, then it does not exist.
“optimal” shows the traveling salesman route.
“network” shows the percolation network or distances between nearest-neighbor planets that you can travel to without refueling.
“nodes” shows the nodes of the network, in this case planets.
    • Share:

Embed Interactive Demonstration New!

Just copy and paste this snippet of JavaScript code into your website or blog to put the live Demonstration on your site. More details »

Files require Wolfram CDF Player or Mathematica.