5.88. consecutive_values

DESCRIPTIONLINKS
Origin

Derived from πšŠπš•πš•πšπš’πšπšπšŽπš›πšŽπš—πš_πšŒπš˜πš—πšœπšŽπšŒπšžπšπš’πšŸπšŽ_πšŸπšŠπš•πšžπšŽπšœ.

Constraint

πšŒπš˜πš—πšœπšŽπšŒπšžπšπš’πšŸπšŽ_πšŸπšŠπš•πšžπšŽπšœ(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚)

Argument
πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚πšŒπš˜πš•πš•πšŽπšŒπšπš’πš˜πš—(πšŸπšŠπš›-πšπšŸπšŠπš›)
Restriction
πš›πšŽπššπšžπš’πš›πšŽπš(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚,πšŸπšŠπš›)
Purpose

Constraint the difference between the largest and the smallest values of the πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚ collection to be equal to the number of distinct values assigned to the variables of the πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚ collection minus one (i.e.,Β there is no holes at all within the used values).

Example
(5,4,3,5)

The πšŒπš˜πš—πšœπšŽπšŒπšžπšπš’πšŸπšŽ_πšŸπšŠπš•πšžπšŽπšœ constraint holds since all values between value 3 and value 5 are actually used.

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

  • One and the same constant can be added to the πšŸπšŠπš› attribute of all items of πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚.

Counting
Length (n)2345678
Solutions7342171716161591763662187637

Number of solutions for πšŒπš˜πš—πšœπšŽπšŒπšžπšπš’πšŸπšŽ_πšŸπšŠπš•πšžπšŽπšœ: domains 0..n

ctrs/consecutive_values-1-tikz

ctrs/consecutive_values-2-tikz

See also

implied by: πšŠπš•πš•_πšŽπššπšžπšŠπš•, πšŠπš•πš•πšπš’πšπšπšŽπš›πšŽπš—πš_πšŒπš˜πš—πšœπšŽπšŒπšžπšπš’πšŸπšŽ_πšŸπšŠπš•πšžπšŽπšœ, πšπš•πš˜πš‹πšŠπš•_πšŒπš˜πš—πšπš’πšπšžπš’πšπš’.

used in reformulation: πš—πšŸπšŠπš•πšžπšŽ.

Keywords

characteristic of a constraint: sort based reformulation.

constraint type: value constraint, predefined constraint.

Cond. implications

πšŒπš˜πš—πšœπšŽπšŒπšžπšπš’πšŸπšŽ_πšŸπšŠπš•πšžπšŽπšœ(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚)

Β Β Β  withΒ  |πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚|>πš›πšŠπš—πšπšŽ(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚.πšŸπšŠπš›)

Β Β implies πšœπš˜πš–πšŽ_πšŽπššπšžπšŠπš•(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚).