RECHERCHE OPERATIONNELLE



Documents pareils
Programmation linéaire

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

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

Programmation Linéaire - Cours 1

Optimisation Discrète

Fonctions de plusieurs variables

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.

Calcul différentiel sur R n Première partie

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

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

3. Conditionnement P (B)

Cours d Analyse. Fonctions de plusieurs variables

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

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

Image d un intervalle par une fonction continue

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

3 Approximation de solutions d équations

DOCM Solutions officielles = n 2 10.

Chp. 4. Minimisation d une fonction d une variable

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

Continuité en un point

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

Chapitre 2 Le problème de l unicité des solutions

Optimisation des fonctions de plusieurs variables

Correction de l examen de la première session

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

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

Limites finies en un point

Théorèmes de Point Fixe et Applications 1

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


Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Construction d un cercle tangent à deux cercles donnés.

Polynômes à plusieurs variables. Résultant

Approximations variationelles des EDP Notes du Cours de M2

Chapitre 5 : Flot maximal dans un graphe

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

Théorie et codage de l information

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

La classification automatique de données quantitatives

Une forme générale de la conjecture abc

Chapitre 2. Matrices

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

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

Chapitre 7. Statistique des échantillons gaussiens. 7.1 Projection de vecteurs gaussiens

Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions

Résolution d équations non linéaires

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

Pour l épreuve d algèbre, les calculatrices sont interdites.

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

Continuité d une fonction de plusieurs variables

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

avec des nombres entiers

1 Complément sur la projection du nuage des individus

Sur certaines séries entières particulières

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

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

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

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

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

FIMA, 7 juillet 2005

LES MÉTHODES DE POINT INTÉRIEUR 1

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

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

Probabilités sur un univers fini

6 Equations du première ordre

CHAPITRE 5. Stratégies Mixtes

CHAPITRE VIII : Les circuits avec résistances ohmiques

Le produit semi-direct

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

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

Équations non linéaires

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

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

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

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

Moments des variables aléatoires réelles

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

Extrait du poly de Stage de Grésillon 1, août 2010

Calcul différentiel. Chapitre Différentiabilité

Cours d analyse numérique SMI-S4

Introduction à l étude des Corps Finis

Les indices à surplus constant

La mesure de Lebesgue sur la droite réelle

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

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

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

Fonctions de deux variables. Mai 2011

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

Raisonnement par récurrence Suites numériques

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

Date : Tangram en carré page

EXPLOITATIONS PEDAGOGIQUES DU TABLEUR EN STG

Problème 1 : applications du plan affine

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

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

Etude de fonctions: procédure et exemple

Transcription:

RECHERCHE OPERATIONNELLE 0. Introduction. Ce cours a été enseigné jusqu en 2002, en année de licence, à la MIAGE de NANCY. L objectif principal de ce cours est d acquérir une connaissance approfondie de certaines techniques considérées à l heure acutelle comme des méthodes de base en Recherche Opérationnelle. Celles-ci se retrouvent en effet, sous des formes plus complexes, dans les analyses professionnelles de faisabilité ou d optimisation. Les exercices qui accompagnent ce cours permettent aux étudiants de modéliser des problèmes simples en utilisant les techniques de la Recherche Opérationnelle. Ces exercies ne tiennent évidemment pas compte de tous les paramètres d une véritable analyse professionnelle. Ils sont simplifiés volontairement et sont choisis suivant l orientation des étudiants, en majorité dans le domaine de la gestion; mais les techniques utilisées s appliquent également àlamodélisation en ingéniérie et en sciences. Certaines méthodes de la Recherche Opérationnelle se démontrent - au niveau mathématique - assez facilement. L algorithme du simplexe, par exemple, repose sur des arguments élémentaires de l algèbre linéaire. D autres méthodes présentées dans ce cours, par exemple celles de la programmation dynamique, sont des cas particuliers de développements analytiques et stochastiques plus avancés, qui, à un niveau général, ne sont plus à la portée d un étudiant en licence (même en mathématiques). Une justification élémentaire de certains cas particuliers est cependant faisable et donne lieu à quelques applications intéressantes. D autres méthodes encore sont purement heuristiques, comme la méthode par séparation et évaluation (branch and bound) en programmation linéaire à valeurs entières. Il est peut-être surprenant de constater que la presque totalité des problèmes d optimisations énoncés dans ce cours (hormis ceux relevant de la programmation dynamique) peuvent être résolus à l aide d un algorithme de programmation linéaire. Cependant, des solutions spécifiques, par exemple au problème du flot maximal ou du flot de coût total minimal dans un réseau, sont proposées. Elles sont souvent développées à partir d un programme linéaire adapté au problème spécifique et font partie des méthodes standards dans la littérature récente. Ainsi la question du flot de coût total minimal permet de présenter quelques éléments du simplexe des réseaux. Le cours est divisé en cinq chapitres. Les deux premiers traitent de la programmation linéaire. Ils contiennent : - une introduction à la technique du simplexe, une méthode standard pour la résolution d un programme linéaire; - la dualité;

