La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Optimisation linéaire Recherche opérationnelle GC-SIE.

Présentations similaires


Présentation au sujet: "Optimisation linéaire Recherche opérationnelle GC-SIE."— Transcription de la présentation:

1 Optimisation linéaire Recherche opérationnelle GC-SIE

2 La dualité

3 DualitéMichel Bierlaire3 Introduction n Un original offre à un alpiniste un prix lié à laltitude quil peut atteindre : 1F / mètre. n Cependant, il lui impose de rester en France. n La solution optimale pour lalpiniste est de grimper sur le Mont Blanc : 4807m.

4

5 DualitéMichel Bierlaire5 Introduction n Cependant, lalpiniste aime la liberté, et naccepte pas dêtre contraint à rester en France. n Loriginal accepte de retirer la contrainte, mais à condition que lalpiniste lui paie une amende pour quitter la France. n Si le montant de lamende est trop peu élevé, lalpiniste à intérêt à grimper sur le Mont Everest : 8848 m.

6

7 DualitéMichel Bierlaire7 Introduction n Si lamende est de 4041 F n Grimper sur le Mont Blanc lui rapporte 4807 F n Grimper sur le Mont Everest lui rapporte 8848 F – 4041 F = 4807 F n Lalpiniste na donc plus intérêt à violer la contrainte du problème de départ.

8 DualitéMichel Bierlaire8 Introduction Modélisation : n x = position n f(x) = altitude n a(x) = amende si on est en x. n Premier problème : – max f(x) – sous contrainte x France n Second problème : – max f(x) – a(x) – sans contrainte

9 DualitéMichel Bierlaire9 Introduction n Soit le programme linéaire min2x + y s.c.x + y = 1 x, y 0 n Solution : x = 0, y = 1 n Coût optimum : 1 n On introduit un prix p associé à la contrainte x + y = 1.

10 DualitéMichel Bierlaire10 Introduction min 2x + y + p (1 – x – y) s.c. x,y 0 Notes : n Violer la contrainte nest pas nécessairement pénalisant. n La solution de ce problème ne peut pas être moins bonne que celle du problème initial.

11 DualitéMichel Bierlaire11 Introduction min 2x + y + p (1 – x – y) s.c. x,y 0 p = 0 min 2 x + y s.c. x, y 0 Solution : x = y = 0. Coût optimum : 0

12 DualitéMichel Bierlaire12 Introduction n Dans ce cas, on a intérêt à violer la contrainte du problème initial pour obtenir un meilleur coût.

13 DualitéMichel Bierlaire13 Introduction min 2x + y + p (1 – x – y) s.c. x,y 0 p = 2 min 2 x + y + 2 – 2x – 2y = y 2 s.c. x, y 0 Solution : y =, x quelconque. Coût optimum :.

14 DualitéMichel Bierlaire14 Introduction n Dans ce cas, le problème devient non borné. Le prix est certainement non adapté. n Situation à éviter. n Comment ? En mettant des contraintes sur les prix.

15 DualitéMichel Bierlaire15 Introduction min 2x + y + p (1 – x – y) s.c. x,y 0 p = 1 min 2 x + y + 1 – x – y = x 1 s.c. x, y 0 Solution : x = 0, y quelconque. Coût optimum : 1.

16 DualitéMichel Bierlaire16 Introduction n Dans ce cas, quelque soit la valeur de y, pas moyen dobtenir un coût meilleur que le coût optimal du problème initial. n La contrainte nest plus « contraignante ». n Il ny a aucun avantage à la violer.

17 DualitéMichel Bierlaire17 Introduction Idée : n Supprimer des contraintes pour simplifier le problème. n Affecter des prix à la violation de ces contraintes. n Interdire les prix qui rendent le problème non borné.

18 DualitéMichel Bierlaire18 Introduction n Si c* est le coût optimum du problème de départ. n Si g(p) est le coût optimum du problème relaxé avec le prix p. On a toujours g(p) c*. n La situation est donc plus avantageuse. n On désire trouver les prix pour que lavantage lié à la relaxation des contraintes soit minimal. n On doit donc trouver p qui maximise g(p).

