Annotations
In XCSP3, it is possible to insert an element annotations to express search and filtering advices. In this section, we present this while considering integer variables only (i.e., CSP and COP frameworks), but of course, what follows can be directly adapted to other frameworks.
Recall that, in XCSP3, an intVar corresponds to the id of a variable declared in variables. Similarly, an intCtr corresponds to the id of a constraint declared in constraints. Besides, all BNF non-terminals such as filteringType, consistencyType, branchingType and restartsType are defined in the Syntax page. The general syntax for annotations is as follows:
Syntax
<annotations>
[<variables>
[<decision> (intVar wspace)+ <decision>]
[<output> (intVar wspace)+ <output>]
[<varHeuristic.../>]
[<valHeuristic.../>]
</variables>]
[<constraints>
(<filtering type="filteringType"> (intCtr wspace)+ <filtering>)*
[<filtering type="filteringType"/>]
</constraints>]
[<prepro consistency="consistencyType"/>]
[<search [ consistency="consistencyType" ] [branching="branchingType"]>
[<restarts type="restartsType" cutoff="unsignedInteger" [ factor="decimal" ]/>]
</search>]
</annotations>
More information can be found in the full specifications.