net.sf.cpsolver.coursett.model
Class InitialSectioning

java.lang.Object
  extended by net.sf.cpsolver.coursett.model.InitialSectioning

public class InitialSectioning
extends Object

Student initial sectioning (before a solver is started).

Many course offerings consist of multiple classes, with students enrolled in the course divided among them. These classes are often linked by a set of constraints, namely:

Moreover, some of the classes of an offering may be required or prohibited for certain students, based on reservations that can be set on an offering, a configuration, or a class.
Before implementing the solver, an initial sectioning of students into classes is processed. This sectioning is based on Carter’s homogeneous sectioning and is intended to minimize future student conflicts. However, it is still possible to improve on the number of student conflicts in the solution. This can be accomplished by moving students between alternative classes of the same course during or after the search (see FinalSectioning).

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

Nested Class Summary
 class InitialSectioning.Group
           
 
Constructor Summary
InitialSectioning(Progress progress, Long offeringId, Collection lectureOrConfigurations, Collection students)
           
 
Method Summary
 void addStudent(Student student)
           
 InitialSectioning.Group[] getGroups()
           
static void initialSectioningCfg(Progress p, Long offeringId, String courseName, Collection students, Vector configurations)
           
 boolean moveIntoOneStudent(InitialSectioning.Group group)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InitialSectioning

public InitialSectioning(Progress progress,
                         Long offeringId,
                         Collection lectureOrConfigurations,
                         Collection students)
Method Detail

addStudent

public void addStudent(Student student)

moveIntoOneStudent

public boolean moveIntoOneStudent(InitialSectioning.Group group)

getGroups

public InitialSectioning.Group[] getGroups()

initialSectioningCfg

public static void initialSectioningCfg(Progress p,
                                        Long offeringId,
                                        String courseName,
                                        Collection students,
                                        Vector configurations)