19 DualitéMichel Bierlaire19 Le problème dual n Soit le programme linéaire n Il est appelé le problème primal. n Le problème relaxé est

20 DualitéMichel Bierlaire20 Le problème dual n Soit g(p) le coût optimal du problème relaxé. n Soit x* solution optimale du problème primal.

21 DualitéMichel Bierlaire21 Le problème dual g(p) c T x* p n La solution du problème relaxé ne peut pas être moins bonne que la solution du problème primal. n On veut maintenant calculer le prix tel que g(p) soit maximal. n En programmation linéaire, on arrive à trouver p* pour que g(p*) = c T x*

22 DualitéMichel Bierlaire22 Le problème dual n Si on choisit p* comme prix pour le problème relaxé, il ny a plus aucun intérêt à violer les contraintes. n Résoudre le problème relaxé est donc équivalent à résoudre le problème primal. n Question : comment déterminer p* ?

23 DualitéMichel Bierlaire23 Le problème dual Le problème min (c T -p T A) x est trivial à résoudre : Si (c T -p T A) 0, alorsmin (c T -p T A) x = 0 Sinon, min (c T -p T A) x = cas à éviter

24 DualitéMichel Bierlaire24 Le problème dual n Pour éviter le cas trivial où le problème est non borné, on impose (c T -p T A) 0 n cest-à-dire p T A c T n ou encore A T p c

25 DualitéMichel Bierlaire25 Le problème dual n Le problème devient donc max p T b s.c. A T p c n Il sagit dun programme linéaire. n Il est appelé le problème dual.

26 DualitéMichel Bierlaire26 Le problème dual Note : n Le rôle des vecteurs c et b est échangé Définition : n Les variables p représentant le prix sont appelées les variables duales. max p T b s.c. A T p c min c T x s.c. Ax = b x 0 DualPrimal

27 DualitéMichel Bierlaire27 Le problème dual n Considérons maintenant le problème primal min c T x s.c.Ax b x 0 n Introduisons les variables décart min c T x s.c.Ax + y b x, y 0

28 DualitéMichel Bierlaire28 Le problème dual n Sous forme matricielle, on peut écrire

29 DualitéMichel Bierlaire29 Le problème dual n On obtient le problème min d T z s.c.Fz b z 0 avec n z T = (x T ¦ y T ) n d T = (c T ¦ 0) n F = (A ¦ I)

30 DualitéMichel Bierlaire30 Le problème dual n Problème dual max p T b s.c. F T p d avec n d = (c 0) T n F = (A ¦ I)

31 DualitéMichel Bierlaire31 Le problème dual Note : n En présence de contraintes dinégalité, il faut imposer une contrainte de signe sur les prix. max p T b s.c. A T p c p 0 min c T x s.c. Ax b x 0 DualPrimal

32 DualitéMichel Bierlaire32 Le problème dual n Considérons maintenant le problème primal min c T x s.c.Ax b x IR n et calculons son dual.

33 DualitéMichel Bierlaire33 Le problème dual Le problème min (c T -p T A) x est trivial à résoudre : Si (c T -p T A) 0, alorsmin (c T -p T A) x = 0 Sinon, min (c T -p T A) x =

34 DualitéMichel Bierlaire34 Le problème dual n Pour éviter le cas trivial où le problème est non borné, on impose (c T -p T A) 0 n cest-à-dire p T A c T n ou encore A T p c

35 DualitéMichel Bierlaire35 Le problème dual n Le problème devient donc max p T b s.c. A T p c max p T b s.c. A T p c min c T x s.c. Ax = b x IR n DualPrimal

36 DualitéMichel Bierlaire36 Le problème dual Résumé : n On dispose dun vecteur de prix p (les variables duales). n Pour chaque p, on peut obtenir une borne inférieure sur le coût optimal du primal. n Le problème dual consiste à trouver la meilleure borne. Pour certains p, la borne est, et napporte donc aucune information pertinente.

