Package | Description |
---|---|
net.sf.cpsolver.coursett.heuristics |
University Course Timetabling: Heuristics.
|
net.sf.cpsolver.coursett.neighbourhoods |
University Course Timetabling: Various Neighbourhoods.
|
net.sf.cpsolver.exam.heuristics |
Examination Timetabling: Solution Heuristics.
|
net.sf.cpsolver.exam.neighbours |
Examination Timetabling: Various Neighbourhoods.
|
net.sf.cpsolver.exam.split |
This package contains an an experimental criterion that allows an exam to be split into two if it decreases the number of student conflicts.
|
net.sf.cpsolver.ifs.algorithms |
IFS Neighbourhood Search Algorithms
|
net.sf.cpsolver.ifs.algorithms.neighbourhoods |
IFS: Various Problem-Independent Neighbourhoods.
|
net.sf.cpsolver.ifs.heuristics |
IFS Heuristics (value and variable selection criteria)
|
net.sf.cpsolver.ifs.solver |
IFS Solver
|
net.sf.cpsolver.studentsct.heuristics |
Student Sectioning: Heuristics.
|
net.sf.cpsolver.studentsct.heuristics.selection |
Student Sectioning: Various Neighbour Selection Criteria.
|
Modifier and Type | Class and Description |
---|---|
class |
NeighbourSelectionWithSuggestions
Neighbour selection which does the standard time neighbour selection most of
the time, however, the very best neighbour is selected time to time (using
backtracking based search).
|
Modifier and Type | Class and Description |
---|---|
class |
RoomChange
Try to assign a class with a new room.
|
class |
RoomSwap
Try to assign a class with a new room.
|
class |
TimeChange
Try to assign a class with a new time.
|
class |
TimeSwap
Try to assign a class with a new time.
|
Modifier and Type | Class and Description |
---|---|
class |
ExamColoringConstruction
Examination timetabling construction heuristics based on graph vertex coloring.
|
class |
ExamConstruction
Initial solution construction heuristics.
|
class |
ExamGreatDeluge
Greate deluge.
|
class |
ExamHillClimbing
Hill climber.
|
class |
ExamNeighbourSelection
Examination timetabling neighbour selection.
|
class |
ExamSimulatedAnnealing
Simulated annealing.
|
class |
ExamTabuSearch
Tabu search algorithm.
|
Modifier and Type | Class and Description |
---|---|
class |
ExamPeriodSwapMove
Try to swap a period between two exams.
|
class |
ExamRandomMove
A period is selected randomly for a randomly selected exam.
|
class |
ExamRoomMove
Try to swap a room between two exams.
|
class |
ExamTimeMove
A new period is selected for a randomly selected exam.
|
Modifier and Type | Class and Description |
---|---|
class |
ExamSplitMoves
Experimental neighbor selection that allows an exam to be split
into two if it decreases the number of student conflicts.
|
Modifier and Type | Class and Description |
---|---|
class |
GreatDeluge<V extends Variable<V,T>,T extends Value<V,T>>
Great deluge.
|
class |
HillClimber<V extends Variable<V,T>,T extends Value<V,T>>
Hill climber.
|
class |
NeighbourSearch<V extends Variable<V,T>,T extends Value<V,T>>
Base class for the search techniques like hill climber, great deluge, or simulated annealing.
|
class |
NeighbourSelector<V extends Variable<V,T>,T extends Value<V,T>>
A wrapper for
NeighbourSelection that keeps some stats about the
given neighbour selector. |
class |
SimpleSearch<V extends Variable<V,T>,T extends Value<V,T>>
Simple search neighbour selection.
|
class |
SimulatedAnnealing<V extends Variable<V,T>,T extends Value<V,T>>
Simulated annealing.
|
class |
StepCountingHillClimber<V extends Variable<V,T>,T extends Value<V,T>>
Step counting hill climber.
|
Modifier and Type | Method and Description |
---|---|
protected NeighbourSelection<V,T> |
NeighbourSearch.nextNeighbourSelection()
Generate and return next neighbour selection
|
NeighbourSelection<V,T> |
NeighbourSelector.selection()
Given neighbour selection
|
Modifier and Type | Method and Description |
---|---|
protected List<? extends NeighbourSelection<V,T>> |
NeighbourSearch.getNeighbours()
Return list of neighbour selections
|
Modifier and Type | Method and Description |
---|---|
protected void |
NeighbourSearch.addNeighbourSelection(NeighbourSelection<V,T> ns,
double bonus)
Add neighbour selection
|
Constructor and Description |
---|
NeighbourSelector(NeighbourSelection<V,T> sel,
double bonus,
boolean update)
Constructor
|
Modifier and Type | Class and Description |
---|---|
class |
RandomMove<V extends Variable<V,T>,T extends Value<V,T>>
Try to assign a variable with a new value.
|
class |
RandomSwapMove<V extends Variable<V,T>,T extends Value<V,T>>
Try to assign a variable with a new value.
|
class |
SuggestionMove<V extends Variable<V,T>,T extends Value<V,T>>
Suggestion move.
|
Modifier and Type | Class and Description |
---|---|
class |
BacktrackNeighbourSelection<V extends Variable<V,T>,T extends Value<V,T>>
Backtracking-based neighbour selection.
|
class |
RoundRobinNeighbourSelection<V extends Variable<V,T>,T extends Value<V,T>>
A round robin neighbour selection.
|
class |
StandardNeighbourSelection<V extends Variable<V,T>,T extends Value<V,T>>
Standard neighbour selection criterion.
|
Modifier and Type | Method and Description |
---|---|
void |
RoundRobinNeighbourSelection.registerSelection(NeighbourSelection<V,T> selection)
Register a neighbour selection
|
Modifier and Type | Method and Description |
---|---|
NeighbourSelection<V,T> |
Solver.getNeighbourSelection()
Returns neighbour selection criterion
|
Modifier and Type | Method and Description |
---|---|
void |
Solver.setNeighbourSelection(NeighbourSelection<V,T> neighbourSelection)
Sets neighbour selection criterion
|
Modifier and Type | Class and Description |
---|---|
class |
RandomizedBacktrackNeighbourSelection
Randomized backtracking-based neighbour selection.
|
class |
StudentSctNeighbourSelection
(Batch) student sectioning neighbour selection.
|
class |
TwoPhaseStudentSctNeighbourSelection
Two-phase (Batch) student sectioning neighbour selection.
|
protected class |
TwoPhaseStudentSctNeighbourSelection.RestoreDummyStudents
Return all dummy students into the problem, executed as the last phase of
the first round
|
Modifier and Type | Class and Description |
---|---|
class |
BacktrackSelection
Use backtrack neighbour selection.
|
class |
BranchBoundSelection
Section all students using incremental branch & bound (no unassignments).
|
class |
OnlineSelection
Section given student using branch & bound algorithm with no unassignments
allowed.
|
class |
PriorityConstructionSelection
This selection is very much like
BranchBoundSelection , but it works in cycles
(over all the students) assigning only the first N priority courses. |
class |
RandomUnassignmentSelection
Random unassignment of some (randomly selected) students.
|
class |
ResectionIncompleteStudentsSelection
Resection incomplete studends.
|
class |
ResectionUnassignedStudentsSelection
Resection studends with empty schedule.
|
class |
RndUnProblStudSelection
Random unassignment of some problematic students.
|
class |
StandardSelection
Use the provided variable and value selection for some time.
|
class |
SwapStudentSelection
Pick a student (one by one) with an incomplete schedule, try to find an
improvement, identify problematic students.
|