2 - la méthode des coupes et la méthode par séparation et évaluation pour la résolution de programmes linéaires qui imposent à certaines variables d être à valeurs entières ou même binaires; - l analyse post-optimale, qui détermine la variation de la solution en fonction d un changement des valeurs des paramètres du programme. Le troisième chapitre traite de la théorie des jeux à deux personnes et à somme zéro et s appuie fortement sur les deux chapitres précédents. Au quatrième chapitre nous exposons deux problèmes d optimisation de flots dans des réseaux: le flot maximal (avec sa coupe minimale) et le flot àcoût total minimal. Le dernier chapitre est une introduction aux méthodes élémentaires de la programmation dyamique. Ce domaine est très vaste et de nombreux aspects ne sont pas étudiés, en particulier l aspect stochastique en cas d incertitudes sur les paramètres. Les algorithmes d optimisation liés aux graphes (chemin de longueur maximale ou minimale par exemple) ne figurent pas dans ce cours parce qu ils sont traités dans les cours d outils conceptuels et d algorithmique également enseignés à la Miage de Nancy. Les versions initiales de ce cours, ont été largement inspirées par le traité (non publié) intitulé Recherche Opérationnelle de Francis Conrad, Professeur à l Université Henri Poincaré Nancy. Nous le remercions d avoir mis ce texte à notre disposition. Nous n avons pas connaissance d un livre ou d une monographie dont la présentation correspond à ses notes, mais nous avons pu constater que les livres récents en Recherche Opérationnelle, abordent les sujets traités dans ce cours. Une liste, certainement incomplète, d ouvrages récents est donnée ci-dessous. Bibliographie : C. Guéret, C. Prins, M. Sevaux, Programmation linéaire, Eyrolles, 2000. R. Favre, B. Lemaire, C. Picouleau, Précis de recherche opérationnelle, 5ème éd., Dunod, 2000. Y. Nobert, R. Ouellet, R. Parent, La recherche opérationnelle, Gaëtan Morin, 995. J. F. Phélizon, Méthodes et modèles de la recherche opérationnelle, Economica, 998. J. F. Maurras, Programmation linéaire, compléxité, Springer, 2002. D. Alevra, M. Padberg, Linear optimization and extensions : problems and solutions, Springer, 200. V.K. Balakrishnan, Network optimization, Chapman and Hall, 995. G.B. Dantzig, M.N. Thapa, Linear programming, Springer, 99. H.A. Eiselt, C.L. Sandblom, Integer programming and network models, Springer 2000. B. Korte, J. Vygen, Combinatorial optimization, 2nd ed., Springer, 2002.

3 G. Sierksma, Linear and integer programming, Marcel Dekker, 200. R.J. Vanderbei, Linear programming foundations and extensions, Kluwer, 200. W. Domschke, A. Drexl, Einführung in Operations Research, 3. Auflage, Springer, 995. W. Domschke, A. Drexl, B. Schildt, A. Scholl, S. Voss, Übungsbuch Operations Research, Springer, 995. H.J. Zimmermann, Operations Research Methoden und Modelle. 2. Auflage., Vieweg, 992.

4 I. Programmation linéaire : Algorithme du simplexe Nous commençons par quelques exemples qui peuvent être résolus en termes de programmes linéaires. I. Exemples. a) Problème du mélange La table ci-dessous donne la composition et le coût de 9 alliages standards de plomb, zinc et étain. Alliage 2 3 4 5 6 8 9 plomb (%) 20 50 30 30 30 60 40 0 0 zinc (%) 30 40 20 40 30 30 50 30 0 étain (%) 50 0 50 30 40 0 0 60 80 coût unitaire.3 6.9.3.5.6 6.0 5.8 4.3 4. Le but est de trouver un mélange des 9 alliages qui permet de fabriquer àcoût minimal un alliage contenant. 30 % de plomb ;. 30 % de zinc ;. 40%d étain. Remarquons que l alliage 5 a la bonne composition ; son coût unitaire est de.6. Lemélange, à parts égaux, des alliages 6,, 8 et 9 donne la composition souhaitée aussi :. plomb : 4 (60+40+0+0)=30%. zinc : 4 (30+50+30+0)=30%.étain : 4 (0+0+60+80)=40% coût unitaire : (6.0 + 5.8 + 4.3 + 4.) = 5.05 <.6. 4 Procédons de façon plus systématique pour obtenir le mélange de coût minimal : x j partie de l alliage j dans le mélange recherché (j=,...,9), g x j 0, x j = j= () L e coût unitaire du mélange recherché est le minimum de la fonction z, définie par z(x,x 2,...,x 9 )=.3 x +6.9 x 2 +...+4. x 9

