Recherche opérationnelle. Programmation linéaire et recherche opérationnelle. Programmation linéaire. Des problèmes de RO que vous savez résoudre

Documents pareils
Programmation linéaire

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Programmation Linéaire - Cours 1

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Programmation linéaire et Optimisation. Didier Smets

Programmation linéaire

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Optimisation Discrète

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Cours de recherche opérationnelle I

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

LES MÉTHODES DE POINT INTÉRIEUR 1

Travaux dirigés n 1. Programmation linéaire

Cours 02 : Problème général de la programmation linéaire

RECHERCHE OPERATIONNELLE

Chapitre 5 : Flot maximal dans un graphe

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Programmation linéaire

Sujet 4: Programmation stochastique propriétés de fonction de recours

Rappels sur les suites - Algorithme

Théorie et codage de l information

Optimisation et programmation mathématique. Professeur Michel de Mathelin. Cours intégré : 20 h

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

Chp. 4. Minimisation d une fonction d une variable

3 Approximation de solutions d équations

FIMA, 7 juillet 2005

Les indices à surplus constant

Exercices Corrigés Premières notions sur les espaces vectoriels

INFO-F Algorithmique 3 et Recherche Opérationnelle

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Théorèmes de Point Fixe et Applications 1

aux différences est appelé équation aux différences d ordre n en forme normale.

BACCALAUREAT GENERAL MATHÉMATIQUES

Résolution de systèmes linéaires par des méthodes directes

CCP PSI Mathématiques 1 : un corrigé

Approximations variationelles des EDP Notes du Cours de M2

Chapitre 1 : Évolution COURS

Chapitre 2/ La fonction de consommation et la fonction d épargne

Mathématiques appliquées à l'économie et à la Gestion

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Eléments de Théorie des Graphes et Programmation Linéaire

CHAPITRE 5. Stratégies Mixtes

Chapitre 3. Les distributions à deux variables

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Cours d Analyse. Fonctions de plusieurs variables

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

EXERCICES - ANALYSE GÉNÉRALE

LE PROBLEME DU PLUS COURT CHEMIN

Feuille TD n 1 Exercices d algorithmique éléments de correction

Lagrange, où λ 1 est pour la contrainte sur µ p ).

PEUT-ON «VOIR» DANS L ESPACE À N DIMENSIONS?

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Fonctions de plusieurs variables

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Fonctions linéaires et affines. 1 Fonctions linéaires. 1.1 Vocabulaire. 1.2 Représentation graphique. 3eme

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

Resolution limit in community detection


Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

Définitions. Numéro à préciser. (Durée : )

La fonction exponentielle

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Fonctions de deux variables. Mai 2011

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

ARBRES BINAIRES DE RECHERCHE

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Cours de Probabilités et de Statistique

Rupture et plasticité

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Les algorithmes de base du graphisme

Annexe 6. Notions d ordonnancement.

Quantification Scalaire et Prédictive

PRIME D UNE OPTION D ACHAT OU DE VENTE

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Chapitre 7. Récurrences

Arbres binaires de décision

Dualité dans les espaces de Lebesgue et mesures de Radon finies

CHAPITRE VIII : Les circuits avec résistances ohmiques

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Représentation d un entier en base b

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

DOCM Solutions officielles = n 2 10.

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Programmation mathématique Discrète et Modèles Linéaires

Enjeux mathématiques et Statistiques du Big Data

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Chapitre 5. Équilibre concurrentiel et bien-être

Transcription:

Recherche opérationnelle Programmation linéaire et recherche opérationnelle Ioan Todinca Ioan.Todinca@univ-orleans.fr tél. 0 38 41 7 93 bureau : en bas à gauche Tentative de définition Ensemble de méthodes (algorithmiques, mathématiques, modélisation) afin de prendre des décisions optimales ou proches de l optimum dans des problèmes complexes, qui traitent de la maximisation d un profit ou la minimisation d un coût. Comment aller le plus vite d Orléans à Berlin, en voiture? Comment ordonnancer les tâches d un projet en fonction de la main d œuvre, tout en minimisant sa durée? Comment investir ses 1000 euros d économie de sorte à maximiser le profit obtenu après deux ans? 1/56 /56 Des problèmes de RO que vous savez résoudre Programmation linéaire Trouver un (plus court) chemin entre deux villes plus courts chemins dans les graphes Broadcast de coût minimum dans un réseau arbres recouvrants de poids minimum. Envoi d un maximum d information dans un réseau problème du flot maximum. Les problèmes de programmation linéaire (PL) sont des problèmes d optimisation où la fonction objectif et les contraintes sont toutes linéaires. Modélisation d un problème réel Si l on constate que ce problème s exprime comme un PL, le résoudre 3/56 4/56

