TimefoldAI / TimefoldAI/timefold-solver
Neighborhoods: Improve working with value ranges
Open
Nobody has claimed this yet.
process/needs triage
- Dominant language
- Java
- Stars
- 1.8k
- Forks
- 228
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 46
Description
Value range compatibility is currently implemented as a filter, which is clearly sub-optimal. Options:
- Bring in the contain/containedIn joiners from CS. This has its own downsides; joiners would have to get
solutionViewargument, and that'd be a breaking change. It would also make CS joiners and MS joiners further diverge, at which point the indexer logic might just split off and become full code duplication. - Bring in precompute from CS and do a relatively complex join which would still run the filter for which values are in which value range, but that information would be precomputed and therefore "free".
- ... ?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the current value range compatibility filter and compare it with the CS contain/containedIn joiners and precompute approaches mentioned in the issue. The work is done when an agreed approach is selected and the Neighborhoods indexer no longer relies on the current sub-optimal filtering behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- ai
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100