5 sous les contraintes : 30% de plomb : 0.2 x +0.5 x 2 +...+0. x 9 =0.3 (2) 30% de zinc : 0.3 x +0.4 x 2 +...+0. x 9 =0.3 (3) 40% d étain : 0.5 x +0. x 2 +...+0.8 x 9 =0.4 (4) Le programme linéaire consiste à minimiser z(x,x 2,...,x 9 ) sous les contraintes ()-(4). La fonction z est souvent appelée la fonction - objectif (ou fonction objective). Remarque : ()-(4) est un système linéaire de quatre équations et 9 inconnus. Le problème est donc de trouver, dans l espace affine des solutions, la solution qui minimise la valeur de z(x,...,x 9 ). b) Problème de transport Supposons que 250 (resp. 450) containers sont disponibles au dépôt D (resp. au dépôt D 2 ) et que les magasins A, B et C ont commandés 200 containers chacun. Les coûts de transport par containers sont les suivants : magasin A B C dépôt D 3.4 2.2 2.9 dépôt D 2 3.4 2.4 2.5 Le but est de minimiser le coût total de transport des containers des dépôts vers les magasins en respectant les disponibilités et les demandes. x j nombre de containers transportés du dépôt i vers le magasin j (i =, 2, j= A, B, C) Le programme linéaire s énonce de la façon suivante : minimiser z(x ij, i =, 2, j = A, B, C) =3.4 x A +2.2 x B +2.9 x C +3.4 x 2A +2.4 x 2B +2.5 x 2C sous les contraintes - de disponibilité : x A + x B + x C 250 x 2A + x 2B + x 2C 450 - de demande : x A + x 2A = 200 x B + B 2B = 200 x C + x 2C = 200 x ij 0, à valeurs entières La forme générale du problème de transport s énonce comme suite : p dépôts D,D 2,...,D p

6 q magasins M,M 2,...,M q a i quantité disponible au dépôt D i i =,...,p b j quantité demandée par le magasin M j j =,...,q f ij coût unitaire de transport de D i vers M j x ij quantité transportée de D i vers M j programme linéaire : minimiser z(x ij,i=,..., p, j =,...,q)= sous les contraintes q ( ) x ij = a i i =,...,p (dépôts) j= p i= x ij ( ) = b j j =,...,q (magasins) p i= j= x ij 0 (éventuellement à valeurs entières) q f ij x ij Remarque : ) Le choix du signe d égalité ou d inégalité dans les contraintes concernant les dépôts et les magasins dépend du contexte concret. p q 2) a i b j (quantité disponible quantité demandée) i= j= I.2. Solution graphique pour programmes linéaires à deux variables. Exemple : maximiser z(x,x 2 )=4x +3x 2 sous les contraintes 3 x +4x 2 2 x +2x 2 4, x,x 2 0 L intersection des demiplans déterminés par les droites qui correspondent aux contraintes représente l ensemble des solutions qui satisfont aux contraintes (domaine hachuré). La direction qui correspond à la fonction-objectif est donnée par z(x,x 2 )=4x +3x 2 = constante

solution graphique : X 2 6 5 X +2 X 2 =4 4 3-4 (, 3 ) 2 ( ) 6, 2 3 X +4 X 2 =2 X 0 2 3 4 ( 6 (ligne coupée ). On obtient la solution optimale x =, 2 ) en effectuant une translation parallèle de cette direction du haut vers le bas jusqu à ce que le domaine hachuré est atteint. Le point x est un point extremal de ce domaine. La solution graphique n est évidemment applicable qu aux programmes avec trois variables au plus. I.3. La méthode du simplexe. I.3..Forme générale d un programme linéaire. En forme générale un programme linéaire se lit de façon suivante : maximiser z(x,x 2,...,x n )= n j= c jx j sous les contraintes a x + a 2 x 2 +...+ a n x n b a 2 x + a 22 x 2 +...+ a 2n x n b 2 (P ).. a m x + a m2 x 2 +...+ a mn x n b m x,x 2,...,x n 0. En forme vectorielle (P ) se lit :