Pourquoi un cours sur la programmation linéaire? Plan du cours Objectif : apprendre à modéliser les problèmes réels et à résoudre les programmes linéaires. De nombreux problèmes réels peuvent être exprimés comme des programmes linéaires. Les programmes linéaires peuvent être résolus efficacement par certains algorithmes. Ce sont d excellents exemples de questions pratiques dont la résolution nécessite une combinaison de méthodes algorithmiques, de mathématiques élémentaires et de bon sens. 1. Introduction + une approche naïve : la méthode graphique. L algorithme du simplexe 3. Simplexe : comment éviter les pièges 4. Dualité 5. Programmation linéaire en nombres entiers Bibliographe : [V. Chvátal, Linear Programming] 5/56 6/56 Un exemple : le problème Le même exemple après modélisation Considérons un agriculteur qui possède des terres, de superficie égale à H hectares, dans lesquelles il peut planter du blé et du maïs. L agriculteur possède une quantité E d engrais et I d insecticide. Le blé nécessite une quantité E b d engrais par hectare et I b d insecticide par hectare. Les quantités correspondantes pour le maïs sont notées E m et I m. Soit P b le prix de vente du blé et P m celui du maïs. Si l on note par x b et x m le nombre d hectares à planter en blé et en maïs, comment exprimer le fait que l agriculteur souhaite maximiser son gain, tout en restant dans les limites de ses ressources? maximiser P b x b + P m x m (maximiser le revenu net) contraintes x b + x m H (surface) x b 0 x m 0 E b x b + E m x m E (engrais) I b x b + I m x m I (insecticide) 7/56 8/56

Programme linéaire : définition Variables réelles : x 1, x,..., x n Fonction objectif linéaire, à optimiser (min ou max) : z = c 1 x 1 + c x + + c n x n Contraintes linéaires (égalités ou inégalités) : a 11 x 1 + a 1 x + + a 1n x n b 1 a 1 x 1 + a x + + a n x n b a m1 x 1 + a m x + + a mn x n = b m Solution : toute affectation des variables qui respecte les contraintes Solution optimale : solution qui optimise (maximise ou minimise) la fonction objectif. 9/56 Un autre exemple Vous disposez de 10000 euros que vous souhaitez investir. Votre banque vous propose trois types d investissements. Pour l investissement A le rendement est de 9% et la somme maximum que l on peut investir est de 4000 euros. Pour l investissement B on peut investir jusqu à 5000 euros, avec un rendement de 4%. Enfin le produit C a un rendement de 8% pour un montant maximum de 5000 euros. 1. Exprimer ce problème comme un PL. Donner la solution optimale.. La banque change d avis. Si vous souhaitez faire un investissement (A, B ou C) il faut y mettre la somme exacte (respectivement 4000, 5000, et 5000 euros). Mettre à jour votre modèle ; est-ce toujours un PL? 10/56 La méthode graphique La méthode graphique Idée : représenter graphiquement les contraintes et visualiser l ensemble des solutions. Identifier une solution optimale. Exemple : max x 1 + x contraintes : x 1 + x 14 x 1 x 8 x 1 x 10 x 1 0 x 0 Variables : x et y (ou x 1 et x ). L ensemble de points qui satisfont une équation (égalité) linéaire forme une droite. Les points qui satisfont une inégalité linéaire forment un demi-plan. L ensemble des solutions d un ensemble de contraintes : polygone convexe. Solution optimale (si elle existe) : sommet du polygone. 11/56 1/56

