Graphes et Recherche Opérationnelle

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

Programmation linéaire

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 - Cours 1

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.

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

Chp. 4. Minimisation d une fonction d une variable

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

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

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

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Résolution d équations non linéaires

Chapitre 2. Matrices

Optimisation des fonctions de plusieurs variables

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

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

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

La classification automatique de données quantitatives

Chapitre 5 : Flot maximal dans un graphe

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

Optimisation Discrète

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

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

Cours d analyse numérique SMI-S4

Limites finies en un point

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

Jean-Philippe Préaux

I. Polynômes de Tchebychev

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

Introduction à la théorie des graphes. Solutions des exercices

CCP PSI Mathématiques 1 : un corrigé

Polynômes à plusieurs variables. Résultant

RECHERCHE OPERATIONNELLE

Calcul différentiel sur R n Première partie

3 Approximation de solutions d équations

Intégration et probabilités TD1 Espaces mesurés Corrigé

CHAPITRE 5. Stratégies Mixtes

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

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

Développement décimal d un réel

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

Fonctions de plusieurs variables

OPTIMISATION À UNE VARIABLE

Chapitre 3. Les distributions à deux variables

Problème 1 : applications du plan affine

Cours d Analyse. Fonctions de plusieurs variables

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

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

Structures algébriques

LES MÉTHODES DE POINT INTÉRIEUR 1

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

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008)

2.4 Représentation graphique, tableau de Karnaugh

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

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

Calcul différentiel. Chapitre Différentiabilité

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

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

Théorèmes de Point Fixe et Applications 1

Conception d'un réseau de transport d'électricité

Le produit semi-direct

Équations non linéaires

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

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

Correction de l examen de la première session

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

avec des nombres entiers

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

OUTILS EN INFORMATIQUE

Cours de recherche opérationnelle I

Cours d initiation à la programmation en C++ Johann Cuenin

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

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

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

Quelques algorithmes simples dont l analyse n est pas si simple

Algorithmes pour la planification de mouvements en robotique non-holonome

Simulation de variables aléatoires

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Bien lire l énoncé 2 fois avant de continuer - Méthodes et/ou Explications Réponses. Antécédents d un nombre par une fonction

Approximations variationelles des EDP Notes du Cours de M2

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

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

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

Université Paris-Dauphine DUMI2E 1ère année, Applications

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Fonctions homographiques

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

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5.

Cours Informatique Master STEP

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

FIMA, 7 juillet 2005

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

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

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

I. Ensemble de définition d'une fonction

Transcription:

Graphes et Recherche Opérationnelle ESIAL 2 nde année Notes de cours Tony Bourdier Version 4

Table des matières 2 Table des matières I Programmation linéaire continue 3 1 Introduction 3 11 Modélisation 3 111 Exemple de problème de production 3 112 Différentes formes d un programme linéraire 4 12 Définitions 6 121 Solutions 6 122 Base et solutions de base réalisables 6 123 Convexité 8 124 Théorèmes 8 2 Algorithme naïf 9 3 Méthode du simplexe 12 31 Principe de l algorithme 12 32 Méthode générale 13 321 Recherche du sommet de départ 13 322 Changement de base 14 33 Algorithme 17 331 Cas général 17 332 Variables artificielles 21 333 Cas remarquables 23 4 Analyse de sensibilité postoptimale 23 II Bibliographie 24 ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

1 Introduction 3 Première partie Programmation linéaire continue 1 Introduction 11 Modélisation 111 Exemple de problème de production On considère deux produits nécessitant une certaine quantité de ressources pour leur production On souhaite maximiser les bénéfices totaux découlant de la vente de ces deux produits Le tableau suivant récapitule les ressources requises et bénéfices engendrés pour et par la production de ces deux produits Produit 1 Produit 2 Disponibilité Equipement 1 2 15 Main d oeuvre 1 1 9 Matière première 3 1 21 Bénéfice 1, 1 1 La démarche à suivre pour modéliser un problème en recherche opérationnelle est la suivante : (i) Choix des inconnues Pour l exemple traité, les inconnues, notées x j, correspondent au nombre de produit j fabriqués (ii) Choix de la fonction que l on cherche à optimiser (ie maximiser ou minimiser) appelée fonction-objectif Dans notre cas, il s agit du bénéfice engendré par la vente des deux produits : ϕ(x 1, x 2 ) = 1, 1 x 1 + 1 x 2 comme on souhaite la maximiser cette fonction, on note : max x 1,x 2 [ϕ(x 1, x 2 ) = 1, 1 x 1 + 1 x 2 ] (iii) Détermination de toutes les contraintes à respecter Ici, il s agit des disponibilités : 1 x 1 + 2 x 2 15 1 x 1 + 1 x 2 9 3 x 1 + 1 x 2 21 x 1, x 2 En remarquant que quelque soient α, β R, α β δ, α + δ = β on peut également écrire l ensemble des contraintes sous la forme suivante : 1 x 1 + 2 x 2 + δ 1 = 15 1 x 1 + 1 x 2 + δ 2 = 9 3 x 1 + 1 x 2 + δ 3 = 21 x 1, x 2, δ 1, δ 2, δ 3 ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

