Skip to content

Commit

Permalink
Fix style and typo in test file
Browse files Browse the repository at this point in the history
  • Loading branch information
Musa Talluzi authored and ge0ffrey committed Jan 31, 2019
1 parent 195e9e0 commit 55ff1f0
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 18 deletions.
Expand Up @@ -83,7 +83,7 @@ public class ConferenceConstraintConfiguration extends AbstractPersistable {
@ConstraintWeight(CONSECUTIVE_TALKS_PAUSE)
private HardMediumSoftScore consecutiveTalksPause = HardMediumSoftScore.ofHard(1);
@ConstraintWeight(CROWD_CONTROL)
private HardMediumSoftScore crowdControl = HardMediumSoftScore.ofHard(0);
private HardMediumSoftScore crowdControl = HardMediumSoftScore.ofHard(1);

@ConstraintWeight(SPEAKER_REQUIRED_TIMESLOT_TAGS)
private HardMediumSoftScore speakerRequiredTimeslotTags = HardMediumSoftScore.ofHard(1);
Expand Down
Expand Up @@ -391,15 +391,15 @@ private void createSpeakerList(ConferenceSolution solution, int speakerListSize)
unavailableTimeslotSet = new LinkedHashSet<>(timeslotList.size());
}
speaker.setUnavailableTimeslotSet(unavailableTimeslotSet);
speaker.setRequiredTimeslotTagSet(new LinkedHashSet<>()); // choosing random required/prohibited tags might result in an infeasible solution
speaker.setRequiredTimeslotTagSet(new LinkedHashSet<>()); // TODO: choose random required/prohibited tags that don't result in an infeasible solution
speaker.setPreferredTimeslotTagSet(preferredTimeslotTagSet);
speaker.setProhibitedTimeslotTagSet(new LinkedHashSet<>());
speaker.setUndesiredTimeslotTagSet(undesiredTimeslotTagSet);
Set<String> requiredRoomTagSet = new LinkedHashSet<>();
Set<String> preferredRoomTagSet = new LinkedHashSet<>();
Set<String> prohibitedRoomTagSet = new LinkedHashSet<>();
Set<String> undesiredRoomTagSet = new LinkedHashSet<>();
setRoomTags(requiredRoomTagSet, preferredRoomTagSet, prohibitedRoomTagSet, undesiredRoomTagSet);
initializeRoomTagSets(requiredRoomTagSet, preferredRoomTagSet, prohibitedRoomTagSet, undesiredRoomTagSet);
speaker.setRequiredRoomTagSet(requiredRoomTagSet);
speaker.setPreferredRoomTagSet(preferredRoomTagSet);
speaker.setProhibitedRoomTagSet(prohibitedRoomTagSet);
Expand Down Expand Up @@ -454,41 +454,47 @@ private void createTalkList(ConferenceSolution solution, int talkListSize) {
break;
}
}
Set<String> requiredRoomTagSet = new LinkedHashSet<>();
Set<String> preferredRoomTagSet = new LinkedHashSet<>();
Set<String> prohibitedRoomTagSet = new LinkedHashSet<>();
Set<String> undesiredRoomTagSet = new LinkedHashSet<>();
setRoomTags(requiredRoomTagSet, preferredRoomTagSet, prohibitedRoomTagSet, undesiredRoomTagSet);
Set<String> mutuallyExclusiveTagSet = new LinkedHashSet<>();
if (random.nextDouble() < 0.025) {
mutuallyExclusiveTagSet.add(mutuallyExclusiveTagList.get(random.nextInt(mutuallyExclusiveTagList.size())));
}
Set<Talk> prerequisiteTalkCodeSet = new LinkedHashSet<>();
if (random.nextDouble() < 0.025) {
prerequisiteTalkCodeSet.add(talkList.get(random.nextInt(talkList.size())));
}
talk.setContentTagSet(contentTagSet);
talk.setSectorTagSet(sectorTagSet);
talk.setLanguage("en");
talk.setRequiredTimeslotTagSet(new LinkedHashSet<>());
talk.setPreferredTimeslotTagSet(new LinkedHashSet<>());
talk.setProhibitedTimeslotTagSet(new LinkedHashSet<>());
talk.setUndesiredTimeslotTagSet(new LinkedHashSet<>());

Set<String> requiredRoomTagSet = new LinkedHashSet<>();
Set<String> preferredRoomTagSet = new LinkedHashSet<>();
Set<String> prohibitedRoomTagSet = new LinkedHashSet<>();
Set<String> undesiredRoomTagSet = new LinkedHashSet<>();
initializeRoomTagSets(requiredRoomTagSet, preferredRoomTagSet, prohibitedRoomTagSet, undesiredRoomTagSet);
talk.setRequiredRoomTagSet(requiredRoomTagSet);
talk.setPreferredRoomTagSet(preferredRoomTagSet);
talk.setProhibitedRoomTagSet(prohibitedRoomTagSet);
talk.setUndesiredRoomTagSet(undesiredRoomTagSet);

Set<String> mutuallyExclusiveTagSet = new LinkedHashSet<>();
if (random.nextDouble() < 0.025) {
mutuallyExclusiveTagSet.add(mutuallyExclusiveTagList.get(random.nextInt(mutuallyExclusiveTagList.size())));
}
talk.setMutuallyExclusiveTalksTagSet(mutuallyExclusiveTagSet);

Set<Talk> prerequisiteTalkCodeSet = new LinkedHashSet<>();
if (random.nextDouble() < 0.025) {
prerequisiteTalkCodeSet.add(talkList.get(random.nextInt(talkList.size())));
}
talk.setPrerequisiteTalkSet(prerequisiteTalkCodeSet);

talk.setFavoriteCount(random.nextInt(1000));
if (random.nextDouble() < 0.02) { // Need an even number of talks with crowd control > 1 for a feasible solution
if (random.nextDouble() < 0.02) {
talk.setCrowdControlRisk(1);
// Need an even number of talks with crowd control > 1 for a feasible solution
Talk pairedTalk = talkList.get(random.nextInt(talkList.size()));
while (pairedTalk.getCrowdControlRisk() != 0 || !pairedTalk.getTalkType().equals(talk.getTalkType())) {
pairedTalk = talkList.get(random.nextInt(talkList.size()));
}
pairedTalk.setCrowdControlRisk(1);
}
talk.setCrowdControlRisk(0); // Disabled for now: the unsolved schedules must have a feasible solution
logger.trace("Created talk with code ({}), title ({}) and speakers ({}).",
talk.getCode(), talk.getTitle(), speakerList);
talkList.add(talk);
Expand All @@ -511,7 +517,7 @@ private void createTalkList(ConferenceSolution solution, int talkListSize) {
solution.setTalkList(talkList);
}

private void setRoomTags(Set<String> requiredRoomTagSet, Set<String> preferredRoomTagSet, Set<String> prohibitedRoomTagSet, Set<String> undesiredRoomTagSet) {
private void initializeRoomTagSets(Set<String> requiredRoomTagSet, Set<String> preferredRoomTagSet, Set<String> prohibitedRoomTagSet, Set<String> undesiredRoomTagSet) {
for (Pair<String, Double> roomTagProbability : roomTagProbabilityList) {
Double segmentRandom = random.nextDouble();
if (segmentRandom < roomTagProbability.getValue() / 25.0) {
Expand Down
Binary file not shown.

0 comments on commit 55ff1f0

Please sign in to comment.