net.sf.cpsolver.coursett.constraint
Class ClassLimitConstraint
java.lang.Object
net.sf.cpsolver.ifs.model.Constraint
net.sf.cpsolver.coursett.constraint.ClassLimitConstraint
public class ClassLimitConstraint
- extends Constraint
Class limit constraint.
- 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
Methods inherited from class net.sf.cpsolver.ifs.model.Constraint |
addConstraintListener, addVariable, assigned, assignedVariables, constraintListeners, countAssignedVariables, countVariables, equals, getDescription, getId, getModel, hashCode, isConsistent, isHard, removeConstraintListener, removeVariable, setModel, unassigned, variables |
ClassLimitConstraint
public ClassLimitConstraint(int classLimit,
String name)
ClassLimitConstraint
public ClassLimitConstraint(Lecture parent,
String name)
getClassLimitDelta
public int getClassLimitDelta()
setClassLimitDelta
public void setClassLimitDelta(int classLimitDelta)
classLimit
public int classLimit()
getParentLecture
public Lecture getParentLecture()
currentClassLimit
public int currentClassLimit(Value value,
Set conflicts)
computeConflicts
public void computeConflicts(Value value,
Set conflicts)
- Description copied from class:
Constraint
- The only method which has to be implemented by any constraint. It returns the
values which needs to be unassigned in order to make this constraint consistent
with the given value if it is assigned to its variable. The computed list of
conflicting values is added to the given set of conflicts.
- Specified by:
computeConflicts
in class Constraint
- Parameters:
value
- value to be assigned to its varaibleconflicts
- resultant set of conflicting values
computeAdepts
public void computeAdepts(Collection adepts,
Vector variables,
Value value,
Set conflicts)
addParentAdepts
public void addParentAdepts(Collection adepts,
Lecture parent,
Value value,
Set conflicts)
inConflict
public boolean inConflict(Value value)
- Description copied from class:
Constraint
- Returns true if the given assignment is inconsistent with the existing assignments
respecting this constraint. This method is used by MAC (see
MacPropagation
).
- Overrides:
inConflict
in class Constraint
getName
public String getName()
- Description copied from class:
Constraint
- Constraint's name -- for printing purposes
- Overrides:
getName
in class Constraint
setEnabled
public void setEnabled(boolean enabled)
isEnabled
public boolean isEnabled()
toString
public String toString()
- Overrides:
toString
in class Object