8 maximiser z(x) =cx sous les contraintes Ax b, x 0, où onaposé: x = x x 2. x n, c =(c,c 2,...,c n ), b = A =(a ij, i =,..., m, j =,...,m)= On dit que (P ) est sous forme canonique. Autre forme : (P =) maximiser z(x) =cx sous les contraintes Ax = b, x 0. On dit que (P =) est sous forme standard. b b 2. b m a a 2...a n a 2 a 22...a 2n. a m a m2...a mn Proposition 3.. Chaque programme linéaire en forme standard s écrit en forme canonique et inversement. Preuve. a) Ax b, x 0 (forme canonique) n a ij x j b i i =,...,m j= n a ij x j + e i = b i où e i = b i j= n a ij x j 0 j= e i : variable d écart. 0 Soit I m =... la matrice d identité d ordre m, 0 e e =.. le vecteur d écart. e m ( ) ( ) x x Alors Ax b, x 0 (A, I m ) = b, 0 (forme standard). ( ) e e x Posons z (x, e) =c, où c e =(c, 0)=(c,...,c n, 0,...,0). b) Ax = b (forme standard) } {{ } m fois

Ax b Ax b 9 ( ) ( ) Ax b A b ( A)x b x A b (forme canonique). Exercice : Ecrire le programme linéaire suivant sous forme canonique : maximiser z(x) =cx sous les contraintes Ax b, x 2,x 3,...,x n 0. Indication : x = max{0,x }, x = min{0,x }. Remplacer x par x,x 0. I.3.2. Solutions de base réalisables. Retournons à l exemple de I.2. Sous forme standard, il se lit : maximiser z(x,x 2,x 3,x 4 )=4x +3x 2 sous les contraintes 3x +4x 2 + x 3 =2 x +2x 2 + x 4 =4, x,x 2,x 3,x 4 0 ( ) ( ) 2 3 4 0 On pose c =(4, 3, 0, 0), b =, (A, I 4 2 )= On voit facilement que x = 2 0 2 0 x 0 x = satisfait aux contraintes. On dit que x est x 3 2 x 4 4 solution de base réalisable, la base étant J = {3, 4} (troisième et quatrième composante de x), les variables bases étant x 3 =2 et x 4 = 4. Remarquons que x n est pas optimal : z(x) = cx = 0. La procédure d optimisation se fait par une suite de tableaux, appelés tableaux du simplexe. Le premier résume les données c, b, A et les variables de base. La dernière ligne est égale à c. Premier tableau du simplexe c 4 3 0 0 c j variables de base x x 2 x 3 x 4 0 x J = x 3 2 3 4 0 0 x J 2 = x 4 4 2 0 z(x) 0-4 -3 0 0 Retour au cas général : (P =) maximiser z(x) =cx sous Ax = b, x 0 où x R n +,c R n,b R m,aune matrice m n. On peut supposer sans restriction de généralité que rang A = m<n. Rappel : Rang A = nombre (maximal) de lignes linéairement indépendantes de A = nombre (maximal) de colonnes linéairement indépendantes de

0 A. En fait, ( si Rang A<mil y a des contraintes redondantes qui ( peuvent ) être ) supprimées exemple : 5x +5x 2 0, 0x +0x 2 20, Rang =. 5 5 0 0 Si m = n, la solution de Ax = b est unique et donnée par x = A b. Il n y a donc rien à maximiser. Définition. Posons A =(a,a 2,...,a n ) (a j est la j ème colonne de A), et, pour J {, 2,...,n}, posons A J = {a j,j J}.. J {, 2,...,n} est une base de (P =), si J = m et si Rang A J = Rang (a j,j J) =m. Soit x = x. x n R n +. x j J (j / J). On note x J =(x j,j J). x. solution de base réalisable : x =. R n + est variabe de base (variable hors base), si j x n tel que x j = 0 pour j/ J et tel que Ax = A J x J = b (c est-à-dire que x J satisfait aux contraintes). ( ) 340 Exemple (suite) : Posons A = Alors Rang A =2=m, n =4 ( ) 20 0 J = {3, 4}, A J =, Rang A 0 J =2. variable de base : x 3 =2,x 4 =4. variable hors base : x = x 2 =0 0 ( )( ) ( ) 0 0 2 2. solution de base réalisable : x = A 2 J x J = = = 0 4 4 4 b. Remarque : L avantage de passer de la forme canonique à la forme standard est qu on obtient immédiatement une solution de base réalisable qui sert de solution de départ pour l algorithme du simplexe. Les variables de base sont les variables d écart. I.3.3. Changement de base réalisable. Soit x une solution de base réalisable de (P =). On a alors z(x) =cx = c J x J où c J =(c j,j J). Le but est de trouver une autre base réalisable, notée J, et une solution de base réalisable associée, notée x, tel que z(x) > z(x) (x est meilleur que x).

Laméthode du simplexe consiste à remplacer une variable de base, notée x r, par une variable hors base, notée x k. On dit que x r est variable sortante de la base J : x r x r =0, x k est variable entrante dans la base J : x k =0 x k > 0. On aura donc J = ( J {r} ) {k}. Question : Comment choisir r et k? Réponse :. Choisir r tel que A J x J = b et x J 0 (c est-à-dire choisir r tel que toutes les contraintes sont satisfaites par x).. Choisir k tel que z(x) >z(x) (augmentation de la valeur de z). Il faut maintenant des formules pour le choix de r et de k. Ces formules sont développées dans la suite. ) Choix de r. Notons b i (i J) les colonnes de A J. Dans l exemple on a b = ( ),b 2 = 0 ( ) 0 Comme Rang A J = m, toutes les colonnes de A s écrivent comme combinaison linéaire de b,b 2,...,b m ; en particulier a k = a ik b i = a ik b i + a rk b r i J i J {r} b r = ( a k a ik b i) Il faut supposer a rk 0. a rk i J {r} Remarquons que, grâce à la forme particulière des b et b 2 dans l exemple, les coefficients a ik ci-dessus (i =, 2; k {, 2, 3, 4}) sont des éléments de A. A J x J = b i x J i = b i x J i + b r x J r i J = i J {r} = i J {r} i J {r} b i x J i + a rk ( a k i J {r} a ik b i) x J r ( b i x J i a ) ik x J r +a k xj r = b i x J i a } {{ rk a } }{{} rk i J def = x J i def = x J k = A J x J () (2) Comme x est solution de base réalisable, on a A J x J = b. On pose x J i = 0 pour i/ J. x est alors solution de base réalisable de (P =) par rapport à J si x J i 0. Il

2 s ensuit de (2) que x J i 0 x J i a ik x J r xj i xj r a rk a ik a rk a ik > 0 Il faut donc choisir r tel que x J { } r x J = min i,a ik > 0, i J. (3) a rk a ik 2) Choix de k. Soit x une solution de base réalisable par rapport à la base J. Alors z(x) =cx = i J = i J z(x) >z(x) c k i J c i x J i = i J {r} c i x J i c r x J r ( c i x J i a ) ik x J x J r r + c k a rk a rk i J {r} = z(x) a ik c i x J x J r r + c k a rk a rk i J ( = z(x)+ xj r c k ) c i a ik a rk i J c i a ik > 0. c i a ik a rk x J r + c k x J r a rk Notons z k = i J c i a ik. Il faut donc choisir k tel que ou encore z k c k < 0 { z k c k = min zj c j,z j <c j et il existe i J tel que a ij > 0 }. (4) j=,...,n Retour à l exemple : J = {3, 4}, c 3 = c 4 = 0, et donc z j = 0 pour j =, 2, 3, 4. Donc z j c j = c j,j=, 2, 3, 4. Donc k =. x J r Choix de r : = min { x J i ; a i > 0, i J } { } 2 = min a r a i 3, 4 = 2. Donc r =2.x 4 sort de la base, et x entre en base. Nouvelle base J = {3, }. D après