Trois variables ou plus Questions Variables : x 1,..., x n L ensemble de points qui satisfont une équation (égalité) linéaire forme un hyperplan. Les points qui satisfont une inégalité linéaire forment un demi-espace. L ensemble des solutions d un ensemble de contraintes : polyèdre convexe. Solution optimale (si elle existe) : sommet du polyèdre. Limites : précision ; maximum 3 variables. Si vous arrivez à visualiser un PL avec 4 variables ou plus... pensez à consulter un bon psy. Donner un exemple de programme linéaire qui n a pas de solution. Proposer un PL qui a des solutions, mais pas de solution optimale. Proposer un PL qui a plusieurs solutions optimales. Essayer de résoudre par la méthode graphique le système suivant : objectif : max x + y contraintes : x + y 1 x 0, y 0 13/56 14/56 Algorithme du simplexe PL sous forme standard [G. Dantzig, 1947] Algorithme de résolution de programmes linéaires Facile à comprendre et à implanter Efficace en pratique, même pour un nombre important de variables et de contraintes Efficacité au pire cas : on en reparlera, voir aussi cours d algorithmique. max contraintes : a ij x j b i x j 0 i = 1,,..., m j = 1,,..., n Question : comment mettre un problème quelconque sous forme standard? 15/56 16/56

Simplexe : un exemple Variables d écart PL équivalent : max 5x 1 + 4x + 3x 3 contraintes x 1 + 3x + x 3 5 4x 1 + x + x 3 11 3x 1 + 4x + x 3 8 x 1, x, x 3 0 x 4 = 5 x 1 3x x 3 x 5 = 11 4x 1 x x 3 x 6 = 8 3x 1 4x x 3 z = 5x 1 + 4x + 3x 3 max z, sous contraintes : x 1, x, x 3, x 4, x 5, x 6 0 Solution initiale : x 1 = x = x 3 = 0, x 4 = 5, x 5 = 11, x 6 = 8 ; z = 0. Si on augmente x 1, ça augmente z! 17/56 18/56 Augmenter x 1 Nouveau dictionnaire 1. De combien? x 1 5 car x 4 = 5 x 1 3x x 3 0.. Nouvelle solution? x 1 = 1, x = x 3 = x 4 = 0, x 5 = 1, x 6 = 1 ; z = 5. 3. Reformuler le système afin d exprimer les variables x 1, x 5, x 6 en fonction de x, x 3, x 4. x 1 = 5 3 x 1 x 3 1 x 4 x 1 = 5 3 x 1 x 3 1 x 4 x 5 = 1 + 5x + x 4 x 6 = 1 + 1 x 1 x 3 + 3 x 4 z = 5 7 x + 1 x 3 5 4 x 4 Augmenter qui? De combien? Qu obtient-on? x 3 x 3 = 1 (x 6 =... ) à droite : x, x 3, x 6 19/56 0/56

Nouveau dictionnaire (et de trois...) Entrée : Algorithme du simplexe : cas général x 3 = 1 + x + 3x 4 x 6 x 1 = x x 4 + x 6 x 5 = 1 + 5x + x 4 z = 13 3x x 4 x 6 Solution actuelle : x = x 4 = x 6 = 0, x 1 =, x 3 = 1, x 5 = 1 ; objectif : z = 13 Peut-on faire mieux? Non car x, x 4, x 6 0 et donc z 13 max contraintes : a ij x j b i i = 1,,..., m x j 0 j = 1,,..., n On introduit m variables d écart : x n+i = b i a ij x j (i = 1..., m) La ième contrainte devient x n+i 0. 1/56 /56 Premier dictionnaire Dictionnaires : un peu de vocabulaire x n+i = b i z = a ij x j (i = 1,..., m) max z, sous contraintes : x k 0 (k = 1,... n + m) Dictionnaires : équivalents au PL d origine n + m + 1 variables x 1,..., x n+m et z m équations linéaires de type x k =... tous les membres droits ont les mêmes n variables objectif : max z sous contraintes ci-dessus plus x k 0 (k = 1,... n + m) 3/56 x 4 = 5 x 1 3x x 3 x 5 = 11 4x 1 x x 3 x 6 = 8 3x 1 4x x 3 z = 5x 1 + 4x + 3x 3 Dictionaire faisable : en mettant à 0 toutes les variables des membres droits, on obtient une solution du PL On suppose que notre premier dictionnaire est faisable Nous verrons plus tard comment faire pour que ce soit toujours le cas Variables de gauche (sauf z) : variables de base x 4, x 5, x 6 Variables de droite : variables hors base x 1, x, x 3 4/56

