yacs.solver.intervalsolver.consistency
Class HullConsistencySolver
java.lang.Object
yacs.solver.ConsistencySolver
yacs.solver.intervalsolver.consistency.HullConsistencySolver
- All Implemented Interfaces:
- Solver
- public class HullConsistencySolver
- extends ConsistencySolver
Einfacher Algorithmus zum Herstellen von Hull-Konsistenz für Variablen mit
Wertebereichen aus reellwertigen Intervallen. Der Algorithmus orientiert sich
am Waltz-Filteralgorithmus und den Beschreibungen von Davis (1987), Hyvönen
(1992) und Lhomme (1993). Eine Zerlegung der Constraints findet nicht statt,
außerdem lassen sich ausschließlich Constraints verarbeiten, die bereits
vollständig als "solution functions" (vgl. Hyvönen 1992) bzw. als
"Projektionen" vorliegen (vgl. Lhomme 1993).
Copyright (C) 2005 Wolfgang Runte
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 2.1 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, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA
- Version:
- YACS 0.1.1
- Author:
- Wolfgang Runte (woru@tzi.org)
Method Summary |
boolean |
hullSolve(Expression expr)
Einfacher Solver zum Herstellen von Hull- bzw. 2B-Konsistenz, basierend auf
dem Waltz-Filteralgorithmus (in diesem Fall für Domänen mit reellwertigen
Intervallen). |
boolean |
propagate(ConstraintNet constraintNet)
Benötigt als Eingabe ein Constraint-Netz. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
HullConsistencySolver
public HullConsistencySolver()
hullSolve
public boolean hullSolve(Expression expr)
throws InconsistencyException
- Einfacher Solver zum Herstellen von Hull- bzw. 2B-Konsistenz, basierend auf
dem Waltz-Filteralgorithmus (in diesem Fall für Domänen mit reellwertigen
Intervallen).
- Parameters:
expr
- Expression
- Returns:
- boolean
- Throws:
InconsistencyException
propagate
public boolean propagate(ConstraintNet constraintNet)
throws InconsistencyException
- Benötigt als Eingabe ein Constraint-Netz. Liefert
true
, wenn
Wertebereichseinschränkungen vorgenommen wurden, false
wenn
nicht.
- Specified by:
propagate
in class ConsistencySolver
- Parameters:
constraintNet
- ConstraintNet
- Returns:
- boolean
- Throws:
InconsistencyException