3 (2) on a x J = x 3 = x J a x J 2 =2 3 a 2 4 = 6, xj 2 = x = xj 2 = 2. Donc a 2 x =(2, 0, 6, 0). z(x) =c J x J + c J 2 x J 2 = c 3 x 3 + c x =4 2 = 8. Le passage de J = {3, 4} à J = {3, } a donc permis d augmenter la valeur de z à 8, mais ce n est pas encore la valeur maximale. 3) Calcul du nouveau tableau. Reprenons la transformation obtenue en ) de x x qui a permis d augmenter la valeur de z. Puisque la valeur z(x) ( >z(x) ) n est pas nécessairement maximale, il est nécessaire, en général, de répéter les démarches ) et 2) plusieurs fois pour arriver à une solution de base réalisable qui est un point maximal de z. Il nous faut donc un deuxième tableau ou x J est remplacé par x J et qui admet la même interprétation que le premier. Il faut appliquer la même transformation linéaire aux colonnes de A qui a permis de passer de x à x ( voir (2) ). A =(a ij,i=,...,m,j =,...,n) est remplacé par A =(a ij,i=,..., m, j =,...,n), suivant les formules : a j = a j. a mj a j = a j. a mj, où a ij = a ij a ika rj a rk (si i r) eta rj = a rj a rk (5) On aura alors n a ij x j = b i j= n a ij x j = b i, (6) j= où b i, i =,..., m, sont les nouvelles variables de base x J i. La dernière ligne du nouveau tableau se calcule de la même façon : On a en fait z j c j = i J c ia ij c j parce que = i J c i a ij c j = i J c i a ij c r a rj a rj a rk ( z j c j = z j c j a rj a rk (z k c k ). () i J {r} i J {r} ( c i a ij a ) ika rj a rj + c k c j a rk a rk c i a ik ) + c k a rj a rk c j = z j c j a rj a rk (z k c k ). En appliquant ceci à notre exemple nous obtenons le deuxième tableau du simplexe ( par rapport à la base J = {3, } ).