37 DualitéMichel Bierlaire37 Le problème dual Résumé (suite) : n On maximise uniquement sur les p qui produisent une borne finie. n Cest ce qui génère les contraintes du problème dual. n A chaque contrainte du primal (autres que les contraintes de signe) est associée une variable duale.

38 DualitéMichel Bierlaire38 Le problème dual n Soit A une matrice n Notons a i les lignes de la matrice n Notons A i les colonnes de la matrice

39 DualitéMichel Bierlaire39 Le problème dual PRIMALDUAL

40 DualitéMichel Bierlaire40 Le problème dual PRIMALminmaxDUAL b i 0 contraintes b i 0 variables = b i libre 0 c j variables 0 c j contraintes libre= c j

41 DualitéMichel Bierlaire41 Exemple n Passer du primal au dual

42 DualitéMichel Bierlaire42 Exemple n Transformer le problème obtenu. n Cest un programme linéaire

43 DualitéMichel Bierlaire43 Exemple n Calculer le dual du dual

44 DualitéMichel Bierlaire44 Exemple n Transformer le problème n Cest le problème de départ.

45 DualitéMichel Bierlaire45 Le problème dual n Soit un programme linéaire P. Soit D son dual. Le dual de D est le programme P. n Le dual du dual est le primal.

46 DualitéMichel Bierlaire46 Le problème dual n Considérons le problème suivant n Introduisons les variables décart dans le primal, et déterminons le dual PrimalDual min c T x s.c. Ax b x IR M1N3M1N3 max p T b s.c. p 0 A T p = c

47 DualitéMichel Bierlaire47 Le problème dual Remplaçons maintenant les variables du problème original par des variables positives : x=x + x - PrimalDual min c T x + 0 T y s.c. Ax-y b x IR y 0 M3N3N1M3N3N1 max p T b s.c. p IR A T p = c -p 0

48 DualitéMichel Bierlaire48 Le problème dual PrimalDual min c T x + c T x - s.c. Ax + -Ax - b x + 0 x - 0 M1N1N1M1N1N1 max p T b s.c. p 0 A T p c -A T p -c Les trois problèmes primaux sont équivalents Les trois problèmes duaux sont équivalents

49 DualitéMichel Bierlaire49 Le problème dual n Si lon transforme un programme linéaire P 1 en un programme linéaire P 2 en appliquant une suite de transformations des types suivant : 1. Remplacer une variable libre par la différence de deux variables non négatives.

50 DualitéMichel Bierlaire50 Le problème dual 2. Remplacer une contrainte dinégalité par une contrainte dégalité impliquant des variables décart non négatives. 3. Si une ligne de la matrice A dun problème en forme standard est une combinaison linéaire des autres lignes, éliminer la contrainte dégalité correspondante. Alors, le dual de P 1 et le dual de P 2 sont équivalents.

51 DualitéMichel Bierlaire51 Théorèmes de dualité Théorème de dualité faible n Si x est une solution admissible du problème primal. n Si p est une solution admissible du problème dual. n Alors p T b c T x

52 DualitéMichel Bierlaire52 Théorèmes de dualité n Soit u i = p i (a i T x-b i ) Si i M 1, a i T x-b i 0 et p i 0 Si i M 2, a i T x-b i 0 et p i 0 Si i M 3, a i T x-b i 0 et p i quelconque n Donc u i 0, i

53 DualitéMichel Bierlaire53 Théorèmes de dualité n Soit v j = (c j -p T A j )x j Si j N 1, c j -p T A j 0 et x j 0 Si j N 2, c j -p T A j 0 et x j 0 Si j N 3, c j -p T A j 0 et x j quelconque n Donc v j 0, j

54 DualitéMichel Bierlaire54 Théorèmes de dualité u i = p i (a i T x-b i ) v j = (c j -p T A j )x j i u i = p T Ax – p T b j v j =c T x – p T Ax 0 i u i + j v j = p T Ax–p T b+c T x–p T Ax 0 c T x –p T b p T b c T x

