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, updateMaskpublic 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.ContradictionExceptionpublic void propagate(int idxVarInProp, int mask) throws solver.exception.ContradictionException
propagate in class solver.constraints.Propagator<solver.variables.SetVar>solver.exception.ContradictionExceptionpublic util.ESat isEntailed()
isEntailed in class solver.constraints.Propagator<solver.variables.SetVar>Copyright © 2013. All Rights Reserved.