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

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

public class ResectionIncompleteStudentsSelection
extends BranchBoundSelection

Resection incomplete studends. An extension of BranchBoundSelection, where only students that are not complete (Student.isComplete() is false) and that are sectioned somewhere (Student.nrAssignedRequests() is greater then zero) are resectioned.

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.BranchBoundSelection
BranchBoundSelection.BranchBoundNeighbour, BranchBoundSelection.Selection
 
Field Summary
 
Fields inherited from class net.sf.cpsolver.studentsct.heuristics.selection.BranchBoundSelection
iDistanceConflict, iDistConfWeight, iMinimizePenalty, iOrder, iStudentsEnumeration, iTimeout, sDebug
 
Constructor Summary
ResectionIncompleteStudentsSelection(DataProperties properties)
           
 
Method Summary
 void init(Solver solver)
          Criterion initialization
 Neighbour selectNeighbour(Solution solution)
          Select neighbour.
 
Methods inherited from class net.sf.cpsolver.studentsct.heuristics.selection.BranchBoundSelection
getSelection, init
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ResectionIncompleteStudentsSelection

public ResectionIncompleteStudentsSelection(DataProperties properties)
Method Detail

init

public void init(Solver solver)
Description copied from interface: NeighbourSelection
Criterion initialization

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

selectNeighbour

public Neighbour selectNeighbour(Solution solution)
Select neighbour. All students with an incomplete and non-empty schedule are taken, one by one in a random order. For each student a branch & bound search is employed.

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