Dualité Introduction à la dualité. Construction du couple primal-dual.

Slides:



Advertisements
Présentations similaires
7. Probème de flot à coût minimum.
Advertisements

Programmation linéaire et Recherche opérationnelle
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
LES NOMBRES PREMIERS ET COMPOSÉS
[number 1-100].
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Résolution Graphique d'un Programme Linéaire
La Méthode de Simplexe Standardisation
Licence pro MPCQ : Cours
Distance inter-locuteur
3. Variantes de l’algorithme
2. Méthodes du simplexe et son analyse.
Fonctions & procédures
Les numéros
Les identités remarquables
Génération de colonnes
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
Introduction Modélisation Utilisation dun ensemble de relations mathématiques pour refléter le plus adéquatement possible une situation réelle Compromis.
-17 Anticipations économiques en Europe Septembre 2013 Indicateur > +20 Indicateur 0 a +20 Indicateur 0 a -20 Indicateur < -20 Union européenne total:
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Application des algorithmes génétiques
Cours de physique générale I Ph 11
Sémantique axiomatique
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
Programmation linéaire
Optimisation linéaire
1.2 COMPOSANTES DES VECTEURS
Détection de co-évolution de gènes Master 2 : Informatique à Finalité Professionnelle et Recherche Unifiée (IFPRU) Parcours Ingénierie de lIntelligence.
Titre : Implémentation des éléments finis sous Matlab
Le point le plus près Montage préparé par : André Ross
Tableaux de distributions
Tableaux de distributions
LES NOMBRES PREMIERS ET COMPOSÉS
1 INETOP
7. Problème de flot à coût minimum.
RACINES CARREES Définition Développer avec la distributivité Produit 1
Représentation des systèmes dynamiques dans l’espace d’état
Systèmes mécaniques et électriques
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Courbes de Bézier.
Programmation linéaire en nombres entiers : la méthode du simplexe
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
1.1 LES VECTEURS GÉOMÉTRIQUES
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
L’OFFRE ET LA DEMANDE.
Titre : Implémentation des éléments finis en Matlab
Résoudre une équation du 1er degré à une inconnue
Programmation dynamique
Programmation linéaire en nombres entiers : les méthodes de troncature
l’algorithme du simplexe
ASI 3 Méthodes numériques pour l’ingénieur
Elaboré par M. NUTH Sothan 1. 2 Soit x, y et z des coordonnées cartésiennes à 3 dimension. G un ensemble de points dans le plan (u, v). Déf. : On appelle.
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
* Source : Étude sur la consommation de la Commission européenne, indicateur de GfK Anticipations.
Equation différentielle
Equation différentielle de 2ème ordre
Exercice de vérification 1 p
Les Chiffres Prêts?
Programmation linéaire en nombres entiers
6. Problème de flot à coût minimum.
Post-optimisation, analyse de sensibilité et paramétrage
2. Méthode du simplexe et son analyse.
programmation linéaire
3. Variantes de l’algorithme
1. Méthode du simplexe et son analyse.
Transcription de la présentation:

Dualité Introduction à la dualité. Construction du couple primal-dual. Théorèmes de dualité. Écarts complémentaires. Algorithme dual du simplexe. Détermination d’une solution de base "duale-réalisable" de départ. Algorithme primal-dual du simplexe.

Un fermier veut nourrir ses animaux au moindre coût en Introduction Un fermier veut nourrir ses animaux au moindre coût en respectant des contraintes sur les éléments nutritifs. Soient xj = nombre d'unités d'aliment de type j retenues, cj = coût d'une unité d'aliment de type j, aij = quantité d'élément nutritif i dans une unité d'aliment de type j (naturel ou artificiel), ∑aijxj ≥ bi, i = 1, 2, ..., m j la quantité d'élément nutritif i seuil minimal d’élément nutritif i Min ctx Problème du consommateur : Sujet à Ax  b x  0

Prix d’une unité d’aliment de type j. Par ailleurs, une compagnie fabrique des aliments artificiels que le fermier peut acheter. Chacun de ces aliments artificiels contient un élément nutritif à l’état pur. La compagnie veut déterminer les prix de ses aliments artificiels, donc de chaque élément nutritif : i : prix d’une unité d’élément nutritif i, - en maximisant son profit potentiel bt. - en demeurant compétitive avec les autres aliments, m ∑aijli ≤ cj i=1 Prix d’une unité d’aliment de type j.

Problème du consommateur Problème du producteur Min ctx Max bt (P) Sujet à Ax  b x  0 (D) Sujet à At  c   0. (D) est le dual de (P) et vice versa. Nous verrons aussi qu’à l’optimum, les 2 problèmes ont la même valeur de l’objectif. De plus, en résolvant l’un, on résout automatiquement l’autre.

Construction du couple primal-dual Contraintes d’inégalité : (4.2.2) Forme standard : (4.2.4)

Théorèmes de dualité

Remarque : Par le biais de la preuve du théorème 4.3.2, on voit que le vecteur = B-1t cB des multiplicateurs du simplexe, disponible lorsqu'on résout le primal, est solution optimale du dual (lorsque le primal est à l'optimum).

Exemple : Min -x -4y -3z 2x + 2y +z ≤ 4 x + 2y +2z ≤ 6 x, y, z ≥ 0. Après avoir introduit les variables d'écart, l'application de l'algorithme du simplexe donne successivement: x y z u v 2 2 1 1 0 4 1 2 2 0 1 6 -1 -4 -3 0 0 x y z u v 1 1 1/2 1/2 0 2 -1 0 1 -1 1 2 3 0 -1 2 0 -8

x y z u v 3/2 1 0 1 -1/2 1 -1 0 1 -1 1 2 2 0 0 1 1 -10 La solution optimale pour ce problème est: x = 0, y = 1, z = 2. Le problème dual s'écrit: Max 4s + 6t 2s + t ≤ -1 2s + 2t ≤ -4 s + 2t ≤ -3 s, t ≤ 0. Les valeurs optimales pour (s,t) se déduisent facilement à partir du tableau final ci-dessus: s -4 1 -1 -½ 1 -1 = = t -3 -1

Si l’un des problèmes n’admet pas de solutions réalisables, on ne peut pas conclure que l’objectif de l’autre problème est non bornée. ensemble vide

Écarts complémentaires Le théorème de dualité peut s'énoncer sous d'autres formes équivalentes à la précédente, et aidant à comprendre la structure des couples de programmes duaux optimaux. L'importance de ces résultats deviendra apparent lorsque d'autres algorithmes seront proposés pour résoudre le problème (4.2.3).

Algorithme dual du simplexe 1ière approche : Remplacer la résolution du problème posé par celle de son dual. Avantageux lorsque le problème posé comporte plus de contraintes que d’inconnues. 2ième approche : Démarche duale Partir d’une solution irréalisable satisfaisant aux critères d’optimalité, calculer une suite de solutions primales irréalisables vérifiant constamment ces critères et aboutissant éventuellement à une solution primale-réalisable laquelle sera optimale. L’algorithme dual du simplexe s’applique au primal et non au dual.

Considérons le problème primal sous forme standard Min ctx sujet à Ax = b x ≥ 0. Soit x = [x1, x2, ..., xm, 0, 0, ..., 0]t une solution de base du primal et dénotons xB = [x1, x2, ..., xm]t = B-1b le vecteur des variables de base. Supposons que les coûts relatifs pour cette base sont tous non négatifs: cj = cj - πta.j = 0, j = 1, 2, ..., m cj = cj - πta.j > 0, j = m+1, m+2, ..., n. Les multiplicateurs du simplexe associés à cette base constituent une solution réalisable pour le dual Atπ  c. xB est appelé solution «duale-réalisable» de base. Si cette solution de base est aussi réalisable (c'est-à-dire «primale-réalisable»: xB = B-1b ≥ 0), c'est une solution optimale de base du primal.

L'algorithme dual du simplexe part d'une solution de base «duale-réalisable» mais irréalisable pour le primal, et fait décroître, de façon itérative, le # des variables négatives tout en maintenant à chaque itération les critères d'optimalité.

(i) bty = btπ – ebk.b = btπ - exk > btπ, pour tout e > 0. Si xk < 0 et les coûts relatifs non négatifs, alors il existe une solution réalisable y = π – ebtk. pour le problème dual telle que bty > btπ où bk. est la kième ligne de B-1. Preuve : (i) bty = btπ – ebk.b = btπ - exk > btπ, pour tout e > 0. Pour que y soit réalisable pour le dual, il faut que cj – yta.j  0 j = 1, 2, …, n i.e. cj - πta.j + ebk.a.j  0 j = 1, 2, …, n. 0 si 1  j  m; j  k Or, cj - πta.j + ebk.a.j = e si j = k cj - πta.j + eakj si m < j  n. Il s’ensuit que y est réalisable pour le dual si : cj - πta.j + eakj  0 si m < j  n avec e > 0.

Si akj  0 pour tout j, m < j  n alors y est une solution réalisable pour le dual e > 0, par conséquent, le dual n’est pas borné supérieurement et l’ensemble réalisable du primal est vide sinon la plus grande valeur de e > 0 est : e = Min cj - πta.j cs - πta.s - cs m < j  n - akj - aks aks akj < 0 = = BREF, Ce choix de y nous donne une solution réalisable pour le dual, améliorant la fonction objective du dual, satisfaisant les critères d’optimalité du primal et réduisant le nombre de variables de base négatives.

Énoncé de l’algorithme dual du simplexe

Remarque : Cette méthode est particulièrement utilisée dans le contexte où après avoir déterminé une solution optimale d'un problème PL, on modifie le membre de droite et on veut connaître une solution optimale (s'il en existe une) du problème perturbé.

+

Détermination d’une solution de base "duale-réalisable" de départ. Très souvent, on applique l'algorithme dual du simplexe parce que les conditions initiales requises pour cette application sont réalisées (cj ≥ 0). C'est le cas, en particulier, dans certains problèmes paramétriques et de post-optimisation. Il peut cependant exister d'autres circonstances dans lesquelles on désire utiliser l'algorithme dual alors qu'on ne connaît pas a priori de solution de base «duale-réalisable». Procédure : Soit une base B du primal, construisons le tableau du simplexe relatif à cette base B.

Cette procédure n’est pas utile lorsqu’une variable d’écart ou de surplus a dû être ajoutée à chaque contrainte du primal et que c  0. Note :

L’application de l’algorithme dual au problème augmenté conduit à l’un des 3 cas suivants : 1e cas: Le problème augmenté n’a pas de solution réalisable Il en est de même du problème original. 2ième cas: Le problème augmenté a une solution optimale et x0 est une variable de base. Nous avons une solution optimale pour le problème original. 3ième cas: Le problème augmenté a une solution optimale et x0 n’est pas une variable de base. Les variables de base dépendent de M et le problème original n’a en général pas de solution optimale finie. Note : Dès que x0 entre dans la base, nous avons une solution de base duale-réalisable du primal, on peut supprimer la ligne relative à x0 et continuer l’application de l’algorithme dual.

Algorithme primal-dual du simplexe Principe de la méthode : - consiste à travailler simultanément sur les problèmes primal et dual; - partant du dual et d'une solution irréalisable du primal, choisie de façon que le théorème des écarts complémentaires soit satisfait, cette méthode «améliore» de façon itérative la solution du primal; - lorsque celle-ci devient primale-réalisable, la solution est optimale.

Étapes de l’algorithme :

Énoncé de l’algorithme primal-dual du simplexe

(1e cas ) (2ième cas )

1e cas : uta.j ≤ 0 pour tout j = 1, 2, ..., n Dans le but de déterminer un nouveau point réalisable du problème dual (4.8.2), considérons le vecteur y + e u : 1e cas : uta.j ≤ 0 pour tout j = 1, 2, ..., n

2ième cas :  j tel que uta.j > 0

EXEMPLE

B-1t cB

a.2 = B-1a.2 1 –1/8 0 1/8 1 -1 = 9/8 -1/8 = cx2 = cx2 – cBt B-1 a.2 = 0 – (1 0) 1 -1/8 1 = -9/8. 0 1/8 -1