Vers une meilleure solution x 4 = 5 x 1 3x x 3 x 5 = 11 4x 1 x x 3 x 6 = 8 3x 1 4x x 3 z = 5x 1 + 4x + 3x 3 1. Solution courante : variables hors base à 0. Trouver une variable hors base x k dont le coefficient dans l expression de z soit strictement positif. 3. S il n en existe pas, la solution courante est optimale! 4. Trouver la contrainte la plus forte pour l augmentation de x k ; soit x l = cette contrainte. 5. Augmenter x k jusqu à ce que l on ait x l = 0. 6. Exprimer x k en fonction de x l et des autres variables hors base. 7. Mettre à jour le dictionnaire, en faisant rentrer x k dans la Algorithme du simplexe Initialisation : introduire les variables d écart et calculer un premier dictionnaire faisable ; mettre à 0 les variables hors base tantque il existe une variable hors base x k ayant un coeff positif dans l expression de z faire soit x l = la contrainte la plus contraignante pour augmenter x k pivoter afin de sortir x l de la base en y faisant rentrer x k retourner la solution courante nouvelle base et en sortant x l. 5/56 6/56 Simplexe : un deuxième exemple Mise sous forme standard max 5x 1 + 5x + 3x 3 contraintes x 1 + 3x + x 3 3 x 1 + 3x 3 x 1 x + x 3 4 x 1 + 3x x 3 x 1, x, x 3 0 min z max z min x 1 + x contraintes x 1 + x = 10 x 1 x 10 x 1 0 a i x i = b a i x i b et a i x i b a i x i b a i x i b pas de contrainte x 0 on remplace x par x + x, avec x +, x 0 7/56 8/56

Simplexe : les pièges Itération 1. Difficulté à trouver une solution initiale. Itération : peut-on toujours augmenter strictement l objectif? 3. Terminaison, complexité. Choix de la variable qui entre dans la base. Choix de la variable qui sort de la base. Et si aucune contrainte ne limite l augmentation de la variable hors base? Peut-on toujours augmenter strictement l objectif? Non. Il se peut que l on ait une variable hors base avec coéfficient positif dans z, mais qu elle ne puisse être augmentée à cause d une contrainte. 9/56 30/56 Dictionnaires dégénérés Terminaison Une ou plusieurs variables de base ont une valeur nulle. On ne peut augmenter aucune variable hors base. On fait néanmoins un changement de base. La valeur de l objectif n augmente pas... mais ça devrait aller mieux dans quelques étapes. Lemme Si deux dictionnaires ont les mêmes variables de base, ils sont identiques. Théorème L algorithme du simplexe termine sur une solution optimale, ou alors il boucle. Les cas de bouclage sont très rares. Le bouclage est facile à détecter. Il existe des solutions simples pour éviter le bouclage, par exemple en choisissant à chaque itération comme variables sortante et entrante celles d indice minimum. 31/56 3/56

Complexité : nombre d itérations Initialisation : premier dictionnaire non faisable Dans la pratique : Le nombre d itérations est proportionnel au nombre de contraintes initiales (typiquement entre 3m/ et 3m). Croit très peu avec le nombre n de variables initiales. En théorie (au pire cas) : Il existe des exemples qui nécessitent n itérations [Klee, Minty 197]. Nombre ( ) de dictionnaires : autant que de bases possibles, donc n + m. m Trouver un autre dictionnaire faisable. Ou prouver que le problème n a pas de solution! La méthode du simplexe à deux phases : d une pierre deux coups. Introduction d un problème auxiliaire. En le résolvant, nous trouverons un dictionnaire faisable du problème initial ou bien nous saurons que notre problème n a pas de solution. 33/56 34/56 Initialisation : le problème auxiliaire Initialisation : exemple max contraintes : devient : a ij x j b i min x 0 x j 0 i = 1,,..., m j = 1,,..., n max x 1 x + x 3 contraintes x 1 x + x 3 4 x 1 3x + x 3 5 x 1 + x x 3 1 x 1, x, x 3 0 contraintes : a ij x j x 0 b i x j 0 i = 1,,..., m j = 0, 1,..., n 35/56 36/56

