I'm looking for a way to position nodes on a 2-dimensional plane in such a way that the distances between the nodes, which are entered exogenously, are represented visually in a way that as good as possible communicates the logical distance between those nodes. Basically, I have a set of nodes A, B, C etc. and between some of them I have a distance: A is 10 from B, 20 from C etc. Some nodes are not connected at all. The distances are not internally geometrically consistent: A may be 10 from B, and 10 from C, but B and C may be 100 from each other.
I want to do this in a way that is 'stable' - i.e. generates the exact same layout each time the algorithm is run. Multi-dimensional scaling algorithms seem to be the way to go about this, but I'm having a hard time finding practical properties of the various MDS algorithms that exist, and the one I've tried is based on iterating from a random start position and therefore doesn't generate the same result every time. It also cannot handle not-connected nodes, afaik.
The practical application for this, and more detail on what I've tried, is described in this question: https://stackoverflow.com/questions/20263829/stable-multi-dimensional-scaling-algorithm
(Original post: I'm not sure what the etiquette is on this (repost question here or just link), but I asked a question on Stackoverflow that I was advised might fit better here. The question is here: https://stackoverflow.com/questions/20263829/stable-multi-dimensional-scaling-algorithm . I can repost here if that is the custom, but I thought I'd err on the side of fewest fragmentation and duplication. Thanks.)