Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apply heuristics for partial solutions #1177

Merged
merged 36 commits into from
Nov 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
ecf516b
Add getter for Input::_has_initial_route.
jcoupey Oct 29, 2024
f7658f7
Simplify the logic for populating initial solutions.
jcoupey Oct 29, 2024
c81b6f1
Account for init routes to compute unassigned jobs in basic heuristic.
jcoupey Oct 29, 2024
9e6f3c3
Account for initial route for cost and INIT in basic heuristic.
jcoupey Oct 29, 2024
9286e62
Extract get_unassigned process into its own function.
jcoupey Nov 5, 2024
5d27f3c
Account for init routes to compute unassigned jobs in dynamic heuristic.
jcoupey Nov 5, 2024
3e78531
Account for initial route for cost and INIT in dynamic heuristic.
jcoupey Nov 5, 2024
d2574cd
Clarify things on which initial routes have no impact.
jcoupey Nov 5, 2024
e57e915
Mention heuristic application in changelog.
jcoupey Nov 5, 2024
d7788d8
Reduce cognitive complexity for set_initial_routes.
jcoupey Nov 5, 2024
9969beb
Fix SonarCloud complaints about bool operands.
jcoupey Nov 5, 2024
ed836dc
Silence a couple other SonarCloud issues.
jcoupey Nov 5, 2024
f743ebd
Extract route seeding procedure from basic heuristic to its own funct…
jcoupey Nov 6, 2024
05ef5ea
Mark helper functions as inline.
jcoupey Nov 6, 2024
4525c05
Add extraneous scope block to ease diffing blocks from the same file.
jcoupey Nov 6, 2024
f82f7f7
Pass ad-hoc lambda for unassigned job filtering while seeding.
jcoupey Nov 6, 2024
92c305c
Also use lambda for unassigned filtering in dynamic seeding.
jcoupey Nov 6, 2024
9fbd829
Deduplicate code by using seed_route in dynamic heuristic.
jcoupey Nov 6, 2024
5bc4f71
Remove extraneous scope in seed_route.
jcoupey Nov 6, 2024
0fefe89
Some renaming inside seed_route.
jcoupey Nov 6, 2024
f7b5bab
Mention heuristics refactor in changelog.
jcoupey Nov 6, 2024
44bec4b
Move route-filling loop in basic heuristic to dedicated function.
jcoupey Nov 6, 2024
b9d801d
Reuse route-filling function in dynamic heuristic.
jcoupey Nov 6, 2024
4e097fa
Round of renaming for helper functions.
jcoupey Nov 6, 2024
60274f0
Adjust INIT switch with using enum.
jcoupey Nov 6, 2024
ac0ed62
Directly pass lambdas to seed_route.
jcoupey Nov 6, 2024
06c9087
Remove nested block in fill_route.
jcoupey Nov 6, 2024
d141c48
Explicitely capture scope variables in lambdas.
jcoupey Nov 6, 2024
813e8b2
Merge branch 'master' into feature/heuristic-for-partial-solutions
jcoupey Nov 12, 2024
c21f2f3
Account for empty route fixed cost in fill_route.
jcoupey Nov 13, 2024
e4f2ff6
Store assigned tasks while populating init routes.
jcoupey Nov 14, 2024
72cd0e9
Directly pass unassigned jobs to heuristics.
jcoupey Nov 14, 2024
622aa1e
Directly pass vector of vehicle ranks to heuristics.
jcoupey Nov 14, 2024
1d48053
Conditionnally call seed_route.
jcoupey Nov 14, 2024
fd3982e
Move check for delivery to seed_route.
jcoupey Nov 15, 2024
d1806da
Move vehicle_ok_with_job check to seed_route.
jcoupey Nov 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,15 @@

#### Internals

- Apply heuristics to partial solutions provided in input (#977)
- LOG_LS flag to generate debug info on the internal solving process (#1124)

### Changed

#### Internals

- Bypass matrix request in `plan` mode (#444)
- Refactor heuristics to reduce code duplication (#1181)
- Refactor `Matrix` template class (#1089)
- Refactor to use `std::format` whenever possible (#1081)
- Reduce complexity for recreation process (#1155)
Expand Down
Loading