public class CriticalMinCreditBranchAndBoundSelection extends BranchBoundSelection
BranchBoundSelection, but only enough
courses to a student is assigned to reach the min credit (see Student.getMinCredit())
while only using critical course requests (see Request.isCritical().
Students that do not have the min credit set or have it set to zero are skipped.
| Parameter | Type | Comment |
|---|---|---|
| Neighbour.CriticalMinCreditBranchAndBoundTimeout | 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 |
CriticalMinCreditBranchAndBoundSelection.MinCreditCriticalSelection |
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 |
|---|
CriticalMinCreditBranchAndBoundSelection(DataProperties properties) |
CriticalMinCreditBranchAndBoundSelection(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 CriticalMinCreditBranchAndBoundSelection(DataProperties properties, Request.RequestPriority priority)
public CriticalMinCreditBranchAndBoundSelection(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