title: Recouvrement par jauge
text: # Recouvrement par jauge
  
  Le recouvrement par jauge est une technique d'optimisation mathématique, structurellement et intentionnellement semblable à la poursuite de base, qui étend cette dernière sur deux points :
  
  * l'espace sous-jacent est un espace euclidien général (au lieu de l'espace vectoriel $\mathbb {R} ^{n}$),
  * le critère de sélection est une jauge polyédrique définie sur cet espace (au lieu de la norme $ℓ^1).$
  
  Cette généralisation permet d'appliquer cette technique de recouvrement de données codées, dans des contextes plus variés. Par exemple, on pourra s'intéresser au recouvrement d'objets représentés par des matrices et utiliser la norme nucléaire comme critère de sélection.
  
  Nous renvoyons aux articles « Poursuite de base » et « Acquisition comprimée » pour des indications sur les problématiques pratiques conduisant à des problèmes de ce type. Voir aussi Chandrasekaran et al. 2012.
  
  Connaissances supposées : le vocabulaire de l'optimisation mathématique et de l'algèbre linéaire.
  
  ## Notations
  
  * Dans cet article, on supposera toujours que $E$ et $F$ sont deux espaces euclidiens, dont les produits scalaires sont tous deux notés $\langle \cdot ,\cdot \rangle$.
  * L'image d'une application linéaire $A$ est notée $\operatorname {Im} {(A)}$ et son noyau est noté $\operatorname {Ker} {(A)}$.
  * L'opérateur adjoint d'un opérateur linéaire $A:E\to F$ est noté $A^{*}:F\to E$.
  * L'enveloppe affine d'un convexe non vide $C$ de $E$ est notée $\operatorname {aff} C$ et son intérieur relatif est noté $\operatorname {ir} C$.
  * Le polaire d'une partie $P$ de $E$ est noté $P^{\circ }$.
  
  ## Recouvrement par jauge polyédrique abstraite
  
  ### Définition du problème
  
  De manière plus précise, le problème s'écrit comme suit
  
  $(P_{f})\quad \left\{{\begin{array}{l}\inf \;f(x)\\Ax=b,\end{array}}\right.$
  
  où l'inconnue est un vecteur $x$ de $E$, $f:E\to \mathbb {R} \cup \{+\infty \}$ est une jauge polyédrique (c'est-à-dire dont l'épigraphe est un polyèdre convexe) pouvant donc prendre des valeurs infinies, $A$ est une application linéaire de $E$ dans $F$ et $b\in F$.
  
  On note
  
  ${\mathcal {B}}:=\{x\in E\mid f(x)\leqslant 1\},$
  
  l'ensemble de sous-niveau 1 de la jauge $f$, qui joue le rôle de boule-unité (c'est ce qu'il serait si le jauge était une norme). Comme $f$ est une jauge polyédrique, ${\mathcal {B}}$ est un polyèdre convexe contenant $0$. Il revient au même de se donner $f$ et d'en déduire ${\mathcal {B}}$ comme ci-dessus, ou de se donner un polyèdre convexe ${\mathcal {B}}$ contenant $0$ et d'en déduire la jauge polyédrique $f$ par la formule de Minkowski :
  
  $\forall \,x\in E\quad f(x)={\inf }\{t>0\mid x\in t\,{\mathcal {B}}\}.$
  
  C'est ce qui sera fait dans la section suivante, avec une description plus précise de ${\mathcal {B}}$.
  
  Le sous-différentiel de la jauge $f$ en $x$ joue un rôle important dans les conditions d'existence et d'unicité de solution. Il est noté ${\mathcal {S}}(x)$ et sa valeur est donnée par la formule
  
  ${\mathcal {S}}(x):=\operatorname {argmax} _{y\in {\mathcal {B}}^{\circ }}\,\langle y,x\rangle .$
  
  ### Contraintes polyédriques
  
  Le modèle de problème $(P_{f})$ peut prendre en compte des contraintes polyédriques, c'est-à-dire un problème de la forme
  
  $\left\{{\begin{array}{l}\inf \;f_{0}(x)\\x\in P,\end{array}}\right.$
  
  où $f_{0}:E\to \mathbb {R} \cup \{+\infty \}$ est la jauge d'un polyèdre convexe ${\mathcal {B}}_{0}\subset E$ contenant $0$, et $P$ est un autre polyèdre convexe de $E$. Le polyèdre convexe $P$ peut toujours être écrit comme suit
  
  $P=\{x\in E\mid Ax\leqslant b\},$
  
  où $A:E\to \mathbb {R} ^{m}$ est une application linéaire, $b\in \mathbb {R} ^{m}$ et l'inégalité agit composante par composante. Donc le problème s'écrit
  
  $\left\{{\begin{array}{l}\inf _{(x,s)\in E\times \mathbb {R} ^{m}}\;f_{0}(x)\\Ax+s=b\\s\geqslant 0.\end{array}}\right.$
  
  Ce dernier problème peut s'écrire sous la forme d'un problème de recouvrement par jauge sous la forme standard $(P_{f})$, à savoir
  
  $\left\{{\begin{array}{l}\inf _{(x,s)\in E\times \mathbb {R} ^{m}}\;f(x,s)\\Ax+s=b,\end{array}}\right.$
  
  en prenant pour $f$ la jauge du polyèdre convexe contenant $0$ suivant :
  
  ${\mathcal {B}}_{0}\times \operatorname {cone} \{e_{1},\ldots ,e_{m}\}={\mathcal {B}}_{0}\times \mathbb {R} _{+}^{m}\subset E\times \mathbb {R} ^{m},$
  
  où $e_{i}$ désigne le $i$-ème vecteur de la base canonique de $\mathbb {R} ^{m}$. L'équivalence entre ces problèmes repose sur le fait que $f(x,s)=f_{0}(x)$ si $s\geqslant 0$, et $f(x,s)=+\infty$ si $s\not \geqslant 0$. C'est en réalité sa polyédricité qui permet d'obtenir la condition nécessaire et suffisante de solution de la proposition suivante, comme en optimisation linéaire.
  
  Existence de solution I — Soit $f$ une jauge polyédrique. Alors l'ensemble des solutions de $(P_{f})$ est un polyèdre convexe ; celui-ci est non vide si, et seulement si, $b$ est dans l'image de $A$.
  
  Ce résultat ne dit rien sur la valeur optimale de $(P_{f})$ et celle-ci peut très bien valoir $+\infty$ alors que le problème a une solution. Il en sera ainsi si, et seulement si, $b$ est dans l'image de $A$ (ce qui assure l'existence d'une solution par la proposition) et l'ensemble admissible ne rencontre pas le domaine de $f$. Une telle situation (sans intérêt) ne se rencontre pas en optimisation linéaire, car le critère ne prend alors que des valeurs finies.
  
  Des conditions nécessaires et suffisantes assurant l'existence et l'unicité de la solution de $(P_{f})$ sont moins aisées à déterminer. On notera que celles présentées ci-dessous dépendent du point ${\bar {x}}$ considéré comme candidat-solution ; elles s'apparentent donc à des conditions d'optimalité d'un point ${\bar {x}}\in \mathbb {R} ^{n}$ donné : la première condition, celle caractérisant ${\bar {x}}$ comme solution, traduit d'ailleurs l'appartenance de zéro au sous-différentiel de $f+{\mathcal {I}}_{\mathcal {X}}$ en ${\bar {x}}$ (${\mathcal {I}}_{\mathcal {X}}$ est l'indicatrice de l'ensemble admissible ${\mathcal {X}}$) et le vecteur ${\bar {y}}$ apparaissant dans toutes les conditions est une solution du problème dual (voir la section « Dualité lagrangienne »).
  
  Dans le résultat ci-dessous, on note $\operatorname {Sol} (P_{f})$ l'ensemble des solutions du problème $(P_{f})$.
  
  Existence de solution II — Soient $f$ une jauge polyédrique dont le domaine intersecte ${\mathcal {X}}$ et ${\bar {x}}\in {\mathcal {X}}$. Alors
  
  ${\begin{aligned}{\bar {x}}\in \operatorname {Sol} (P_{f})&\qquad \Longleftrightarrow \qquad \exists {\bar {y}}\in F\quad A^{*}{\bar {y}}\in {\mathcal {S}}({\bar {x}}),\\{\bar {x}}\in \operatorname {ir} (\operatorname {Sol} (P_{f}))&\qquad \Longleftrightarrow \qquad \exists {\bar {y}}\in F\quad A^{*}{\bar {y}}\in \operatorname {ir} {\mathcal {S}}({\bar {x}}).\end{aligned}}$
  
  ### Existence et unicité de solution
  
  Existence et unicité de solution — Soient $f$ une jauge polyédrique dont le domaine intersecte ${\mathcal {X}}$ et ${\bar {x}}\in {\mathcal {X}}$. Alors $\operatorname {Sol} (P_{f})=\{{\bar {x}}\}$ si, et seulement si,
  
  ${\begin{array}{c}\exists {\bar {y}}\in F\quad A^{*}{\bar {y}}\in \operatorname {ir} {\mathcal {S}}({\bar {x}}),\\\operatorname {aff} {\mathcal {S}}({\bar {x}})+\operatorname {Im} {(A^{*})}=E.\end{array}}$
  
  ### Dualité lagrangienne
  
  Le problème dual lagrangien de $(P_{f})$ s'écrit comme le problème en $y\in F$ suivant :
  
  $(D_{f})\quad \left\{{\begin{array}{l}\sup _{y}\;\langle b,y\rangle \\A^{*}y\in {\mathcal {B}}^{\circ }.\end{array}}\right.$
  
  Pas de saut de dualité — Si $f$ est une jauge polyédrique, alors $\operatorname {val} (P_{f})=\operatorname {val} (D_{f})$ (qui peut valoir $+\infty$).
  
  ## Recouvrement par jauge polyédrique sous description primale
  
  Cette section donne les détails du problème de recouvrement par jauge polyédrique lorsque celle-ci est vue comme jauge d'un polyèdre convexe ${\mathcal {B}}$, lequel est décrit comme une enveloppe convexe de points plus une enveloppe conique de directions (description primale ou interne d'un polyèdre convexe).
  
  ### Définition du problème
  
  Le problème considéré s'écrit comme dans le cas abstrait, à savoir
  
  $(P_{f})\quad \left\{{\begin{array}{l}\inf \;f(x)\\Ax=b,\end{array}}\right.$
  
  mais la jauge polyédrique $f$ est définie comme jauge d'un polyèdre convexe ${\mathcal {B}}$ par la formule
  
  $\forall x\in E\quad f(x)={\inf }\{t>0\mid x\in t\,{\mathcal {B}}\}.$
  
  Le polyèdre convexe ${\mathcal {B}}$ est décrit comme suit :
  
  ${\mathcal {B}}=\operatorname {co} \{c_{i}\mid i\in I\}+\operatorname {cone} \{d_{j}\mid j\in J\},$
  
  où les points $c_{i}$ sont dans $E$ et en nombre fini ($I$ est fini) et les directions $d_{j}$ sont dans $E$ et en nombre fini ($J$ est fini). Tout polyèdre convexe peut s'écrire de cette manière. On doit supposer que
  
  $0\in {\mathcal {B}}$
  
  pour que la jauge associée s'annule en l'origine. Mais on ne suppose pas que $0$ est intérieur à ${\mathcal {B}}$, si bien que $f$ peut prendre la valeur $+\infty$. Comme ${\mathcal {B}}$ est fermé, la jauge $f$ est « fermée », c'est-à-dire semi-continue inférieurement.
  
  Soient $I_{0}\subset I$ et $J_{0}\subset J$. Il est utile d'introduire les applications linéaires
  
  ${\begin{array}{c}C_{I_{0}}:\alpha _{I_{0}}\in \mathbb {R} ^{|I_{0}|}\mapsto C_{I_{0}}\alpha _{I_{0}}:=\sum _{i\in I_{0}}\alpha _{i}c_{i}\in E,\quad C:=C_{I},\\D_{J_{0}}:\beta \in \mathbb {R} ^{|J_{0}|}\mapsto D_{J_{0}}\beta :=\sum _{j\in J_{0}}\beta _{j}d_{j}\in E,\quad D:=D_{I}.\end{array}}$
  
  On adopte la notation matricielle pour l'application linéaire
  
  $(C_{I_{0}}~D_{J_{0}}):(\alpha _{I_{0}},\beta _{J_{0}})\in \mathbb {R} ^{|I_{0}|}\times \mathbb {R} ^{|J_{0}|}\mapsto (C_{I_{0}}~D_{J_{0}})(\alpha _{I_{0}},\beta _{J_{0}})=C_{I_{0}}\alpha _{I_{0}}+D_{J_{0}}\beta _{J_{0}}\in E$
  
  et l'on note $(C~D):=(C_{I}~D_{J})$. Avec ces notations, l'ensemble ${\mathcal {B}}$ s'écrit aussi
  
  ${\mathcal {B}}=\{C\alpha +D\beta \mid \alpha \in \Delta _{I},~\beta \in \mathbb {R} _{+}^{|J|}\},$
  
  où $\Delta _{I}:=\{\alpha \in \mathbb {R} _{+}^{|I|}\mid {\sum }_{i\in I}\alpha _{i}=1\}$ est le simplexe unité de $\mathbb {R} ^{|I|}$.
  
  Grâce à la condition $0\in {\mathcal {B}}$, on a l'équivalence
  
  $f(x)=0\qquad \Longleftrightarrow \qquad x=D\beta ~~{\mbox{pour un}}~~\beta \geqslant 0~~({\mbox{ou}}~~x=0~~{\mbox{si}}~~J=\varnothing ).$
  
  Le polaire de l'ensemble ${\mathcal {B}}$ introduit ci-dessus s'écrit
  
  ${\mathcal {B}}^{\circ }=\{x^{*}\in E\mid \forall i\in I~~\langle x^{*},c_{i}\rangle \leqslant 1{\text{ et }}\forall j\in J~~\langle x^{*},d_{j}\rangle \leqslant 0\}.$
  
  Alors le sous-différentiel de la jauge $f$ en $x$ est donné par la formule
  
  $\displaystyle {\mathcal {S}}(x):=\displaystyle \operatorname {argmax} \limits _{\begin{array}{c}x^{*}{\text{ tel que}}\\\forall i\in I\quad \langle x^{*},c_{i}\rangle \leqslant 1{\text{ et }}\\\forall j\in J\quad \langle x^{*},d_{j}\rangle \leqslant 0\end{array}}\,\langle x^{*},x\rangle .$
  
  ### Existence de solution
  
  Le résultat d'existence de solution II du cas abstrait devient le suivant.
  
  Existence de solution II — Soient $f$ une jauge polyédrique sous description primale dont le domaine intersecte ${\mathcal {X}}$ et ${\bar {x}}\in {\mathcal {X}}$. Alors
  
  * ${\bar {x}}\in \operatorname {Sol} (P_{f})$ si, et seulement si, les deux conditions suivantes ont lieu
     * ${\bar {x}}=C{\bar {\alpha }}+D{\bar {\beta }}{\text{ pour des }}({\bar {\alpha }},{\bar {\beta }})\in \mathbb {R} _{+}^{|I|}\times \mathbb {R} _{+}^{|J|}$,
     * il existe ${\bar {y}}\in F$ tel que pour tout $(i,j)\in I\times J$ on a $\langle A^{*}{\bar {y}},c_{i}\rangle =1$ si ${\bar {\alpha }}_{i}>0$, $\langle A^{*}{\bar {y}},c_{i}\rangle \leqslant 1$ si ${\bar {\alpha }}_{i}=0$, $\langle A^{*}{\bar {y}},d_{j}\rangle =0$ si ${\bar {\beta }}_{j}>0$ et $\langle A^{*}{\bar {y}},d_{j}\rangle \leqslant 0$ si ${\bar {\beta }}_{j}=0$,
  * ${\bar {x}}\in \operatorname {ir} \operatorname {Sol} (P_{f})$ si, et seulement si, les deux conditions suivantes ont lieu
     * ${\bar {x}}=C{\bar {\alpha }}+D{\bar {\beta }}{\text{ pour des }}({\bar {\alpha }},{\bar {\beta }})\in \mathbb {R} _{+}^{|I|}\times \mathbb {R} _{+}^{|J|}$,
     * il existe ${\bar {y}}\in F$ tel que pour tout $(i,j)\in I\times J$ on a $\langle A^{*}{\bar {y}},c_{i}\rangle =1$ si ${\bar {\alpha }}_{i}>0$, $\langle A^{*}{\bar {y}},c_{i}\rangle <1$ si ${\bar {\alpha }}_{i}=0$, $\langle A^{*}{\bar {y}},d_{j}\rangle =0$ si ${\bar {\beta }}_{j}>0$ et $\langle A^{*}{\bar {y}},d_{j}\rangle <0$ si ${\bar {\beta }}_{j}=0$.
  
  Les coefficients ${\bar {\alpha }}$ et ${\bar {\beta }}$ permettant de représenter ${\bar {x}}$ par ${\bar {x}}=C{\bar {\alpha }}+D{\bar {\beta }}$ dans ce résultat sont en réalité les multiplicateurs de Lagrange associés aux contraintes du problème d'optimisation linéaire définissant ${\mathcal {S}}({\bar {x}})$. Au second point, ces coefficients ${\bar {\alpha }}$ et ${\bar {\beta }}$ sont des multiplicateurs optimaux satisfaisant en plus la stricte complémentarité.
  
  ### Existence et unicité de solution
  
  Le résultat d'existence et d'unicité de solution du cas abstrait devient le suivant.
  
  Existence et unicité de solution — Soient $f$ une jauge polyédrique sous description primale dont le domaine intersecte ${\mathcal {X}}$ et ${\bar {x}}\in {\mathcal {X}}$. Alors les conditions suivantes sont équivalentes :
  
  * ${\bar {x}}$ est l'unique solution de $(P_{f})$ ;
  * on peut trouver des ensembles d'indices $I_{+}\subset I$ et $J_{+}\subset J$ tels que :
     * ${\bar {x}}=C_{I_{+}}{\bar {\alpha }}_{I_{+}}+D_{J_{+}}{\bar {\beta }}_{J_{+}}$, pour des ${\bar {\alpha }}_{I_{+}}>0$ et ${\bar {\beta }}_{J_{+}}>0$,
     * il existe ${\bar {y}}\in F$ tel que $\langle A^{*}{\bar {y}},c_{i}\rangle =1$ si $i\in I_{+}$, $\langle A^{*}{\bar {y}},c_{i}\rangle <1$ si $i\in I\setminus I_{+}$, $\langle A^{*}{\bar {y}},d_{j}\rangle =0$ si $j\in J_{+}$ et $\langle A^{*}{\bar {y}},d_{j}\rangle <0$ si $j\in J\setminus J_{+}$,
     * quels que soient ces ensembles d'indices $I_{+}$ et $J_{+}$ vérifiant ces deux premières conditions, on a $\operatorname {Ker} {(A)}\cap \operatorname {Im} {(C_{I_{+}}~D_{J_{+}})}=\{0\}$ ;
  * on peut trouver des ensembles d'indices $I_{+}\subset I$ et $J_{+}\subset J$ tels que :
     * ${\bar {x}}=C_{I_{+}}{\bar {\alpha }}_{I_{+}}+D_{J_{+}}{\bar {\beta }}_{J_{+}}$, pour des ${\bar {\alpha }}_{I_{+}}>0$ et ${\bar {\beta }}_{J_{+}}>0$,
     * il existe ${\bar {y}}\in F$ tel que $\langle A^{*}{\bar {y}},c_{i}\rangle =1$ si $i\in I_{+}$, $\langle A^{*}{\bar {y}},c_{i}\rangle <1$ si $i\in I\setminus I_{+}$, $\langle A^{*}{\bar {y}},d_{j}\rangle =0$ si $j\in J_{+}$ et $\langle A^{*}{\bar {y}},d_{j}\rangle <0$ si $j\in J\setminus J_{+}$,
     * $\operatorname {Ker} {(A)}\cap \operatorname {Im} {(C_{I_{+}}~D_{J_{+}})}=\{0\}$.
  
  La seconde condition semble plus forte que la troisième, mais ce résultat montre qu'il n'en est rien. Cette seconde condition est utilisée par l'algorithme de détection d'unicité présenté plus loin. Cet algorithme détermine d'abord des ensembles d'indices $I_{+}\subset I$ et $J_{+}\subset J$ satisfaisant les deux premiers points de la condition 2 et détermine ensuite si l'unicité a lieu en vérifiant si $\operatorname {Ker} {(A)}\cap \operatorname {Im} {(C_{I_{+}}~D_{J_{+}})}=\{0\}$.
  
  ### Méthode de résolution
  
  La méthode de résolution du problème de recouvrement par jauge sous forme primale $(P_{f})$ décrite dans cette section transforme ce problème en le problème d'optimisation linéaire suivant
  
  $(P'_{f})\quad \left\{{\begin{array}{l}\sup _{(\alpha ,\beta ,t)\in \mathbb {R} ^{|I|}\times \mathbb {R} ^{|J|}\times \mathbb {R} }\;t\\A(C\alpha +D\beta )=tb\\(\alpha ,\beta )\in \Delta _{I}\times \mathbb {R} _{+}^{|J|},\end{array}}\right.$
  
  où les opérateurs linéaire $C$ et $D$ ont été définis ci-dessus et $\Delta _{I}$ est le simplexe unité de $\mathbb {R} ^{|I|}$. En quelques mots, dans le problème $(P_{f})$, l'ensemble de sous-niveau un ${\mathcal {B}}$ de $f$ est mis à l'échelle de manière que sa frontière vienne en contact avec le sous-espace affine ${\mathcal {X}}=\{x\in E\mid Ax=b\}$ (par l'homogénéité positive de $f$ cela revient à trouver son bon ensemble de sous-niveau), tandis que dans $(P'_{f})$, le même sous-espace affine ${\mathcal {X}}$ est translaté de manière à venir en contact avec la frontière de ${\mathcal {B}}$. Le sens de cette équivalence entre $(P_{f})$ et $(P'_{f})$ est précisé dans le résultat suivant.
  
  Équivalence entre $(P_{f})$ et $(P'_{f})$ — Soit $f$ une jauge polyédrique sous description primale. Alors, on peut trouver un couple $(\alpha _{0},\beta _{0})\in \Delta _{I}\times \mathbb {R} _{+}^{|J|}$ tel que $C\alpha _{0}+D\beta _{0}=0$. De plus
  
  * $b\in AD(\mathbb {R} _{+}^{|J|})$ $\Longleftrightarrow$ $D\beta \in \operatorname {Sol} (P_{f})$ pour un $\beta \geqslant 0$ $\Longleftrightarrow$ $\operatorname {val} (P_{f})=0$ $\Longleftrightarrow$ $\operatorname {val} (P'_{f})=+\infty$,
  * $b\notin A(\mathbb {R} _{+}{\mathcal {B}})$ $\Longleftrightarrow$ $\operatorname {val} (P_{f})=+\infty$ $\Longleftrightarrow$ $\operatorname {val} (P'_{f})=0$ $\Longleftrightarrow$ $(\alpha _{0},\beta _{0},0)\in \operatorname {Sol} (P'_{f})$,
  * si $b\in A(\mathbb {R} _{+}{\mathcal {B}})\setminus AD(\mathbb {R} _{+}^{|J|})$, alors $0<\operatorname {val} (P'_{f})=1/\operatorname {val} (P_{f})<+\infty$ ; de plus,
     * si $({\bar {\alpha }},{\bar {\beta }},{\bar {t}})$ est une solution de $(P'_{f})$, alors ${\bar {x}}=(C{\bar {\alpha }}+D{\bar {\beta }})/{\bar {t}}$ est une solution de $(P_{f})$,
     * inversement, si ${\bar {x}}$ est une solution de $(P_{f})$, alors ${\bar {x}}=f({\bar {x}})(C{\bar {\alpha }}+D{\bar {\beta }})$ pour un couple $({\bar {\alpha }},{\bar {\beta }})\in \Delta _{I}\times \mathbb {R} _{+}^{|J|}$ et, pour toute expression de ${\bar {x}}$ de cette forme, $({\bar {\alpha }},{\bar {\beta }},1/f({\bar {x}}))$ est solution de $(P'_{f})$.
  
  Le fait que le problème $(P_{f})$ soit équivalent au problème d'optimisation linéaire $(P_{f}')$ rend possible la résolution de $(P_{f})$ en temps polynomial, par exemple en utilisant un algorithme de points intérieurs.
  
  Le dual lagrangien de $(P_{f}')$ s'écrit
  
  $(D_{f}')\quad \left\{{\begin{array}{l}\inf _{(y,s)\in F\times \mathbb {R} }\;s,\\\forall i\in I\quad \langle A^{*}y,c_{i}\rangle \leqslant s,\\\forall j\in J\quad \langle A^{*}y,d_{j}\rangle \leqslant 0,\\\langle b,y\rangle =1.\end{array}}\right.$
  
  Il n'y a pas de saut de dualité :
  
  $\operatorname {val} (P_{f}')=\operatorname {val} (D_{f}')$
  
  ### Détection de l'unicité
  
  Le résultat d'existence et unicité de solution ci-dessus permet de mettre au point un algorithme détectant l'unicité de solution du problème $(P_{f})$.
  
  Détection de l'unicité —
  
  * On résout le problème d'optimisation linéaire $(P_{f}')$ par un solveur fournissant une solution strictement complémentaire (lorsqu'une solution existe : cas 3 et 4 ci-dessous).
  * Si la valeur optimale $\operatorname {val} (P_{f}')=+\infty$, alors $\operatorname {val} (P_{f})=0$ et
     * soit $J\neq \varnothing$, auquel cas $\operatorname {Sol} (P_{f})=D(\mathbb {R} _{+}^{|J|})$ (la solution n'est pas unique),
     * ou $J=\varnothing$, auquel cas $\operatorname {Sol} (P_{f})=\{0\}$ (la solution est unique).
  * Si la valeur optimale $\operatorname {val} (P_{f}')=0$, alors $\operatorname {val} (P_{f})=+\infty$ (le problème est non borné).
  * Sinon $0<\operatorname {val} (P_{f}')<+\infty$, auquel cas $\operatorname {val} (P_{f})=1/\operatorname {val} (P_{f}')$. Soit $(({\bar {\alpha }},{\bar {\beta }},{\bar {t}}),({\bar {y}},{\bar {s}},{\bar {u}},{\bar {v}}))$ la solution primale-duale strictement complémentaire calculée par le solveur. Alors ${\bar {x}}=(C{\bar {\alpha }}+D{\bar {\beta }})/{\bar {t}}$ est une solution de $(P_{f})$ et celle-ci est unique si, et seulement si, $\operatorname {Ker} {(A)}\cap \operatorname {Im} {(C_{I_{+}}\;D_{J_{+}})}=\{0\},$ où $I_{+}:=\{i\in I\mid {\bar {\alpha }}_{i}>0\}$ et $J_{+}:=\{j\in J\mid {\bar {\beta }}_{j}>0\}$.
  