5.262. minimum

DESCRIPTIONLINKSGRAPHAUTOMATON
Origin

CHIP

Constraint

πš–πš’πš—πš’πš–πšžπš–(𝙼𝙸𝙽,πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚)

Synonym

πš–πš’πš—.

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

𝙼𝙸𝙽 is the minimum value of the collection of domain variables πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚.

Example
(2,3,2,7,2,6)
(7,8,8,7,8,7)

The first πš–πš’πš—πš’πš–πšžπš– constraint holds since its first argument 𝙼𝙸𝙽=2 is set to the minimum value of the collection 〈3,2,7,2,6βŒͺ.

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

  • All occurrences of two distinct values of πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚.πšŸπšŠπš› can be swapped.

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

Arg. properties
  • Functional dependency: 𝙼𝙸𝙽 determined by πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚.

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

Usage

In some project scheduling problems one has to introduce dummy activities that correspond for instance to the starting time of a given set of activities. In this context one can use the πš–πš’πš—πš’πš–πšžπš– constraint to get the minimum starting time of a set of tasks.

Remark

Note that πš–πš’πš—πš’πš–πšžπš– is a constraint and not just a function that computes the minimum value of a collection of variables: potential values of 𝙼𝙸𝙽 influence the variables of πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚, and reciprocally potential values that can be assigned to variables of πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚ influence 𝙼𝙸𝙽.

