public class MinCreditBranchAndBoundSelection extends BranchBoundSelection
BranchBoundSelection
, but only enough
courses to a student is assigned to reach the min credit (see Student.getMinCredit()
).
Students that do not have the min credit set or have it set to zero are skipped.
Parameter | Type | Comment |
---|---|---|
Neighbour.MinCreditBranchAndBoundTimeout | 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 |
MinCreditBranchAndBoundSelection.MinCreditSelection |
BranchBoundSelection.BranchBoundNeighbour, BranchBoundSelection.Selection
Modifier and Type | Field and Description |
---|---|
protected boolean |
iMPP |
iBranchWhenSelectedHasNoConflict, iDistanceConflict, iDistConfWeight, iMinimizePenalty, iModel, iOrder, iStudentQuality, iStudents, iTimeout, iTimeOverlaps, sDebug
Constructor and Description |
---|
MinCreditBranchAndBoundSelection(DataProperties properties) |
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, init, nextStudent, setModel
protected boolean iMPP
public MinCreditBranchAndBoundSelection(DataProperties properties)
public void init(Solver<Request,Enrollment> solver)
NeighbourSelection
init
in interface NeighbourSelection<Request,Enrollment>
init
in class BranchBoundSelection
solver
- current solverpublic Neighbour<Request,Enrollment> selectNeighbour(Solution<Request,Enrollment> solution)
BranchBoundSelection
selectNeighbour
in interface NeighbourSelection<Request,Enrollment>
selectNeighbour
in class BranchBoundSelection
solution
- given solutionpublic BranchBoundSelection.Selection getSelection(Assignment<Request,Enrollment> assignment, Student student)
BranchBoundSelection
getSelection
in class BranchBoundSelection
assignment
- current assignmentstudent
- selected studentCopyright © 2019 UniTime LLC. All Rights Reserved.