public class OnFlySectioning extends Object implements ModelListener<Lecture,Placement>
Parameter | Type | Comment |
---|---|---|
OnFlySectioning.Enabled | Boolean |
Enable on fly sectioning (if enabled, students will be resectioned after each iteration) |
OnFlySectioning.Recursive | Boolean |
Recursively resection lectures affected by a student swap |
OnFlySectioning.ConfigAsWell | Boolean |
Resection students between configurations as well |
Constructor and Description |
---|
OnFlySectioning(TimetableModel model)
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
afterAssigned(Assignment<Lecture,Placement> assignment,
long iteration,
Placement value)
FinalSectioning.resection(Assignment, Lecture, boolean, boolean) is called
when given iteration number is greater than zero. |
void |
afterUnassigned(Assignment<Lecture,Placement> assignment,
long iteration,
Placement value)
Called after a value is unassigned from its variable (
Value.variable() ). |
void |
beforeAssigned(Assignment<Lecture,Placement> assignment,
long iteration,
Placement value)
Called before a value is assigned to its variable (
Value.variable() ). |
void |
beforeUnassigned(Assignment<Lecture,Placement> assignment,
long iteration,
Placement value)
Called before a value is unassigned from its variable (
Value.variable() ). |
void |
constraintAdded(Constraint<Lecture,Placement> constraint)
Constraint is added to the model
|
void |
constraintRemoved(Constraint<Lecture,Placement> constraint)
Constraint is removed from the model
|
boolean |
init(Solver<Lecture,Placement> solver)
Initialization
|
void |
variableAdded(Lecture variable)
Variable is added to the model
|
void |
variableRemoved(Lecture variable)
Variable is removed from the model
|
public OnFlySectioning(TimetableModel model)
model
- timetabling modelpublic void variableAdded(Lecture variable)
ModelListener
variableAdded
in interface ModelListener<Lecture,Placement>
variable
- added variablepublic void variableRemoved(Lecture variable)
ModelListener
variableRemoved
in interface ModelListener<Lecture,Placement>
variable
- removed variablepublic void constraintAdded(Constraint<Lecture,Placement> constraint)
ModelListener
constraintAdded
in interface ModelListener<Lecture,Placement>
constraint
- added constraintpublic void constraintRemoved(Constraint<Lecture,Placement> constraint)
ModelListener
constraintRemoved
in interface ModelListener<Lecture,Placement>
constraint
- removed constraintpublic void beforeAssigned(Assignment<Lecture,Placement> assignment, long iteration, Placement value)
ModelListener
Value.variable()
).beforeAssigned
in interface ModelListener<Lecture,Placement>
assignment
- current assignmentiteration
- current iterationvalue
- value to be assignedpublic void beforeUnassigned(Assignment<Lecture,Placement> assignment, long iteration, Placement value)
ModelListener
Value.variable()
).beforeUnassigned
in interface ModelListener<Lecture,Placement>
assignment
- current assignmentiteration
- current iterationvalue
- value to be unassignedpublic void afterAssigned(Assignment<Lecture,Placement> assignment, long iteration, Placement value)
FinalSectioning.resection(Assignment, Lecture, boolean, boolean)
is called
when given iteration number is greater than zero.afterAssigned
in interface ModelListener<Lecture,Placement>
assignment
- current assignmentiteration
- current iterationvalue
- value to be assignedpublic void afterUnassigned(Assignment<Lecture,Placement> assignment, long iteration, Placement value)
ModelListener
Value.variable()
).afterUnassigned
in interface ModelListener<Lecture,Placement>
assignment
- current assignmentiteration
- current iterationvalue
- value to be unassigned