## 5.320. strict_lex2

 DESCRIPTION LINKS
Origin
Constraint

$\mathrm{𝚜𝚝𝚛𝚒𝚌𝚝}_\mathrm{𝚕𝚎𝚡}\mathtt{2}\left(\mathrm{𝙼𝙰𝚃𝚁𝙸𝚇}\right)$

Type
 $\mathrm{𝚅𝙴𝙲𝚃𝙾𝚁}$ $\mathrm{𝚌𝚘𝚕𝚕𝚎𝚌𝚝𝚒𝚘𝚗}\left(\mathrm{𝚟𝚊𝚛}-\mathrm{𝚍𝚟𝚊𝚛}\right)$
Argument
 $\mathrm{𝙼𝙰𝚃𝚁𝙸𝚇}$ $\mathrm{𝚌𝚘𝚕𝚕𝚎𝚌𝚝𝚒𝚘𝚗}\left(\mathrm{𝚟𝚎𝚌}-\mathrm{𝚅𝙴𝙲𝚃𝙾𝚁}\right)$
Restrictions
 $\mathrm{𝚛𝚎𝚚𝚞𝚒𝚛𝚎𝚍}$$\left(\mathrm{𝚅𝙴𝙲𝚃𝙾𝚁},\mathrm{𝚟𝚊𝚛}\right)$ $\mathrm{𝚛𝚎𝚚𝚞𝚒𝚛𝚎𝚍}$$\left(\mathrm{𝙼𝙰𝚃𝚁𝙸𝚇},\mathrm{𝚟𝚎𝚌}\right)$ $\mathrm{𝚜𝚊𝚖𝚎}_\mathrm{𝚜𝚒𝚣𝚎}$$\left(\mathrm{𝙼𝙰𝚃𝚁𝙸𝚇},\mathrm{𝚟𝚎𝚌}\right)$
Purpose

Given a matrix of domain variables, enforces that both adjacent rows, and adjacent columns are lexicographically ordered (adjacent rows and adjacent columns cannot be equal).

Example
$\left(\begin{array}{c}〈\begin{array}{c}\mathrm{𝚟𝚎𝚌}-〈2,2,3〉,\hfill \\ \mathrm{𝚟𝚎𝚌}-〈2,3,1〉\hfill \end{array}〉\hfill \end{array}\right)$

The $\mathrm{𝚜𝚝𝚛𝚒𝚌𝚝}_\mathrm{𝚕𝚎𝚡}\mathtt{2}$ constraint holds since:

• The first row $〈2,2,3〉$ is lexicographically strictly less than the second row $〈2,3,1〉$.

• The first column $〈2,2〉$ is lexicographically strictly less than the second column $〈2,3〉$.

• The second column $〈2,3〉$ is lexicographically strictly less than the third column $〈3,1〉$.

Symmetry

One and the same constant can be added to the $\mathrm{𝚟𝚊𝚛}$ attribute of all items of $\mathrm{𝙼𝙰𝚃𝚁𝙸𝚇}.\mathrm{𝚟𝚎𝚌}$.

Usage

A symmetry-breaking constraint.

Reformulation

The $\mathrm{𝚜𝚝𝚛𝚒𝚌𝚝}_\mathrm{𝚕𝚎𝚡}\mathtt{2}$ constraint can be expressed as a conjunction of two $\mathrm{𝚕𝚎𝚡}_\mathrm{𝚌𝚑𝚊𝚒𝚗}_\mathrm{𝚕𝚎𝚜𝚜}$ constraints: A first $\mathrm{𝚕𝚎𝚡}_\mathrm{𝚌𝚑𝚊𝚒𝚗}_\mathrm{𝚕𝚎𝚜𝚜}$ constraint on the $\mathrm{𝙼𝙰𝚃𝚁𝙸𝚇}$ argument and a second $\mathrm{𝚕𝚎𝚡}_\mathrm{𝚌𝚑𝚊𝚒𝚗}_\mathrm{𝚕𝚎𝚜𝚜}$ constraint on the transpose of the $\mathrm{𝙼𝙰𝚃𝚁𝙸𝚇}$ argument.

See also
Keywords