Optimisation linaire - PowerPoint PPT Presentation

1 / 73
About This Presentation
Title:

Optimisation linaire

Description:

Si un probl me de programmation lin aire en forme standard poss de une solution optimale, ... en augmentant xj, cela co te cj - cTB B-1 Aj est le prix payer pour v rifier Ax=b. ... – PowerPoint PPT presentation

Number of Views:204
Avg rating:3.0/5.0
Slides: 74
Provided by: michelbi9
Category:

less

Transcript and Presenter's Notes

Title: Optimisation linaire


1
Optimisation linéaire
  • Recherche opĂ©rationnelle
  • GĂ©nie Civil

2
Algorithme du simplexe
3
Rappel
  • Si un problème de programmation linĂ©aire en forme
    standard possède une solution optimale, alors il
    existe une solution de base admissible qui soit
    optimale.
  • MĂ©thode du simplexe passer dune solution de
    base admissible à lautre, en réduisant le coût.

4
Problème
  • avec
  • A matrice m lignes n colonnes
  • lignes de A linĂ©airement indĂ©pendantes
  • On note P x Ax b, x Âł 0
  • Problème en forme standard

5
Direction admissible
  • IdĂ©e de lalgorithme
  • Soit x0 une solution de base admissible
  • Pour k0,. faire
  • Trouver xk1 sol. de base adm. voisinetelle que
    cTxk1 lt cTxk
  • JusquĂ  ce quaucune sol. de base adm. voisine
    naméliore lobjectif.
  • On trouve alors un minimum local
  • En programmation linĂ©aire, minimum local
    minimum global.

6
Direction admissible
  • Soit x ? P. On va se dĂ©placer le long dune
    direction d ? IRn.
  • d doit nous maintenir dans P
  • DĂ©finition
  • Soit x un Ă©lĂ©ment dun polyèdre P. Un vecteur d ?
    IRn est appelé direction admissible en x sil
    existe un scalaire positif ? tel que
  • x ?d ? P

7
Direction admissible
direction non admissible
direction admissible
toutes les directions sont admissibles
direction admissible
8
Direction admissible
  • Soit x une solution de base admissible
  • Soient B(1),,B(m) les indices des variables de
    base
  • Soit BAB(1) AB(m) la matrice de base associĂ©e
  • xi 0 pour toute variable hors base
  • xB(xB(1),,xB(m)) B-1 b

9
Direction admissible
  • Comment dĂ©terminer x?d ?
  • Choisir une variable j hors base (qui vaut 0)
  • Augmenter sa valeur jusquĂ  ?, tout en gardant
    les autres variables hors base à zéro. Donc
  • dj 1
  • di 0, i ? j, i indice hors base

10
Direction admissible
  • Il faut rester admissible
  • A(x ? d) b
  • Ax ? Ad b
  • x est admissible, et donc Ax b
  • Pour que x ? d soit admissible, il faut que
  • Ad 0

11
Direction admissible
12
Direction admissible
  • Nous obtenons
  • dB - B-1 Aj
  • La direction d ainsi obtenue est appelĂ©e jième
    direction de base
  • Elle garantit que les contraintes dĂ©galitĂ©
    seront vérifiées lorsque lon séloigne de x le
    long de d.
  • Quen est-il des contraintes de non nĂ©gativitĂ© ?

13
Direction admissible
  • Variables hors-base
  • xj Ă©tait nulle et devient positive ?
  • xi, i?j, restent Ă  zĂ©ro ?
  • Variables de base.
  • Si x est une solution de base admissible non
    dégénérée, alors xB gt 0.Lorsque ? est
    suffisamment petit
  • xB ? dB Âł 0 ?

14
Direction admissible
  • Variables de base.
  • Si x est une solution de base admissible
    dégénérée, alors d nest pas toujours une
    direction admissible.
  • Cest le cas lorsque quune variable de base xi
    0 et que la composante correspondante di de la
    direction est négative.
  • Si x est une solution de base admissible non
    dégénérée, la jième direction de base en x est
    admissible, pour tout j indice de base.

