hi,

first of all the traversal paths need to be well defined. i.e. which all are the possible traversals.

example.

startPoint-->level1facility1-->level2facility1-->client1

startPoint-->level1facility1-->level2facility2-->client2

startPoint-->level1facility1-->level2facility3-->client3

--------------------------------------------------------

.................................etc.

Basically, what this algo solves is :

what is the minimal cost path to reach from say,level1facility1 to client3 ??

Now select a suitable data structure. A graph would be helpful in this case to represent the levels. Thinking in terms of a generic solution and not just limited to 3 levels.

If you select a graph the

Dijkstra's algorithm[

^] would help you.

hope this helps !!

OR

take a look at

Genetic Algorithms and the Traveling Salesman Problem[

title="New Window">^] and see how it suits your case.