Dualité (optimisation)
Modèle:Voir homonymes En théorie de l'optimisation, la dualité ou principe de dualité désigne le principe selon lequel les problèmes d'optimisation peuvent être vus de deux perspectives, le problème primal ou le problème dual, et la solution du problème dual donne une borne inférieure à la solution du problème (de minimisation) primal[1]. Cependant, en général les valeurs optimales des problèmes primal et dual ne sont pas forcément égales : cette différence est appelée saut de dualité. Pour les problèmes en optimisation convexe, ce saut est nul sous contraintes.
Problème dual
Le terme de problème dual renvoie généralement au problème dual de Lagrange mais d'autres existent – comme le problème dual de Wolfe ou de Fenchel. Le problème dual de Lagrange est obtenu en écrivant le Lagrangien d'un problème de minimisation avec des multiplicateurs de Lagrange positifs pour ajouter les contraintes à la fonction objectif puis en résolvant sur les variables primales qui minimisent la fonction objectif originale. Cette solution donne les variables primales comme fonctions des multiplicateurs de Lagrange, appelés variables duales, et le nouveau problème consiste à maximiser la fonction objectif sur les variables duales sous les contraintes dérivées sur ces variables duales (comptant au minimum les contraintes non négatives).
En général, avec deux paires d'espaces localement convexes séparés Modèle:Math et Modèle:Math et la fonction Modèle:Math, on peut définir le problème primal ainsi : déterminer vérifiant Ainsi, si existe, est le minimum de la fonction Modèle:Mvar et l'infimum (plus grand minorant) de la fonction est atteint.
S'il y a des contraintes, on peut modifier la fonction objectif Modèle:Mvar en avec Modèle:Math une fonction convenable sur Modèle:Mvar qui atteint son minimum, égal à 0, quand les contraintes sont satisfaites, ce qui permet de prouver que . Cette dernière condition est trivialement, mais pas toujours de façon idéale, satisfaite pour la fonction indicatrice (i.e. Modèle:Math avec Modèle:Mvar satisfaisant les contraintes et Modèle:Math sinon). On étend alors en une fonction de perturbation Modèle:Math telle que [2].
Le saut de dualité est la différence entre les deux terme de l'inégalité
où Modèle:Math est le conjugué convexe sur les deux variables et Modèle:Math désigne le supremum (plus petit majorant)[2]Modèle:,[3]Modèle:,[4].
Saut de dualité
Le saut de dualité désigne la différence entre les valeurs prises par les problèmes primal et dual aux points solutions. Si Modèle:Math est la valeur optimale duale et Modèle:Math est la valeur primale optimale, le saut de dualité vaut Modèle:Math. Cette valeur est toujours positive ou nulle, et ne s'annule que si et seulement si les conditions de dualité forte sont vérifiées ; sinon, le saut est strictement positif et on parle de dualité faible[5].
En optimisation numérique, un autre saut de dualité est évoqué : la différence des valeurs entre une solution duale et la valeur d'une solution primale admissible mais sous-optimale. Ce saut alternatif quantifie la différence entre la valeur d'un itéré admissible mais sous-optimal pour le problème primal et la valeur du problème dual ; la valeur du problème dual est, sous conditions de régularité, égale à la valeur de relaxation convexe du problème primal : la relaxation convexe est le problème levé en remplaçant un ensemble admissible non convexe par son enveloppe convexe fermée et en remplaçant une fonction non convexe par sa fermeture convexe, ainsi la fonction a l'épigraphe qui est l'enveloppe convexe fermée de la fonction objectif primale d'origine[6]Modèle:,[7]Modèle:,[8]Modèle:,[9]Modèle:,[10]Modèle:,[11]Modèle:,[12]Modèle:,[13]Modèle:,[14]Modèle:,[15]Modèle:,[16].
Cas linéaire
Modèle:Article détaillé Les problèmes d'optimisation linéaire sont des problèmes d'optimisation dans lesquels la fonction objectif et les contraintes sont toutes linéaires. Dans le problème primal, la fonction objectif est une combinaison linéaire de Modèle:Mvar variables. Il y a Modèle:Mvar contraintes, qui chacune place une majoration sur une combinaison linéaire des Modèle:Mvar variables. Le but est de maximiser la valeur de la fonction objectif soumise aux contraintes. Une solution sera alors un vecteur de Modèle:Mvar valeurs qui atteint le maximum possible pour la fonction objectif.
Dans le problème dual, la fonction objectif est une combinaison linéaire des Modèle:Mvar valeurs qui sont limites sur les Modèle:Mvar contraintes pour le problème primal. Il y a donc Modèle:Mvar contraintes duales, chacune plaçant une minoration sur une combinaison linéaire des Modèle:Mvar variables duales.
Relation entre les problèmes primal et dual
Dans le cas linéaire, pour le problème primal, pour chaque point sous-optimal satisfaisant toutes les contraintes, il y a une direction ou sous-espace de directions à déplacer qui augmente la valeur de la fonction objectif. Déplacer dans une de ces directions est supposé supprimer une erreur entre la solution candidate et une ou plusieurs contraintes. Une valeur non admissible de la solution candidate provoque un excès sur une ou plusieurs contraintes.
Dans le problème dual, le vecteur dual multiplie les contraintes qui déterminent les positions des contraintes dans le primal. Faire varier le vecteur dual dans le problème dual est équivalent à revoir les majorants du problème primal. Le plus petit majorant est recherché. Ainsi, le vecteur dual est minimisé de façon à diminuer la marge entre les positions candidates des contraintes et le véritable optimum. Une valeur non admissible du vecteur dual est une qui serait trop basse. Elle place les positions candidates d'une ou plusieurs contraintes dans une position qui exclut l'optimum recherché.
Cas non linéaire
En optimisation non linéaire, les contraintes ne sont pas nécessairement linéaires. Certaines idées directrices restent applicables.
Pour assurer que le maximum global d'un problème non linéaire soit facilement identifié, la formulation du problème demande souvent que les fonctions soient convexes et des ensembles faiblement compacts.
C'est ce qu'on retrouve à travers les conditions de Karush-Kuhn-Tucker. Elles donnent des conditions nécessaires pour identifier des optima locaux de problèmes d'optimisation non linéaire. Il y a des conditions supplémentaires (qualifications de contrainte) qui sont nécessaires de sorte qu'il sera possible de définir la direction vers une solution optimale. Cette solution optimale sera un optimum local, pas forcément global.
Principe de Lagrange fort : dualité de Lagrange
Modèle:Ancre Soit un problème d'optimisation non linéaire dans sa forme standard
dans le domaine non vide, le lagrangien est défini par
Les vecteurs Modèle:Mvar et Modèle:Mvar sont appelés variables duales ou vecteurs multiplicateurs de Lagrange associés au problème. La fonction duale de Lagrange est définie par :
La fonction duale Modèle:Mvar est concave, même si le problème initial n'est pas convexe, car c'est l'infimum ponctuel de fonctions affines. La fonction duale a des bornes inférieures sur la valeur optimale Modèle:Math du problème initial ; pour tout Modèle:Math et tout Modèle:Mvar, on a Modèle:Math.
Si une contrainte telle que la condition de Slater est vérifiée et que le problème original est convexe, on a alors une dualité forte :
- .
Problèmes convexes
Pour un problème de minimisation convexe avec contraintes d'inégalité,
on peut utiliser plusieurs versions du problème dual :
- Problème dual de Lagrange
où la fonction objectif est la fonction duale de Lagrange. Sachant que les fonctions Modèle:Mvar et Modèle:Math sont continûment dérivables, l'infimum est le point où le gradient s'annule.
- Problème dual de Wolfe
Ce problème peut être difficile à résoudre numériquement car la fonction objectif n'est pas concave en tout point Modèle:Math. De même, la contrainte d'égalité est non linéaire en général, ainsi le problème dual de Wolfe est typiquement un problème d'optimisation non convexe. Dans tous les cas, on a une dualité faible[17].
- Problème dual de Fenchel
Modèle:... Pour un problème de minimisation
le problème dual de Fenchel s'écrit :
où Modèle:Math et les Modèle:Math désignent les conjuguées de Fenchel-Legendre respectives de Modèle:Mvar et Modèle:Mvar :
Cette approche est notamment utilisée dans les algorithmes de lissage pour le traitement du signal et le traitement d'image[18].
Dans la littérature, il en est régulièrement fait mention sous le nom de dualité de Fenchel-Rockafellar. Pour plus de détails, voir la page Wikipédia anglaise : Fenchel's duality theorem.
Histoire
Selon George Dantzig, le théorème de dualité pour l'optimisation linéaire a été conjecturé par John von Neumann immédiatement après que Dantzig a présenté les problèmes d'optimisation linéaire. Von Neumann note qu'il utilise l'information de sa théorie des jeux, et suppose qu'un jeu matriciel à deux personnes à somme nulle est équivalent à un problème d'optimisation linéaire. Des preuves rigoureuses ont d'abord été publiés en 1948 par Albert W. Tucker et son groupe (préambule de Dantzig à Nering et Tucker, 1993).
Voir aussi
Notes
Modèle:Traduction/Référence Modèle:Références
Références
Ouvrages
- Modèle:Ouvrage
- Modèle:Ouvrage
- Modèle:Ouvrage
- Modèle:Ouvrage
- Modèle:Ouvrage
- Modèle:Ouvrage
- Modèle:Ouvrage
- Modèle:Ouvrage
- Modèle:Ouvrage
- Modèle:Ouvrage
- Modèle:Ouvrage
- Modèle:Ouvrage
- Modèle:Ouvrage
- Modèle:Ouvrage
- Modèle:Ouvrage
- Modèle:Ouvrage
Articles
- Modèle:Article
- Modèle:Article
- Duality in Linear Programming Gary D. Knott
- ↑ Modèle:Ouvrage
- ↑ 2,0 et 2,1 Modèle:Ouvrage
- ↑ Modèle:Ouvrage
- ↑ Modèle:Ouvrage
- ↑ Modèle:Ouvrage
- ↑ Modèle:Ouvrage
- ↑ Modèle:Ouvrage
- ↑ Modèle:Ouvrage
- ↑ Modèle:Ouvrage
- ↑ Modèle:Ouvrage
- ↑ Modèle:Ouvrage
- ↑ Modèle:Ouvrage
- ↑ Modèle:Ouvrage
- ↑ Modèle:Ouvrage
- ↑ Modèle:Ouvrage
- ↑ Modèle:Ouvrage
- ↑ Modèle:Article
- ↑ Modèle:Article