Programmation Linéaire - Cours 3

Documents pareils
Programmation Linéaire - Cours 1

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

Programmation linéaire

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

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Optimisation Discrète

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

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

LES MÉTHODES DE POINT INTÉRIEUR 1

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

Cours d analyse numérique SMI-S4

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

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

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

Chapitre 5 : Flot maximal dans un graphe

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

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

Cours de recherche opérationnelle I

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

Quelques algorithmes simples dont l analyse n est pas si simple

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

Continuité et dérivabilité d une fonction

CCP PSI Mathématiques 1 : un corrigé

Commun à tous les candidats

3 Approximation de solutions d équations

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Trouver un vecteur le plus court dans un réseau euclidien

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Limites finies en un point

I. Polynômes de Tchebychev

Chapitre 7. Récurrences

Amphi 3: Espaces complets - Applications linéaires continues

INFO-F Algorithmique 3 et Recherche Opérationnelle

Résolution d équations non linéaires

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

Condition inf-sup pour l Elément Fini de Taylor-Hood È ¾ -iso-è ½

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. 29 mai 2015

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.

Cours d Analyse. Fonctions de plusieurs variables

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

RECHERCHE OPERATIONNELLE

Chap 4. La fonction exponentielle Terminale S. Lemme : Si est une fonction dérivable sur R telle que : = et 0! = 1 alors ne s annule pas sur R.

Rappels sur les suites - Algorithme

Comment démontrer des formules sans effort? exposé de maîtrise

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Chp. 4. Minimisation d une fonction d une variable

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Algorithmique et Programmation

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

Développement décimal d un réel

La persistance des nombres

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

Chapitre 1 : Évolution COURS

Théorème du point fixe - Théorème de l inversion locale

La fonction exponentielle

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

I. Ensemble de définition d'une fonction

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Cours de Master Recherche

Corrigé des TD 1 à 5

CHAPITRE 5. Stratégies Mixtes

Travaux dirigés n 1. Programmation linéaire

Corrigé du baccalauréat S Asie 21 juin 2010

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

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

Prudence, Epargne et Risques de Soins de Santé Christophe Courbage

Équations non linéaires

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

3. Conditionnement P (B)

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

Programmation linéaire

Raisonnement par récurrence Suites numériques

Jean-Philippe Préaux

Problème 1 : applications du plan affine

Comparaison de fonctions Développements limités. Chapitre 10

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

Echantillonnage Non uniforme


Optimisation des fonctions de plusieurs variables

Etude de fonctions: procédure et exemple

Fonctions de plusieurs variables

STATISTIQUES. UE Modélisation pour la biologie

CHOIX OPTIMAL DU CONSOMMATEUR. A - Propriétés et détermination du choix optimal

Correction du Baccalauréat S Amérique du Nord mai 2007

Continuité d une fonction de plusieurs variables

Correction de l examen de la première session

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

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

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

Modèles et Méthodes de Réservation

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

Calcul différentiel sur R n Première partie

Chapitre 6. Fonction réelle d une variable réelle

Probabilités sur un univers fini

Travail en collaboration avec F.Roueff M.S.Taqqu C.Tudor

Architecture des Systèmes d Information Architecture des Systèmes d Information

Quantification Scalaire et Prédictive

Transcription:

Programmation Linéaire - Cours 3 P. Pesneau pierre.pesneau@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 - Bur 265

Sommaire 1 2 3 4

Comparaison des notations Notation algébrique : z = z + j N c jx j x i = b i j N āi,jx j pour tout i B Notation matricielle : Max z = c B B 1 b +(c N c B B 1 N)x N s.c. Ix B +B 1 Nx N = B 1 b x B, x N 0 z = c B B 1 b ( c j ) j B = 0 ( c j ) j N = c N c B B 1 N ( b i ) i=1,...,m = B 1 b (ā i,j ) i=1,...,m = e k pour j = k eme indice de B (ā i,j ) i=1,...,m = B 1 N.,j pour tout j N

