net.sf.cpsolver.exam.criteria
Class RoomPerturbationPenalty
java.lang.Object
net.sf.cpsolver.ifs.criteria.AbstractCriterion<Exam,ExamPlacement>
net.sf.cpsolver.exam.criteria.ExamCriterion
net.sf.cpsolver.exam.criteria.PerturbationPenalty
net.sf.cpsolver.exam.criteria.RoomPerturbationPenalty
- All Implemented Interfaces:
- Criterion<Exam,ExamPlacement>, InfoProvider<Exam>, ModelListener<Exam,ExamPlacement>
public class RoomPerturbationPenalty
- extends PerturbationPenalty
Room perturbation penalty. I.e., number of assigned rooms different from
initial. Only applicable when PerturbationPenalty.isMPP()
is true (minimal
perturbation problem).
A weight of room perturbations (i.e., a penalty for
an assignment of an exam to a room different from the initial one) can be
set by problem property Exams.RoomPerturbationWeight, or in the input xml
file, property roomPerturbationWeight).
- Version:
- ExamTT 1.2 (Examination Timetabling)
Copyright (C) 2008 - 2012 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.ifs.criteria.AbstractCriterion |
afterAssigned, afterUnassigned, beforeAssigned, beforeUnassigned, bestRestored, bestSaved, clearCache, computeBounds, constraintAdded, constraintRemoved, getBest, getBounds, getInfo, getModel, getName, getPerc, getPercRev, getValue, getValue, getWeight, getWeightedBest, getWeightedValue, getWeightedValue, getWeightedValue, inc, variableAdded, variableRemoved |
RoomPerturbationPenalty
public RoomPerturbationPenalty()
getWeightName
public String getWeightName()
- Description copied from class:
AbstractCriterion
- Defines weight name (to be used to get the criterion weight from the configuration).
- Overrides:
getWeightName
in class PerturbationPenalty
getXmlWeightName
public String getXmlWeightName()
- Description copied from class:
ExamCriterion
- Name of the weight parameter in the parameters section of the examination XML file.
- Overrides:
getXmlWeightName
in class PerturbationPenalty
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 PerturbationPenalty
getValue
public double getValue(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 PerturbationPenalty
toString
public String toString()
- Overrides:
toString
in class PerturbationPenalty
isPeriodCriterion
public boolean isPeriodCriterion()
- Description copied from class:
ExamCriterion
- True if this criterion is based on period assignment. Used by
ExamPlacement.getTimeCost()
.
- Overrides:
isPeriodCriterion
in class ExamCriterion
Copyright © 2014 UniTime LLC. All Rights Reserved.