15
Conditions doptimalité
  • Quels sont les impacts sur la fonction objectif ?
  • cT(x ? d) cTx ? cTd
  • cTd taux de modification du coĂ»t le long de d

16
Conditions doptimalité
  • Comme dB - B-1 Aj, on obtient
  • cTd cj - cTB B-1 Aj
  • InterprĂ©tation intuitive
  • en augmentant xj, cela coĂ»te cj
  • - cTB B-1 Aj est le prix Ă  payer pour vĂ©rifier
    Axb.
  • DĂ©finition
  • Soit x une solution de base, soit B la matrice de
    base associée, et cB le vecteur de coût pour les
    variables de base. Pour chaque j, le cout réduit
    est défini par
  • cj cj - cTB B-1 Aj

17
Conditions doptimalité
  • Note
  • le coĂ»t rĂ©duit a Ă©tĂ© introduit pour les variables
    hors base.
  • il est dĂ©fini pour toutes les variables.
  • que vaut-il pour les variables de base ?

18
Conditions doptimalité
  • Soit B(i) indice dune variable en base.
  • Le coĂ»t rĂ©duit est cB(i) - cTB B-1 AB(i)
  • B AB(1) AB(m)
  • B-1 AB(1) AB(m) I
  • B-1 AB(i) ei (iième colonne de I)
  • cB(i) cB(i) - cTB B-1 AB(i)
  • cB(i) - cTBei
  • cB(i) - cB(i)
  • 0
  • Le coĂ»t rĂ©duit des variables de base est nul

19
Conditions doptimalité
  • ThĂ©orème
  • ConsidĂ©rons une solution de base admissible x,
    associée à une matrice de base B. Soit c le
    vecteur de coûts réduits correspondant.
  • Si c Âł 0, alors x est optimal
  • Si x est optimal et non dĂ©gĂ©nĂ©rĂ©e, alors c Âł 0.

20
Développement de la méthode du simplexe
  • Supposons quaucune solution de base admissible
    ne soit dégénérée.
  • Nous sommes Ă  une solution de base admissible x
  • Les coĂ»ts rĂ©duits cj ont Ă©tĂ© calculĂ©s pour les
    variables hors-base.
  • Sils sont tous positifs, x est solution
    optimale. On arrĂŞte.

21
Développement de la méthode du simplexe
  • Sinon, il existe une variable hors base xj dont
    le coût réduit cj est négatif.
  • La jième direction de base est donc une direction
    admissible le long de laquelle le coût diminue.
  • La variable j devient positive. On dit quelle
    entre dans la base.

22
Développement de la méthode du simplexe
  • On veut aller le plus loin possible le long de d,
    en restant admissible.
  • On cherche ? tel que
  • ? max ? Âł 0 x?d ? P
  • Comment calculer ? ?
  • Comme d est admissible, la seule manière de
     quitter  P est lorsquune variable devient
    négative.

23
Développement de la méthode du simplexe
  • Si d Âł 0, alors x ? d Âł 0 pour tout ?.
  • plus ? est grand, plus le coĂ»t diminue
  • ? ?
  • le problème est non bornĂ©
  • Sil existe i tel que di lt 0, la contrainte
  • xi ? di Âł 0
  • devient
  • ? -xi / di
  • ? doit vĂ©rifier toutes les contraintes
  • ? mini dilt0(-xi/di)

24
Développement de la méthode du simplexe
x2
??1
x
x?1d
d
x?2d
x1
25
Développement de la méthode du simplexe
  • Notes
  • Si xi est une variable hors base, di Âł 0 (car
    di0 ou di 1)
  • Il suffit donc de regarder les variables de base
  • ? mini 1,,m dB(i)lt0(-xB(i)/dB(i))
  • Comme x est non dĂ©gĂ©nĂ©rĂ©, xB(i) gt 0 pour tout
    i1,m. Et donc, ? gt 0.