1 Introduction 4 112 Différentes formes d un programme linéraire Définition 11 : Un problème est posé sous forme canonique mixte ssi il est présenté sous l une des deux formes suivantes : (i) Dans le cas d une maximisation : (fonction-objectif) max [ϕ = x 1,,x n (contraintes d inégalité) i I 1, P + = (contraintes d égalité) i I 2, n c j x j ] j=1 n a ij x j b i j=1 n a ij x j = b i j=1 (contraintes de signe) j J 1, x j j J 2, x j de signe quelconque (ii) Dans le cas d une minimisation : (fonction-objectif) min [ϕ = x 1,,x n (contraintes d inégalité) i I 1, P = (contraintes d égalité) i I 2, n c j x j ] j=1 n a ij x j b i j=1 n a ij x j = b i j=1 (contraintes de signe) j J 1, x j j J 2, x j de signe quelconque où : I 1 est l ensemble des indices des contraintes d inégalité, I 2 est l ensemble des indices des contraintes d égalité, I 1 I 2 = I = {1,,m} est l ensemble des indices des contraintes, J 1 est l ensemble des indices de variables de signe positif, J 1 est l ensemble des indices de variables de signe, quelconque J 1 J 2 = J = {1,,n} est l ensemble des indices des variables Remarque 12 : n est le nombre de variables et m le nombre de contraintes d égalité et d inégalité On supposera par la suite que m n Définition 13 : Un problème est posé sous forme canonique pure ssi il ne possède pas de contrainte d égalité : I 2 = J 2 = Sous forme matricielle, on obtient : (fonction-objectif) P + = (contraintes d inégalité) (contraintes de positivité) max x R n[ϕ = c x] A x b x n ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

1 Introduction 5 et (fonction-objectif) min P x R = n[ϕ = c x] (contraintes d inégalité) A x b (contraintes de positivité) x n a 11 a 1n a 21 a 2n b 1 c 1 où A = M m,n(r), b = R m et c = b a m1 a m mn sont les données du problème et x = déterminer x 1 x n c n R n R n est l inconnue que l on cherche à Définition 14 : Un problème est posé sous forme standard ssi il ne possède que des contraintes d égalité : I 1 =, J 2 = et i I 2, b i Sous forme matricielle, on obtient : (fonction-objectif) P = (contraintes d égalité) (contraintes de positivité) min x R ou max n x R n[ϕ = c x] A x = b x n b m Proposition 15 : Tout problème linéaire écrit sous forme canonique s écrit sous forme standard et inversement Pour cela, on introduit des variables appelées «variables d écart» : ( ) x A x b (A I m ) = b δ ( ) x A x b (A I m ) = b δ où I m = 1 1 M m (R) et δ = δ 1 δ m m Définition 16 : La forme standard d un problème est dite simpliciale ssi la matrice des contraintes A se décompose de la façon suivante : A = (I m H ) où H M m,n p (R) Les contraintes se réécrivent donc : (I m H ) x = b ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

1 Introduction 6 12 Définitions 121 Solutions Dans cette partie, nous considérerons un problème P écrit sous forme standard : (fonction-objectif) min ou max x Rn x R P = n[ϕ = c x] (contraintes d égalité) A x = b (contraintes de positivité) x n avec A M m,n (R), b R m, c R n et x R n Définition 17 : On appelle solution de P tout vecteur x R n vérifiant A x = b, autrement dit tout vecteur satisfaisant aux contraintes d égalité Définition 18 : On appelle solution réalisable (ou solution admissible) de P tout vecteur x n vérifiant A x = b, autrement dit tout vecteur satisfaisant à toutes les contraintes du problème (contraintes d égalité et de positivité) Remarque 19 : On appelle domaine réalisable et l note D F l ensemble de toutes les solutions réalisable du problème : D F = {x R n A x = b et x n } Définition 11 : Une solution réalisable x D F est dite optimale ssi (i) (dans le cas d une maximisation) x D F, c x c x (ii) (dans le cas d une minimisation) x D F, c x c x 122 Base et solutions de base réalisables Définition 111 : On suppose que la matrice A M m,n (R) est de rang m On peut donc trouver m vecteurs-colonnes v 1,,v m de A linéairement indépendants On note B les indices de ces vecteurs-colonnes dans A, A B la matrice formée de ces vecteurscolonnes : A B = (v 1 v m ) et H les indices des autres colonnes de A ainsi que A H la matrice formée de ces vecteurscolonnes La matrice A peut alors s écrire, à une permutation des colonnes près : où A = (A B A H ) A B M m (R) est une matrice telle que rang(a B ) = m (on parle de «base extraite de A») A H M m,n m (R) On partitionne alors les vecteurs c et x de la même façon : ( ) ( ) cb xb c = et x = c H x H ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