4 Deuxième tableau du simplexe ( J = {3, } ) c 4 3 0 0 c j variables de base x x 2 x 3 x 4 0 x J = x 3 6 0 22/ -3/ 4 x J 2 = x 2 2/ 0 / z(x) 8 0-3/ 0 4/ Comme on a déjà vu e partie 2) la valeur de z est passée de zéro à 8, mais il y a encore des valeurs négatives en dernière ligne du tableau. Un autre changement de base doit être effectué en appliquant les formules (3) et (4) remplacé par J : { } { } { x J k =2, min i 2 ; i =, 2 = min a i2 2/, 6 = min, 22/ r =,x 3 sort de base. J = {2, } est la nouvelle base. } 2 = 2, Remarquons que, d après (6), le deuxième tableau s interprète de même façon que le premier : x ( 0 22 3 ) ( ) ( ) ( ) x 2 6 x3 x J 2 0 x 3 = = = 2 x x J 2 avec solution de base réalisable x J = x 4 ( x x 3 ) = ( ) 2 et x 6 2 = x 4 =0. Notons aussi que la structure des colonnes qu correspondent aux variables de base (x et x 3 ) est la même que celle des colonnes qui correspondent aux variables de base du tableau de départ. Ceci permet de procéder de même façon pour passer au troisième tableau, en appliquant les formules (2) à (). La valeur de z passe alors de 8à 2/, et cette valeur est maximale parce que toutes les valeurs de la dernière ligne sont non négatives. La solution optimale est donc x =( x, x 2 )= ( 6, 2 ), ce qui confirme le résultat obtenu en I.2. Elle est unique parce qu aucun changement de base n est plus possible.

5 Troisième tableau du simplexe ( ) J = {2, } c 4 3 0 0 c j variables de base x x 2 x 3 x 4 3 x J = x 2 2/ 0 /22-3/22 4 x J 2 = x 6/ 0 -/ 2/ z( x) 2/ 0 0 3/22 /22 I.4. Existence et unicité d une solution optimale. Dans cette section nous résumons ce qui a été dit en I.3, et nous étudions les divers cas qui peuvent se produire en résolvant un programme linéaire à l aide du simplexe. Après avoir écrit le premier tableau du simplexe et ajouté z j = c j en dernière ligne, trois cas sont possibles : (i) z j c j 0 pour j =,...,n. La solution de base réalisable x est déjà optimale. Elle est solution optimale unique ou non unique (voir les exemples ci-dessous). (ii) Il existe j {,...,n} tel que z j c j < 0eta ij 0 pour tous i J. L e domaine des solutions réalisables est alors non-borné et le problème a été mal posé, parce que max z(x) =+. Exemple : maximiser z(x,x 2 )=x + x 2 sous les contraintes x + x 2, x,x 2 0. (iii) Le cas habituel : il existe j {,...,n} tel que z j c j < 0, et il existe i J tel que a ij > 0. Le changement de base tel qu il a été décrit en partie I.3 ci-dessus est alors possible et doit être effectué, éventuellement plusieurs fois, jusqu à ce qu on arrive au cas (i) ci-dessus. Est-ce possible que le simplexe n aboutit pas, c est-à-dire que, dans le cas (iii), on arrive dans un loop? La réponse est oui, et de tels exemples ont été construits. Mais en pratique ils sont très rares. Exemples où la solution optimale n est pas unique : ) maximiser z(x,x 2 )=2x x 2 sous les contraintes 2x x 2 4, x + x 2, x +2x 2 4, 2x + x 2 2, x,x 2 0. La droite qui correspond à la première contrainte donne exactement la direction indiquée par la fonction à maximiser. La partie de cette droite qui appartient au bord de l ensemble des solutions réalisables est donc l ensemble des solutions réalisables optimales. Remarquons que le simplexe nous donne seulement les points extrémaux du segment des solutions optimales. Ce sont précisément les solutions de base réalisable

6 optimales. Les autres solutions réalisables optimales sont les combinaisons convexes de ces solutions de base optimales. Il est toujours vrai que les solutions de base optimales sont des points extrémaux de l ensemble convexe des solutions optimales (voir Théorème 5.2). 2) maximiser z(x,x 2,x 3 )=x 2x 2 + x 3, sous les contraintes x 2x 2 + x 3 0, 2x 3x 2 x 3 6, x,x 2,x 3 0. Premier tableau c -2 0 0 c variables de base x x 2 x 3 x 4 x 5 0 x J = x 4 0-2 0 0 x J 2 = x 5 6 2-3 - 0 z(x) 0-2 - 0 0 Deuxième tableau c -2 0 0 c variables de base x x 2 x 3 x 4 x 5 0 x J = x 4 0 -/2 3/2 -/2 x J 2 = x 3-3/2 -/2 0 /2 z(x) 3 0 /2-3/2 0 /2 Troisième tableau c -2 0 0 c variables de base x x 2 x 3 x 4 x 5 x J = x 3 4/3 0 -/3 2/3 -/3 x J 2 = x 6/3-5/3 0 /3 /3 z(x) 0 0 0 0 0 ( 6 Le troisième tableau nous fournit la solution de base optimale. x = t 3, 0, 4 ) 3 En effectuant une étape supplémentaire du simplexe (k =5,r= 2) on arrive à une autre solution de base optimale x = t (0, 0, 0) :

