This is a bus scheduler in the sense that you give it a start address, a destination address, and a time, and it returns a robust bus plan to get you there ASAP. There are also now several different kinds of reports it can generate. (Perhaps we could also give it a dialog system.) It is also useful as a transportation planning module for Verber, because export to PDDL works.
The system further aims to integrate with a map routing system such as the open source Roadnav or TMRS systems, to provide the ability to calculate the quickest plan to reach a given location.Example:
./busroute -d data/daily.raw.gz -s "Murray Ave. AT Beacon" -e "Forbes Ave. AT Craig" -t 9:00p 61C test Loading LocationHash... Loading data... 168310/168310 Creating adjacency matrix... Sorting departing segments... Installing departing segments... Selecting locations... Cutoff: 0.1 Cutoff: 0.2 Cutoff: 0.4 Cutoff: 0.8 Cutoff: 1.6 Cutoff: 3.2 PATH FOUND: Optimizing... (ROUTE (:STARTLOC Murray Ave. AT Beacon (Near Side)) (:STARTINT Beacon and Murray) (:ENDLOC Forbes Ave. AT Craig) (:ENDINT Craig and Forbes) (:STARTTIME 9:03p) (:ENDTIME 9:16p) (:DURATION 0:13) (:FROMTIME 0:16) (:QUALITY 2.2) (:PLAN (BOARD 61C I 9:03p Murray Ave. AT Beacon (Near Side)) (EXIT 61C I 9:16p Forbes Ave. AT Craig) ) )
This system has been substantially rewritten and expanded. It loads much faster, now incorporating all stops. It plans with equivalence sets of start and goal locations (to account for multiple sides and so forth). It incorporates a new plan quality system adding costs to transfers, too short or long transfer delays, plan length, and ETA. The planner is optimal.
It now generates direct route reports. It also has been interfaced with Verber, generating pddl2.2 domains.