public class CriticalCoursesBranchAndBoundSelection extends BranchBoundSelection
BranchBoundSelection, but only critical
course requests are assigned (see Request.isCritical().
Students that do not have any unassigned critical courses are skipped.
| Parameter | Type | Comment |
|---|---|---|
| Neighbour.CriticalCoursesBranchAndBoundTimeout | Integer |
Timeout for each neighbour selection (in milliseconds). |
| Neighbour.BranchAndBoundMinimizePenalty | Boolean |
If true, section penalties (instead of section values) are minimized: overall penalty is minimized together with the maximization of the number of assigned requests and minimization of distance conflicts -- this variant is to better mimic the case when students can choose their sections (section times). |
| Modifier and Type | Class and Description |
|---|---|
class |
CriticalCoursesBranchAndBoundSelection.CriticalCoursesSelection |
BranchBoundSelection.BranchBoundNeighbour, BranchBoundSelection.Selection| Modifier and Type | Field and Description |
|---|---|
protected boolean |
iMPP |
iBranchWhenSelectedHasNoConflict, iDistanceConflict, iDistConfWeight, iFilter, iMinimizePenalty, iModel, iNbrIterations, iNbrNoSolution, iNbrStudents, iNbrTimeoutReached, iOrder, iStudentQuality, iStudents, iTimeout, iTimeOverlaps, iTimesToAvoidHeuristics, iTotalTime, sDebug| Constructor and Description |
|---|
CriticalCoursesBranchAndBoundSelection(DataProperties properties) |
CriticalCoursesBranchAndBoundSelection(DataProperties properties,
Request.RequestPriority priority) |
| Modifier and Type | Method and Description |
|---|---|
BranchBoundSelection.Selection |
getSelection(Assignment<Request,Enrollment> assignment,
Student student)
Branch & bound selection for a student
|
void |
init(Solver<Request,Enrollment> solver)
Criterion initialization
|
Neighbour<Request,Enrollment> |
selectNeighbour(Solution<Request,Enrollment> solution)
Select neighbour.
|
addStudent, getFilter, getInfo, getInfo, init, neighbourFailed, neighbourSelected, nextStudent, setModel, valueSelected, variableSelected, withFilterprotected boolean iMPP
public CriticalCoursesBranchAndBoundSelection(DataProperties properties, Request.RequestPriority priority)
public CriticalCoursesBranchAndBoundSelection(DataProperties properties)
public void init(Solver<Request,Enrollment> solver)
NeighbourSelectioninit in interface NeighbourSelection<Request,Enrollment>init in class BranchBoundSelectionsolver - current solverpublic Neighbour<Request,Enrollment> selectNeighbour(Solution<Request,Enrollment> solution)
BranchBoundSelectionselectNeighbour in interface NeighbourSelection<Request,Enrollment>selectNeighbour in class BranchBoundSelectionsolution - given solutionpublic BranchBoundSelection.Selection getSelection(Assignment<Request,Enrollment> assignment, Student student)
BranchBoundSelectiongetSelection in class BranchBoundSelectionassignment - current assignmentstudent - selected student