net.sf.cpsolver.coursett.criteria.additional
Class InstructorStudentConflict
java.lang.Object
net.sf.cpsolver.ifs.criteria.AbstractCriterion<Lecture,Placement>
net.sf.cpsolver.coursett.criteria.TimetablingCriterion
net.sf.cpsolver.coursett.criteria.StudentConflict
net.sf.cpsolver.coursett.criteria.additional.InstructorStudentConflict
- All Implemented Interfaces:
- Criterion<Lecture,Placement>, InfoProvider<Lecture>, ModelListener<Lecture,Placement>
- Direct Known Subclasses:
- InstructorStudentHardConflict
public class InstructorStudentConflict
- extends StudentConflict
Instructor student conflicts. This criterion penalizes cases when an instructor (of a class) is attending some
other class as a student and there is a conflict between the two classes.
To enable instructor student conflicts, set solver parameter Global.LoadStudentInstructorConflicts to true. Also
student course requests should be used in this case (to be able to match an instructor external id to a student
external id).
Instructor student conflicts are weighted by Comparator.InstructorStudentConflictWeight.
- Version:
- CourseTT 1.2 (University Course Timetabling)
Copyright (C) 2006 - 2013 Tomas Muller
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/.
Methods inherited from class net.sf.cpsolver.coursett.criteria.StudentConflict |
applicable, applicable, bestRestored, committed, committed, distance, getBounds, getBounds, getMetrics, getValue, getValue, getValue, hard, hard, ignore, ignore, init, isApplicable, overlaps |
Methods inherited from class net.sf.cpsolver.ifs.criteria.AbstractCriterion |
afterAssigned, afterUnassigned, beforeAssigned, beforeUnassigned, bestSaved, clearCache, computeBounds, constraintAdded, constraintRemoved, getBest, getModel, getName, getPerc, getPercRev, getWeight, getWeightedBest, getWeightedValue, getWeightedValue, getWeightedValue, getWeightName, inc, variableAdded, variableRemoved |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
InstructorStudentConflict
public InstructorStudentConflict()
jointEnrollment
protected double jointEnrollment(JenrlConstraint jenrl)
- Only count students that are instructors assigned to one of the two classes and enrolled in the other.
- Overrides:
jointEnrollment
in class StudentConflict
inConflict
public boolean inConflict(Placement p1,
Placement p2)
- Overrides:
inConflict
in class StudentConflict
instructor
public boolean instructor(Placement p1,
Placement p2)
- True if there is at least one student teaching one of the two placements and enrolled in the other.
incJenrl
public void incJenrl(JenrlConstraint jenrl,
double studentWeight,
Double conflictPriority,
Student student)
- Overrides:
incJenrl
in class StudentConflict
getWeightDefault
public double getWeightDefault(DataProperties config)
- Description copied from class:
AbstractCriterion
- Defines default weight (when
AbstractCriterion.getWeightName()
parameter is not present in the criterion).
- Overrides:
getWeightDefault
in class AbstractCriterion<Lecture,Placement>
getPlacementSelectionWeightName
public String getPlacementSelectionWeightName()
- Overrides:
getPlacementSelectionWeightName
in class StudentConflict
getInfo
public void getInfo(Map<String,String> info)
- Description copied from interface:
InfoProvider
- Adds some information into the table with information about the solution
- Specified by:
getInfo
in interface InfoProvider<Lecture>
- Overrides:
getInfo
in class AbstractCriterion<Lecture,Placement>
getInfo
public void getInfo(Map<String,String> info,
Collection<Lecture> variables)
- Description copied from interface:
InfoProvider
- Adds some information into the table with information about the solution,
only consider variables from the given set
- Specified by:
getInfo
in interface InfoProvider<Lecture>
- Overrides:
getInfo
in class AbstractCriterion<Lecture,Placement>
Copyright © 2014 UniTime LLC. All Rights Reserved.