Классическая задача комивояджора.
Алгоритмы точного численного решения см здесь:
http://ru.wikipedia.org/wiki/%D0%90%...BB%D0%BB%D0%B0
Читаешь и кодируешь впрямую.
Также есть варианты использования эвристик. Например, можно посмотреть в книге "Готовые алгоритмы..."
http://www.kodges.ru/8212-delphi.-go...algoritmy.html