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.ValueUpdateType
iIncludeConflicts
iBest, iDebug, iValue, iValueUpdateType, iWeight, sDoubleFormat, sPercentFormat
Constructor and Description |
---|
StudentLuchBreak() |
Modifier and Type | Method and Description |
---|---|
void |
getInfo(Map<String,String> info)
Adds some information into the table with information about the solution
|
void |
getInfo(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, applicable, bestRestored, committed, committed, distance, getBounds, getBounds, getMetrics, getValue, getValue, getValue, hard, hard, ignore, ignore, incJenrl, jointEnrollment, overlaps
getAbbreviation, getPlacementSelectionWeight, getPlacementSelectionWeightDefault, toString
afterAssigned, afterUnassigned, beforeAssigned, beforeUnassigned, bestSaved, clearCache, computeBounds, constraintAdded, constraintRemoved, getBest, getModel, getName, getPerc, getPercRev, getWeight, getWeightedBest, getWeightedValue, getWeightedValue, getWeightedValue, getWeightName, inc, variableAdded, variableRemoved
public StudentLuchBreak()
public boolean init(Solver<Lecture,Placement> solver)
ModelListener
init
in interface ModelListener<Lecture,Placement>
init
in class StudentConflict
solver
- IFS solverpublic boolean isApplicable(Lecture l1, Lecture l2)
isApplicable
in class StudentConflict
public double getWeightDefault(DataProperties config)
AbstractCriterion
AbstractCriterion.getWeightName()
parameter is not present in the criterion).getWeightDefault
in class AbstractCriterion<Lecture,Placement>
public String getPlacementSelectionWeightName()
getPlacementSelectionWeightName
in class StudentConflict
public boolean inConflict(Placement p1, Placement p2)
inConflict
in class StudentConflict
public void getInfo(Map<String,String> info)
InfoProvider
getInfo
in interface InfoProvider<Lecture>
getInfo
in class AbstractCriterion<Lecture,Placement>
public void getInfo(Map<String,String> info, Collection<Lecture> variables)
InfoProvider
getInfo
in interface InfoProvider<Lecture>
getInfo
in class AbstractCriterion<Lecture,Placement>