5.414. used_by_modulo

DESCRIPTIONLINKSGRAPH
Origin

Derived from 𝚞𝚜𝚎𝚍_πš‹πš’.

Constraint

𝚞𝚜𝚎𝚍_πš‹πš’_πš–πš˜πšπšžπš•πš˜(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1,πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2,𝙼)

Arguments
πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1πšŒπš˜πš•πš•πšŽπšŒπšπš’πš˜πš—(πšŸπšŠπš›-πšπšŸπšŠπš›)
πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2πšŒπš˜πš•πš•πšŽπšŒπšπš’πš˜πš—(πšŸπšŠπš›-πšπšŸπšŠπš›)
π™Όπš’πš—πš
Restrictions
|πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1|β‰₯|πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2|
πš›πšŽπššπšžπš’πš›πšŽπš(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1,πšŸπšŠπš›)
πš›πšŽπššπšžπš’πš›πšŽπš(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2,πšŸπšŠπš›)
𝙼>0
Purpose

For each integer R in [0,𝙼-1], let 𝑁1 R (respectively 𝑁2 R ) denote the number of variables of πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1 (respectively πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2) that have R as a rest when divided by 𝙼. For all R in [0,𝙼-1] we have 𝑁2 R >0⇒𝑁1 R β‰₯𝑁2 R .

Example
(1,9,4,5,2,1,7,1,2,5,3)

The values of the collection πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2=〈7,1,2,5βŒͺ are respectively associated with the equivalence classes 7 mod 3=1, 1 mod 3=1, 2 mod 3=2, 5 mod 3=2. Therefore the equivalence classes 1 and 2 are respectively used 2 and 2 times.

Similarly, the values of the collection πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1=〈1,9,4,5,2,1βŒͺ associated with the equivalence classes 1 mod 3=1, 9 mod 3=0, 4 mod 3=1, 5 mod 3=2, 2 mod 3=2, 1 mod 3=1. Therefore the equivalence classes 0, 1 and 2 are respectively used 1, 3 and 2 times.

Consequently, the 𝚞𝚜𝚎𝚍_πš‹πš’_πš–πš˜πšπšžπš•πš˜ constraint holds since, for each equivalence class associated with the collection πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2=〈7,1,2,5βŒͺ, its number of occurrences within πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1=〈1,9,4,5,2,1βŒͺ is greater than or equal to its number of occurrences within πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2:

  • The equivalence class 1 occurs 3 times within 〈1,9,4,5,2,1βŒͺ and 2 times within 〈7,1,2,5βŒͺ.

  • The equivalence class 2 occurs 2 times within 〈1,9,4,5,2,1βŒͺ and 2 times within 〈7,1,2,5βŒͺ.

Typical
|πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1|>1
πš›πšŠπš—πšπšŽ(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1.πšŸπšŠπš›)>1
|πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2|>1
πš›πšŠπš—πšπšŽ(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2.πšŸπšŠπš›)>1
𝙼>1
𝙼<πš–πšŠπš‘πšŸπšŠπš•(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1.πšŸπšŠπš›)
𝙼<πš–πšŠπš‘πšŸπšŠπš•(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2.πšŸπšŠπš›)
Symmetries
  • Items of πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1 are permutable.

  • Items of πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2 are permutable.

  • An occurrence of a value u of πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1.πšŸπšŠπš› can be replaced by any other value v such that v is congruent to u modulo 𝙼.

  • An occurrence of a value u of πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2.πšŸπšŠπš› can be replaced by any other value v such that v is congruent to u modulo 𝙼.

Arg. properties
  • Contractible wrt. πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2.

  • Extensible wrt. πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1.

  • Aggregate: πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1(πšžπš—πš’πš˜πš—), πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2(πšžπš—πš’πš˜πš—), 𝙼(πš’πš).

Used in

πš”_𝚞𝚜𝚎𝚍_πš‹πš’_πš–πš˜πšπšžπš•πš˜.

See also

implied by: πšœπšŠπš–πšŽ_πš–πš˜πšπšžπš•πš˜.

soft variant: 𝚜𝚘𝚏𝚝_𝚞𝚜𝚎𝚍_πš‹πš’_πš–πš˜πšπšžπš•πš˜_πšŸπšŠπš›Β (variable-based violation measure).

specialisation: 𝚞𝚜𝚎𝚍_πš‹πš’Β (πšŸπšŠπš›πš’πšŠπš‹πš•πšŽ mod πšŒπš˜πš—πšœπšπšŠπš—πš replaced by πšŸπšŠπš›πš’πšŠπš‹πš•πšŽ).

system of constraints: πš”_𝚞𝚜𝚎𝚍_πš‹πš’_πš–πš˜πšπšžπš•πš˜.

Keywords

characteristic of a constraint: modulo, sort based reformulation.

constraint arguments: constraint between two collections of variables.

modelling: inclusion.

Arc input(s)

πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚1 πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2

Arc generator
π‘ƒπ‘…π‘‚π·π‘ˆπΆπ‘‡β†¦πšŒπš˜πš•πš•πšŽπšŒπšπš’πš˜πš—(πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ1,πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ2)

Arc arity
Arc constraint(s)
πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ1.πšŸπšŠπš› mod 𝙼=πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ2.πšŸπšŠπš› mod 𝙼
Graph property(ies)
β€’ for all connected components: ππ’πŽπ”π‘π‚π„β‰₯ππ’πˆππŠ
β€’ ππ’πˆππŠ=|πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2|

Graph model

PartsΒ (A) andΒ (B) of FigureΒ 5.414.1 respectively show the initial and final graph associated with the Example slot. Since we use the ππ’πŽπ”π‘π‚π„ and ππ’πˆππŠ graph properties, the source and sink vertices of the final graph are stressed with a double circle. Since there is a constraint on each connected component of the final graph we also show the different connected components. Each of them corresponds to an equivalence class according to the arc constraint. Note that the vertex corresponding to the variable that takes value 9 was removed from the final graph since there is no arc for which the associated equivalence constraint holds. The 𝚞𝚜𝚎𝚍_πš‹πš’_πš–πš˜πšπšžπš•πš˜ constraint holds since:

  • For each connected component of the final graph the number of sources is greater than or equal to the number of sinks.

  • The number of sinks of the final graph is equal to |πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2|.

Figure 5.414.1. Initial and final graph of the 𝚞𝚜𝚎𝚍_πš‹πš’_πš–πš˜πšπšžπš•πš˜ constraint
ctrs/used_by_moduloA
(a)
ctrs/used_by_moduloB
(b)
Signature

Since the initial graph contains only sources and sinks, and since sources of the initial graph cannot become sinks of the final graph, we have that the maximum number of sinks of the final graph is equal to |πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2|. Therefore we can rewrite ππ’πˆππŠ=|πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2| to ππ’πˆππŠβ‰₯|πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚2| and simplify ππ’πˆππŠ Β― Μ² to ππ’πˆππŠ Β―.