26
Exemple
27
Exemple
  • Base B(1)1 B(2)2

28
Exemple
  • Calcul des coĂ»ts rĂ©duits
  • Uniquement pour les variables hors base (x3 et x4)
  • NĂ©gatif. La 3ième direction de base rĂ©duit le
    coût.

29
Exemple
  • 3ième direction de base d3 1 d4 0

30
Exemple
?1 -x1/d1-1/(-3/2)2/3
31
Exemple
  • Notes
  • Nouvelle solution de base admissible
  • x3 remplace x1 dans la base
  • A2 et A3 correspondent aux variables non nulles
  • Base

32
Développement de la méthode du simplexe
  • Si d est la jième direction de base
  • Si k est lindice tel que
  • ? -xB(k)/dB(k)mini 1,,m
    dB(i)lt0(-xB(i)/dB(i))
  • On dit que
  • xj entre dans la base
  • xB(k) sort de la base

33
Développement de la méthode du simplexe
  • ThĂ©orème
  • Les colonnes AB(i), i?k, et Aj sont linĂ©airement
    indépendantes, et donc B est une matrice de base.
  • Le vecteur yx ?d est une solution de base
    admissible associée à B.

34
Développement de la méthode du simplexe
  • Une itĂ©ration de la mĂ©thode du simplexe
  • Soit une base BAB(1),,AB(m) et x une solution
    de base admissible associée à B.
  • Calculer les coĂ»ts rĂ©duits pour chaque indice j
    hors base
  • cj cj - cTB B-1 Aj.
  • Sils sont tous non nĂ©gatifs, la solution
    courante est optimale. STOP.

35
Développement de la méthode du simplexe
  • Choisir j tel que cj lt 0, et calculer
  • dB -B-1 Aj.
  • Si aucune composante de dB nest nĂ©gative, alors
    le coût optimal est infini. STOP.
  • Calculer
  • ? -xB(k)/dB(k)mini 1,,m
    dB(i)lt0(-xB(i)/dB(i))

36
Développement de la méthode du simplexe
  • Former une nouvelle base en remplaçant AB(k) par
    Aj.
  • Si y est la nouvelle solution de base
    admissible, les valeurs des nouvelles variables
    de base sont
  • yj ?
  • yB(i) xB(i) ? dB(i), i?k.

37
Développement de la méthode du simplexe
  • ThĂ©orème
  • Supposons que lensemble admissible est non vide,
    et que chaque solution de base admissible est non
    dégénérée. Alors, la méthode du simplexe se
    termine après un nombre fini ditérations. A la
    fin, on obtient
  • soit une solution optimale
  • soit une direction d telle que Ad0, dÂł0 et cTd lt
    0. Le coût optimal est alors -?.

38
Développement de la méthode du simplexe
  • Notes
  • Que se passe-t-il si lalgorithme est utilisĂ© en
    présence de solutions de base admissibles
    dégénérées ?
  • Si la solution de base admissible courante x est
    dégénérée, il se peut que ? soit égal à zéro.
    Cest le cas si une variable de base xi 0 et
    que la composante correspondante di lt 0.
  • Cela nempĂŞche cependant pas de dĂ©finir une
    nouvelle base, mĂŞme si la solution de base
    admissible nest pas modifiée.

39
Développement de la méthode du simplexe
  • MĂŞme si ? gt 0, il se peut que plus dune
    variables de base deviennent zéro. La nouvelle
    solution de base admissible sera donc dégénérée.
  • Il peut ĂŞtre utile de changer de base sans
    changer la solution de base admissible.
  • Mais il faut Ă©viter de cycler.

40
Développement de la méthode du simplexe
  • Exemple

B(1)5, B(2)6, B(3)7 B-1 B I xBB-1bb
cB
41
Développement de la méthode du simplexe
  • CoĂ»t rĂ©duit pour j 1.
  • La variable x1 va rentrer en base.

42
Développement de la méthode du simplexe
  • Direction

?0
43
Développement de la méthode du simplexe
  • Note
  • Etape 3 Choisir j tel que cj lt 0.
  • Lalgorithme ne spĂ©cifie pas quelle variable
    choisir pour rentrer dans la base.
  • Plusieurs règles existent.
  • Retenons la règle de Bland
  • Parmi les j tels que cj lt 0, choisir lindice le
    plus petit

44
Tableau du simplexe
  • Il y a plusieurs manières dimplĂ©menter
    lalgorithme du simplexe. La méthode du tableau
    est lune des plus efficaces.
  • IdĂ©e
  • Maintenir en permanence
  • B-1A b B-1A1 B-1An B-1b
  • Cette matrice sappelle le tableau du simplexe
  • La dernière colonne contient les valeurs des
    variables en base.
  • Les autres colonnes permettent de calculer cj et
    dB

45
Tableau du simplexe
  • Exemple

46
Tableau du simplexe
B(1)4, B(2)5, B(3)6
BB-1I
47
Tableau du simplexe
B-1b
B-1A
48
Tableau du simplexe
  • DĂ©finitions
  • Lors dune itĂ©ration du simplexe
  • Si j est lindice de la variable qui entre en
    base, la colonne B-1Aj est appelée colonne du
    pivot.
  • Si la variable de base B(k) sort de la base, la
    ligne k du tableau est appelée ligne du pivot.
  • LĂ©lĂ©ment qui se trouve sur la ligne du pivot et
    la colonne du pivot est appelé le pivot.

49
Tableau du simplexe
  • Notes
  • Pour les variables en base
  • B-1 AB(i) ei
  • Si i est lindice dune variable en base, la
    colonne B(i) du tableau est ei. Elle contient
    uniquement des zéros, sauf en ligne i dont
    lélément est 1.

50
Tableau du simplexe
B-1b
B-1A
B(1)4, B(2)5, B(3)6
51
Tableau du simplexe
  • Lecture du tableau

x4
x5
x6
52
Tableau du simplexe
  • On augmente le tableau avec une ligne relative
    aux coûts
  • cT cTBB-1A -cTBB-1b
  • -cTBB-1b -cTBxB -cTx
  • - fonction objectif
  • cT cTBB-1A
  • coĂ»ts rĂ©duits

53
Tableau du simplexe
  • Le tableau complet sera donc

54
Tableau du simplexe
B-1b
B-1A
cT cTBB-1A
-cTBB-1b
55
Tableau du simplexe
  • Appliquons lalgorithme
  • Solution de base admissible
  • B(1)4, B(2)5, B(3)6
  • (0,0,0,20,20,20)
  • CoĂ»ts rĂ©duits
  • dernière ligne du tableau
  • Choisir un coĂ»t rĂ©duit nĂ©gatif
  • c1 -10, c2 -12, c3-12
  • Règle de Bland j 1
  • -dB B-1Aj colonne j (1 2 2)T

56
Tableau du simplexe
  • Calcul de ?

?120/1
?220/2
?320/2
?10 k2
-dB
xB
57
Tableau du simplexe
  • Former une nouvelle base
  • Ancien tableau B-1A b
  • Nouveau tableau B-1A b
  • IdĂ©e trouver une matrice Q telle que

58
Tableau du simplexe
  • DĂ©finition
  • Soit une matrice C. LopĂ©ration consistant Ă 
    ajouter un multiple dune ligne Ă  cette mĂŞme
    ligne ou à une autre ligne est appelée une
    opération élémentaire de ligne.
  • Cela revient Ă  prĂ©-multiplier C par une matrice
    carrée Q, construite de manière adéquate.

59
Tableau du simplexe
  • Multiplier la 3ième ligne par 2 et lajouter Ă  la
    première

60
Tableau du simplexe
  • Dune manière gĂ©nĂ©rale,
  • multiplier la ligne j par b
  • et lajouter Ă  la ligne i ? j
  • revient Ă  prĂ©-multiplier par Q I Dij
  • oĂą Dij contient uniquement des 0, sauf la ligne
    i, colonne j, qui contient b.
  • Q est inversible
  • Une suite dopĂ©rations Ă©lĂ©mentaires de ligne
    revient donc à prémultiplier par une matrice
    inversible.

