1) Status “labeled”, , status “unlabeled” for all

2) Let be a “labeled” node with time window, , and is the service and leaving time at node, the smallest. In the case that there are multiple candidates, choose one with the smallest. IF GOTO 11)

3) FOR all edges DO

4) IF status is “unlabeled” THEN

5) status “labeled”, , with time windows , , ,

6) ELSE IF status is “labeled” AND THEN

7) ,

8) END IF

9) DONE

10) status “finished”. GOTO 2)

11) OUTPUT and the -path found with are the time windows of the source node s and a destination node d respectively (i.e. the reverse of ).