# Package org.cpsolver.instructor.constraints

Instructor Scheduling: Constraints.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  GroupConstraint.Check | Group constraint check interface
  GroupConstraint.ConstraintCreator<P> | Factory class for group constraints with parameters
  GroupConstraint.ConstraintTypeInterface | Interface for a distribution constraint type, including its implementation

- Class Summary
  Class | Description
  --- | ---
  GroupConstraint | Group Constraint.
  GroupConstraint.Block | Block of sections that go one after the other without any gap.
  GroupConstraint.Distribution | Wrapper class representing one distribution preference set on an instructor.
  GroupConstraint.PairCheck | Group constraint check interface for constraints that can be computed on individual class pairs.
  GroupConstraint.ParametrizedConstraintType<P> | Distribution constraint with parameters.
  GroupConstraint.SimpleCheck | Simplified group constraint check interface for constraints that can be computed on individual class pairs.
  GroupConstraint.SimpleTimeCheck | Simplified group constraint check interface for time-only constraints that can be computed on individual class pairs.
  InstructorConstraint | Instructor Constraint.
  SameInstructorConstraint | Same Instructor Constraint.
  SameLinkConstraint | Same Link Constraint.

- Enum Summary
  Enum | Description
  --- | ---
  GroupConstraint.ConstraintType | Distribution types and their implementation

## Package org.cpsolver.instructor.constraints Description

Instructor Scheduling: Constraints. The most work is done by the `InstructorConstraint`. It checks for instructor availability, maximal load, time conflicts, and whether the given assignments are of the same course (if desired).

Version:
  IFS 1.3 (Instructor Sectioning)
  Copyright (C) 2016 Tomáš Müller
  muller@unitime.org
  http://muller.unitime.org
  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 3 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 see http://www.gnu.org/licenses/.
Author:
  Tomáš Müller