net.sf.cpsolver.studentsct.heuristics.selection
Class RndUnProblStudSelection

java.lang.Object
  extended by net.sf.cpsolver.studentsct.heuristics.selection.RandomUnassignmentSelection
      extended by net.sf.cpsolver.studentsct.heuristics.selection.RndUnProblStudSelection
All Implemented Interfaces:
NeighbourSelection

public class RndUnProblStudSelection
extends RandomUnassignmentSelection

Random unassignment of some problematic students. Problematic students are to be provided by a neighbour selection that was used before this one by RoundRobinNeighbourSelection.

In each step a problematic student is randomly selected with the given probabilty. Null is returned otherwise (the controll is passed to the next NeighbourSelection).

Parameters:

ParameterTypeComment
Neighbour.RandomUnassignmentOfProblemStudentProbDoubleProbability of a random selection of a student from the given set of problematic students.


Version:
StudentSct 1.1 (Student Sectioning)
Copyright (C) 2007 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

Nested Class Summary
 
Nested classes/interfaces inherited from class net.sf.cpsolver.studentsct.heuristics.selection.RandomUnassignmentSelection
RandomUnassignmentSelection.UnassignStudentNeighbour
 
Field Summary
 
Fields inherited from class net.sf.cpsolver.studentsct.heuristics.selection.RandomUnassignmentSelection
iRandom
 
Constructor Summary
RndUnProblStudSelection(DataProperties properties, ProblemStudentsProvider psp)
          Constructor
 
Method Summary
 void init(Solver solver)
          Initialization -- ProblemStudentsProvider.getProblemStudents() is called
 Neighbour selectNeighbour(Solution solution)
          With the given probabilty, a problematic student is randomly selected to be unassigned.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RndUnProblStudSelection

public RndUnProblStudSelection(DataProperties properties,
                               ProblemStudentsProvider psp)
Constructor

Parameters:
properties - configuration
psp - a class that provides the set of problematic students
Method Detail

init

public void init(Solver solver)
Initialization -- ProblemStudentsProvider.getProblemStudents() is called

Specified by:
init in interface NeighbourSelection
Overrides:
init in class RandomUnassignmentSelection

selectNeighbour

public Neighbour selectNeighbour(Solution solution)
With the given probabilty, a problematic student is randomly selected to be unassigned. Null is returned otherwise.

Specified by:
selectNeighbour in interface NeighbourSelection
Overrides:
selectNeighbour in class RandomUnassignmentSelection
Parameters:
solution - given solution
Returns:
a neighbour assignment