Feat: Allows specifying a weight function for individual ranges for the Connected Ranges collector
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
Research direction
Start at the Connected Range collector and its toConnectedTemporalRanges entry point. Compare the current default weighting behavior with the proposed range-to-int weighting function, using the Job start, end, and required-forklift methods shown in the example. Done means callers can supply a per-range weight while the existing default behavior remains available.
Written by the indexing model from the issue text.
Description
Is your feature request related to a problem? Please describe.
Sometimes a Job requires multiple of the same resource. For instance, a Job might require either 2 or 3 forklifts.
If there are a limited number of forklifts, then schedules where the number of required forklifts at any given time is over the limit is infeasible.
The Connected Range collector is useful when the Job will always require 1 forklift, but cannot handle cases where each Job require a different number of forklifts.
Describe the solution you'd like
The connected ranges collector takes an optional weighting function parameter from range to int (defaulting to range -> 1).
For instance,
toConnectedTemporalRanges(Job::getStart, Job::getEnd, Job::getRequiredForkliftCount)
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
- Dominant language
- Java
- Stars
- 1.8k
- Forks
- 228
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 46
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.
More from TimefoldAI/timefold-solver
-
component/docs
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
TimefoldAI/timefold-solver#2671 ·
-
process/needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
TimefoldAI/timefold-solver#2652 ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
TimefoldAI/timefold-solver#2647 · 1 reaction ·
-
component/service
Difficulty 3/5 1-2 days Newbie friendliness 66/100
TimefoldAI/timefold-solver#2629 ·
-
component/docs
TimefoldAI/timefold-solver#2626 · 1 assignee ·
All issues in TimefoldAI/timefold-solver
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
bug needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 1/5 Under an hour Newbie friendliness 94/100
objectionary/hone-maven-plugin#1061 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
spring-projects/spring-modulith#1895 ·