feat: implement lazy graph expansion - Task 1: hub station selection, BuildGraphFromHubs, and ExpandGraphLazy

This commit is contained in:
2026-08-14 14:00:01 +03:00
parent d20fd71371
commit 829e93fc8f
3 changed files with 494 additions and 7 deletions

View File

@@ -41,12 +41,12 @@ Implement lazy (on-demand) graph expansion for trip routing within Yandex.Schedu
## Implementation Steps
### Task 1: Add hub station list and lazy expansion logic to routing graph
- [ ] Define hub station selection criteria (population-based + outgoing flights count)
- [ ] Add `BuildGraphFromHubs` function that creates station + city nodes with synthetic edges only
- [ ] Implement `ExpandGraphLazy` method that on-demand adds edges from current node to hub candidates via /search
- [ ] Write tests for hub station selection
- [ ] Write tests for lazy expansion behavior (on-demand /search calls)
- [ ] Run tests - must pass before task 2
- [x] Define hub station selection criteria (population-based + outgoing flights count)
- [x] Add `BuildGraphFromHubs` function that creates station + city nodes with synthetic edges only
- [x] Implement `ExpandGraphLazy` method that on-demand adds edges from current node to hub candidates via /search
- [x] Write tests for hub station selection
- [x] Write tests for lazy expansion behavior (on-demand /search calls)
- [x] Run tests - must pass before task 2
### Task 2: Integrate Yandex /search for on-demand edge expansion
- [ ] Add `SearchRoutes` method to yandex client for on-demand station pair searches