\begin{frame}{\bf Algorithme des chaînes améliorantes}
On peut chercher les chaînes améliorantes en parcourant le graphe biparti en alternant le parcours d'arêtes hors et dans $C$ à partir des sommets insaturés de $S_1$.\\[2mm]
$\implies$ Construction de chaînes améliorantes par un parcours en largeur (plus court chemin) sur le graphe orienté de $S_1$ vers $S_2$, excepté pour $C$ dans l'ordre inverse.\\[2mm]
%%% similaire a la recherche des plus courts chemins et de l'arbre des plus courts chemins mais ici multi-sources
Au plus il y a $\lfloor\frac{|S|}{2}\rfloor$ chaînes améliorantes.\\[2mm]
Complexité (majorant) de l'algorithme en $O(|S|.|A|)$\\[2mm]
{Couplage couvrant l'ensemble des variables et r\'esultat du filtrage.}\\~\\
Contrainte {\em AllDifferent} implémentée dans les outils de programmation par contraintes ({\em gecode}, {\em choco}, {\em or-tools}, {\em toulbar2}).