org.cpsolver.exam.criteria

## Class InstructorNotAvailableConflicts

- java.lang.Object
- - org.cpsolver.ifs.criteria.AbstractCriterion<Exam,ExamPlacement>
  - - org.cpsolver.exam.criteria.ExamCriterion
    - - org.cpsolver.exam.criteria.StudentDirectConflicts
      - - org.cpsolver.exam.criteria.InstructorDirectConflicts
        - - org.cpsolver.exam.criteria.InstructorNotAvailableConflicts

- All Implemented Interfaces:
    CanHoldContext, HasAssignmentContext<Exam,ExamPlacement,AbstractCriterion.ValueContext>, Criterion<Exam,ExamPlacement>, ExtendedInfoProvider<Exam,ExamPlacement>, InfoProvider<Exam,ExamPlacement>, ModelListener<Exam,ExamPlacement>

      public class InstructorNotAvailableConflicts
      extends InstructorDirectConflicts

  Number of direct instructor conflicts caused by the fact that an instructor is not available.
  Direct instructor conflict weight can be set by problem property Exams.InstructorDirectConflictWeight, or in the input xml file, property instructorDirectConflictWeight.
  Version:
    ExamTT 1.3 (Examination Timetabling)
    Copyright (C) 2008 - 2014 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

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.cpsolver.ifs.criteria.AbstractCriterion

      `AbstractCriterion.ValueContext, AbstractCriterion.ValueUpdateType`

  - ### Field Summary

    - ### Fields inherited from class org.cpsolver.ifs.criteria.AbstractCriterion

      `iBest, iDebug, iWeight, sDoubleFormat, sPercentFormat`

    - ### Fields inherited from interface org.cpsolver.ifs.assignment.context.CanHoldContext

      `sMaxSize`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `InstructorNotAvailableConflicts()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `getInfo(Assignment<Exam,ExamPlacement> assignment, Map<String,String> info)` Adds some information into the table with information about the solution
    `String` | `getName()` Criterion name
    `double` | `getValue(Assignment<Exam,ExamPlacement> assignment, Collection<Exam> exams)` Value of a part of the problem (given by the collection of variables)
    `double` | `getValue(Assignment<Exam,ExamPlacement> assignment, ExamPlacement value, Set<ExamPlacement> conflicts)` Value of a proposed assignment (including hard conflicts)
    `String` | `toString(Assignment<Exam,ExamPlacement> assignment)` Simple text representation of the criterion and its value.

    - ### Methods inherited from class org.cpsolver.exam.criteria.InstructorDirectConflicts

      `getWeightDefault, getWeightName, getXmlWeightName`

    - ### Methods inherited from class org.cpsolver.exam.criteria.ExamCriterion

      `getBounds, getPeriodValue, getRoomValue, getXmlParameters, isPeriodCriterion, isRoomCriterion, setWeight, setXmlParameters`

    - ### Methods inherited from class org.cpsolver.ifs.criteria.AbstractCriterion

      `afterAssigned, afterUnassigned, beforeAssigned, beforeUnassigned, bestRestored, bestSaved, clearCache, computeBounds, configure, constraintAdded, constraintRemoved, createAssignmentContext, getAbbreviation, getAssignmentContextReference, getBest, getBounds, getBounds, getBounds, getContext, getContext, getExtendedInfo, getInfo, getModel, getPerc, getPercentage, getPercRev, getValue, getValue, getValue, getValueUpdateType, getWeight, getWeightedBest, getWeightedValue, getWeightedValue, getWeightedValue, getWeightedValue, getWeightedValue, getWeightedValue, inc, inc, init, setAssignmentContextReference, setModel, setValueUpdateType, variableAdded, variableRemoved`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### InstructorNotAvailableConflicts

          public InstructorNotAvailableConflicts()

  - ### Method Detail

    - #### getValue

          public double getValue(Assignment<Exam,ExamPlacement> assignment,
                                 ExamPlacement value,
                                 Set<ExamPlacement> conflicts)

      Description copied from interface: `Criterion`
      Value of a proposed assignment (including hard conflicts)
      Specified by:
        `getValue` in interface `Criterion<Exam,ExamPlacement>`
      Overrides:
        `getValue` in class `InstructorDirectConflicts`
      Parameters:
        `assignment` - current assignment
        `value` - given value
        `conflicts` - values conflicting with the given value
      Returns:
        change in this criterion value when assigned

    - #### getValue

          public double getValue(Assignment<Exam,ExamPlacement> assignment,
                                 Collection<Exam> exams)

      Description copied from interface: `Criterion`
      Value of a part of the problem (given by the collection of variables)
      Specified by:
        `getValue` in interface `Criterion<Exam,ExamPlacement>`
      Overrides:
        `getValue` in class `InstructorDirectConflicts`
      Parameters:
        `assignment` - current assignment
        `exams` - list of problem variables
      Returns:
        value of the given variables

    - #### getName

          public String getName()

      Description copied from interface: `Criterion`
      Criterion name
      Specified by:
        `getName` in interface `Criterion<Exam,ExamPlacement>`
      Overrides:
        `getName` in class `InstructorDirectConflicts`
      Returns:
        name

    - #### getInfo

          public void getInfo(Assignment<Exam,ExamPlacement> assignment,
                              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<Exam,ExamPlacement>`
      Overrides:
        `getInfo` in class `InstructorDirectConflicts`
      Parameters:
        `assignment` - current assignment
        `info` - info table

    - #### toString

          public String toString(Assignment<Exam,ExamPlacement> assignment)

      Description copied from class: `AbstractCriterion`
      Simple text representation of the criterion and its value. E.g., X:x where X is the `AbstractCriterion.getAbbreviation()` and x is the current value `AbstractCriterion.getValue(Assignment)`.
      Specified by:
        `toString` in interface `Criterion<Exam,ExamPlacement>`
      Overrides:
        `toString` in class `InstructorDirectConflicts`
      Parameters:
        `assignment` - current assignment
      Returns:
        short string representation (e.g., PP:95% for period preference)