Create functionality to provide users with optimized routes for completing desired streets
-Separate map interface
-User can select a general area, or specific streets
-Toggle option to require hitting all selected streets or only the currently incomplete streets of those selected
-Option to define starting point
-Toggle option for requiring end point to be the same as starting point, or not
-Map with proposed paths drawn over it
-List of directions
-This is an extremely complex issue… CPP is known to be NP-hard
-Complexity of finding optimal solution increases exponentially with node/street counts: some upper limit would almost definitely be needed
-Besides the upfront time for UI development & solution scripting, the ongoing computational demands to provide solutions for users would be significant
-The whole topic may be entirely tangential to what CityStrides is, and what the community wants
Nonetheless, thought there may be some other users here who have wondered about this so I wanted to start a thread to discuss.
(fun fact, it was in applying this problem in one of Vancouver’s parks that ultimately introduced me to CityStrides! Thanks, @supermitch)
@ccottell mentioned the ideas of TSP/CPP in a recent thread, but was focused on UI changes that would help compare completed iterations of cities, not actually solving how best to do them.
Continuing the discussion from Time based filtering and challenges: