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

Packages that use Solution
net.sf.cpsolver.coursett University Course Timetabling. 
net.sf.cpsolver.coursett.criteria.placement University Course Timetabling: Placement Selection Criteria. 
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.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.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. 
net.sf.cpsolver.studentsct.weights Student Sectioning Weightings: various students weight models

 
 

Uses of Solution in net.sf.cpsolver.coursett
 

Methods in net.sf.cpsolver.coursett that return Solution
protected  Solution<Lecture,Placement> TimetableSaver.getSolution()
          Solution to be saved
 

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

Uses of Solution in net.sf.cpsolver.coursett.criteria.placement
 

Methods in net.sf.cpsolver.coursett.criteria.placement with parameters of type Solution
 void WeightedHardConflicts.bestCleared(Solution<Lecture,Placement> solution)
           
 void WeightedHardConflicts.bestRestored(Solution<Lecture,Placement> solution)
           
 void WeightedHardConflicts.bestSaved(Solution<Lecture,Placement> solution)
           
 void WeightedHardConflicts.getInfo(Solution<Lecture,Placement> solution, Map<String,String> info)
           
 void WeightedHardConflicts.getInfo(Solution<Lecture,Placement> solution, Map<String,String> info, Collection<Lecture> variables)
           
 void WeightedHardConflicts.solutionUpdated(Solution<Lecture,Placement> solution)
           
 

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

Methods in net.sf.cpsolver.coursett.heuristics with parameters of type Solution
 int NeighbourSelectionWithSuggestions.SuggestionNeighbour.compareTo(Solution<Lecture,Placement> solution)
           
 double TimetableComparator.currentValue(Solution<Lecture,Placement> currentSolution)
          Deprecated. 
 double TimetableComparator.getBest(Solution<Lecture,Placement> currentSolution)
          Deprecated. 
 Neighbour<Lecture,Placement> NeighbourSelectionWithSuggestions.selectNeighbour(Solution<Lecture,Placement> solution)
           
 Neighbour<Lecture,Placement> NeighbourSelectionWithSuggestions.selectNeighbourWithSuggestions(Solution<Lecture,Placement> solution, Lecture lecture, int depth)
           
 Placement PlacementSelection.selectValue(Solution<Lecture,Placement> solution, Lecture var)
           
 Lecture LectureSelection.selectVariable(Solution<Lecture,Placement> 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<Exam,ExamPlacement> solution, Neighbour<Exam,ExamPlacement> neighbour)
          Accept neighbour
protected  boolean ExamSimulatedAnnealing.accept(Solution<Exam,ExamPlacement> solution, Neighbour<Exam,ExamPlacement> neighbour)
          True if the given neighboir is to be be accepted
 void ExamGreatDeluge.bestCleared(Solution<Exam,ExamPlacement> solution)
           
 void ExamHillClimbing.bestCleared(Solution<Exam,ExamPlacement> solution)
           
 void ExamSimulatedAnnealing.bestCleared(Solution<Exam,ExamPlacement> solution)
           
 void ExamGreatDeluge.bestRestored(Solution<Exam,ExamPlacement> solution)
           
 void ExamHillClimbing.bestRestored(Solution<Exam,ExamPlacement> solution)
           
 void ExamSimulatedAnnealing.bestRestored(Solution<Exam,ExamPlacement> solution)
           
 void ExamGreatDeluge.bestSaved(Solution<Exam,ExamPlacement> solution)
          Update last improving iteration count
 void ExamHillClimbing.bestSaved(Solution<Exam,ExamPlacement> solution)
          Memorize the iteration when the last best solution was found.
 void ExamSimulatedAnnealing.bestSaved(Solution<Exam,ExamPlacement> solution)
          Memorize the iteration when the last best solution was found.
 boolean ExamNeighbourSelection.canContinue(Solution<Exam,ExamPlacement> currentSolution)
          Termination condition (i.e., has final phase finished)
protected  void ExamSimulatedAnnealing.cool(Solution<Exam,ExamPlacement> solution)
          Cool temperature
 Neighbour<Exam,ExamPlacement> ExamGreatDeluge.genMove(Solution<Exam,ExamPlacement> solution)
          Generate neighbour -- select neighbourhood randomly, select neighbour
 Neighbour<Exam,ExamPlacement> ExamSimulatedAnnealing.genMove(Solution<Exam,ExamPlacement> solution)
          Generate neighbour -- select neighbourhood randomly, select neighbour
 void ExamGreatDeluge.getInfo(Solution<Exam,ExamPlacement> solution, Map<String,String> info)
           
 void ExamHillClimbing.getInfo(Solution<Exam,ExamPlacement> solution, Map<String,String> info)
           
 void ExamSimulatedAnnealing.getInfo(Solution<Exam,ExamPlacement> solution, Map<String,String> info)
           
 void ExamGreatDeluge.getInfo(Solution<Exam,ExamPlacement> solution, Map<String,String> info, Collection<Exam> variables)
           
 void ExamHillClimbing.getInfo(Solution<Exam,ExamPlacement> solution, Map<String,String> info, Collection<Exam> variables)
           
 void ExamSimulatedAnnealing.getInfo(Solution<Exam,ExamPlacement> solution, Map<String,String> info, Collection<Exam> variables)
           
protected  void ExamGreatDeluge.incIter(Solution<Exam,ExamPlacement> solution)
          Increment iteration count, update bound
protected  void ExamSimulatedAnnealing.incIter(Solution<Exam,ExamPlacement> solution)
          Increment iteration counter, cool/reheat/restoreBest if necessary
protected  void ExamGreatDeluge.info(Solution<Exam,ExamPlacement> solution)
          Print some information
protected  void ExamSimulatedAnnealing.reheat(Solution<Exam,ExamPlacement> solution)
          Reheat temperature
protected  void ExamSimulatedAnnealing.restoreBest(Solution<Exam,ExamPlacement> solution)
          restore best ever found solution
 Neighbour<Exam,ExamPlacement> ExamColoringConstruction.selectNeighbour(Solution<Exam,ExamPlacement> solution)
           
 Neighbour<Exam,ExamPlacement> ExamConstruction.selectNeighbour(Solution<Exam,ExamPlacement> solution)
          Select a neighbour.
 Neighbour<Exam,ExamPlacement> ExamGreatDeluge.selectNeighbour(Solution<Exam,ExamPlacement> solution)
          A neighbour is generated randomly untill an acceptable one is found.
 Neighbour<Exam,ExamPlacement> ExamHillClimbing.selectNeighbour(Solution<Exam,ExamPlacement> 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<Exam,ExamPlacement> ExamNeighbourSelection.selectNeighbour(Solution<Exam,ExamPlacement> solution)
          Neighbour selection.
 Neighbour<Exam,ExamPlacement> ExamSimulatedAnnealing.selectNeighbour(Solution<Exam,ExamPlacement> 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<Exam,ExamPlacement> ExamTabuSearch.selectNeighbour(Solution<Exam,ExamPlacement> solution)
          Neighbor selection
 ExamPlacement ExamTabuSearch.selectValue(Solution<Exam,ExamPlacement> solution, Exam exam)
          Value selection
 Exam ExamUnassignedVariableSelection.selectVariable(Solution<Exam,ExamPlacement> solution)
          Variable selection
 void ExamGreatDeluge.solutionUpdated(Solution<Exam,ExamPlacement> solution)
           
 void ExamHillClimbing.solutionUpdated(Solution<Exam,ExamPlacement> solution)
           
 void ExamSimulatedAnnealing.solutionUpdated(Solution<Exam,ExamPlacement> solution)
           
 

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

Methods in net.sf.cpsolver.exam.neighbours with parameters of type Solution
 Neighbour<Exam,ExamPlacement> ExamPeriodSwapMove.selectNeighbour(Solution<Exam,ExamPlacement> 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).
 Neighbour<Exam,ExamPlacement> ExamRandomMove.selectNeighbour(Solution<Exam,ExamPlacement> solution)
          Select an exam randomly, select an available period randomly (from Exam.getPeriodPlacements()), select rooms using Exam.findBestAvailableRooms(ExamPeriodPlacement).
 Neighbour<Exam,ExamPlacement> ExamRoomMove.selectNeighbour(Solution<Exam,ExamPlacement> 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<Exam,ExamPlacement> ExamTimeMove.selectNeighbour(Solution<Exam,ExamPlacement> 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.exam.split
 

Methods in net.sf.cpsolver.exam.split with parameters of type Solution
 Neighbour<Exam,ExamPlacement> ExamSplitMoves.selectNeighbour(Solution<Exam,ExamPlacement> solution)
          Select a split (split an exam into two), a merge (merge two split exams back together) or shuffle operation (move students between two exams that has been split before).
 

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

Methods in net.sf.cpsolver.ifs.dbt with parameters of type Solution
 T DbtValueSelection.selectValue(Solution<V,T> solution, V selectedVariable)
          Value selection
 V DbtVariableSelection.selectVariable(Solution<V,T> 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<Activity,Location> 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<V,T> solution)
           
 void SearchIntensification.bestRestored(Solution<V,T> solution)
           
 void SearchIntensification.bestSaved(Solution<V,T> solution)
           
 void SearchIntensification.getInfo(Solution<V,T> solution, Map<String,String> info)
           
 void SearchIntensification.getInfo(Solution<V,T> solution, Map<String,String> info, Collection<V> variables)
           
 void SearchIntensification.solutionUpdated(Solution<V,T> solution)
           
 

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

Fields in net.sf.cpsolver.ifs.heuristics declared as Solution
protected  Solution<V,T> BacktrackNeighbourSelection.iSolution
           
 

Methods in net.sf.cpsolver.ifs.heuristics with parameters of type Solution
 void RoundRobinNeighbourSelection.changeSelection(Solution<V,T> solution)
          Change selection
 int BacktrackNeighbourSelection.BackTrackNeighbour.compareTo(Solution<V,T> solution)
          Compare two neighbours
 Neighbour<V,T> BacktrackNeighbourSelection.selectNeighbour(Solution<V,T> solution)
          Select neighbour.
 Neighbour<V,T> NeighbourSelection.selectNeighbour(Solution<V,T> solution)
          select a neighbour of a given solution
 Neighbour<V,T> RoundRobinNeighbourSelection.selectNeighbour(Solution<V,T> solution)
          Select neighbour.
 Neighbour<V,T> StandardNeighbourSelection.selectNeighbour(Solution<V,T> solution)
          Select neighbour.
 Neighbour<V,T> BacktrackNeighbourSelection.selectNeighbour(Solution<V,T> solution, V variable)
          Select neighbour -- starts from the provided variable.
 T GeneralValueSelection.selectValue(Solution<V,T> solution, V selectedVariable)
          Value selection
 T StandardNeighbourSelection.selectValue(Solution<V,T> solution, V variable)
          Use the provided value selection criterion to select a value to the selected variable
 T ValueSelection.selectValue(Solution<V,T> solution, V selectedVariable)
          Value selection
 V GeneralVariableSelection.selectVariable(Solution<V,T> solution)
          Variable selection
 V StandardNeighbourSelection.selectVariable(Solution<V,T> solution)
          Use the provided variable selection criterion to select a variable
 V VariableSelection.selectVariable(Solution<V,T> 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<V,T> solution)
          Called by the solution when method clearBest() is called.
 void SolutionListener.bestRestored(Solution<V,T> solution)
          Called by the solution when method restoreBest() is called.
 void SolutionListener.bestSaved(Solution<V,T> solution)
          Called by the solution when method saveBest() is called.
 void SolutionListener.getInfo(Solution<V,T> solution, Map<String,String> info)
          Called by the solution when it is asked to produce info table, see getInfo().
 void SolutionListener.getInfo(Solution<V,T> solution, Map<String,String> info, Collection<V> variables)
          Called by the solution when it is asked to produce info table, see getInfo().
 boolean GeneralSolutionComparator.isBetterThanBestSolution(Solution<V,T> currentSolution)
           
 boolean MPPSolutionComparator.isBetterThanBestSolution(Solution<V,T> currentSolution)
           
 boolean SolutionComparator.isBetterThanBestSolution(Solution<V,T> currentSolution)
          Compares two solutions.
 void SolutionListener.solutionUpdated(Solution<V,T> 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<V,T> Solver.iCurrentSolution
          current solution
protected  Solution<V,T> Solver.iLastSolution
          last solution (after IFS Solver finishes)
 

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

Methods in net.sf.cpsolver.ifs.solver with parameters of type Solution
 void Solver.setInitalSolution(Solution<V,T> 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<V,T> currentSolution)
           
 boolean MPPTerminationCondition.canContinue(Solution<V,T> currentSolution)
           
 boolean TerminationCondition.canContinue(Solution<V,T> 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<Request,Enrollment> Test.batchSectioning(DataProperties cfg)
          Batch sectioning test
 Solution<Request,Enrollment> StudentSctBBTest.getSolution()
          Compute and return the sectioning solution.
protected  Solution<Request,Enrollment> StudentSectioningSaver.getSolution()
          Solution to be saved
static Solution<Request,Enrollment> Test.onlineSectioning(DataProperties cfg)
          Online sectioning test
static Solution<Request,Enrollment> 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<Request,Enrollment> solution)
           
 void Test.TestSolutionListener.bestRestored(Solution<Request,Enrollment> solution)
           
 void Test.TestSolutionListener.bestSaved(Solution<Request,Enrollment> solution)
           
 void Test.TestSolutionListener.getInfo(Solution<Request,Enrollment> solution, Map<String,String> info)
           
 void Test.TestSolutionListener.getInfo(Solution<Request,Enrollment> solution, Map<String,String> info, Collection<Request> variables)
           
static void Test.printInfo(Solution<Request,Enrollment> solution, boolean computeTables, boolean computeSectInfos, boolean runChecks)
          Print some information about the solution
static void Test.saveInfoToXML(Solution<Request,Enrollment> solution, HashMap<String,String> extra, File file)
          Save solution info as XML
 void Test.TestSolutionListener.solutionUpdated(Solution<Request,Enrollment> 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<Request,Enrollment> solution)
           
protected  RouletteWheelSelection<Request> RouletteWheelRequestSelection.getRoulette(Solution<Request,Enrollment> solution)
          Populate roulette wheel selection, if null or empty.
 Neighbour<Request,Enrollment> TwoPhaseStudentSctNeighbourSelection.RestoreDummyStudents.selectNeighbour(Solution<Request,Enrollment> solution)
          Return all (removed) dummy students into the problem
 Enrollment EnrollmentSelection.selectValue(Solution<Request,Enrollment> solution, Request selectedVariable)
          Value selection
 Request RouletteWheelRequestSelection.selectVariable(Solution<Request,Enrollment> 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<Request,Enrollment> PriorityConstructionSelection.branchAndBound(Solution<Request,Enrollment> solution)
          Find best solution for the next student using BranchBoundSelection.
protected  void PriorityConstructionSelection.nextCycle(Solution<Request,Enrollment> solution)
          Increment cycle
 Neighbour<Request,Enrollment> BacktrackSelection.selectNeighbour(Solution<Request,Enrollment> solution)
           
 Neighbour<Request,Enrollment> BranchBoundSelection.selectNeighbour(Solution<Request,Enrollment> solution)
          Select neighbour.
 Neighbour<Request,Enrollment> PriorityConstructionSelection.selectNeighbour(Solution<Request,Enrollment> solution)
          Select neighbor.
 Neighbour<Request,Enrollment> RandomUnassignmentSelection.selectNeighbour(Solution<Request,Enrollment> solution)
          With the given probabilty, a student is randomly selected to be unassigned.
 Neighbour<Request,Enrollment> ResectionIncompleteStudentsSelection.selectNeighbour(Solution<Request,Enrollment> solution)
          Select neighbour.
 Neighbour<Request,Enrollment> ResectionUnassignedStudentsSelection.selectNeighbour(Solution<Request,Enrollment> solution)
          Select neighbour.
 Neighbour<Request,Enrollment> RndUnProblStudSelection.selectNeighbour(Solution<Request,Enrollment> solution)
          With the given probabilty, a problematic student is randomly selected to be unassigned.
 Neighbour<Request,Enrollment> StandardSelection.selectNeighbour(Solution<Request,Enrollment> solution)
          Employ the provided VariableSelection and ValueSelection and return the selected value as SimpleNeighbour.
 Neighbour<Request,Enrollment> SwapStudentSelection.selectNeighbour(Solution<Request,Enrollment> 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.
 

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

Methods in net.sf.cpsolver.studentsct.weights with parameters of type Solution
 boolean EqualStudentWeights.isBetterThanBestSolution(Solution<Request,Enrollment> currentSolution)
           
 boolean OriginalStudentWeights.isBetterThanBestSolution(Solution<Request,Enrollment> currentSolution)
           
 boolean PriorityStudentWeights.isBetterThanBestSolution(Solution<Request,Enrollment> currentSolution)