Quatrième tableau c -2 0 0 c variables de base x x 2 x 3 x 4 x 5 x J = x 3 0-2 0 0 x J 2 = x 5 6 3-5 0 z(x) 0 0 0 0 0 Toutes les combinaisons convexes de ces deux solutions optimales sont donc des solutions optimales aussi. Indépendant du simplexe on peut vérifier directement que les vecteurs suivants sont des solutions optimales eux aussi : ( 6 x ϕ = t 3 + 5 3 ϕ, ϕ, 4 3 + ) 3 ϕ pour tous ϕ>0 On a évidemment z(x) =z(x) =z(x ϕ ) = 0 pour tous ϕ>0. Terminons ce paragraphe par des preuves mathématiques de quelques énoncés concernant le simplexe. Retournons à la forme standard : (P =) maximiser z(x) =cx sous les contraintes Ax = b, x 0 Théorème 4.. Soit x R n + une solution de base réalisable de (P =) par rapport à une base J ( J = m = rang A ). Soit z j = c i a ij. Si z j c j 0 pour tous i J j =,...,n, x est solution de base réalisable optimale. Preuve. Soit A =(a,a 2,...,a n ),A J =(a j,j J) =(b i,i=,...,m). Soit x 0 une autre solution réalisable de (P =) par rapport à la base J. Adémontrer : z(x) z(x 0 ). n n ( m m ( n ) Ax 0 = b a j x 0 j = b a ij b )x i 0 j = b i a ij x 0 j = b n Donc x J i = a ij x 0 j j= Ax = b A J x J = b j= z(x) = = m c i x J i = i= n x 0 jz j j= i =,...,m j= i= m x J i b i = b i= m ( n ) c i a ij x 0 j = i= j= n x 0 jc j = z(x 0 ) j= n x 0 j j= i= ( m ) c i a ij i= j=

8 Théorème 4.2. Soit x R n + une solution de base réalisable de (P =) par rapport à une base J. ( J = m = rang A ). Soit z j = c i a ij. Supposons que a ij 0 pour i J tous i J et pour tous j {,...,n} tel que z j c j < 0. Alors l ensemble { z(x), x est solution réalisable } est un ensemble non borné. Preuve. On reprend les notations du Théorème 4.. m m A J x J = b i x J i = b i x J i ϕa k + ϕa k = b i= i= i= m m b i x J i ϕ a ik b i + ϕa k = b i= m b i (x J i ϕa ik )+ϕa k = b. i= k / J, z k <c k,ϕ>0 Comme a ik 0 par hypothèse, x ϕ def i = x J i ϕa ik x J i. On pose xϕ def k = ϕ>0. Donc x ϕ définie par x ϕ i i J {k} comme ci-dessus et par x ϕ i = 0 pour i/ J {k} est une solution réalisable de (P =), mais pas nécessairement une solution de base réalisable. m m z(x ϕ )= c i x ϕ i + c kx ϕ k = c i (x J i ϕa ik )+c k ϕ i= i= ( m ) = z(x) ϕ c i a ik c k = z(x) ϕ(z k c k ) >z(x) i= puisque z k c k < 0. En faisant tendre borné. ϕ + on voit que z(x ϕ ) n est pas I.5. Structure géométrique des solutions réalisables. Pour les exemples qu on a résolu graphiquement, la ou les solutions optimales se trouvent toujours sur le bord de l ensemble convexe des solutions réalisables. Si la solution optimale était unique il s agissait d un point extrémal. Ceci n est pas un hasard ; c est en fait toujours le cas, comme le montrent les énoncés qui suivent. Commençons par quelques définitions :. Un ensemble E R n est convexe si x,x 2 E, 0 <λ<= λx +( λ)x 2 E.. x est point extrémal de l ensemble convexe E si l énoncé suivant vaut [ il existe x,x 2 E et λ [0, ] tel que x = λx +( λ)x 2] = x = x 2 = x

9 Rappelons la forme canonique d un programme linéaire : (P ) maximiser z(x) = cx sous les contraintes Ax b, x 0, où on suppose que la matrice A est une matrice m n de rang égal à m(< n). La forme standard est alors donnée par (P =) maximiser z(x) = cx sous les contraintes (A, I m ) ( ) x = b, x R n e +,e R m + Lemme 5.. Soit Γ (resp. Σ) l ensemble des solutions réalisables de (P ) ( resp. de (P =)) : Γ={x R n, ; Ax b, x 0} Σ= {( x e ) R m+n, (A, I m ) Γ et Σ sont des ensembles convexes et fermés. ( x e ) } =0,x R n +,e R m + Esquisse de la preuve. Adémontrer a) x,x 2 Γ, 0 <λ<= x def = λx +( λ)x 2 0etAx b b) {x n } n N Γ, x n n x = x Γ et pareil pour Σ. Rappelons que la méthode du simplexe se sert uniquement de solutions de base de (P =). Le théorème suivant nous dit que ce sont en fait les points extrémaux de M. ( ) x 0 Théorème 5.2 e 0 est solution de base réalisable de (P =) si et seulement si ( ) x 0 est point extrémal de Σ. e 0 Remarque. Il s ensuit que chaque point extrémal de Γ est solution de base réalisable de (P=). Les exemples où la solution n est pas unique montrent que les solutions optimales se trouvent sur le bord. Le théorème suivant confirme ce fait. Théorème 5.3. Chaque solution optimale de (P ) (resp. de (P =)) fait partie du bord de Γ (resp. de Σ).

