Uses of Class
net.sf.cpsolver.ifs.solution.Solution

Packages that use Solution
net.sf.cpsolver.coursett University Course Timetabling. 
net.sf.cpsolver.coursett.heuristics University Course Timetabling: Heuristics. 
net.sf.cpsolver.exam.heuristics Examination Timetabling: Solution Heuristics. 
net.sf.cpsolver.exam.neighbours Examination Timetabling: Various Neighbourhoods. 
net.sf.cpsolver.ifs.dbt Dynamic backtracking extension of IFS solver 
net.sf.cpsolver.ifs.example.tt Simple Timetabling Problem. 
net.sf.cpsolver.ifs.extension IFS Extensions (conflict-based statistics, maintenance of arc consistency) 
net.sf.cpsolver.ifs.heuristics IFS Heuristics (value and variable selection criteria) 
net.sf.cpsolver.ifs.solution IFS Solution (also contains solution comparator) 
net.sf.cpsolver.ifs.solver IFS Solver 
net.sf.cpsolver.ifs.termination IFS Termination (termination condition) 
net.sf.cpsolver.studentsct Student Sectioning Solver. 
net.sf.cpsolver.studentsct.heuristics Student Sectioning: Heuristics. 
net.sf.cpsolver.studentsct.heuristics.selection Student Sectioning: Various Neighbour Selection Criteria. 
 

Uses of Solution in net.sf.cpsolver.coursett
 

Methods in net.sf.cpsolver.coursett that return Solution
protected  Solution TimetableSaver.getSolution()
          Solution to be saved
 

Methods in net.sf.cpsolver.coursett with parameters of type Solution
 void Test.bestCleared(Solution solution)
           
 void Test.bestRestored(Solution solution)
           
 void Test.bestSaved(Solution solution)
           
 void Test.getInfo(Solution solution, Dictionary info)
           
 void Test.getInfo(Solution solution, Dictionary info, Vector variables)
           
 void TimetableXMLLoader.load(Solution currentSolution)
           
 void Test.notify(Solution solution)
          Add a line into the output CSV file when a enw best solution is found.
static void Test.printSomeStuff(Solution solution)
          Create info.txt with some more information about the problem
static void Test.saveOutputCSV(Solution s, File file)
           
 void Test.solutionUpdated(Solution solution)
           
 

Uses of Solution in net.sf.cpsolver.coursett.heuristics
 

Methods in net.sf.cpsolver.coursett.heuristics with parameters of type Solution
 double TimetableComparator.bestValue(Solution currentSolution)
           
 int NeighbourSelectionWithSuggestions.SuggestionNeighbour.compareTo(Solution solution)
           
 double TimetableComparator.currentValue(Solution currentSolution)
           
 PlacementSelection.ParamRetriever PlacementSelection.getParameters(Solution solution, Lecture lecture, Placement placement)
           
 boolean TimetableComparator.isBetterThanBestSolution(Solution currentSolution)
           
 Neighbour NeighbourSelectionWithSuggestions.selectNeighbour(Solution solution)
           
 Neighbour NeighbourSelectionWithSuggestions.selectNeighbourWithSuggestions(Solution solution, Lecture lecture, int depth)
           
 Value PlacementSelection.selectValue(Solution solution, Variable selectedVariable)
           
 Variable LectureSelection.selectVariable(Solution solution)
           
 

Uses of Solution in net.sf.cpsolver.exam.heuristics
 

Methods in net.sf.cpsolver.exam.heuristics with parameters of type Solution
protected  boolean ExamGreatDeluge.accept(Solution solution, Neighbour neighbour)
          Accept neighbour
protected  boolean ExamSimulatedAnnealing.accept(Solution solution, Neighbour neighbour)
          True if the given neighboir is to be be accepted
 void ExamGreatDeluge.bestCleared(Solution solution)
           
 void ExamHillClimbing.bestCleared(Solution solution)
           
 void ExamSimulatedAnnealing.bestCleared(Solution solution)
           
 void ExamGreatDeluge.bestRestored(Solution solution)
           
 void ExamHillClimbing.bestRestored(Solution solution)
           
 void ExamSimulatedAnnealing.bestRestored(Solution solution)
           
 void ExamGreatDeluge.bestSaved(Solution solution)
          Update last improving iteration count
 void ExamHillClimbing.bestSaved(Solution solution)
          Memorize the iteration when the last best solution was found.
 void ExamSimulatedAnnealing.bestSaved(Solution solution)
          Memorize the iteration when the last best solution was found.
 boolean ExamNeighbourSelection.canContinue(Solution currentSolution)
          Termination condition (i.e., has final phase finished)
protected  void ExamSimulatedAnnealing.cool(Solution solution)
          Cool temperature
 Neighbour ExamGreatDeluge.genMove(Solution solution)
          Generate neighbour -- select neighbourhood randomly, select neighbour
 Neighbour ExamSimulatedAnnealing.genMove(Solution solution)
          Generate neighbour -- select neighbourhood randomly, select neighbour
 void ExamGreatDeluge.getInfo(Solution solution, Dictionary info)
           
 void ExamHillClimbing.getInfo(Solution solution, Dictionary info)
           
 void ExamSimulatedAnnealing.getInfo(Solution solution, Dictionary info)
           
 void ExamGreatDeluge.getInfo(Solution solution, Dictionary info, Vector variables)
           
 void ExamHillClimbing.getInfo(Solution solution, Dictionary info, Vector variables)
           
 void ExamSimulatedAnnealing.getInfo(Solution solution, Dictionary info, Vector variables)
           
protected  void ExamGreatDeluge.incIter(Solution solution)
          Increment iteration count, update bound
protected  void ExamSimulatedAnnealing.incIter(Solution solution)
          Increment iteration counter, cool/reheat/restoreBest if necessary
protected  void ExamGreatDeluge.info(Solution solution)
          Print some information
protected  void ExamSimulatedAnnealing.reheat(Solution solution)
          Reheat temperature
protected  void ExamSimulatedAnnealing.restoreBest(Solution solution)
          restore best ever found solution
 Neighbour ExamConstruction.selectNeighbour(Solution solution)
          Select a neighbour.
 Neighbour ExamGreatDeluge.selectNeighbour(Solution solution)
          A neighbour is generated randomly untill an acceptable one is found.
 Neighbour ExamHillClimbing.selectNeighbour(Solution solution)
          Select one of the given neighbourhoods randomly, select neighbour, return it if its value is below or equal to zero (continue with the next selection otherwise).
 Neighbour ExamNeighbourSelection.selectNeighbour(Solution solution)
          Neighbour selection.
 Neighbour ExamSimulatedAnnealing.selectNeighbour(Solution solution)
          Select neighbour -- generate a move ExamSimulatedAnnealing.genMove(Solution) until an acceptable neighbour is found ExamSimulatedAnnealing.accept(Solution, Neighbour), keep increasing iteration ExamSimulatedAnnealing.incIter(Solution).
 Neighbour ExamTabuSearch.selectNeighbour(Solution solution)
          Neighbor selection
 Value ExamTabuSearch.selectValue(Solution solution, Variable variable)
          Value selection
 Variable ExamUnassignedVariableSelection.selectVariable(Solution solution)
          Variable selection
 void ExamGreatDeluge.solutionUpdated(Solution solution)
           
 void ExamHillClimbing.solutionUpdated(Solution solution)
           
 void ExamSimulatedAnnealing.solutionUpdated(Solution solution)
           
 

Uses of Solution in net.sf.cpsolver.exam.neighbours
 

Methods in net.sf.cpsolver.exam.neighbours with parameters of type Solution
 Neighbour ExamRandomMove.selectNeighbour(Solution solution)
          Select an exam randomly, select an available period randomly (from Exam.getPeriodPlacements()), select rooms using Exam.findBestAvailableRooms(ExamPeriodPlacement).
 Neighbour ExamRoomMove.selectNeighbour(Solution solution)
          Select an exam randomly, select an available period randomly (if it is not assigned, from Exam.getPeriodPlacements()), select rooms using Exam.findRoomsRandom(ExamPeriodPlacement)
 Neighbour ExamTimeMove.selectNeighbour(Solution solution)
          Select an exam randomly, select an available period randomly (if it is not assigned), use rooms if possible, select rooms using Exam.findBestAvailableRooms(ExamPeriodPlacement) if not (exam is unassigned, a room is not available or used).
 

Uses of Solution in net.sf.cpsolver.ifs.dbt
 

Methods in net.sf.cpsolver.ifs.dbt with parameters of type Solution
 Value DbtValueSelection.selectValue(Solution solution, Variable selectedVariable)
          Value selection
 Variable DbtVariableSelection.selectVariable(Solution solution)
          Variable selection
 

Uses of Solution in net.sf.cpsolver.ifs.example.tt
 

Methods in net.sf.cpsolver.ifs.example.tt with parameters of type Solution
 void TimetableModel.saveAsXML(DataProperties cfg, boolean gen, Solution solution, File outFile)
           
 

Uses of Solution in net.sf.cpsolver.ifs.extension
 

Methods in net.sf.cpsolver.ifs.extension with parameters of type Solution
 void SearchIntensification.bestCleared(Solution solution)
           
 void SearchIntensification.bestRestored(Solution solution)
           
 void SearchIntensification.bestSaved(Solution solution)
           
 void SearchIntensification.getInfo(Solution solution, Dictionary info)
           
 void SearchIntensification.getInfo(Solution solution, Dictionary info, Vector variables)
           
 void SearchIntensification.solutionUpdated(Solution solution)
           
 

Uses of Solution in net.sf.cpsolver.ifs.heuristics
 

Fields in net.sf.cpsolver.ifs.heuristics declared as Solution
protected  Solution BacktrackNeighbourSelection.iSolution
           
 

Methods in net.sf.cpsolver.ifs.heuristics with parameters of type Solution
 void RoundRobinNeighbourSelection.changeSelection(Solution solution)
          Change selection
 int BacktrackNeighbourSelection.BackTrackNeighbour.compareTo(Solution solution)
          Compare two neighbours
 Neighbour BacktrackNeighbourSelection.selectNeighbour(Solution solution)
          Select neighbour.
 Neighbour NeighbourSelection.selectNeighbour(Solution solution)
          select a neighbour of a given solution
 Neighbour RoundRobinNeighbourSelection.selectNeighbour(Solution solution)
          Select neighbour.
 Neighbour StandardNeighbourSelection.selectNeighbour(Solution solution)
          Select neighbour.
 Neighbour BacktrackNeighbourSelection.selectNeighbour(Solution solution, Variable variable)
          Select neighbour -- starts from the provided variable.
 Value GeneralValueSelection.selectValue(Solution solution, Variable selectedVariable)
          Value selecion
 Value StandardNeighbourSelection.selectValue(Solution solution, Variable variable)
          Use the provided value selection criterion to select a value to the selected variable
 Value ValueSelection.selectValue(Solution solution, Variable selectedVariable)
          Value selection
 Variable GeneralVariableSelection.selectVariable(Solution solution)
          Variable selection
 Variable StandardNeighbourSelection.selectVariable(Solution solution)
          Use the provided variable selection criterion to select a variable
 Variable VariableSelection.selectVariable(Solution solution)
          Variable selection
 

Uses of Solution in net.sf.cpsolver.ifs.solution
 

Methods in net.sf.cpsolver.ifs.solution with parameters of type Solution
 void SolutionListener.bestCleared(Solution solution)
          Called by the solution when method clearBest() is called.
 void SolutionListener.bestRestored(Solution solution)
          Called by the solution when method restoreBest() is called.
 void SolutionListener.bestSaved(Solution solution)
          Called by the solution when method saveBest() is called.
 void SolutionListener.getInfo(Solution solution, Dictionary info)
          Called by the solution when it is asked to produce info table, see getInfo().
 void SolutionListener.getInfo(Solution solution, Dictionary info, Vector variables)
          Called by the solution when it is asked to produce info table, see getInfo().
 boolean GeneralSolutionComparator.isBetterThanBestSolution(Solution currentSolution)
           
 boolean MPPSolutionComparator.isBetterThanBestSolution(Solution currentSolution)
           
 boolean SolutionComparator.isBetterThanBestSolution(Solution currentSolution)
          Compares two solutions.
 void SolutionListener.solutionUpdated(Solution solution)
          Called by the solution when it is updated, see update(double).
 

Uses of Solution in net.sf.cpsolver.ifs.solver
 

Fields in net.sf.cpsolver.ifs.solver declared as Solution
protected  Solution Solver.iCurrentSolution
          current solution
protected  Solution Solver.iLastSolution
          last solution (after IFS Solver finishes)
 

