net.sf.cpsolver.coursett
Class TimetableSolver
java.lang.Object
net.sf.cpsolver.ifs.solver.Solver
net.sf.cpsolver.coursett.TimetableSolver
public class TimetableSolver
- extends Solver
University course timetabling solver.
When a complete solution is found, it is improved by limited depth backtracking search.
This way it is ensured that the fund solution is at least locally optimal.
- Version:
- CourseTT 1.1 (University Course Timetabling)
Copyright (C) 2006 Tomáš Müller
muller@unitime.org
Lazenska 391, 76314 Zlin, Czech Republic
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Method Summary |
protected void |
fixCompleteSolution(double startTime)
Try to improve existing solution by backtracking search of very limited depth. |
protected void |
onAssigned(double startTime)
Called in each iteration, after a neighbour is assigned |
Methods inherited from class net.sf.cpsolver.ifs.solver.Solver |
addExtension, addSolverListener, autoConfigure, clearBest, currentSolution, dispose, getExtensions, getNeighbourSelection, getPerturbationsCounter, getProperties, getSolutionComparator, getSolverListeners, getSolverThread, getTerminationCondition, init, initSolver, isRunning, lastSolution, onFailure, onFinish, onStart, onStop, removeSolverListener, setInitalSolution, setInitalSolution, setNeighbourSelection, setPerturbationsCounter, setSolutionComparator, setTerminalCondition, setUpdateProgress, start, stopSolver |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TimetableSolver
public TimetableSolver(DataProperties properties)
onAssigned
protected void onAssigned(double startTime)
- Description copied from class:
Solver
- Called in each iteration, after a neighbour is assigned
- Overrides:
onAssigned
in class Solver
fixCompleteSolution
protected void fixCompleteSolution(double startTime)
- Try to improve existing solution by backtracking search of very limited depth.
See
NeighbourSelectionWithSuggestions
for more details.