public class StudentLuchBreak extends StudentConflict
StudentConflict and it creates a conflict whenever there are
two classes (that share students) overlapping with the lunch time which are one
after the other with a break in between smaller than the requested lunch break.
Lunch time is defined by StudentLunch.StartSlot and StudentLunch.EndStart
properties (default is 11:00 am - 1:30 pm), with lunch break of at least
StudentLunch.Length slots (default is 30 minutes). Such a conflict is weighted
by Comparator.StudentLunchWeight, which defaults to Comparator.StudentConflictWeight.
AbstractCriterion.ValueContext, AbstractCriterion.ValueUpdateTypeiIncludeConflictsiBest, iDebug, iWeight, sDoubleFormat, sPercentFormatsMaxSize| Constructor and Description |
|---|
StudentLuchBreak() |
| Modifier and Type | Method and Description |
|---|---|
void |
getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info)
Adds some information into the table with information about the solution
|
void |
getInfo(Assignment<Lecture,Placement> assignment,
Map<String,String> info,
Collection<Lecture> variables)
Adds some information into the table with information about the solution,
only consider variables from the given set
|
String |
getPlacementSelectionWeightName() |
double |
getWeightDefault(DataProperties config)
Defines default weight (when
AbstractCriterion.getWeightName() parameter is not present in the criterion). |
boolean |
inConflict(Placement p1,
Placement p2) |
boolean |
init(Solver<Lecture,Placement> solver)
Notification that the model was initialized by the solver.
|
boolean |
isApplicable(Lecture l1,
Lecture l2) |
boolean |
nolunch(Placement p1,
Placement p2) |
applicable, bestRestored, committed, configure, distance, getBounds, getBounds, getMetrics, getValue, getValue, hard, ignore, incJenrl, isApplicable, jointEnrollment, jointEnrollment, overlaps, slots, uncommitted, workdaygetPlacementSelectionAdjustmentsName, getPlacementSelectionWeight, getPlacementSelectionWeightDefaultafterAssigned, afterUnassigned, beforeAssigned, beforeUnassigned, bestSaved, clearCache, computeBounds, constraintAdded, constraintRemoved, createAssignmentContext, getAbbreviation, getAssignmentContextReference, getBest, getBounds, getBounds, getContext, getContext, getExtendedInfo, getModel, getName, getPerc, getPercentage, getPercRev, getValue, getValue, getValue, getValueUpdateType, getWeight, getWeightedBest, getWeightedValue, getWeightedValue, getWeightedValue, getWeightedValue, getWeightedValue, getWeightedValue, getWeightName, inc, inc, setAssignmentContextReference, setModel, setValueUpdateType, toString, variableAdded, variableRemovedpublic StudentLuchBreak()
public boolean init(Solver<Lecture,Placement> solver)
ModelListenerinit in interface ModelListener<Lecture,Placement>init in class AbstractCriterion<Lecture,Placement>solver - IFS solverpublic boolean isApplicable(Lecture l1, Lecture l2)
isApplicable in class StudentConflictpublic double getWeightDefault(DataProperties config)
AbstractCriterionAbstractCriterion.getWeightName() parameter is not present in the criterion).getWeightDefault in class AbstractCriterion<Lecture,Placement>config - solver configurationpublic String getPlacementSelectionWeightName()
getPlacementSelectionWeightName in class StudentConflictpublic boolean inConflict(Placement p1, Placement p2)
inConflict in class StudentConflictpublic void getInfo(Assignment<Lecture,Placement> assignment, Map<String,String> info)
InfoProvidergetInfo in interface InfoProvider<Lecture,Placement>getInfo in class AbstractCriterion<Lecture,Placement>assignment - current assignmentinfo - info tablepublic void getInfo(Assignment<Lecture,Placement> assignment, Map<String,String> info, Collection<Lecture> variables)
InfoProvidergetInfo in interface InfoProvider<Lecture,Placement>getInfo in class AbstractCriterion<Lecture,Placement>assignment - current assignmentinfo - info tablevariables - sub-problem