61
Tableau du simplexe
  • B AB(1),,AB(k-1),AB(k),AB(k1),,AB(m)
  • B AB(1),,AB(k-1),Aj,AB(k1),,AB(m)
  • B-1AB(i) ei
  • B-1B e1,,ek-1,B-1Aj,ek1,,em
  • Si u B-1Aj, on a

62
Tableau du simplexe
  • Comment transformer cette matrice en lidentitĂ© ?
  • Utilisons des opĂ©rations Ă©lĂ©mentaires de ligne.
  • Pour tout i ? k, on ajoute la kième ligne
    multipliée par ui/uk
  • On divise la kième ligne par uk
  • Cela revient Ă  prĂ©multiplier par une matrice Q
  • QB-1B I et donc QB-1B-1

63
Tableau du simplexe
  • Si on applique les opĂ©rations Ă©lĂ©mentaires de
    ligne suivantes Ă  la matrice B-1, on obtient la
    matrice B-1
  • Pour tout i ? k, on ajoute la kième ligne
    multipliée par ui/uk
  • On divise la kième ligne par uk
  • Ces opĂ©rations sont donc appliquĂ©es au tableau du
    simplexe.
  • Cela sappelle un pivotage.

64
Tableau du simplexe
  • Reprenons lexemple
  • B(1)4, B(2)5, B(3)6
  • xT (0, 0, 0, 20, 20, 20)
  • ? 10
  • dT (1, 0, 0, -1, -2, -2)
  • yT (x ?d)T (10, 0, 0, 10, 0, 0)
  • x1 rentre en base
  • x5 sort de base
  • Attention y est sol. de base adm. dĂ©gĂ©nĂ©rĂ©e.

65
Tableau du simplexe
66
Tableau du simplexe
  • Dernière ligne du tableau
  • Avant pivotage
  • -cBTB-1b cT-cBTB-1A
  • 0 cT cBTB-1 b A
  • Après pivotage, on peut montrer
  • 0 cT cBTB-1 b A

67
Tableau du simplexe
  • Algorithme
  • Soit une matrice de base B, une solution de base
    admissible x et le tableau du simplexe associés.
  • Examiner les coĂ»ts rĂ©duits dans la dernière ligne
    du tableau. Sils sont tous non négatifs, la
    solution de base admissible courante est
    optimale. STOP.
  • Sinon, choisir j tel que cj lt 0

68
Tableau du simplexe
  • Soit uB-1Aj, la jième colonne du tableau. Si
    aucune composante de u nest positive, le coût
    optimal est -?. STOP.
  • Pour chaque i tel que ui gt 0, calculer xB(i)/ui.
    Soit k lindice de la ligne correspondant au
    rapport le plus petit. La colonne AB(k) sort de
    la base. La colonne Aj rentre en base.
  • Effectuer des opĂ©rations Ă©lĂ©mentaires de ligne
    pour que la colonne du pivot ne contienne que des
    zéros, sauf à lemplacement du pivot, qui doit
    ĂŞtre 1.

69
Tableau du simplexe
?120/1
?220/2
?320/2
?110
?210
Dégéné-rescence
Attention Bland non utilisé ici
70
Tableau du simplexe
?120/3
?34
71
Tableau du simplexe
72
Tableau du simplexe
  • Lecture du tableau

x3
x1
x2
73
Tableau du simplexe
  • Lorsque certaines solutions de base admissibles
    sont dégénérées, lalgorithme peut cycler. Pour
    lempêcher, régle de Bland.
  • Variable entrant en base choisir lindice j le
    plus petit tel que le coût réduit est négatif
  • Variable sortant de base en cas dĂ©galitĂ© pour
    ?, choisir la variable dindice minimale.
Write a Comment
User Comments (0)
About PowerShow.com