55 DualitéMichel Bierlaire55 Théorèmes de dualité Corollaires Si le coût optimal du primal est, aucun p ne peut vérifier p T b c T x. Le problème dual est donc non admissible. Si le coût optimal du dual est, aucun x ne peut vérifier p T b c T x. Le problème primal est donc non admissible.

56 DualitéMichel Bierlaire56 Théorèmes de dualité Corollaire n Soit x solution admissible du primal, et p solution admissible du dual. n Supposons que c T x = p T b. n Alors x est solution optimale du primal et p est solution optimale du dual.

57 DualitéMichel Bierlaire57 Théorèmes de dualité n Pour tout y primal admissible, on a p T b c T y. n Or, p T b = c T x. Donc, c T x c T y, n et x est optimal. n Pour tout q dual admissible, on a q T b c T x. n Or, p T b = c T x. Donc, q T b p T b, n et p est optimal.

58 DualitéMichel Bierlaire58 Théorèmes de dualité Théorème de dualité forte n Si un programme linéaire possède une solution optimale, n Alors – son dual également et – les coûts optimaux respectifs sont égaux.

59 DualitéMichel Bierlaire59 Théorèmes de dualité n Considérons le problème en forme standard n Supposons que A soit de rang plein. n Appliquons la méthode du simplexe avec la règle de Bland.

60 DualitéMichel Bierlaire60 Théorèmes de dualité n La méthode du simplexe se termine avec une solution optimale x et une matrice de base associée B. x B = B -1 b n Les coûts réduits sont non négatifs c T -c B T B -1 A 0 T. n Soit p tel que p T = c B T B -1

61 DualitéMichel Bierlaire61 Théorèmes de dualité c T -c B T B -1 A 0 T c T -p T A 0 T p T A c T A T p c n p est admissible pour le problème dual max p T b s.c. A T p c

62 DualitéMichel Bierlaire62 Théorèmes de dualité n De plus, p T b = c B T B -1 b = c B T x B = c T x. n Par le corollaire précédent, p est solution optimale du problème dual. n Ainsi, le résultat est vrai pour – les problèmes en forme standard – dont la matrice A est de rang plein.

63 DualitéMichel Bierlaire63 Théorèmes de dualité n Pour les autres problèmes, on peut toujours : – supprimer les lignes de A correspondant aux contraintes redondantes, – transformer le problème en forme standard. n On a vu que le dual du problème ainsi transformé est équivalent au dual du problème initial. Le résultat reste donc valable.

64 DualitéMichel Bierlaire64 Théorèmes de dualité Note : n En prenant p T = c B T B -1, la condition doptimalité du primal c T -c B T B -1 A 0 T n devient c T -p T A 0 T ou A T p c, la condition dadmissibilité du dual.

65 DualitéMichel Bierlaire65 Théorèmes de dualité n Pour un problème de programmation linéaire, exactement une des possibilités suivantes peut exister : – Il y a une solution optimale. – Le problème est non borné. – Le problème est non admissible. n Cela donne 9 combinaisons pour le primal et le dual. n Par les théorèmes de dualité, certaines dentre elles sont impossibles.

66 Théorèmes de dualité PossibleImpossible Possible

67 DualitéMichel Bierlaire67 Exemple n Considérons une balle contrainte à rester dans un polyèdre défini par les contraintes a i T x b i. a1a1 a2a2 a3a3 c

68 DualitéMichel Bierlaire68 Exemple n A loptimum, les forces appliquées par les « parois » équilibrent la gravité. a1a1 a2a2 a3a3 p1a1p1a1 p2a2p2a2

69 DualitéMichel Bierlaire69 Exemple n A loptimum, on a donc c = i p i a i, p i 0 n Comme les forces ne sappliquent quaux parois en contact avec la balle, on a – soit p i =0 – soit b i -a i T x = 0 n Donc p i (b i -a i T x)=0 ou p i b i =p i a i T x.

