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
feat: support unassigned elements for list variables #573
Conversation
26bfb34
to
bb20e56
Compare
6ab3d21
to
53fdf42
Compare
ef86719
to
da7fd9a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Finished initial review. Comments inline.
...pl/src/main/java/ai/timefold/solver/core/impl/domain/entity/descriptor/EntityDescriptor.java
Show resolved
Hide resolved
...pl/src/main/java/ai/timefold/solver/core/impl/domain/entity/descriptor/EntityDescriptor.java
Outdated
Show resolved
Hide resolved
...pl/src/main/java/ai/timefold/solver/core/impl/domain/entity/descriptor/EntityDescriptor.java
Show resolved
Hide resolved
...in/java/ai/timefold/solver/core/impl/domain/variable/ExternalizedListVariableDataSupply.java
Outdated
Show resolved
Hide resolved
...rc/main/java/ai/timefold/solver/core/impl/domain/solution/descriptor/SolutionDescriptor.java
Show resolved
Hide resolved
...t/java/ai/timefold/solver/core/impl/testdata/domain/list/pinned/TestdataPinnedListValue.java
Outdated
Show resolved
Hide resolved
core/core-impl/src/test/java/ai/timefold/solver/core/impl/testdata/util/PlannerTestUtils.java
Outdated
Show resolved
Hide resolved
...efold/solver/examples/conferencescheduling/score/ConferenceSchedulingConstraintProvider.java
Show resolved
Hide resolved
...ai/timefold/solver/examples/meetingscheduling/score/MeetingSchedulingConstraintProvider.java
Show resolved
Hide resolved
test/src/test/java/ai/timefold/solver/test/api/score/stream/SingleConstraintAssertionTest.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a potential bug in VariableChangeRecordingScoreDirector
for atypical before
/after
calls that we either want to document or pay a small performance penalty to fix. Pending new and original review comments, changes look good to me.
...-impl/src/main/java/ai/timefold/solver/core/impl/domain/variable/ListVariableDataSupply.java
Outdated
Show resolved
Hide resolved
...n/java/ai/timefold/solver/core/impl/score/director/VariableDescriptorAwareScoreDirector.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see any blockers (provided the comment in the EntityOrderInfo
is true). Some comments inline. LGTM.
...pl/src/main/java/ai/timefold/solver/core/impl/domain/entity/descriptor/EntityDescriptor.java
Outdated
Show resolved
Hide resolved
.../ai/timefold/solver/core/impl/heuristic/selector/move/generic/list/kopt/EntityOrderInfo.java
Show resolved
Hide resolved
… that supports pinning Currently, doing an update on a value with a null inverse relation variable but is assigned to an entity causes an IllegalStateException to be thrown in a forEach node, even if only shadow variables are updated. It requires the model to supports pinning, since it is caused by a branch that is only triggered if the model supports pinning.
…entDestinationSelector
Quality Gate passedIssues Measures |
Counterparts PRs:
https://github.com/TimefoldAI/timefold-solver-enterprise/pull/84
TimefoldAI/timefold-quickstarts#285