Add SolutionUpdatePolicy skipping unnecessary initialization
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
Research direction
Start at SolutionManager.update and the existing SolutionUpdatePolicy.UPDATE_SHADOW_VARIABLES_ONLY path. Trace where solution value ranges are initialized, then define what the new policy must skip while still calculating shadow variables; done means the unnecessary initialization is avoided during preprocessing without losing shadow-variable updates.
Written by the indexing model from the issue text.
Description
Profiling shows that SolutionManager.update(solverModel, SolutionUpdatePolicy.UPDATE_SHADOW_VARIABLES_ONLY) call spends a lot of time initializing value ranges from a solution (on large datasets). When a model needs to update shadow variables a few times during pre-processing, initializing value ranges can take tens of seconds aggregating to ~ 90 seconds in our case.
Could a new SolutionUpdatePolicy be introduced that would allow calculating shadow variables while skipping unnecessary initialization (mainly the value ranges)?
- Dominant language
- Java
- Stars
- 1.8k
- Forks
- 238
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 55
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing 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 ·
Maintainers usually reply within 1 day
-
process/needs triage
Difficulty 5/5 Over a week Newbie friendliness 12/100
TimefoldAI/timefold-solver#2763 · 1 comment ·
Maintainers usually reply within 1 day
-
Docs: Add keywords for search.Possibly taken @TomCools claimed this today. Opencomponent/docs
TimefoldAI/timefold-solver#2762 · 1 assignee ·
Maintainers usually reply within 1 day
-
Swap move selector applies entity value range filtering to entity classes without entity-level rangesPossibly taken @zepfred claimed this 1 day ago. Openprocess/needs triage
TimefoldAI/timefold-solver#2761 · 1 assignee ·
Maintainers usually reply within 1 day
-
SDK: Waypoints class has not OpenAPI Spec annotations.Possibly taken @TomCools claimed this 1 day ago. Opencomponent/service
TimefoldAI/timefold-solver#2759 · 1 assignee ·
Maintainers usually reply within 1 day
All issues in TimefoldAI/timefold-solver
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
OpenIntegrationEngine/engine#496 ·
Maintainers usually reply within 1 day
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
SasanLabs/VulnerableApp#836 ·
Maintainers usually reply within 1 day
-
enhancement frontend
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
Albertinesilva/backend-engineering-journey-java-springboot#46 ·
-
Snyk: vulnerabilities in jackson-databind 2.21.5Possibly taken @harrywu23 claimed this today. Openbug
Difficulty 1/5 1-3 hours Newbie friendliness 80/100
SOFTENG-310-Group-4/Project-A1-310-Group-4#115 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
carlos-emr/carlos#4833 · 1 comment ·
Maintainers usually reply within 1 day