feat: enable entity value range for list variables#1671
Merged
Conversation
triceo
reviewed
Jul 1, 2025
triceo
reviewed
Jul 1, 2025
triceo
reviewed
Jul 1, 2025
triceo
reviewed
Jul 1, 2025
triceo
reviewed
Jul 1, 2025
triceo
reviewed
Jul 1, 2025
triceo
reviewed
Jul 1, 2025
triceo
reviewed
Jul 1, 2025
triceo
reviewed
Jul 1, 2025
triceo
reviewed
Jul 1, 2025
triceo
reviewed
Jul 1, 2025
triceo
reviewed
Jul 4, 2025
triceo
reviewed
Jul 4, 2025
triceo
reviewed
Jul 4, 2025
triceo
reviewed
Jul 4, 2025
triceo
reviewed
Jul 4, 2025
triceo
reviewed
Jul 4, 2025
triceo
reviewed
Jul 4, 2025
triceo
reviewed
Jul 4, 2025
Collaborator
|
In general, I would like to see the same principle being applied to value ranges on entity for both list var and basic var. It is the same principle, and there should be the same subsystem handling both in the solver. I know that in one case, we need to enumerate entities, and in the other, we need to enumerate values. But the value ranges need to be cached and accessed anyway, and those caches need to be selected from. Right now, we work around it by keeping the old system around, but for list var we bring a system which doesn't care if it's being entity-dependent or not. In my opinion, it's time to bring this aspect of list and basic vars under the same roof. |
2561c97 to
0448a29
Compare
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


This pull request introduces the ability to define value ranges for list variables in the entities. The proposed approach in the CH phase involves creating a new descriptor and selector that can read all values from the entities, serving as a single source of truth. This unique list of elements is required for the queued value placer to function correctly. Additinaly, a new cache tier for value range elements is proposed to enable faster access to value ranges values.
For the LS phase, the proposed changes follow the same strategy used for basic variables, generating valid and invalid moves through the respective move generators. However, the logic for list moves in
isMoveDoablehas been updated to ensure that moves are valid when using entity value ranges. This approach makes the logic simpler and more performant in some cases, as generating only valid moves would require more complex changes than just ensuring it is doable.