Add paragraph on interaction between delaying and aggregation
This commit is contained in:
parent
e358213997
commit
9e7118dd6a
@ -1901,6 +1901,17 @@ Note that this heuristic does not guarantee that \variables{} have their
|
||||
tightest possible \gls{domain}. One delayed \constraint{} can still influence
|
||||
the \glspl{domain} of \variables{} used by other delayed \constraints{}.
|
||||
|
||||
Delaying the rewriting of constraints might, however, interfere with the
|
||||
constraint aggregation. Since aggregation is eagerly performed only when a
|
||||
\constraint{} is first encountered, it cannot aggregate any constraints that
|
||||
follow from delayed values. For example, if when aggregating Boolean clauses
|
||||
comes across an expression that needs to be reified, then a new Boolean
|
||||
\variable{} is created and the reified \constraint{} is delayed. The problem
|
||||
is, however, that if the definition of this reified constraint turn out to be
|
||||
in terms of Boolean clauses as well, then this definition could have been
|
||||
aggregated as well. Because the flattener does not revisit the aggregation of
|
||||
variables, this does not happen.
|
||||
|
||||
\subsection{FlatZinc Optimisation}%
|
||||
\label{subsec:back-fzn-optimisation}
|
||||
|
||||
|
Reference in New Issue
Block a user