Simplexe : interprétation géométrique Simplèxe par les tableaux Observer graphiquement l évolution de l algorithme du simplexe sur cet exemple : max x 1 + x contraintes : x 1 + x 14 x 1 + x 8 x 1 x 10 x 1, x 0 Chaque solution intermédiaire du simplexe correspond à un sommet du polyèdre des contraintes. Les déplacements d une solution à la suivante se font le long des arêtes. max x 1 + x contraintes : x 1 + x 14 x 1 + x 8 x 1 x 10 x 1, x 0 Une autre vision du même algorithme Version très facilement implantable 37/56 38/56 D un tableau à l autre 1 0 14 1 0 8 0 1 10 1 0 0 0 Tableaux : changement de base 1 0 14 1 0 8 0 1 10 1 0 0 0 1 0 14 1 0 8 0 1 10 1 0 0 0 Choix de la colonne pivot : coefficient positif sur la dernière ligne. S il n en existe pas, l optimum est atteint : z = t[m + 1, n + m + 1]. Choix de la ligne pivot : celle qui minimise s i r i parmi toutes les lignes avec r i positif (r i, resp. s i sont les éléments de la ième ligne se trouvant sur la colonne pivot, resp. la dernière colonne.) 39/56 Diviser la ligne pivot par le coefficient pivot (pivot := 1) Annuler les autres coefficients de la colonne pivot : L i := L i r i L pivot 1 0 14 1 1 0 1 10 1 0 0 0 5 0 1 1 0 10 1 1 0 1 10 1 0 0 0 5 0 1 1 0 10 40/56

... et on recommence Dualité 5 0 1 1 0 10 1 1 3 1 0 0 1 14 3 0 0 1 0 4 5 1 5 1 1 3 1 0 0 1 14 3 0 0 1 0 4 5 1 5 1 0 1 5 5 0 6 3 1 0 0 1 14 3 0 0 1 0 4 5 1 5 1 0 1 5 5 0 6 0 0 3 1 5 5 1 8 3 0 0 1 0 4 5 1 5 1 0 1 5 5 0 6 0 0 3 1 5 5 1 8 0 0 3 5 1 5 0 10 41/56 Idée de base : associer au programme linéaire initial, appelé primal, un deuxième programme linéaire appelé le programme dual tel que : le dual a m variables (autant que de contraintes industrielles dans le primal) il a n contraintes industrielles (autant que de variables dans le primal) le dual est un problème de minimisation pour toute solution du dual et toute solution du primal, l objectif du dual est supérieur ou égal à celui du primal 4/56 Primal : max contraintes : Dual : min contraintes : a ij x j b i i = 1,,..., m x j 0 b i y i a ij y i c j y i 0 j = 1,,..., n j = 1,,..., n i = 1,,..., m 43/56 Théorème (Dualité faible) Pour toute solution du primal et toute solution du dual, z, l objectif du primal, est inférieur ou égal à w, l objectif du dual. Preuve: z = = ( a ij y i )x j contraintes dual :c j a ij y i commutativité, associativité ( a ij x j )y i contraintes primal : a ij x j b i b i y i = w objectif dual 44/56

Théorème (Dualité) Dualité et applications Si le primal a une solution optimale x 1,..., x n alors le dual a une solution optimale y 1,..., y m et, pour ces solutions, l objectif du primal est égal à l objectif du dual : c j xj = b i yi. Observation simple : le dual du dual est le primal. Donc le primal a une solution optimale si et seulement si le dual a une solution optimale. Question : que peut-il se passer si le primal (ou le dual) n a pas de solution, ou si le problème est non borné? 45/56 Applications du théorème de dualité Si le primal a beaucoup de contraintes et moins de variables, le simplexe sera plus efficace sur le problème dual! Le dernier dictionnaire du simplexe nous donnera simultanément une solution optimale pour le primal et pour le dual. Certification : si l on a les solutions du primal du dual, on vérifie facilement leur optimalité. Si l on a une solution du primal, on vérifiera assez facilement son optimalité! Interprétation économique : la solution optimale du dual nous dira s il est intéressant d investir plus pour augmenter certaines ressources. 46/56 Preuve du théorème de dualité Soit z = z + c j x i + c n+i x n+i l expression de z dans le dernier dictionnaire obtenu par le simplexe. On montre que := c n+i y i 1. est une solution admissible du dual ;. satisfait b i y i = z, c est donc une solution optimale du dual. D après le premier dictionnaire et d après le dernier z = z = z + + c n+i x n+i Par construction des dictionnaires, ces expréssions sont égales pour toute affectation des variables x i (même les affectations qui ne sont pas des solutions admissibles) 47/56 48/56

z = = z + + c n+i x n+i = z + yi x n+i = z + yi (b i a ij x j ) = (z b i y i ) + (c j + a ij yi )x j = dernier dico y i x n+i = b i = c n+i a ij x j comm., assoc. premier dico (z b i y i ) + (c j + En mettant x j := 0, j = 1,..., n on obtient donc b i y i = z, (objectif primal = objectif dual). w = z a ij y i )x j = 49/56 50/56 L égalité s écrit maintenant : (c j + a ij yi )x j = Pour prouver que les yi forment une solution du dual, remarquer que les coeffs de z dans le dernier dico sont 0 donc y i 0 ; Un prenant x j := 1 et x k := 0 pour tout k j, 1 k n on a a ij yi + c j = c j donc, puisque les c j sont négatifs ou nuls, a ij y i c j. 51/56 Comment interpréter la solution optimale du dual? Théorème (Ecarts complémentaires) Soient x 1,..., x n une solution du primal et y 1,..., y m une solution du primal. Ces deux solutions sont simultanément optimales si et seulement si 1. pour tout j = 1,..., n,. et pour tout i = 1,..., m, a ij y i = c j ou x j = 0 (ou les deux) a ij xj = b i ou y i = 0 (ou les deux) 5/56

Rappel : z = = = w contraintes dual :c j a ij y i ( a ij y i )x j commutativité, associativité ( a ij x j )y i contraintes primal : a ij x j b i b i y i objectif dual Théorème (Ecarts complémentaires version II) Une solution x 1,..., x n du primal est optimale si et seulement si il existe des nombres y 1,..., y m tels que : y 1,..., y m forment une solution du dual ; si xj > 0 alors la jème contrainte du dual est atteinte ( a ij yi = c j ) ; si la ième contrainte du primal n est pas atteinte ( a ij xj < b i ) alors yi = 0. On a z = w ssi les deux inégalités deviennent des égalités : la jème contrainte du dual est atteinte ou x j = 0 ; la ième contrainte du primal est atteinte ou y i = 0 ; Application : si l on nous propose une solution du primal, pour vérifier son optimalité il suffit de résoudre le système d équations (de variables yi ) qui en découle. 53/56 54/56 Interprétation économique de la dualité Primal Dual max min b i y i contr : a ij x j b i contr : a ij y i c j x j 0 y i 0 pour tout i = 1,..., m et tout j = 1,..., n. y i : profit obtenu par une unité supplémentaire de ressource i. Théorème Pour des valeurs t i suffisament faibles, le programme linéaire max n c jx j contr. : n a ijx j b i + t i x j 0 a une solution optimale de valeur i = 1,,..., m j = 1,,..., n z : profit (en euros). x j : quantité du produit j. b i : quantité de la ressource i. c j : euros/unité du produit j. a ij : unités de ressource i / unité de produit j. y i : euros/unité de ressource i. 55/56 z + y i t i où z est la valeur optimale du PL initial et y 1,..., y m est une solution optimale de son dual. 56/56