net.sf.cpsolver.ifs.extension
Class ViolatedInitials<V extends Variable<V,T>,T extends Value<V,T>>
java.lang.Object
net.sf.cpsolver.ifs.extension.Extension<V,T>
net.sf.cpsolver.ifs.extension.ViolatedInitials<V,T>
- All Implemented Interfaces:
- ModelListener<V,T>
public class ViolatedInitials<V extends Variable<V,T>,T extends Value<V,T>>
- extends Extension<V,T>
Computation of violated initial values (minimal perturbation problem).
It is using Constraint.isConsistent(Value, Value)
to find out what
initial values (of different variables) cannot be assigned when an arbitrary
value is assigned to a variable. This information is computed in advance,
before the solver is executed. It is used for better estimation of
perturbation penalty (see
PerturbationsCounter
) when a value
is to be assigned to a variable.
- Version:
- IFS 1.2 (Iterative Forward Search)
Copyright (C) 2006 - 2010 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/.
Method Summary |
Set<T> |
getViolatedInitials(T value)
Initial values that cannot be assigned when the given value is assigned |
boolean |
init()
Compute the violations between any value and all other initial values |
Methods inherited from class net.sf.cpsolver.ifs.extension.Extension |
afterAssigned, afterUnassigned, beforeAssigned, beforeUnassigned, constraintAdded, constraintRemoved, getModel, getProperties, getSolver, init, isRegistered, register, unregister, useValueExtra, useVariableExtra, variableAdded, variableRemoved |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ViolatedInitials
public ViolatedInitials(Solver<V,T> solver,
DataProperties properties)
init
public boolean init()
- Compute the violations between any value and all other initial values
getViolatedInitials
public Set<T> getViolatedInitials(T value)
- Initial values that cannot be assigned when the given value is assigned
Copyright © 2014 UniTime LLC. All Rights Reserved.