Dictionnaire initial : Max 4x 1 + 5x 2 + 0x 3 + 0x 4 + 0x 5 = z 2x 1 + 1x 2 + 1x 3 + 0x 4 + 0x 5 = 800 1x 1 + 2x 2 + 0x 3 + 1x 4 + 0x 5 = 700 0x 1 + 1x 2 + 0x 3 + 0x 4 + 1x 5 = 300 Dictionnaire final : Max 0x 1 + 0x 2 1x 3 2x 4 + 0x 5 = z 2200 0x 1 + 0x 2 + 1 3 x 3 2 3 x 4+ 1x 5 = 100 1x 1 + 0x 2 + 2 3 x 3 1 3 x 4+ 0x 5 = 300 0x 1 + 1x 2 1 3 x 3+ 2 3 x 4+ 0x 5 = 200 On en déduit B = {5, 1, 2} et N = {3, 4}.

A partir du dictionnaire initial : Max 4x 1 + 5x 2 + 0x 3 + 0x 4 + 0x 5 = z 2x 1 + 1x 2 + 1x 3 + 0x 4 + 0x 5 = 800 1x 1 + 2x 2 + 0x 3 + 1x 4 + 0x 5 = 700 0x 1 + 1x 2 + 0x 3 + 0x 4 + 1x 5 = 300 B = 0 2 1 0 1 2 1 0 1, N = 1 0 0 1 0 0 c B = (0, 4, 5), c N = (0, 0), b = 800 700 300

A partir d un dictionnaire (ici le dictionnaire final) : Max 0x 1 + 0x 2 1x 3 2x 4 + 0x 5 = z 2200 0x 1 + 0x 2 + 1 3 x 3 2 3 x 4+ 1x 5 = 100 1x 1 + 0x 2 + 2 3 x 3 1 3 x 4+ 0x 5 = 300 0x 1 + 1x 2 1 3 x 3+ 2 3 x 4+ 0x 5 = 200 B 1 N = c N = c N c B B 1 N = ( 1, 2), 1 3 2 3 2 3 1 3 1 3 On peut également noter : 2 3 B 1 A E = B 1 I = B 1 =, B 1 b = 1 100 300 200 3 2 3 1 2 3 1 3 0 1 3 2 3 0 et P. Pesneau que pierre.pesneau@math.u-bordeaux1.fr Programmation Linéaire - Cours 3

Sommaire 1 2 3 4

finitude du simplex Theorem Si l algorithme du simplex ne termine pas, c est qu il cycle entre bases dégénérées. Preuve : Supposons qu il n y a pas de dégénérescence. Amélioration stricte de l objectif, on ne peut donc pas visiter deux fois la même base. Comme le nombre de bases (et donc de dictionnaires) est fini, l algorithme s arrête après un nombre fini d itérations. Par conséquent, si l algorithme ne finit pas, c est qu il y a dégénérescence et l algorithme cycle entre des bases dégénérées.

finitude du simplex Theorem L algorithme du simplex termine si, à chaque itération, les variables entrante et sortante sont choisies parmi les candidats possibles selon la règle du plus petit indice. Preuve : voir Chvatal, Linear Programming, pp 37-38. Remarque : Pour converger, il suffit d appliquer les règles ci-dessus quand on constate un certain nombre d itérations dégénérées.

Theorem Tout programme linéaire (mis sous la forme standard) est : soit irréalisable. soit non borné. soit il admet une solution optimale. Remarque : Ce théorème n est pas vérifié pour un problème avec des inégalités strictes dy type j a i,jx j < b i. Par exemple, le problème Max x : x < 0 n est ni irréalisable, ni non borné, mais n admet pas de solution optimale.

Theorem Si un programme linéaire (sous forme standard) admet une solution réalisable, alors il existe une solution de base réalisable. Si un programme linéaire admet une solution optimale, alors il existe une solution de base optimale.

Sommaire 1 2 3 4

Rappel sur la complexité La complexité d un algorithme correspond à l effort fournit par celui-ci pour résoudre un problème. Comment évaluer la complexité? Temps de calcul : mauvaise idée, il dépend de la machine. Nombre d opérations élémentaires (addition, multiplication, comparaison,...) : execution en temps constant. Le nombre d opérations effectuées (la complexité) est fonction de la taille du problème. Plus particulièrement, on s intéresse à l ordre de grandeur de l effort de calcul requis quand la taille du problème devient grande. La taille d un problème peut se définir comme la quantité d information nécessaire pour spécifier le problème à résoudre (taille du fichier de données).

