Package | Description |
---|---|
org.cpsolver.coursett.heuristics |
University Course Timetabling: Heuristics.
|
org.cpsolver.coursett.neighbourhoods |
University Course Timetabling: Various Neighbourhoods.
|
org.cpsolver.coursett.sectioning |
Additional Student Sectioning Algorithms.
|
org.cpsolver.exam.heuristics |
Examination Timetabling: Solution Heuristics.
|
org.cpsolver.exam.neighbours |
Examination Timetabling: Various Neighbourhoods.
|
org.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.
|
org.cpsolver.ifs.algorithms |
IFS Neighbourhood Search Algorithms
|
org.cpsolver.ifs.algorithms.neighbourhoods |
IFS: Various Problem-Independent Neighbourhoods.
|
org.cpsolver.ifs.assignment.context |
Assignment context can be used by a class (e.g., a constraint, a extension, a neighborhood selection, or a criterion) to
contain any assignment dependent data.
|
org.cpsolver.ifs.heuristics |
IFS Heuristics (value and variable selection criteria)
|
org.cpsolver.ifs.solver |
IFS Solver
|
org.cpsolver.studentsct.heuristics |
Student Sectioning: Heuristics.
|
org.cpsolver.studentsct.heuristics.selection |
Student Sectioning: Various Neighbour Selection Criteria.
|
org.cpsolver.studentsct.online.selection |
Online Student Sectioning Solver: Selection Weights and Heuristics.
|
Modifier and Type | Class and Description |
---|---|
class |
FixCompleteSolutionNeighbourSelection
University course timetabling neighbour selection.
|
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).
|
Constructor and Description |
---|
FixCompleteSolutionNeighbourSelection(DataProperties config,
NeighbourSelection<Lecture,Placement> parent) |
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 |
Suggestion
A simple neighbor selection based on
NeighbourSelectionWithSuggestions ,
only triggering when there is an unassigned class. |
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 |
RandomStudentSwap
A neihbourhood selection that attempts to swap a student between alternative sections of a course.
|
class |
StudentSwapGenerator
Generate student swaps.
|
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
Deprecated.
|
class |
ExamHillClimbing
Deprecated.
|
class |
ExamNeighbourSelection
Examination timetabling neighbour selection.
|
class |
ExamSimulatedAnnealing
Deprecated.
|
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 |
MetaHeuristicSearch<V extends Variable<V,T>,T extends Value<V,T>>
Meta-heuristic search neighbor selection.
|
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 |
ParallelConstruction<V extends Variable<V,T>,T extends Value<V,T>>
A simple neighbourhood selection extension suitable for the
ParallelSolver
during the construction phase. |
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 | Field and Description |
---|---|
protected NeighbourSelection<V,T> |
ParallelConstruction.iParent |
Modifier and Type | Method and Description |
---|---|
NeighbourSelection<V,T> |
MetaHeuristicSearch.MetaHeuristicSearchContext.getConstructionSelection() |
NeighbourSelection<V,T> |
MetaHeuristicSearch.MetaHeuristicSearchContext.getHillClimberSelection() |
NeighbourSelection<V,T> |
MetaHeuristicSearch.MetaHeuristicSearchContext.getImprovementSelection() |
NeighbourSelection<V,T> |
MetaHeuristicSearch.MetaHeuristicSearchContext.getIncompleteSelection() |
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
|
ParallelConstruction(DataProperties config,
NeighbourSelection<V,T> parent) |
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 |
NeighbourSelectionWithContext<V extends Variable<V,T>,T extends Value<V,T>,C extends AssignmentContext>
A neighborhood selection with an assignment context.
|
Modifier and Type | Class and Description |
---|---|
class |
BacktrackNeighbourSelection<V extends Variable<V,T>,T extends Value<V,T>>
Backtracking-based neighbour selection.
|
class |
MaxIdleNeighbourSelection<V extends Variable<V,T>,T extends Value<V,T>>
Simple extension of a provided
NeighbourSelection that halts the construction
heuristic or the IFS search when the underlying heuristic is unable to improve the
number of assigned variables. |
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 | Field and Description |
---|---|
protected NeighbourSelection<V,T> |
MaxIdleNeighbourSelection.iParent |
Modifier and Type | Method and Description |
---|---|
NeighbourSelection<V,T> |
RoundRobinNeighbourSelection.getSelection() |
Modifier and Type | Method and Description |
---|---|
void |
RoundRobinNeighbourSelection.registerSelection(NeighbourSelection<V,T> selection)
Register a neighbour selection
|
Constructor and Description |
---|
MaxIdleNeighbourSelection(DataProperties properties,
NeighbourSelection<V,T> parent,
int maxIdle) |
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 |
RestoreBestSolution
A simple step that checks whether the best solution has improved since the last check.
|
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 |
AssignInitialSelection
Assign initial enrollments.
|
class |
BacktrackSelection
Use backtrack neighbour selection.
|
class |
BranchBoundSelection
Section all students using incremental branch & bound (no unassignments).
|
class |
CriticalBacktrackSelection
Use backtrack neighbour selection.
|
class |
CriticalCoursesBranchAndBoundSelection
This selection is very much like
BranchBoundSelection , but only critical
course requests are assigned (see Request.isCritical() . |
class |
CriticalStandardSelection
Use the standard IFS search for the unassigned critical course requests.
|
class |
MinCreditBranchAndBoundSelection
This selection is very much like
BranchBoundSelection , but only enough
courses to a student is assigned to reach the min credit (see Student.getMinCredit() ). |
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 |
ShuffleStudentsSelection
Shuffle students along request groups.
|
static class |
ShuffleStudentsSelection.ShuffleBacktrackNeighbourSelection
A special version of the
BacktrackNeighbourSelection that filters the enrollments with the
provided section filter. |
class |
StandardSelection
Use the provided variable and value selection for some time.
|
class |
StudentEnrollmentSwapSelection
Swap enrollments of different students of a course.
|
class |
SwapStudentSelection
Pick a student (one by one) with an incomplete schedule, try to find an
improvement, identify problematic students.
|
Modifier and Type | Class and Description |
---|---|
class |
SuggestionSelection
Online student sectioning algorithm based on the
BranchBoundSelection of the batch solver. |