You are given a city bicycle network as a weighted graph where edges encode distance, bike-lane availability, elevation gain, and traffic risk. Compute the bicycle route that minimizes a composite cost (e.g., time penalized by risk and elevation), subject to constraints such as avoiding roads without bike lanes or honoring temporary closures. Support alternative routes (top K), dynamic updates when a road closes, and turn-by-turn directions. Describe the data structures, the algorithmic choices (e.g., Dijkstra, A*, multi-criteria search), heuristics, tie-breaking, and the complexity. Include how you would validate correctness and handle edge cases like disconnected components.