The πš–πš’πš—πš’πš–πšžπš– constraint is called πš–πš’πš— in JaCoP (http://www.jacop.eu/).

Algorithm

A filtering algorithm for the πš–πš’πš—πš’πš–πšžπš– constraint is described inΒ [Beldiceanu01].

The πš–πš’πš—πš’πš–πšžπš– constraint is entailed if all the following conditions hold:

  1. 𝙼𝙸𝙽 is fixed.

  2. At least one variable of πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚ is assigned value 𝙼𝙸𝙽.

  3. All variables of πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚ have their minimum value greater than or equal to value 𝙼𝙸𝙽.

Counting
Length (n)2345678
Solutions9646257776117649209715243046721

Number of solutions for πš–πš’πš—πš’πš–πšžπš–: domains 0..n

ctrs/minimum-1-tikz

ctrs/minimum-2-tikz

Length (n)2345678
Total9646257776117649209715243046721
Parameter
value

0537369465170993127360926269505
131917521013103154360711012415
21765781115292018114085185
3-1152113367617411288991
4--13166514197325089
5---163205958975
6----11276305
7-----1255
8------1

Solution count for πš–πš’πš—πš’πš–πšžπš–: domains 0..n

ctrs/minimum-3-tikz

ctrs/minimum-4-tikz

Systems

min in Choco, min in Gecode, min in JaCoP, minimum in MiniZinc, minimum in SICStus.

Used in

πš–πš’πš—πš’πš–πšžπš–_πšπš›πšŽπšŠπšπšŽπš›_πšπš‘πšŠπš—, πš—πšŽπš‘πš_πšŽπš•πšŽπš–πšŽπš—πš, πš—πšŽπš‘πš_πšπš›πšŽπšŠπšπšŽπš›_πšŽπš•πšŽπš–πšŽπš—πš.

See also

common keyword: πš–πšŠπš‘πš’πš–πšžπš–Β (order constraint).

comparison swapped: πš–πšŠπš‘πš’πš–πšžπš–.

generalisation: πš–πš’πš—πš’πš–πšžπš–_πš–πš˜πšπšžπš•πš˜Β (πšŸπšŠπš›πš’πšŠπš‹πš•πšŽ replaced by πšŸπšŠπš›πš’πšŠπš‹πš•πšŽ mod πšŒπš˜πš—πšœπšπšŠπš—πš).

implied by: πšŠπš—πš.

implies: πš‹πšŽπšπš πšŽπšŽπš—_πš–πš’πš—_πš–πšŠπš‘, πš’πš—.

soft variant: πš–πš’πš—πš’πš–πšžπš–_πšŽπš‘πšŒπšŽπš™πš_0Β (value 0 is ignored), πš˜πš™πšŽπš—_πš–πš’πš—πš’πš–πšžπš–Β (open constraint).

specialisation: πš–πš’πš—_πš—Β (minimum or order πš— replaced by absolute minimum).

uses in its reformulation: πšŒπš’πšŒπš•πšŽ.

Keywords

characteristic of a constraint: minimum, maxint, automaton, automaton without counters, reified automaton constraint.

constraint arguments: reverse of a constraint, pure functional dependency.

constraint network structure: centered cyclic(1) constraint network(1).

constraint type: order constraint.

filtering: glue matrix, arc-consistency, entailment.

modelling: functional dependency.

Cond. implications

πš–πš’πš—πš’πš–πšžπš–(𝙼𝙸𝙽,πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚)

Β Β Β  withΒ  πšπš’πš›πšœπš(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚.πšŸπšŠπš›)>𝙼𝙸𝙽

Β Β Β  andΒ Β  πš•πšŠπšœπš(πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚.πšŸπšŠπš›)>𝙼𝙸𝙽

Β Β implies πšπšŽπšŽπš™πšŽπšœπš_πšŸπšŠπš•πš•πšŽπš’(π™³π™΄π™Ώπšƒπ™·,πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚).

Arc input(s)

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

Arc generator
πΆπΏπΌπ‘„π‘ˆπΈβ†¦πšŒπš˜πš•πš•πšŽπšŒπšπš’πš˜πš—(πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ1,πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ2)

Arc arity
Arc constraint(s)
β‹πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ1.πš”πšŽπš’=πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ2.πš”πšŽπš’,πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ1.πšŸπšŠπš›<πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ2.πšŸπšŠπš›
Graph property(ies)
πŽπ‘πƒπ„π‘(0,π™Όπ™°πš‡π™Έπ™½πšƒ,πšŸπšŠπš›)=𝙼𝙸𝙽

Graph model

The condition πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ1.πš”πšŽπš’=πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ2.πš”πšŽπš’ holds if and only if πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ1 and πšŸπšŠπš›πš’πšŠπš‹πš•πšŽπšœ2 corresponds to the same vertex. It is used in order to enforce to keep all the vertices of the initial graph. πŽπ‘πƒπ„π‘(0,π™Όπ™°πš‡π™Έπ™½πšƒ,πšŸπšŠπš›) refers to the source vertices of the graph, i.e., those vertices that do not have any predecessor.

PartsΒ (A) andΒ (B) of FigureΒ 5.262.1 respectively show the initial and final graph associated with the first example of the Example slot. Since we use the πŽπ‘πƒπ„π‘ graph property, the vertices of rank 0 (without considering the loops) of the final graph are outlined with a thick circle.

Figure 5.262.1. Initial and final graph of the πš–πš’πš—πš’πš–πšžπš– constraint
ctrs/minimumActrs/minimumB
(a) (b)
Automaton

FigureΒ 5.262.2 depicts a first counter free deterministic automaton associated with the πš–πš’πš—πš’πš–πšžπš– constraint. Let πš…π™°πš i be the i th variable of the πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚ collection. To each pair (𝙼𝙸𝙽,πš…π™°πš i ) corresponds a signature variable S i as well as the following signature constraint: (𝙼𝙸𝙽<πš…π™°πš i ⇔S i =0) ∧(𝙼𝙸𝙽=πš…π™°πš i ⇔S i =1) ∧(𝙼𝙸𝙽>πš…π™°πš i ⇔S i =2).

Figure 5.262.2. Counter free automaton of the πš–πš’πš—πš’πš–πšžπš– constraint
ctrs/minimum-5-tikz
Figure 5.262.3. Hypergraph of the reformulation corresponding to the automaton of the πš–πš’πš—πš’πš–πšžπš– constraint
ctrs/minimum-6-tikz

FigureΒ 5.262.3 depicts a second counter free non deterministic automaton associated with the πš–πš’πš—πš’πš–πšžπš– constraint, where the argument 𝙼𝙸𝙽 is also part of the sequence passed to the automaton.

Figure 5.262.4. Counter free non deterministic automaton of the πš–πš’πš—πš’πš–πšžπš–(𝙼𝙸𝙽,πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚) constraint assuming that the union of the domain of the variables is the set {1,2,3,4} and that the elements of πš…π™°πšπ™Έπ™°π™±π™»π™΄πš‚ are first passed to the automaton followed by 𝙼𝙸𝙽 (state s i means that no value strictly less than value i was found and that value i was already encountered at least once)
ctrs/minimum-7-tikz
Figure 5.262.5. Hypergraph of the reformulation corresponding to the counter free non deterministic automaton of the πš–πš’πš—πš’πš–πšžπš– constraint
ctrs/minimum-8-tikz

FigureΒ 5.262.6 depicts a third deterministic automaton with one counter associated with the πš–πš’πš—πš’πš–πšžπš– constraint, where the argument 𝙼𝙸𝙽 is unified to the final value of the counter.

Figure 5.262.6. Automaton (with one counter) of the πš–πš’πš—πš’πš–πšžπš– constraint and its glue matrix
ctrs/minimum-9-tikz
Figure 5.262.7. Hypergraph of the reformulation corresponding to the automaton (with one counter) of the πš–πš’πš—πš’πš–πšžπš– constraint: since all states variables Q 0 ,Q 1 ,β‹―,Q n are fixed to the unique state s of the automaton, the transitions constraints share only the counter variable C and the constraint network is Berge-acyclic
ctrs/minimum-10-tikz