Différentes complexités Analyse empirique : la complexité est estimée en pratique (tests intensifs). Analyse du meilleur des cas : calcule une borne inférieure de la complexité (représente rarement la réalité). Analyse de la complexité moyenne : estime l effort de calcul moyen (basée sur des hypothèses probabilistes, analyse complexe). Analyse du pire des cas : calcule une borne supérieure sur le nombre d opérations.

Comparaison asymptotique : notation de Landau O(g(n)) = {f(n) : C 0 IR +,N 0 IN/ f(n) C 0 g(n), n > N 0 } Ω(g(n)) = {f(n) : C 0 IR +,N 0 IN/ C 0 g(n) f(n), n > N 0 } Θ(g(n)) = {f(n) : C 1, C 2 IR +,N 0 IN/ C 1 g(n) f(n) C 2 g(n), n > N 0 }

d un algorithme Notations : T(I) : nombre d opérations pour résoudre une instance I. l(i) : taille du fichier de données décrivant I. T(n) : nombre max d opérations pour résoudre un problème de taille n. Compléxité : T(n) = max I {T(I) : l(i) = n} Algorithme polynomial : T(n) O(n k ) Bon algorithme, algorithme efficace. Algorithme exponentiel : T(n) Ω(α n ), α > 1.

Taux de croissance Temps pour un ordinateur de 1GHz taille n Compl. 10 20 30 40 50 60 n 110 8 210 8 310 8 410 8 510 8 610 8 sec. sec. sec. sec. sec. sec. n 2 110 7 410 7 910 7 1610 7 2510 7 3610 7 sec. sec. sec. sec. sec. sec. n 3 110 6 810 6 2710 6 6410 6 12510 6 21610 6 sec. sec. sec. sec. sec. sec. n 5 110 3 3.210 3 24.310 3 110 1 3.110 1 7.810 1 sec. sec. sec. sec. sec. sec. 2 n 110 6 110 3 1 18 313 36.5 sec. sec. sec. min. heures ans 3 n 5.910 5 3.5 2.4 3.8 22.710 3 1.310 9 sec. sec. jours siècles mill. mill.

du simplex Pire des cas : Le simplex se termine après un nombre fini d itérations ( C m n+m). Pour toutes les règles de pivotage connues, on connait des exemples pathologiques qui demandent effectivement de l ordre de C m n+m itérations (nombre exponentiel). On ne connait pas de règle de pivotage qui permette d atteindre la solution de base optimale en ne faisant qu un nombre polynomial d itérations. Empiriquement : Les tests numériques révèlent que l algorithme du simplex demande en pratique un nombre d opération de l ordre de Θ(m+logn)

Paradoxe sur la complexité du simplex Conjecture de Hirsch : Pour un polyèdre déterminé comme l intersection de m hyperplans dans un espace à n dimensions, la longueur du plus court chemin entre deux points extrêmes donnés est au plus m n. Même si cette conjecture était vraie, cela ne donnerait pas nécessairement l espoir de l existence d une règle de pivotage polynomiale pour l algorithme du simplex. (Le plus court chemin ne suit pas forcement un objectif croissant.) La question de l existence d une version polynomiale du simplex reste ouverte. Il est possible de résoudre un PL en temps polynomial avec une méthode de point intérieur.

Sommaire 1 2 3 4

Motivation Obtenir une borne supérieure sur le profit maximum Toute solution réalisable donne une borne inférieure (LB) sur le profit maximal. Une borne supérieure (UB) est utile pour juger de la qualité d une solution réalisable (voir de prouver son optimalité si LB = UB). Remarque : Toute combinaison linéaire de contraintes du programme linéaire donne une contrainte valide (satisfaite par toutes les solutions réalisables)

Exemple du yaourt Max 4x 1 + 5x 2 2x 1 + x 2 800 (1) x 1 + 2x 2 700 (2) x 2 300 (3) x 1, x 2 0 5 (1) 4x 1 +5x 2 10x 1 +5x 2 4000 4 (2) 4x 1 +5x 2 4x 1 +8x 2 2800 2 (1)+3 (3) 4x 1 +5x 2 2500 Problème : Trouver les meilleurs coefficients multiplicatifs pour chaque contrainte afin d obtenir la meilleure borne supérieure.

