public class PropJoinRelation extends solver.constraints.Propagator<solver.variables.SetVar>
Join a unary relation with a binary relation. The take
variable is
the unary relation and the children
variables are the binary
relation. The to
variable is the result of the join.
Here is how the binary relation is encoded. Consider the relation:
(0, 1), (0, 2), (1, 3), (2, 1)
. This is encoded as 3 different
children
variables: child0={1, 2}, child1={3}, child2={1}
.
Constructor and Description |
---|
PropJoinRelation(solver.variables.SetVar take,
solver.variables.SetVar[] children,
solver.variables.SetVar to) |
Modifier and Type | Method and Description |
---|---|
boolean |
advise(int idxVarInProp,
int mask) |
int |
getPropagationConditions(int vIdx) |
util.ESat |
isEntailed() |
void |
propagate(int evtmask) |
void |
propagate(int idxVarInProp,
int mask) |
String |
toString() |
addVariable, arity, clearMask, compareTo, contradiction, decNbPendingEvt, defineIn, dynPriority, explain, flushPendingEvt, forcePropagate, getConstraint, getId, getMask, getNbPendingEvt, getNbVars, getPriority, getSolver, getVar, getVars, getVIndices, hashCode, incNbPendingEvt, isActive, isCompletelyInstantiated, isPassive, isReifiedAndSilent, isStateLess, setActive, setPassive, setReifiedSilent, setReifiedTrue, setVIndices, updateMask
public PropJoinRelation(solver.variables.SetVar take, solver.variables.SetVar[] children, solver.variables.SetVar to)
public boolean advise(int idxVarInProp, int mask)
advise
in class solver.constraints.Propagator<solver.variables.SetVar>
public int getPropagationConditions(int vIdx)
getPropagationConditions
in class solver.constraints.Propagator<solver.variables.SetVar>
public void propagate(int evtmask) throws solver.exception.ContradictionException
propagate
in class solver.constraints.Propagator<solver.variables.SetVar>
solver.exception.ContradictionException
public void propagate(int idxVarInProp, int mask) throws solver.exception.ContradictionException
propagate
in class solver.constraints.Propagator<solver.variables.SetVar>
solver.exception.ContradictionException
public util.ESat isEntailed()
isEntailed
in class solver.constraints.Propagator<solver.variables.SetVar>
Copyright © 2013. All Rights Reserved.