I have a set of points (2D space), and for every point there's a label (like city names on a map). I want to find a real-time algorithm that allows labels to avoid overlapping, moving them from their original position if necessary.

I've heard about simulated annealing algorithm, but I can't find a good source to learn how to do this. Do you have some idea where I can find bibliography and practical examples?

Thanks in advance for your replies.


closed as unclear what you're asking by Christian Clason, Godric Seer, Geoff Oxberry Apr 30 '14 at 1:21

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\begingroup$ Googling "simulated annealing" gives me a load of good hits, including the wikipedia entry (which gives pseudocode) and an overview by Bertsimas. If you don't consider these to be good sources, you really need to be more specific about what you want to know. $\endgroup$ – Christian Clason Feb 6 '14 at 19:29
  • $\begingroup$ Thanks... I'm actually watching also this. I'm looking for performance because labels must be aligned in a real-time map environment (where user can zoom-pan and objects can be moved). $\endgroup$ – Jepessen Feb 8 '14 at 18:47