1 Introduction 7 où c B, x B R m et x B, x H R n m de telle sorte que le problème s écrive sous la forme suivante : (fonction-objectif) min ou ( max[ϕ ) = c Bx B + c Hx H ] xb P = (contraintes d égalité) (A B A H ) = A x B x B + A H x H = b H (contraintes de positivité) x B m et x H n m 1 5 6 4 Exemple 112 : Soit A = 6 5 4 7 M 3,4 (R) On peut former une 9 1 4 base extraite de A à partir de B 1 = {1, 2, 3}, B 2 = {1, 2, 4}, B 3 = {1, 3, 4} 1 5 6 1 5 4 et B 4 = {2, 3, 4} On a alors : A B1 = 6 5 4, A B2 = 6 5 7, 9 1 9 4 A B3 = 1 6 4 6 4 7 9 1 4 et A B4 = 5 6 4 5 4 7 1 4 Définition 113 : Une solution x = ( xb x H autrement dit, ssi elle peut s écrire sous la forme : ( ) xb x = n m ) est dite de base ssi x H = n m, Proposition 114 : Soit A B M m (R) une base extraite de A, ie telle que ( xb x H ) = rang(a B ) = m et A H M m,n m (R), A = (A B A H ) ( A 1 B b n m ) est une solution de base Démonstration : Si A B est de rang m, alors A B est inversible, donc A 1 B ) ( A 1 (A B A H ) B b n m = A B A 1 B b + A H n m = b existe et : Remarque 115 : Pour alléger les notations, on s autorisera à dire que B est une base extraite même si B représente les indices des vecteurs de la base extraite En particulier, pour tout vecteur x R m, on note x /B pour désigner les coordonnées de x dans la base B On omet de préciser cette base lorsqu il s agit de la base canonique De plus, si chaque colonne de la matrice A représente un ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

1 Introduction 8 vecteur, par exemple si la 1 ère colonne de A est associée à un vecteur x 1, la 2 nde à x 2 et la 3 ème à e 1, on écrira aussi bien B = {1, 2, 3} que B = {x 1, x 2, e 1 } Proposition 116 : L ensemble des solutions de base est exactement ( l ensemble ) des xb coordonnées du vecteur b dans toutes les bases extraites de A, ie x = est une solution de base ssi il existe une base extraite B de A telle que x B = b /B n m Démonstration : Il suffit de voir que A 1 B b représente les coordonnées de b dans la base de R m formée par B (A 1 B est la matrice de passage de la base canonique vers la base B) ( ) b/b Remarque 117 : est une solution de base réalisable ssi b /B m n m 123 Convexité Définition 118 : Soient x et y deux points d un domaine D On appelle segment joignant x et y l ensemble des combinaisons linéaires convexes de x et de y : S(x, y) = {λ x + (1 λ) y λ 1} Définition 119 : Un domaine D est dit convexe ssi x, y D, S(x, y) D Définition 12 : On dit que z est un sommet du domaine D ssi x, y D \ {z}, z S(x, y) Théorème 121 : Soit D un domaine convexe Tout point de D est combinaison linéaire convexe de D 124 Théorèmes Théorème 122 : L ensemble des solutions réalisables D F forme un domaine convexe, autrement dit, pour toutes solutions réalisables x et y, λ x+(1 λ) y est une solution réalisable, quelque soit λ [, 1] Démonstration : Soient x et y D F : { A x = b x A y = b y Pour tout λ [, 1], on a : { λ A x = λ b (1 λ) A y = (1 λ) b A ( λ x + (1 λ) y ) = b et x, y (λ x + (1 λ) y), donc (λ x + (1 λ) y) D F ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

2 Algorithme naïf 9 Théorème 123 : Les sommets de D F sont exactement les solutions de base réalisables Remarque 124 : Les théorèmes 121 et 123 nous permettent d affirmer que toute solution réalisable est combinaison linéaire convexe de solutions de base réalisable Théorème 125 : L optimum de ϕ, s il existe, est atteint en au moins un sommet de D F Démonstration : On considère le problème de maximisation Pour celui de minimisation, il faut et il suffit de remplacer les > par des < Raisonnons par l absurde et supposons qu il existe au moins une solution optimale x et qu aucune solution optimale ne soit un sommet Alors, d après 121, il existe s 1,,s p sommets, différents de x, tels que : x = p λ i s p avec p λ i = 1 Comme x est optimal : c x > c s i i 1, p donc p λ i c x > p λ i c s i ( p ) ( p ) λ i c x > c λ i s i c x > c x On aboutit à une absurdité Théorème 126 : Toute combinaison linéaire convexe de solutions optimales est une solution optimale 2 Algorithme naïf Remarque 227 : Les résultats précédents nous permettent d affirmer que pour tout problème possédant au moins une solution optimale finie, il existe une solution de base réalisable optimale (et toute solution optimale est une combinaison linéraire convexe de solutions de base réalisables optimales) Autrement dit, on peut ne s intéresser qu aux solutions de bases Remarque 228 : On a vu que l ensemble des solutions de bases est l ensemble des coordonnées de b dans une base extraite de A, ie les solutions des systèmes linéaires A B x = b pour toute base B extraite de A Il existe C m n matrice carrée extraite de A (il y a C m n façon de choisir m colonnes parmi les n colonnes de A) ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

2 Algorithme naïf 1 Algorithme 229 : Le nombre de bases extraites de A étant fini, on peut évaluer toutes les solutions de bases et les comparer, autrement dit, appliquer l algorithme suivant : pour i allant de 1 à C m n faire : (i) B choisir m colonnes parmi les n colonnes de A (en excluant les choix des précédentes itérations) (ii) si B est une base, ie si det(a B ), alors calculer les coordonnées de b dans la base B, autrement dit la solution de A B x = b, c est à dire A 1 B b (iii) si A 1 B b, alors x (i) A 1 B b ϕ (i) c x (i) retourner x tel que ϕ = max(ϕ (i) ) i Remarque 23 : La complexité de cet algorithme est assez rédibitoire : il faut résoudre C m n systèmes linéaires d ordre m, autrement dit, pour un problème posé sous forme canonique avec n variables et m contraintes, sachant que la forme simpliciale correspondante comportera m + n variables, la complexité de l algorithme sera de l ordre de O((m+n) 3 C m n+m) Le tableau suivant permet de se faire une idée de l ordre de grandeur d une telle quantité en fonction de n et de m : n m (m + n) 3 Cn+m m 2 1 81 2 2 384 3 1 256 3 2 125 3 3 432 4 1 625 4 2 324 4 3 125 4 4 3584 5 1 1296 5 2 723 5 3 28672 5 4 91854 5 5 252 6 1 241 6 2 14336 6 3 61236 6 4 21 6 5 614922 6 6 1596672 Exemple 231 : Soit le problème suivant : max[ϕ(x 1, x 2, x 3, x 4 ) = 5 x 1 + 4 x 2 + 7 x 3 + 8 x 4 ] 2 x 1 + 4 x 2 + 8 x 3 + 6 x 4 1 P = 1 x 1 + 8 x 2 + 6 x 3 + 1 x 4 16 1 x 1 + 1 x 2 + 2 x 3 + 2 x 4 2 x 1, x 2, x 3, x 4 ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

2 Algorithme naïf 11 P s écrit sous la forme standard simpliciale suivante : max x R P = 7[ϕ = c x] A x = b x 7 avec b = A = 1 16 2 2 4 8 6 1 1 8 6 1 1 1 1 2 2 1 R 3, c = 5 4 7 8 M 3,7 (R), R 7, x = x 1 x 2 x 3 x 4 δ 1 δ 2 δ 3 R 7 Pour déterminer la solution, l algorithme 229 a été implanté en matlab : n = 7; m = 3; nb_op = factorial(n)/(factorial(m)*factorial(n-m)); x = zeros(n,nb_op); phi = zeros(1,nb_op); A = [ 2 4 8 6 1 1 8 6 1 1 1 1 2 2 1]; b = [ 1 ; 16 ; 2 ]; c = [ 5 ; 4 ; 7 ; 8 ; ; ; ]; ptr=; for :n do for j=(i+1):n do for k=(j+1):n do ptr = ptr+1; B = [i;j;k]; A_B = A(:,B); // A = [A(:,i) A(:,j) A(:,k)] if(det(a_b)!=) sol = inv(a_b)*b; if(sol>=) x(b,ptr) = sol; phi(ptr) = c *x(:,ptr); else phi(ptr) = -%inf; end end end end end [phi_max indice] = max(phi) x_opt = x(:,indice) ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

3 Méthode du simplexe 12 Le résultat est le suivant : phi_max = 92 x_opt = 12 4 52 Autrement dit, la base optimale est B = {1, 4, 5} = {x 1, x 4, e 1 }, 1 6 1 12 A B = 1 1, x B = A 1 B b = 4 et la solution de base réalisable optimale est 2 52 : x = x 1 x 2 x 3 x 4 e 1 e 2 e 3 = ou encore (il est inutile d indiquer les valeurs correspondant aux variables d écart car elles ne contribuent pas à la fonction-objectif) : x 1 12 x = x 2 x = 3 et ϕ(x ) = 92 x 4 4 12 4 52 3 Méthode du simplexe 31 Principe de l algorithme Remarque 332 : Pour éviter de calculer les solutions de tous les systèmes linéaires m m extraits de A, on a recours à un algorithme appelé simplexe L algorithme du simplexe repose sur la démarche suivante : on parcourt également l ensemble des sommets de D F mais l on se donne le moyen de déterminer si le sommet en cours d étude est optimal et si ce n est pas le cas, on passe au sommet adjacent qui augmente le plus la fonction-objectif En résumé, le simplexe procède comme suit : (i) on recherche un sommet de départ (ii) on teste si la fonction-objectif n est pas bornée supérieurement, auquel cas le problème n a pas de solution finie ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

3 Méthode du simplexe 13 (iii) on détermine si ce sommet est l optimum (iv) si le sommet que l on étudie n est pas optimal, alors on se déplace sur un sommet voisin pour lequel la fonction-objectif diminue et l on retourne à l étape (ii) (ce qui correspond à échanger une variable hors base avec une variable de base) 32 Méthode générale 321 Recherche du sommet de départ Soit P un problème 1 écrit sous forme canonique : (fonction-objectif) max[ϕ = c x] P = (contraintes d égalité) A x b (contraintes de positivité) x n avec A M m,n (R), b R m, c R n et x R n Exprimer P sous forme standard permet d obtenir directement une forme standard simpliciale : (fonction-objectif) max[ϕ = c x] P = (contraintes d égalité) Ã x = b (contraintes de positivité) x m+n avec On a donc : Ã = ( I }{{} m }{{} A ) = Ã B Ã H b = b 1 b m R m, c = x B = 1 a 1,1 a 1,n 1 a m,1 a m,n e 1 e m c 1 c n R m+n et x = et x H = x 1 x n La solution de base réalisable «triviale» est (proposition 114) : soit x B = b et x H = n m ( ) xb x = = x H ( Ã 1 B b n m ) ( b = n m M m,m+n (R), e 1 e m x 1 x n ) R m+n 1 On traite ici le cas où le problème est un problème de maximisation La résolution d un problème de minimisation sera examinée ultérieurement ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

3 Méthode du simplexe 14 322 Changement de base Soit B = {e 1,,e m } la base canonique de R m On souhaite étudier les conséquences engendrées par le changement d un des vecteurs de la base : ie parle remplacement d un des vecteurs de B, noté e s, par un vecteur quelconque v = v 1 v m de R m En premier lieu, il est nécessaire de vérifier que l ensemble B = B \ {e s } {v} est bien une base B est une base ssi 1 v 1 det(b 1 ) = det 1 v m 1 on rappelle que la permutation de deux lignes (ou deux colonnes) multiplie le déterminant par 1, donc deux permutation successives ne changent pas la valeur du déterminant, en particulier, si l on permute la s ème colonne avec la dernière colonne puis la s ème ligne avec la dernière ligne, on obtient : det(b ) = det 1 v 1 1 1 v m Le déterminant d une matrice triangulaire est égal au produit des termes diagonaux, soit : det(b ) = Autrement dit, B est une base ssi On suppose donc désormais que Comme e s n appartiendra plus à la base, il faut déterminer ses coordonnées dans la nouvelle base Comme v est un vecteur de R m et B la base canonique de R m, on a : v = v i e i =, i s e s = 1 v 1 v i e i + e s, i s v i e i Soit z un vecteur de R m dont les coordonnées dans la base canonique sont z 1,,z m On ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

3 Méthode du simplexe 15 cherche les coordonnées de z dans la nouvelle base B : z = z i e i = z i e i + z s e s = =, i s, i s, i s On en déduit la proposition suivante : z i e i + z s 1 v ( z i v ) i z s e i + z s v, i s Proposition 333 : Les coordonnées de z dans la base B sont : z /B = z 1 v 1 z s z s z m v m z s v i e i et la matrice de passage de B vers B est : B 1 = 1 v 1 1 1 v m 1 1 = 1 v 1 1 1 1 v m 1 On a vu que les solutions de bases réalisables correspondent aux coordonnées positives de b dans les différentes bases Pour que b i v i b s ( i s) b s soit une solution de base réalisable, il faut nécessairement que i 1, m, b i v i b s i 1, m, b i v i b s i 1, m, b s = min i 1,m b i b s v i v } s ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier { bi v i

3 Méthode du simplexe 16 et que > (puisque b s, b s et ) Donc la variable qui doit sortir de la base est entièrement déterminée par la variable que l on fait entrer dans la base Pour déterminer la variable qui doit entrer dans la base, on étudie la variation de la fonctionobjectif engendrée par ce changement base : ( ) ϕ b /B = c B b /B = = = = =, i s, i s, i s, i s ( b i v ) i b s c i + b s c v b i c i b i c i b i c i, i s b i c i + b s c s = ϕ(b /B ) + b s c v = ϕ(b /B ) + b s v i b s c i + b s c v v i b s c i + b s c v v i b s c i + b s c v v i b s c i v s ( ) c v v i c i v i b s c i + b s c v L augmentation de la fonction-objectif sera la plus importante en choisissant v réalisant : ( ) ) max c v v i c i = max (c v c B v /B avec c v ϕ(v) > (sinon la fonction-objectif va diminuer) Remarque 334 : Les calculs précédents ont permis de déterminer un critère de choix de la variable entrante un critère de choix de la variable sortante un critère d optimalité Proposition 335 : Soit x = ( xb x H ) une solution de base réalisable associée à une base B x est une solution de base réalisable optimale ssi pour toute variable hors base v L H (v) = c v c B v /B si x n est pas une solution de base réalisable, la base B est remplacée par la base B = B {v e } \ { } où v e et sont déterminés par les conditions suivantes : (i) v e est la variable hors base vérifiant : (ii) est la variable de base vérifiant : L H (v e ) = max {L H (v) L H (v) > } ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

3 Méthode du simplexe 17 { } b s v e (s) = min bi i 1,m v e (i) v e(i) > 33 Algorithme 331 Cas général Données de départ : Soit un problème P énoncé sous forme canonique pure : (fonction-objectif) max x R P = n[ϕ = c x] (contraintes d inégalité) A x b (contraintes de positivité) x n avec A = c 1 c 2 c = c n a 1,1 a 1,n a m,1 Rn, x = a m,n x 1 x n R n, M m,n (R) et b = b 1 b m R m Étape 1 : On commence par mettre le problème sous forme standard simpliciale Pour cela, on introduit des variables dites variables d écart permettant l expression des contraintes sous la forme d un système d équations linéaires Le problème P devient alors : max x R P = n[ϕ = c x] A x = b x n avec A c c 1 c 2 c n R m+n, x 1 a 1,1 a 1,n 1 a m,1 a m,n e 1 e m x 1 x n b 1 R m+n, b = b m R m M m,m+n (R) et B {1, 2,,m} On a : A = (A B A H ) ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

3 Méthode du simplexe 18 avec A B = I m M m,m (R) et A H = avec x B = e 1 e m R m et x H = a 1,1 a 1,n a m,1 x 1 x n a m,n R n M m,n (R) et x = ( xb x H ) Étape 2 : Recherche ( d une solution de base réalisable initiale Comme nous l avons A 1 vu plus haut, x = B b ) est une solution de base réalisable Comme A B = I m, la n ( ) ( ) xb b solution de base réalisable de départ est x = = x H n Définition 339 : Pour permettre une exploitation de l algorithme «à la main», on introduit un tableau comportant l ensemble des données du problème disposées de façon à faciliter l application des différentes étapes Ce tableau se présente comme suit : Variables de base B Variables hors base H b [A B ] /B [A H ] /B b /B L H /B ϕ(b /B ) Chaque étape du simplexe correspond à l étude de ces différentes données relativement à la base B choisie Á chaque étape, on peut soit calculer ces différentes informations directement : [B] /B = A 1 B A B [H] /B = A 1 B A H b /B = A 1 B b ϕ(b /B ) = c B b /B L H /B = L H = c H c B A 1 B H soit de façon itérative à partir de la base de travail précédente, compte-tenu du fait que deux bases successives ne diffèrent que d un seul vecteur, ce qui facilite considérablement les calculs comme il l a été montré dans la section précédente C est cette seconde méthode que nous adopterons Remarque 34 : Avant de passer à l étape suivante, rappelons le fonctionnement général de l algorithme du simplexe : ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

3 Méthode du simplexe 19 Construction du tableau initial Solution optimale? non Détermination de la variable entrante oui Fin Détermination de la variable sortante «Pivotage» Fin Mise à jour des données dans la nouvelle base Schéma général de l algorithme du simplexe Étape 3 : Construction du tableau initial Les données à l initialisation sont les suivantes : B e 1,,e m A B I m On a donc le tableau suivant : Variables de base B Variables hors base H e 1,,e m x 1,,x n A B = I m A H b L H = C H ϕ(b) = Étape 4 : Vérification de l optimalité de la solution Sauf cas dégénéré, la solution est optimale ssi L H Si tel est le cas, on arrête la procédure Étape 5 : Choix de la variable entrante La variable entrante est la variable hors base v e vérifiant : L H (v e ) = max {L H (v) L H (v) > } ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

3 Méthode du simplexe 2 (C est à dire la variable correspondant à plus grande valeur positive de la dernière ligne du tableau) Étape 6 : Choix de la variable sortante La variable sortante est la variable de base vérifiant : { } b s v e (s) = min bi i 1,m v e (i) v e(i) > Étape 7 : Pivotage Une fois déterminées les variables entrante et sortante, on permute leurs colonnes respectives : B B {v e } \ { } Étape 8 : Changement de base Les variables de bases (B) ont changé, il faut donc calculer l ensemble des données dans cette nouvelle base, autrement dit calculer A 1 B et multiplier chaque matrice (A B, A H et b) par A 1 B à gauche L algorithme de Gauss-Jordan nous fournit un moyen simple d effectuer ces deux opérations simultanément Remarque 347 : Soit M M m (R) une matrice : x 1,1 x 1,m M = x m,1 x m,m Calculer M 1, c est chercher l unique matrice P telle que P M = I m La matrice P contient l ensemble des combinaisons linéaires à appliquer sur les lignes de M pour obtenir l identité Ainsi, multiplier une matrice Q à gauche par P consiste à appliquer ces mêmes combinaisons linéaires sur les lignes de Q Autrement dit, pour obtenir la matrice (M 1 M M 1 Q) à partir de (M Q), il faut et il suffit d appliquer sur les lignes de (M Q) les combinaisons linéaires permettant d obtenir I m à la place de M Étape 9 : Mise à jour des coûts réduits et de ϕ(b) On admet la propriété suivante : v, L H /B (v) = L H /B (v) L H /B (e)v /B (s) où e (resp s) est l indice de la variable entrante (resp sortante) Effectuer cette mise à jour pour tous les vecteurs revient à ajouter à L H une combinaison linéaire des lignes de (A B A H b ) telle que L H (e) = Sachant que ϕ(b /B ) = ϕ(b /B /B ) + b s L H v e (s) /B (e), }{{} b s la mise à jour de la fonction-objectif se fait de la même façon que les coûts réduits ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

3 Méthode du simplexe 21 Résultat final : Le résultat final est directement lisible à partir du dernier tableau du simplexe : x B = b /B Exemple 35 : Soit le tableau suivant : Base B Hors base H x 3 e 3 x 1 x 2 e 2 x 4 e 1 b /B 1 2 5 8 9 2 1 1 2 5 9 1 9 8 4 1 12-2 -7-4 -1 ϕ(b) = 14 La solution du problème dontce tableau représente la dernière étape du simplexe 2 est : B = {x 3, e 3, x 1 }, x B = 9 12 donc : x = x 1 x 2 x 3 x 4 e 1 e 2 e 3 = 12 2 9 332 Variables artificielles Remarque 351 : La méthode précédente vaut lorsque le problème est adapté, autrement dit lorsque l on n a uniquement des contraintes de majoration Il faut ajouter une phase préalable lorsque le problème contient des contraintes de minoration Considérons le problème P suivant : (fonction-objectif) P = (contraintes d inégalité) (contraintes de positivité) max x R n[ϕ = c x] a 1,1 x 1 + + a 1,n x n b 1 a m,1 x 1 + + a m,n x n b m x n ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

3 Méthode du simplexe 22 Étape : On commence par reformuler le problème sous forme standard simpliciale en ajoutant non seulement des variables d écart mais également des variables artificielles pour les contraintes de minoration On obtient le problème équivalent suivant : (fonction-objectif) max (x,e,a) R m+n+1[ϕ = c x] a 1,1 x 1 + + a 1,n x n + e 1 = b 1 P = = (contraintes d inégalité) a m 1,1 x 1 + + a m 1,n x n + e m 1 = b m 1 a m,1 x 1 + + a m,n x n e m + a m = b m (contraintes de positivité) (x, e, a) m+n+1 ainsi qu un problème auxilaire : min (x,e,a) R m+n+1[ϕ aux = a m ] sous les même contraintes Le problème possède une solution optimale ssi le problème auxiliaire possède comme solution optimale a m = Phase 1 - Étape 1 : On commence par résoudre le problème auxiliaire Comme dans la méthode générale, on considère une solution de base réalisable de départ On a une solution évidente pour B = {e 1,,e m 1, a m } car A B = I m Phase 1 - Étape 2 : Construction du tableau initial Le tableau est construit de la même manière que dans la méthode générale avec B = {e 1,,e m 1, a m } : Variables de base B Variables hors base H e 1,,e m 1, a m x 1,,x n, e m A B = I m A H b ( 1 ) ( ) ϕ aux (b) = Phase 1 - Étape 3 : On remarque que dans ce cas, une variable en base a un coût initial non nul, il faut donc procéder à un calcul des coûts réduits dès l initialisation : Variables de base B Variables hors base H e 1,,e m 1, a m x 1,,x n, e m A B = I m A H b ( 1 ) ( ) ϕ aux (b) = L H ϕ aux (b) Phase 1 - Étape 4 : Choix de la variable entrante Le but de cette phase 1 est de faire sortir a m de la base, car si a m H, a m = ϕ aux étant à minimiser, on choisit la variable entrante v e H telle que L H (e) soit le plus négatif possible ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

4 Analyse de sensibilité postoptimale 23 Phase 1 - Étape 5 : Toutes les autres étapes du simplexe sont les mêmes que dans la méthode générale On peut revenir à la résolution du problème de départ si et seulement si la solution optimale du problème auxiliaire est telle que a m = Phase 2 - Étape 1 : On peut donc enfin débuter la résolution de notre problème d origine Le tableau initial est obtenu à partir du tableau final du problème auxiliaire en supprimant les variables artificielles et en réinitialisant les coûts réduits avec les coûts réels de la fonction-objectif ϕ Remarque 359 : Autrement dit, on remplace la dernière ligne par les coefficients des variables dans la fonction-objectif de départ : c 1,,c n pour les x i et pour les e i Phase 2 - Étape 2 : On poursuit l algorithme du simplexe à partir du tableau obtenu à l étape précédente 333 Cas remarquables Remarque 361 : Le déroulement de l algorithme du simplexe peut présenter quatre cas particuliers Nous allons voir à quoi ils correspondent et comment poursuivre quand cela est possible Cas 1 : Si dans la phase 1 d un problème auxiliaire on se retrouve avec L H et F aux >, alors n est pas optimum de ϕ aux donc le problème initial n a pas de solution réalisable et donc pas de solution optimale (D R = ) Cas 2 : Si la solution optimale est elle que a m B mais que a m =, alors on peut trouver une solution optimale avec a m H en faisant sortir a m de la base ( = a m ) et en faisant entrer n importe quel vecteur v e de H tel que v e (s) (cns pour que B soit une base) Cas 3 : Si lors du choix d une variable sortante on a : b/v e, alors il n y a pas d optimum fini pour le problème : l optimum est infini Cas 4 : Si lors du choix de la variable entrante on a L H (e) = max{l H (v) v H} =, alors il y a plusieurs solutions de base optimales et l ensemble des solutions optimales est alors caractérisée par les segments joignant ces solutions de base deux à deux 4 Analyse de sensibilité postoptimale Le but de l analyse postoptimale est d estimer l influence du changement de certains paramètres d un programme linéaire sur la structure et la valeur d une solution optimale, autrement dit, on désire connaître les plages de variations des données pour lesquelles la solution reste optimale sans avoir à tout recalculer via un simplexe Remarque 462 : Il existe deux type d analyse postoptimale : l analyse standard (une seule donnée varie) l analyse paramétrée (plusieurs données varient de façon liée) Remarque 463 : Les variations étudiées ont lieu sur les coûts (c) et sur le vecteur des contraintes (b) ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier

24 Deuxième partie Bibliographie Recherche opérationnelle pour ingénieurs, tome 1 (Dominique de Werra, Thomas-M Liebling, Jean-François Hêche) - PPUR Précis de recherche opérationnelle (Robet Faure, Cerbanrd Lemaire, Christophe Picouleau) - Dunod La recherche opérationnelle (Yves Norbert, Roch Ouellet, Régis Parent) - Gaëtan Morin Editeur Exercices et problèmes de recherche opérationnelle (G Desbazeille) - Dunod Recherche opérationnelle - Notes de cours (Marco Dozzi) Graphes et Recherche Opérationnelle - Notes de cours (Alain Mirgaux) ESIAL Graphes et Recherche Opérationnelle Version 4 Tony Bourdier