Modélisation du problème A chaque contrainte i = 1,..., 3, on associe une variable y i. La combinaison linéaire doit être telle que le coefficient obtenu pour chaque variable doit être plus grand que le coefficient de la variable dans l objectif. On cherche à minimiser le membre de droite de la contrainte issue de la combinaison linéaire.

Modélisation du problème Max 4x 1 + 5x 2 2x 1 + x 2 800 (y 1 ) x 1 + 2x 2 700 (y 2 ) x 2 300 (y 3 ) x 1, x 2 0 Min 800y 1 + 700y 2 + 300y 3 2y 1 + y 2 4 y 1 + 2y 2 + y 3 5 y 1, y 2, y 3 0 Solution optimale : y 1 = 1, y 2 = 2, y 3 = 0 et UB = 2200.

Primal / Dual Les PL vont toujours par paires : Primal : max j c jx j s.c. j a i,jx j b i x j 0 pour i = 1,..., m pour j = 1,..., n Dual : min s.c. i b iy i i a i,jy i c j y i 0 pour j = 1,..., n pour i = 1,..., m

: Théorèmes Theorem faible : Pour toute solution réalisable x du problème primal et toute solution réalisable y du problème dual, on a n c j x j j=1 m b i y i. i=1 Theorem forte : Si le primal a une solution optimale x = (x 1,..., x n), alors le dual a une solution optimale y = (y 1,..., y m) telle que n c j xj = j=1 m i=1 b i y i.

Interprétation économique du dual Sans ressource, le profit serait nul. L idée est d essayer d évaluer la contribution de chaque ressource au profit observé. Dans ce contexte, les variables y i 0 pour i = 1,..., m représentent les valeurs unitaires des ressources i : y i est la mesure de la contribution d une unité de i dans le profit. C est donc aussi le prix auquel on évalue la ressource i (prix auquel on serait prêt à vendre la ressource au lieu de l utiliser).

Interprétation économique du dual Un système de prix y (auquel on serait prêt à vendre nos ressources) pour être acceptable doit compenser le profit qu on aurait pu faire en utilisant ces ressources. Il faut i a i,jy i c j pour j = 1,..., n ce qu on interprète aussi comme le fait que la valeur des ingrédients doit justifier entièrement le profit attribué à chaque produit. L acheteur de nos ressources veillera à minimiser le coût total d achat Minimiser i b iy i

Int. éco. de la solution optimale du dual x B 2x A +x B 800 x B 300 00 11 x A +2x B 700 x A

Int. éco. de la solution optimale du dual x B 2x A +x B 800 x B 300 00 11 x A +2x B 700 x A

Int. éco. de la solution optimale du dual x B 2x A +x B 800 01 00 11 x B 300 x A +2x B 700 x A

Int. éco. de la solution optimale du dual x B 2x A +x B 800 01 00 11 x B 300 x A +2x B 700 x A

Int. éco. de la solution optimale du dual x B 2x A +x B 800 01 00 11 x B 300 x A +2x B 700 x A

Int. éco. de la solution optimale du dual x B 2x A +x B 800 x B 300 00 11 x A +2x B 700 x A

Int. éco. de la solution optimale du dual x B 2x A +x B 800 x B 300 00 11 x A +2x B 700 x A

Int. éco. de la solution optimale du dual A l optimum : z = j c jxj j a i,jxj b i = i b iyi et i a i,jyi c j Les multiplicateurs optimaux (solution optimale du dual) expliquent la responsabilité de chacune des contraintes de capacité en ressource dans la limitation du profit. Ces valeurs duales indiquent localement de combien augmenterait le profit par unité d augmentation des ressources associées. yi est une mesure de l augmentation marginale du profit par unité d augmentation de b i. y i = lim ǫ 0 z (b i +ǫ) z (b i ) ǫ

Theorem Si le problème max P s.c. j c jx j j a i,jx j b i i = 1,..., m x j 0 j = 1,..., n admet une solution de base optimale non dégénérée de valeur z, alors ǫ > 0 tel que si t i ǫ pour i = 1,..., m, le problème max P j c jx j s.c. j a i,jx j b i +t i i = 1,..., m x j 0 j = 1,..., n admet une solution optimale dont la valeur est z + m i=1 t iy i où y est la solution (unique) au problème dual.