Methods in net.sf.cpsolver.ifs.solver that return Solution
 Solution Solver.currentSolution()
          Current solution (during the search)
 Solution Solver.lastSolution()
          Last solution (when solver finishes)
 

Methods in net.sf.cpsolver.ifs.solver with parameters of type Solution
 void Solver.setInitalSolution(Solution solution)
          Sets initial solution
 

Uses of Solution in net.sf.cpsolver.ifs.termination
 

Methods in net.sf.cpsolver.ifs.termination with parameters of type Solution
 boolean GeneralTerminationCondition.canContinue(Solution currentSolution)
           
 boolean MPPTerminationCondition.canContinue(Solution currentSolution)
           
 boolean TerminationCondition.canContinue(Solution currentSolution)
          Returns true when the solver can continue with the next iteration
 

Uses of Solution in net.sf.cpsolver.studentsct
 

Methods in net.sf.cpsolver.studentsct that return Solution
static Solution Test.batchSectioning(DataProperties cfg)
          Batch sectioning test
 Solution StudentSctBBTest.getSolution()
          Compute and return the sectioning solution.
protected  Solution StudentSectioningSaver.getSolution()
          Solution to be saved
static Solution Test.onlineSectioning(DataProperties cfg)
          Online sectioning test
static Solution Test.solveModel(StudentSectioningModel model, DataProperties cfg)
          Solve the student sectioning problem using IFS solver
 

Methods in net.sf.cpsolver.studentsct with parameters of type Solution
 void Test.TestSolutionListener.bestCleared(Solution solution)
           
 void Test.TestSolutionListener.bestRestored(Solution solution)
           
 void Test.TestSolutionListener.bestSaved(Solution solution)
           
 void Test.TestSolutionListener.getInfo(Solution solution, Dictionary info)
           
 void Test.TestSolutionListener.getInfo(Solution solution, Dictionary info, Vector variables)
           
static void Test.printInfo(Solution solution, boolean computeTables, boolean computeSectInfos, boolean runChecks)
          Print some information about the solution
static void Test.saveInfoToXML(Solution solution, Hashtable extra, File file)
          Save solution info as XML
 void Test.TestSolutionListener.solutionUpdated(Solution solution)
           
 

Uses of Solution in net.sf.cpsolver.studentsct.heuristics
 

Methods in net.sf.cpsolver.studentsct.heuristics with parameters of type Solution
 void StudentSctNeighbourSelection.changeSelection(Solution solution)
           
protected  RouletteWheelSelection RouletteWheelRequestSelection.getRoulette(Solution solution)
          Populate roulette wheel selection, if null or empty.
 Neighbour TwoPhaseStudentSctNeighbourSelection.RestoreDummyStudents.selectNeighbour(Solution solution)
          Return all (removed) dummy students into the problem
 Value EnrollmentSelection.selectValue(Solution solution, Variable selectedVariable)
          Value selecion
 Variable RouletteWheelRequestSelection.selectVariable(Solution solution)
          Variable selection.
 

Uses of Solution in net.sf.cpsolver.studentsct.heuristics.selection
 

Methods in net.sf.cpsolver.studentsct.heuristics.selection with parameters of type Solution
 Neighbour BacktrackSelection.selectNeighbour(Solution solution)
           
 Neighbour BranchBoundSelection.selectNeighbour(Solution solution)
          Select neighbour.
 Neighbour RandomUnassignmentSelection.selectNeighbour(Solution solution)
          With the given probabilty, a student is randomly selected to be unassigned.
 Neighbour ResectionIncompleteStudentsSelection.selectNeighbour(Solution solution)
          Select neighbour.
 Neighbour ResectionUnassignedStudentsSelection.selectNeighbour(Solution solution)
          Select neighbour.
 Neighbour RndUnProblStudSelection.selectNeighbour(Solution solution)
          With the given probabilty, a problematic student is randomly selected to be unassigned.
 Neighbour StandardSelection.selectNeighbour(Solution solution)
          Employ the provided VariableSelection and ValueSelection and return the selected value as SimpleNeighbour.
 Neighbour SwapStudentSelection.selectNeighbour(Solution solution)
          For each student that does not have a complete schedule, try to find a request and a student that can be moved out of an enrollment so that the selected student can be assigned to the selected request.