&gt; Also, there might be more than one criteria to optimize for.. shortest travel time? fewest moves?<p>More fundamentally: do you optimise for the users of the service (lift passengers) or for the person paying for it (building owner)?  Because I can imagine very different drivers there.