20 Preuve. Soit u un point intérieur de Σ, tel que z(u) =cu = max{z(v), v Σ}. Il existe alors ε>0 tel que {v R n+m ; u v <ε} Σ, en particulier ṽ = u + ε t c z c. Mais z(ṽ) =cṽ = cu + ε c >z(u), ce qui est une contradiction à l hypothèse que u 2 est un point maximal de z. Est-ce possible qu il existe des solutions optimales, mais qu il n existe pas de solution de base réalisable optimale? Le simplexe, ne traitant que de solutions de base ne permettrait alors pas de trouver une solution optimale. Le théorème suivant dit que ceci n est pas le cas. Théorème 5.4. Si (P =) possède une solution optimale, alors (P =) possède une solution de base réalisable optimale. Conclusion. S il existe des solutions optimales, elles se trouvent sur le bord de Σ par le théorème 5.3., et il existe toujours une solution de base réalisable optimale, qui est un point extrémal de Σ d après le Théorème 5.2. et qu on trouve à l aide du simplexe. I.6. Initialisation de la méthode du simplexe. Jusqu à présent on a supposé que le programme linéaire de départ est en forme canonique. Dans ce cas une solution réalisable initiale est facile à obtenir, et l algorithme du simplexe s applique directement à la forme standard associée. Si le programme de départ est déjà en forme standard, une solution de base réalisable qui sert de solution initiale n est pas toujours immédiate comme le montre l exemple suivant : Maximiser z(x) = x +2x 2 2x 3 sous les contraintes x + x 2 x 3 =3, x +3x 2 = 4 etx,x 2,x 3 0. Nous présentons dans cette section deux techniques qui permettent de trouver une solution de base réalisable qui sert de solution initiale pour le simplexe. I.6.. La Méthode M. Supposons que le programme linéaire à résoudre est donné par (P =) maximiser z(x) = cx, sous les contraintes Ax = b, x 0 (A matrice m n, Rang A = m<n). En ajoutant des variables d écarts (de signe positif ou négatif) il est toujours possible de mettre un programme linéaire en la forme (P =) ci-dessus avec b R m +. S il n est

2 pas évident de trouver une solution de base réalisable qui peut servir de solution initiale pour le simplexe, on ajoute aux contraintes des variables artificielles y i 0: Ax = b est remplacé par Ax + y = b, y = t (y,y 2,...,y m ) R m +. Les nouvelles contraintes ne sont bien sur pas équivalentes aux contraintes initiales. On pénalise les y i > 0 en remplaçant la fonction-objectif z(x) par z (x, y) =cx m M y i,où M est une valeur positive très élevée. On choisira les y i = b i, i = i=,...,m, comme solution de base réalisable qui sert de solution initiale. Diminuant considérablement la valeur de z, elles vont disparaître de la base au cours des étapes du simplexe. Etant finalement des variables hors base, leur valeur sera égale àzéro et le programme linéaire résolu sera quand même le programme (P =). De façon plus précise, on part du programme linéaire suivant : m (P M ) maximiser z (x, y) =cx M i= ( sous les contraintes Ax + y = b, x R n +,y R m +,b R m +. S il y a des composantes de b qui sont négatives, on multiplie par ( ) les contraintes initiales concernées ). La solution de base réalisable initiale est y = b. On exprime z en termes de variables hors base en substituant les y i : y i n a ij x j + y i = b i y i = b i j= n a ij x j j= m ( n ) z (x, y) =cx M b i a ij x j = i= n ( c j + M j= i= j= m a ij )x j M m i= b i er cas. Le tableau final du simplexe appliqué à(p M ) comporte un ou plusieurs y i > 0. Le programme inital (P =) n a alors pas de solutions de base réalisables et donc pas de solutions réalisables du tout. En effet : Si (P =) possède une solution de base réalisable (c est-à-dire x R n + tel que Ax = b), le M>>0 aurait fait sortir tous les y i de la base en les posant égal àzéro. 2nd cas. Le tableau final ne comporte pas de y i en variables de base. La solution optimale de (P M ) est alors solution de (P =), parce que y i =0(i =, 2,...,m). Il reste alors à se persuader qu il s agit de la (ou d une) solution de base réalisable optimale de (P ) (voir Théorème 4..).