net.sf.cpsolver.coursett.criteria.additional
Class InstructorStudentHardConflict
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
net.sf.cpsolver.coursett.criteria.additional.InstructorStudentHardConflict
- All Implemented Interfaces:
- Criterion<Lecture,Placement>, InfoProvider<Lecture>, ModelListener<Lecture,Placement>
public class InstructorStudentHardConflict
- extends InstructorStudentConflict
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. Also, there is no alternative for the
student class (the conflict cannot be sectioned away).
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).
Hard instructor student conflicts are weighted by Comparator.InstructorHardStudentConflictWeight.
- Version:
- CourseTT 1.2 (University Course Timetabling)
Copyright (C) 2006 - 2011 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, 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 |
InstructorStudentHardConflict
public InstructorStudentHardConflict()
isApplicable
public boolean isApplicable(Lecture l1,
Lecture l2)
- Overrides:
isApplicable
in class StudentConflict
oneInstructorOtherHard
public static boolean oneInstructorOtherHard(Lecture l1,
Lecture l2)
- One of the lectures is hard, there is a joint enrollment constraint between them, and
there is at least one student that is instructor for one lecture and the other lecture
is singleton.
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 InstructorStudentConflict
getPlacementSelectionWeightName
public String getPlacementSelectionWeightName()
- Overrides:
getPlacementSelectionWeightName
in class InstructorStudentConflict
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 InstructorStudentConflict
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 InstructorStudentConflict
Copyright © 2014 UniTime LLC. All Rights Reserved.