44
ن م ح ر ل ه ا ل ل م ا س ب م ي ح ر ل ا

Réalisé par dirigé par: HADDOUCHE ASMA Mr LAYEB BOUHEDJA WAFA BELALA AMINA République Algérienne Démocratique et populaire Ministère de l’Enseignement

Embed Size (px)

Citation preview

  • Page 1
  • Page 2
  • Ralis par dirig par: HADDOUCHE ASMA Mr LAYEB BOUHEDJA WAFA BELALA AMINA Rpublique Algrienne Dmocratique et populaire Ministre de lEnseignement Suprieur Et de la Recherche Scientifique Universit Mentouri-Constantine Facult des Sciences de lIngnieur Dpartement dInformatique LMD
  • Page 3
  • Plan Programmation Linaire Programmation Sparable Programmation Quadratique Conclusion
  • Page 4
  • Programmation linaire Introduction Dfinitions Rsolution Graphique La Mthode du Simplexe La dualit
  • Page 5
  • Introduction Loptimisation combinatoire consiste trouver loptimum dune fonction dans un temps dexcution raisonnable. Les mthodes de loptimisation combinatoire peuvent tre classes en mthodes heuristiques et mthodes exactes. Dans le cas simple o la fonction maximiser ou minimiser et toutes les contraintes sont du premier degr, le problme prend le nom de programmation linaire. On distingue dans la programmation linaire, la programmation linaire en nombres rels, et la programmation en nombres entiers, pour laquelle les variables sont dans IN.
  • Page 6
  • Programmation linaire Introduction Dfinitions Rsolution Graphique La Mthode du Simplexe La dualit
  • Page 7
  • Dfinitions la programmation linaire(PL) : En mathmatiques, les problmes de programmation linaire (PL) est la recherche de loptimum (minimum ou maximum) dune fonction objectif linaire lies par des quations ou inquations linaires appeles contraintes La fonction objectif : on appelle fonction objectif dun problme doptimisation le critre de choix entre les diverses solutions possibles. Les contraintes : On appelle contraintes du problme toutes les relations limitant le choix des valeurs possibles des variables.
  • Page 8
  • Dfinitions Forme gnrale dun problme linaire: MAX (ou MIN): c 1 X 1 + c 2 X 2 + + c n X n a 11 X 1 + a 12 X 2 + + a 1n X n b 1 S.C a 21 X 1 + a 22 X 2 + + a 2n X n b 2 .. a m1 X 1 + a m2 X 2 + + a mn X n = b m x1 0, x2 0,........., xn 0 Matriciellement, le problme peut secrire comme Max(ou Min) (z) = c T x, S.C Ax b, x 0. Avec : A matrice (m n), b vecteur (m 1) c vecteur (n 1), x vecteur (n 1).
  • Page 9
  • Programmation linaire Introduction Dfinitions Rsolution Graphique La Mthode du Simplexe La dualit
  • Page 10
  • Rsolution Graphique Exemple On va maximiser la fonction suivante Max(z) = 1200 x1 + 1000 x2 sous les contraintes conomiques 3 x1 + 4 x2 160 6 x1 + 3 x2 180 et les contraintes de signe x1 0 ; x2 0 Cette mthode n'est applicable que dans le cas o il n'y a que deux variables de dcision (dactivit), un problme linaire peut tre rsolu de manire graphique en suivant le processus en trois tapes : 1. Reprsentation graphique des contraintes et de la rgion ralisable.
  • Page 11
  • Rsolution Graphique 2.Reprsentation de la fonction objectif. 3. Dtermination le point optimum.
  • Page 12
  • Programmation linaire Introduction Dfinitions Rsolution Graphique La Mthode du Simplexe La dualit
  • Page 13
  • La Mthode du Simplexe Introduction Une des mthodes les plus connues pour rsoudre des programmes linaires en nombre rels est la mthode du Simplex. En thorie, elle a une complexit non polynmiale. Cependant, en pratique, il s'avre au contraire qu'il s'agit d'une bonne mthode. Dfinition Un tableau Simplexe est constitu des coefficients des quations algbriques Les coefficients de la fonction objectif Les coefficients des variables dans le membre de gauche des contraintes; Les coefficients du membre de droite. LAlgorithme a. Prendre la forme dgalit du problme linaire. b. Soit r lindice tel que max c j j //il donne la variable qui rentre Test Si A ir 0 (Arrt anormal) (Si la colonne r est 0) (Z +) Si non c. Soit lindice Min b i /A ir //A ir > 0 La ligne pivot d. Faire le pivotage : la variable entrante prend la colonne de la variable sortante dans le systme dquations, en ce compris dans lexpression de la fonction objectif e. Test darrt Si c j 0 j Arrt normal si non aller (b)
  • Page 14
  • La Mthode du Simplexe Exemple Max Z= 1200 x 1 + 1000 x 2 Max Z=1200 x 1 +1000 x 2 3x 1 + 4x 2 160 3x 1 + 4x 2 + t 1 =160 6x 1 +3x 2 180 6x 1 +3x 2 +t 2 =180 x 1 0, x 2 0 x 1 0, x 2 0 Dans lexemple : Les variables de base sont donc x 1, x 2 Les variables hors base sont t 1, t 2 On slectionne la variable dans la Base ayant le plus petit coefficient positif dans la colonne R.(la ligne pivot) On slectionne la variable HB ayant le plus grand coefficient positif dans la ligne D. (La colonne pivot )
  • Page 15
  • La Mthode du Simplexe On appelle lment pivot le coefficient situ lintersection de la colonne pivot et de la ligne pivot (6). - Amener un coefficient 1 la place du pivot en divisant la ligne pivot - Les coefficients de la ligne du pivot sont diviss par le pivot
  • Page 16
  • La Mthode du Simplexe La solution optimale : x 1 =16, x 2 =28, Z=47200 Critre d'arrt des itrations: Si tous les coefficients de la ligne D relatifs aux variables HB, sont ngatifs ou nuls, la solution trouve est optimale
  • Page 17
  • Programmation linaire Introduction Dfinitions Rsolution Graphique La Mthode du Simplexe La dualit
  • Page 18
  • Dfinitions forme dual Ou c et x sont des vecteurs de taille n, b un vecteur de taille m, et A une matrice de taille. Intrt de la Dualit Le problme dual possde de trs intressantes applications conomiques. chaque contrainte primale correspond une variable duale. Caractristique A tout programme linaire appel PRIMAL correspond un programme linaire appel DUAL obtenu de la manire suivante:
  • Page 19
  • La dualit Exemple A l'optimum, le primal et le dual sont lis par les rgles suivantes: - les fonctions objectifs z et w ont la mme valeur optimale - la valeur marginale d'une variable dans un programme est gale l'oppos de la valeur optimale de la variable associe dans l'autre programme et rciproquement. Solution
  • Page 20
  • Plan Programmation Linaire Programmation Sparable Programmation Quadratique Conclusion
  • Page 21
  • Programmation Sparable Introduction Dfinition Algorithme de rsolution des problmes sparables Exemple
  • Page 22
  • Introduction En informatique, la programmation non-linaire ( PNL) est une mthode permettant de rsoudre de nombreuses quations et inquations dpendant d'un ensemble de paramtres contraintes sous la forme d'une fonction maximiser ou minimiser. I l ya plusieurs mthodes de rsolution de ce genre de problme, parmi ces mthodes on a Les problmes sparables Les problme a contrainte linaire Dfinition Des problmes sparables qui ne comportent que des fonctions non linaires dune seule variable. Une fonction est sparable si elle peut tre exprime comme la somme de fonctions d une seule variable : f(x) = f j (x j ), j=1....n Ces problmes peuvent tre rsolus en considrant une suite dapproximations linaires par morceaux des fonctions non linaires dune seule variable.
  • Page 23
  • Programmation Sparable Introduction Dfinition Algorithme de rsolution des problmes sparables Exemple
  • Page 24
  • Algorithme de rsolution des problmes sparables chaque fonction non linaire dune seule variable est remplace par une approximation linaire par morceaux. le problme approxim est alors rsolu par une version spcialise de lalgorithme du simplexe traitant les problmes linaire par morceaux. enfin, si la solution ainsi obtenue scarte trop des relations non linaires originales, on raffine la discrtisation autour de la solution optimale du problme approxim et on itre.
  • Page 25
  • Programmation sparable Introduction Dfinition Algorithme de rsolution des problmes sparables Exemple
  • Page 26
  • Exemple Min x 1 2 4x 1 2x 2 x 1 + x 2 4 S.C 2x 1 + x 2 5 -x 1 + 4x 2 2 x 1, x 2 0 Il sagit dun problme convexe car on minimise x 1 2 qui est une fonction convexe. La premire tape faire est de se donner une borne infrieure et une borne suprieure la valeur que pourra prendre la variable non linaire. Supposons ici que 0 x 1 2.5. Point O x 1 = 0 y = x 1 2 = 0 Point A x 1 = 1 y = x 1 2 = 1 Point B x 1 = 2 y = x 1 2 = 4 Point C x 1 = 2.5 y = x 1 2 = 6.25 On construit alors une approximation linaire par morceaux de la fonction en reliant par des segments de droite les points dvaluation de la fonction. on obtient la courbe linaire par morceaux indique par OABC de ce problme
  • Page 27
  • Exemple La deuxime tape on rsoudre le problme linaire par morceaux. nous allons avoir recours la notion dpigraphe. en effet, lorsque le problme est convexe, on peut remplacer la fonction linaire par morceaux liant x 1 et y par son pigraphe comme fait ce problme. On peut vrifier que lpigraphe correspond aux trois ingalits suivantes : ce qui peut encore scrire comme suit y x 1 (1) x 1 y 0 y 3x 1 -2 (2) 3x 1 y 2 y 4.5x 1 5 (3) 4.5x 1 y 5
  • Page 28
  • Exemple Il suffit alors de minimiser y. En effet, en minimisant y avec la contrainte que ( x 1, y) appartienne lpigraphe, on se retrouvera donc sur la limite infrieure de lpigraphe, donc sur la courbe linaire par morceaux indique par OABC ce problme. ce dernier est donc remplac par le suivant : Min y 4x 1 2x 2 x 1 + x 2 4 2x 1 + x 2 5 S.C - x 1 + 4x 2 2 x 1 y 0 3x 1 y 2 4.5x 1 y 5 x 1, x 2 0 en rsolvant le problme approxim on introduit une erreur par rapport la vraie fonction.Ainsi pour x 1 = 1.5, la fonction vraie x 1 2 vaut 2.25 alors que son approximation linaire par morceaux fournit comme valeur 2.5. dou la ncessit de raffiner la discrtisation et ditrer.
  • Page 29
  • Plan Programmation Linaire Programmation Sparable Programmation Quadratique Conclusion
  • Page 30
  • Programmation Quadratique Introduction Problme daffectation quadratique Mthodes de rsolution
  • Page 31
  • Introduction Dfinition Les problmes de programmation quadratique sont des problmes d'optimisation o la fonction objectif est quadratique et les contraintes sont linaires ou quadratiques. En mathmatiques, une forme quadratique est une quation de degr deux avec un nombre quelconque de variables. La forme gnrale dun problme quadratique Soit. SC Q:matrice C:vecteur
  • Page 32
  • Programmation Quadratique Introduction Problme daffectation quadratique Mthodes de rsolution
  • Page 33
  • Problme daffectation quadratique Le problme daffectation quadratique consiste placer n units communiquant entre elle sur n sites prdtermins. Entre une unit i place sur un site k et une unit j place sur un site 1 se passe une interaction qui a un cot : c ijkl. En gnral, ce cot est le produit du flux f ij entre les deux units par la distance entre les deux sites d kl. Et le problme consiste minimiser le cot total de limplantation des n units sur les n sites Utilisation des mtaheuristiques pour ce problme Les algorithmes volutifs: Des heuristiques telles que les algorithmes gntiques ou les mthodes de recherche par dispersion ont galement pris part la course la meilleure solution. Mais finalement, ils noffrent, tous seuls, que peu de rsultats Et cest ainsi que sont ns les algorithmes hybrides volutifs/recherche locale Mthodes de recherche locale: La mthode qui a donn les meilleurs rsultats est la mthode Tabou (La mthode Tabou robuste et La mthode Tabou ractive)
  • Page 34
  • Programmation Quadratique Introduction Problme daffectation quadratique Mthodes de rsolution
  • Page 35
  • Mthodes de rsolution 1. Optimisation avec contraintes : Parmi les mthodes les plus importantes pour rsoudre ces problmes sont : Rsolution par substitution Les conditions ncessaires doptimalit de Karush Kuhn et Tucher(KKT) La mthode du Lagrangien 2. Optimisation sans contraintes : Parmi les mthodes les plus importantes pour rsoudre ces problmes sont des mthodes itratives : la mthode de gradient conjugu (GC). la mthode de la plus forte pente (la mthode de descente du gradient conjugu) Dans ces mthodes une itration consiste calculer chaque tape x k+1 on fonction x k On manire gnrale : X k+1 = X k +dt x 0 =(0,0): point de dpart X 0 donn d : vecteur de direction. t : le pas de la mthode.
  • Page 36
  • Mthodes de rsolution 3. Dfinition : Soit f une fonction de R n R, un vecteur d est une direction de descente en x sil existe T > 0 tel que f(x +td) < f(x), t [0, T]. Tests darrts : ||g (x k+1 )|| , 10 -2 ou || f (x k+1 ) f(x k ) || 4. La mthode de gradient conjugu : 4.1 Introduction: mthode du gradient conjugu est un algorithme pour la solution numrique des systmes particuliers d'quations linaires, savoir ceux dont la matrice est symtrique et dfinie positive. La mthode du gradient conjugu est une mthode itrative, Cette mthode nutilise pas la minimisation unidimensionnelle mais plutt des calculs directes, elle spcifique la fonction quadratique.
  • Page 37
  • Mthodes de rsolution b) Algorithme de gradient conjugu : Soit x 0 : point de dpart (fix). *Posons k=0: Calculer: g 0 = f (x 0 ) = A x 0 +b posons: d 0 = - g 0 * While g 0 0 A litration k calculer, on est au point x k x k+1 = x k + k d k ; Avec : k = - g k T d k / d k T A d k ; d k+1 = - g k+1 + B k d k ; B k = g k+1 T Ad k / d k T A d k ; K: = k+1 ; End (while). *test darrt.
  • Page 38
  • Exemple : Opt f(x) = x 1 2 + 2x 2 2 -2x 2 2x 1 x 2. g(x) = (2x 1 2x 2, 4x 2 2x 1 2 ). H(x) = 2 -2 -2 4 H(x) est dfinie positive et constant donc : f(x) est une fonction quadratique. k=0 : x 0 = (0,0), d 0 = - g 0 = 0 -2 0 2 -2 0 k = - g k T d k / d k T A d k => 0 =-(0,-2) 2 /(0,2) -2 4 2 0 =1/4 x k+1 = x k + k d k => x 1 = (0,0)+1/4(0,2) x 1 = (0,1/2)
  • Page 39
  • Exemple on remplace x 1 = (0,1/2) dans la fonction g(x) => g(x 1 ) = (-1,0) 2 -2 0 2 -2 0 B k = g k+1 T Ad k / d k T A d k =>B 0 = (-1,0) - 2 4 2 / (0,2) -2 4 2 B 0 = 1/4 d k+1 = - g k+1 + B k d k => d 1 = (1,1/2) || g(x 1 ) || =1 > k =1 ; =1, x 2 =(1,1), g(x 2 ) =(0,0), || g(x 2 ) || =0 < La solution optimale est x 2 =(1,1)
  • Page 40
  • Mthodes de rsolution Mthode de la descente du gradient conjugu (la plus forte pente) : La descente de gradient dsigne un algorithme d'optimisation, cette mthode utilise le principe de la minimisation unidimensionnelle. Le principe dune mthode de descente est de calculer les itrations x k+1 = x k + k d k, k > 0 tel que : f(x k+1 )
  • Page 41
  • Exemple Min (x 1 2 +2x 2 2 -2x 2 2x 1 x 2 ) g (x) =(2x 1 2x 2, 4x 2 2 2x 1 ) d 0 = - g(x 0 ) k=0, x 0 (0,0) d 0 = - (0,-2)= (0,2) X k+1 =x k + k d k X 1 =x 0 + 0 d 0 => (0,0)+ 0 (0,2)= (0,2 0 ) Min f(0,2 0 ) = Min(8 0 2, - 4 0 ) f `( 0 ) = (16 0 - 4)= 0 => 0 = 1/4 x 1 = (0, 2 0 ) = (0, 1/2) Test darrt : g(x 1 ) = (-1,0) => || g(x 1 ) || = 1 > (le test darrt nest pas vrifi) k=1 : x 2 = (1/2,1/2) k=2 : x 3 = (1/2,3/4) . k=17: x 18 = (511/512, 511/512) => || g(x 18 )|| = 0.003