Skip to content

Commit cdd438f

Browse files
Christopher-Chianellitriceo
authored andcommitted
fix: adapt to upstream changes
1 parent dd045e0 commit cdd438f

4 files changed

Lines changed: 13 additions & 13 deletions

File tree

src/main/java/ai/timefold/solver/benchmarks/examples/conferencescheduling/domain/ConferenceConstraintProperties.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@ public class ConferenceConstraintProperties extends AbstractPersistable {
2424

2525
public static final String THEME_TRACK_CONFLICT = "Theme track conflict";
2626
public static final String THEME_TRACK_ROOM_STABILITY = "Theme track room stability";
27-
public static final String THEME_TRACK_CONFLICT_SAME_DAY_TALKS = "Same day talks (Theme track)";
27+
public static final String THEME_TRACK_CONFLICT_SAME_DAY_TALKS = "Same day talks 'Theme track'";
2828
public static final String SECTOR_CONFLICT = "Sector conflict";
2929
public static final String AUDIENCE_TYPE_DIVERSITY = "Audience type diversity";
3030
public static final String AUDIENCE_TYPE_THEME_TRACK_CONFLICT = "Audience type theme track conflict";
3131
public static final String AUDIENCE_LEVEL_DIVERSITY = "Audience level diversity";
3232
public static final String CONTENT_AUDIENCE_LEVEL_FLOW_VIOLATION = "Content audience level flow violation";
3333
public static final String CONTENT_CONFLICT = "Content conflict";
34-
public static final String CONTENT_CONFLICT_SAME_DAY_TALKS = "Same day talks (Content)";
34+
public static final String CONTENT_CONFLICT_SAME_DAY_TALKS = "Same day talks 'Content'";
3535
public static final String LANGUAGE_DIVERSITY = "Language diversity";
3636
public static final String POPULAR_TALKS = "Popular talks";
3737

src/main/java/ai/timefold/solver/benchmarks/examples/conferencescheduling/score/ConferenceSchedulingConstraintProvider.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@
3333
import static ai.timefold.solver.core.api.score.stream.ConstraintCollectors.countBi;
3434
import static ai.timefold.solver.core.api.score.stream.ConstraintCollectors.max;
3535
import static ai.timefold.solver.core.api.score.stream.ConstraintCollectors.min;
36-
import static ai.timefold.solver.core.api.score.stream.Joiners.containedIn;
37-
import static ai.timefold.solver.core.api.score.stream.Joiners.containing;
3836
import static ai.timefold.solver.core.api.score.stream.Joiners.equal;
3937
import static ai.timefold.solver.core.api.score.stream.Joiners.filtering;
4038
import static ai.timefold.solver.core.api.score.stream.Joiners.greaterThan;
41-
import static ai.timefold.solver.core.api.score.stream.Joiners.intersecting;
4239
import static ai.timefold.solver.core.api.score.stream.Joiners.lessThan;
4340
import static ai.timefold.solver.core.api.score.stream.Joiners.overlapping;
41+
import static ai.timefold.solver.core.impl.score.stream.UnfinishedJoiners.containedIn;
42+
import static ai.timefold.solver.core.impl.score.stream.UnfinishedJoiners.containing;
43+
import static ai.timefold.solver.core.impl.score.stream.UnfinishedJoiners.containingAnyOf;
4444

4545
import java.time.LocalDate;
4646
import java.time.temporal.ChronoUnit;
@@ -149,7 +149,7 @@ Constraint talkPrerequisiteTalks(ConstraintFactory factory) {
149149
Constraint talkMutuallyExclusiveTalksTags(ConstraintFactory factory) {
150150
return factory.forEachUniquePair(Talk.class,
151151
overlapping(t -> t.getTimeslot().getStartDateTime(), t -> t.getTimeslot().getEndDateTime()),
152-
intersecting(Talk::getMutuallyExclusiveTalksTagSet))
152+
containingAnyOf(Talk::getMutuallyExclusiveTalksTagSet))
153153
.penalize(HardSoftScore.ofHard(1),
154154
(talk1, talk2) -> talk2.overlappingMutuallyExclusiveTalksTagCount(talk1)
155155
* talk1.overlappingDurationInMinutes(talk2))
@@ -236,7 +236,7 @@ Constraint themeTrackConflict(ConstraintFactory factory) {
236236
Constraint themeTrackRoomStability(ConstraintFactory factory) {
237237
return factory.forEachUniquePair(Talk.class,
238238
equal(talk -> talk.getTimeslot().getStartDateTime().toLocalDate()),
239-
intersecting(Talk::getThemeTrackTagSet),
239+
containingAnyOf(Talk::getThemeTrackTagSet),
240240
filtering((talk1, talk2) -> !talk1.getRoom().equals(talk2.getRoom())))
241241
.penalize(HardSoftScore.ofSoft(10),
242242
(talk1, talk2) -> talk2.overlappingThemeTrackCount(talk1) * talk1.combinedDurationInMinutes(talk2))
@@ -246,7 +246,7 @@ Constraint themeTrackRoomStability(ConstraintFactory factory) {
246246
Constraint sectorConflict(ConstraintFactory factory) {
247247
return factory.forEachUniquePair(Talk.class,
248248
overlapping(t -> t.getTimeslot().getStartDateTime(), t -> t.getTimeslot().getEndDateTime()),
249-
intersecting(Talk::getSectorTagSet))
249+
containingAnyOf(Talk::getSectorTagSet))
250250
.penalize(HardSoftScore.ofSoft(10),
251251
(talk1, talk2) -> talk2.overlappingSectorCount(talk1) * talk1.overlappingDurationInMinutes(talk2))
252252
.asConstraint(SECTOR_CONFLICT);
@@ -305,7 +305,7 @@ Constraint contentAudienceLevelFlowViolation(ConstraintFactory factory) {
305305
Constraint contentConflict(ConstraintFactory factory) {
306306
return factory.forEachUniquePair(Talk.class,
307307
overlapping(t -> t.getTimeslot().getStartDateTime(), t -> t.getTimeslot().getEndDateTime()),
308-
intersecting(Talk::getContentTagSet))
308+
containingAnyOf(Talk::getContentTagSet))
309309
.penalize(HardSoftScore.ofSoft(100),
310310
(talk1, talk2) -> talk2.overlappingContentCount(talk1)
311311
* talk1.overlappingDurationInMinutes(talk2))
@@ -321,15 +321,15 @@ Constraint languageDiversity(ConstraintFactory factory) {
321321
}
322322

323323
Constraint contentConflictSameDay(ConstraintFactory factory) {
324-
return factory.forEachUniquePair(Talk.class, intersecting(Talk::getContentTagSet))
324+
return factory.forEachUniquePair(Talk.class, containingAnyOf(Talk::getContentTagSet))
325325
.filter((talk1, talk2) -> !talk1.getTimeslot().isOnSameDayAs(talk2.getTimeslot()))
326326
.penalize(HardSoftScore.ofSoft(10),
327327
(talk1, talk2) -> talk2.overlappingContentCount(talk1) * talk1.combinedDurationInMinutes(talk2))
328328
.asConstraint(CONTENT_CONFLICT_SAME_DAY_TALKS);
329329
}
330330

331331
Constraint themeTrackConflictSameDay(ConstraintFactory factory) {
332-
return factory.forEachUniquePair(Talk.class, intersecting(Talk::getThemeTrackTagSet))
332+
return factory.forEachUniquePair(Talk.class, containingAnyOf(Talk::getThemeTrackTagSet))
333333
.filter((talk1, talk2) -> !talk1.getTimeslot().isOnSameDayAs(talk2.getTimeslot()))
334334
.penalize(HardSoftScore.ofSoft(10),
335335
(talk1, talk2) -> talk2.overlappingThemeTrackCount(talk1) * talk1.combinedDurationInMinutes(talk2))

src/main/java/ai/timefold/solver/benchmarks/examples/curriculumcourse/score/CurriculumCourseConstraintProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
import static ai.timefold.solver.core.api.score.HardSoftScore.ofSoft;
66
import static ai.timefold.solver.core.api.score.stream.ConstraintCollectors.count;
77
import static ai.timefold.solver.core.api.score.stream.ConstraintCollectors.countDistinct;
8-
import static ai.timefold.solver.core.api.score.stream.Joiners.containedIn;
98
import static ai.timefold.solver.core.api.score.stream.Joiners.equal;
109
import static ai.timefold.solver.core.api.score.stream.Joiners.filtering;
10+
import static ai.timefold.solver.core.impl.score.stream.UnfinishedJoiners.containedIn;
1111

1212
import java.util.Objects;
1313

src/main/resources/ai/timefold/solver/benchmarks/examples/conferencescheduling/conferenceSchedulingSolverConfig.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<solver xmlns="https://timefold.ai/xsd/solver" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
33
xsi:schemaLocation="https://timefold.ai/xsd/solver https://timefold.ai/xsd/solver/solver.xsd">
44
<!-- To slowly prove there are no bugs in this code -->
5-
<environmentMode>FAST_ASSERT</environmentMode>
5+
<!--<environmentMode>FULL_ASSERT</environmentMode>-->
66
<!-- To solve faster by saturating multiple CPU cores -->
77
<!--<moveThreadCount>AUTO</moveThreadCount>-->
88

0 commit comments

Comments
 (0)