70 DualitéMichel Bierlaire70 Exemple n On obtient n p T b= i p i b i = i p i a i T x =cTx=cTx n p est donc une solution optimale du problème dual.

71 DualitéMichel Bierlaire71 Ecarts complémentaires Théorème des écarts complémentaires n Soit x et p des solutions admissibles du primal et du dual (resp.) Les vecteurs x et p sont des solutions optimales des deux problèmes respectifs si et seulement si p i (a i T x-b i ) = 0 i (c j -p T A j )x j = 0 j

72 DualitéMichel Bierlaire72 Ecarts complémentaires n Pour le théorème de dualité faible, on avait u i = p i (a i T x-b i ), u i 0 v j = (c j -p T A j )x j, v j 0 c T x -p T b = i u i + j v j n Si x et p sont optimales, alors i u i + j v j =0 et donc u i =0, i et v j =0, j

73 DualitéMichel Bierlaire73 Ecarts complémentaires n Si u i =0, i et v j =0, j, alors c T x = p T b. Par le théorème de dualité forte, x et p sont donc optimales.

74 DualitéMichel Bierlaire74 Exemple n Primal : n Dual :

75 DualitéMichel Bierlaire75 Exemple n x*=(1,0,1) solution optimale du primal. n Construisons la solution optimale duale à partir des conditions des écarts complémentaires. n La condition p i (a i T x*-b i )=0 est vérifiée car x* est primal admissible. n La condition (c j -p T A j )x j = 0 est vérifiée pour j=2.

76 DualitéMichel Bierlaire76 Exemple n Pour j=1, cette condition devient 5p 1 +3p 2 =13. n Pour j=3, elle devient 3p 1 =6. n Ces deux conditions donnent p 1 =2 et p 2 =1. n Cette solution est dual admissible. n Le coût dual est 19, comme le coût primal.

77 DualitéMichel Bierlaire77 Variables duales et coûts marginaux n Considérons un problème en forme standard n A est de rang plein n x* est solution de base optimale non dégénérée n B est la matrice de base correspondante

78 DualitéMichel Bierlaire78 Variables duales et coûts marginaux n On a x B =B -1 b > 0. n Remplaçons b par (b+d), où d est une petite perturbation. n Si d est suffisamment petit, on a B -1 (b+d) > 0. n La même base B donne donc une solution de base admissible pour le problème perturbé.

79 DualitéMichel Bierlaire79 Variables duales et coûts marginaux n De plus, les coûts réduits c T -c B T B -1 A ne sont pas affectés par la perturbation. n B est donc aussi une base optimale pour le problème perturbé. n Si p est solution optimale du dual, le coût optimal du problème perturbé est c B T B -1 (b+d)= p T (b+d)=p T b+p T d= c T x*+p T d

80 DualitéMichel Bierlaire80 Variables duales et coûts marginaux n Les valeurs optimales des variables duales peuvent donc être interprétées comme les coûts marginaux dune petite perturbation du membre de droite b.

81 DualitéMichel Bierlaire81 Variables duales et coûts marginaux x1x1 x2x2 s.c. z=-2 c=(-1,-1) T

82 DualitéMichel Bierlaire82 Variables duales et coûts marginaux x1x1 x2x2 z=-2 d x1x1 x2x2 z=-2 d

83 DualitéMichel Bierlaire83 Variables duales et coûts marginaux Notes : n On perturbe la contrainte 2x 1 +x 2 3 n Lorsque d est petit, les deux contraintes actives à la solution sont 2x 1 +x 2 = 3-d x 1 +2x 2 = 3 comme dans le problème original. n La base optimale est donc la même.

84 DualitéMichel Bierlaire84 Variables duales et coûts marginaux n Lorsque d est grand, les deux contraintes actives à la solution sont 2x 1 +x 2 = 3-d x 1 = 0. n La base optimale a changé. n On ne peut plus utiliser les variables duales pour calculer la différence de coût.


Télécharger ppt "Optimisation linéaire Recherche opérationnelle GC-SIE."

Présentations similaires


Annonces Google