SlideShare une entreprise Scribd logo
1  sur  36
Introduction
 La PLNE regroupe l’ensemble des techniques permettant de
résoudre des programmes linéaires dont les solutions doivent
être entières.
 Formellement, le PLNE (P) s’exprime comme suit:
A d’ordre m x n, b d’ordre m, c d’ordre n et x est d’ordre n.
 Le programme linéaire Q associé est:
Techniques d'Optimisation
Master 1 2012
1
Exemple de modélisation(1/2)
• Le problème du sac-à-dos
– On doit remplir un sac à dos avec unités de n éléments où chaque
élément j possède un poids pj et une valeur nutritive cj de telle façon à
ne pas dépasser son poids total p et en maximisant la valeur nutritive.
– Soit xj le nombre d’unités de l’élément j à prendre dans le sac à dos, ce
problème se modélise comme suit :
• Problème de dichotomie
– Supposons qu’uniquement k contraintes parmi les m contraintes du
problème soient actives. Supposer que les m contraintes sont sous
forme la forme suivante: gi(x1, …, x n) ≤ bi avec i=1,2, …, m.
Techniques d'Optimisation
Master 1 2012
2
Exemple de modélisation (2/2)
Techniques d'Optimisation
Master 1 2012
3
• Soit yi la variable associée à la ième contrainte comme suit :
• Pour avoir k contraintes actives parmi m , il suffira de considérer:
• M est un nombre très grand
• Application: Le second membre d’une contrainte prend plusieurs
valeurs




on
inactive
est
i
e
contra
si
yi
sin
0
int
1
Résolution d’un PLNE
• Lemme: Soient x e, x r les solutions optimales respectivement
des programmes (P) et (Q) et Z e, Zr les valeurs de leurs
fonctions objectifs respectivement, alors nous avons :
Z e ≤ Zr,
• La valeur de la solution optimale du programme (Q) est
une borne supérieure à la valeur de la solution
optimale entière de P.
• La résolution de (P) ne peut pas se faire par la résolution de
(Q) puis d’arrondir ensuite les solutions non entières.
– En effet, le simple arrondi des variables non entières à des valeurs
entières peut rendre la solution non réalisable ou simplement non
optimale.
Techniques d'Optimisation
Master 1 2012
4
Exemple de résolution naïve
Max Z = 3 x1 + 4 x2
2 x1 + x2 ≤ 6
2 x1 + 3 x2 ≤ 9
x1, x2  N
Voir la figure 2.1 représentant le polyèdre convexe
• L’arrondi de cette solution donne (2, 2) qui n’est pas
réalisable, (2, 1) qui est réalisable mais n’est pas optimale
Techniques d'Optimisation
Master 1 2012
5
Résolution graphique du programme Q
Techniques d'Optimisation
ed2c'2012
6
Résolution par Branch And Bound (1/3)
• Principe de séparation
Soit x m la solution optimale du programme (Q) et
xi une variable non entière.
Supposons que <xi <  +1 où a est nombre entier.
La séparation de (P) consiste à scinder ce
programme en deux sous programmes :
P1= {P et xi  } et P2= {P et xi   +1 }
En désignant par R0 le domaine ne contenant pas de
solution entière, R1 le domaine (P1) et R2 celui de
(P2), la séparation consiste à éliminer R0 et à
chercher des solutions entières dans R1 et R2.
• Principe d’évaluation: Résoudre P1 et P2
Techniques d'Optimisation
Master 1 2012
7
Résolution par Branch And Bound (2/3)
Techniques d'Optimisation
Master 1 2012
8
• Techniques d’élagage:
– Couper un sommet lorsqu’une solution de base réalisable
entière est obtenue (borne inférieure).
– Couper un sommet lorsque sa borne supérieure est
inférieure à la meilleure borne inférieure obtenue.
– Couper un sommet lorsque la solution est irréalisable.
• Stratégies d’exploration:
– Stratégie ‘Profondeur d’abord’: Séparer un sommet tant
que celui-ci peut se faire. En d’autre termes, le nœud est
séparé en profondeur jusqu’à atteindre la feuille de
l’arborescence des solutions. Un retour-arrière est
nécessaire dans le cas où il existe des sommets non
élagués (coupés)
Résolution par Branch And Bound (3/3)
• Stratégie ‘Largeur d’abord’: Résoudre tous les problèmes d’un
même niveau puis séparer les sommets séparables pour ensuite résoudre les
problèmes du niveau suivant
• Stratégie ‘Meilleur d’abord’ : Dans le cas des deux stratégies
précédentes, l’ordre d’exploration des sommets est prédéfini au départ, par
contre dans cette stratégie, il ne l’est pas. On explore le sommet ayant la
meilleure valeur de la fonction objectif.
• Notations:
– P(0, 0) et Q(0, 0) le programme P et Q respectivement,
– P(k, m) le programme linéaire en nombres entiers numéro m du niveau k
(relativement à l’arborescences des solutions) et Q(k , m) le programme
linéaire qui lui est associé,
– x(k, m) la solution optimale de Q(k, m),
– La séparation de P(k, m) donne lieu à deux sommets P(k+1, 2m) et P(k+1, 2m+1)
Techniques d'Optimisation
Master 1 2012
9
Algorithme de Branch And Bound
(0) Choisir une stratégie d’exploration. Poser k=0, m=0 et Ze = -
(1) Résoudre Q(k, m) et soit x(k,m) sa solution optimale.
Si x(k,m) est entière. On coupe le nœud et
Si Z(k, m)> Ze on pose Ze = Z(k, m) (amélioration de la borne)
Si x(k, m) n’est entière
Si Z(k, m) Ze. On coupe le nœud
Si Z(k, m) > Ze Aller en 2)
2) Soit xi une variable non entière de x(k,m) et a est nombre entier tel
que a <xi < a+1. Séparer P(k,m) en P(k+1, 2m) et P(k+1, 2m+1) où :
P(k+1, 2m) = { P(k,m), xi≤ a}, P(k+1, 2m+1) = {P(k,m), xi≥ a +1}. Résoudre
Q(k+1, 2m) et Q(k+1, 2m+1) .
3) Tester si tous les nœuds sont coupés.
Si oui. Terminer. Sinon, choisir le nœud à explorer mettre à jour les
paramètres m et k et aller en 1)
Techniques d'Optimisation
Master 1 2012
10
Exemple illustratif (1)
• Soit le PLNE (P) suivant:
Max Z = 3 x1 + 4 x2
2 x1 + x2 ≤ 6
2 x1 + 3 x2 ≤ 9
x1, x2  N
La résolution du programme linéaire Q donne la solution
optimale de Q(0, 0) ; atteinte au point B=(9/4, 3/2) qui n’est pas
entière.
On choisit de séparer sur la variable x2= 3/2 (choix arbitraire).
On a: 1< x2< 2
On sépare P (0,0) en P(1, 0) = { P(0,0), x2 ≥ 2} et
P(1, 1) = {P(0,0), x2≤1}
Techniques d'Optimisation
Master 1 2012
11
Techniques d'Optimisation
Master 1 2012
12
Résolution graphique de l’exemple
Résolution de l’exemple (1/3)
Résoudre Q(1,0) , le polyèdre est DAE ( D=(0, 2) A=(0, 3), E=(3/2, 2)).
La solution optimale non entière est en E avec x1 = 3/2 x2=2
ZE = 12.5.
Explorer P (1,0) en séparant sur x1 car 1 < x1 < 2. Le nœud P(1,0) est
séparé en P(2, 0)={P(1,0), x1≤ 1} et P(2, 1) = {P(1,0), x1 ≥ 2}.
Résoudre Q(2, 0) , le polyèdre est DAFG (D=(0, 2) A=(0, 3) F=(1, 2) et
G=(1, 7/3)). La solution optimale non entière est en G avec x1=1 et
x2=7/3 et ZG=12.33.
Explorer le nœud P(2, 0) en séparant sur x2 avec 2< x2< 3. On définit
deux sommets P(3, 0)={P(2,0), x2≤ 2} et P(3, 1) = {P(2,0), x2 ≥ 3}.
Résoudre Q(3,0), le polytope est [D, F]. La solution optimale entière
atteinte en F avec x1=1 et x2=2 et ZF= 11 > Ze. On coupe P(3,0) et
Ze= 11 (borne inférieure.)
Techniques d'Optimisation
Master 1 2012
13
Résolution de l’exemple (2/3)
Retour au niveau 2 et explorer P (2,0) . Résoudre Q(3, 1) qui est
réduit au point (0, 2).La solution est entière. Couper(3, 0).
Z(3, 1) =12 > Ze = 11 alors Ze=12.
Retour arrière au niveau 1. Résoudre Q(2, 1) dont le polyèdre est
vide. Couper ce sommet .
Résoudre Q(3,0), le polytope est un segment [D, F]. La solution
optimale entière est F avec x1=1 et x2=2 et ZF= 11 > Ze. Cette
Couper P (3,0) et on garde Ze= 12.
Remonter au niveau 0 et résoudre Q(1, 1) , le polyèdre est
OMNC (M=(0, 1) N=(5/2, 1) et C=(3, 0)). La solution optimale est
en N avec x1=5/2, x2=1 et ZN= 11.5 < Ze=12. Couper ce sommet .
Tous les sommets sont coupés, la solution optimale de P est:
x1
*=0, x2
*=3 et Z*=12.
Techniques d'Optimisation
Master 1 2012
14
Arborescence des solutions de l’exemple
Techniques d'Optimisation
Master 1 2012
15
Résolution de l’exemple par d’autres stratégies
• Stratégie « Largeur d’abord »
– Niveau 0 : Résolution de Q(0, 0) qui donne x1=9/4 et x2=3/2
– Niveau 1 : Résolution de Q(1, 0) qui donne x1=3/2, x2=2, Z=12.5 et Q(1, 1)
qui donne x1=5/2, x2=1 et Z=11.5.
– Niveau 2 : Résolution de Q(2, 0), Q(2, 1), Q(2, 2) et Q(2, 3). Seul le nœud P(2, 2)
est retenu.
– Niveau 3: Résolution de Q(3, 0) et Q(3, 1) solutions entières.
• Stratégie « Meilleur d’abord »
– Niveau 0 : Q(0, 0)
– Niveau 1: Q(1, 0) etQ(1, 1)
– Branche 2: Q(2, 0) et Q(2, 1)
– Branche 3: Q(3, 0) etQ(3, 1)
Techniques d'Optimisation
ed2c'2012
16
Amélioration de l’approche (1/4)
• Recherche d’une meilleure borne inférieure
– Soit x*=(x1
*, …, xn
*)la solution optimale de (Q)
– Posons: xj = [xj*] + yj où où [ . ] désigne la partie entière de la solution
non entière et y j est une variable booléenne
– Le programme (Q) associé à (P) peut être réécrit sous la forme:
– L a résolution de ce programme bivalent est utile seulement au
démarrage de la résolution de (P). Après cela, l’approche devient très
coûteuse.
Techniques d'Optimisation
ed2c'2012
17
Amélioration de l’approche (2/4)
• Recherche d’une borne supérieure
– Améliorer la stratégie d’exploration
– Règle: La priorité est accordée au nœud qui possède la
plus grande borne supérieure ou plus faible pénalité.
Soit (P) le nœud à séparer selon la variable de base xk non
entière. Poser xk=[xk] + fk où 0 < fk < 1
Soient P1 ={P, xk ≤ [xk] } et B l’ensemble des indices des variables
de base et HB ceux des variables hors base.
La kième ligne du tableau du simplexe de Q1 est
Ou encore:
≤ [xk ]
Techniques d'Optimisation
ed2c'2012
18
Amélioration de l’approche (3/4)
On obtient: ≤ 
Ou encore:
+S =
Introduire cette ligne dans le dernier tableau du simplexe et
effectuer une itération de l’algorithme dual du simplexe. La
borne supérieure sera la valeur de la fonction objectif obtenue.
Opérer de la même façon avec P2 ={P, xk  [xk] + 1 }
+ S =
Techniques d'Optimisation
ed2c'2012
19
Amélioration de l’approche (4/4)
• La pénalité inférieure Px-inf est la diminution de Z(P)
occasionnée par une seule itération de l’algorithme dual du
simplexe après ajout de la contrainte xk ≤ [xk].
Px-inf =
• La pénalité supérieure Px-sup est la diminution de Z(P)
occasionnée par une seule itération de l’algorithme dual du
simplexe après ajout de la contrainte xk ≥ [xk] + 1.
Px-sup =
se est le coefficient marginal de la fonction objectif après ajout
de la contrainte supplémentaire et ase est l’élément du tableau
du simplexe situé à l’intersection entre la variable sortante et
la variable entrante
20
Exemple (2) de calcul des pénalités
• Soit le PLNE (P): Max Z = 3 x1 + 4 x2
2 x1 + x2 + e1 = 6
2 x1 + 3 x2 + e2 = 9
x1, x2  N
Le dernier tableau du simple de Q est:
En séparant sur x2 , on obtient: Px2-Inf= 1, 25 et
Px2-Sup=0, 25. On se branche en priorité sur P2
Techniques d'Optimisation
ed2c'2012
21
Base B x1 x2 e1 e2
x1
x2
2,25
1,5
1
0
0
1
0,75
0,5
-0,25
0,5
j -12 ,75 0 0 -0,25 -1,25
Méthode des coupes (1/3)
• Principe: La méthode les coupes de Gomory coupe le
polyèdre et se rapproche de la solution optimale entière
d’itération en itération alors que B&B divise, à chaque
itération, le polyèdre en trois parties et élimine celle qui ne
contient pas de solutions entières.
• Inconvénients:
– Augmentation de la complexité du problème.
– La solution du problème reste irréalisable jusqu’à l’arrêt de
l’algorithme.
-Résoudre le programme linéaire associé Q
- Soit la kième ligne du tableau optimal correspondante à la
variable non entière xk de Q
xk + = xk* (*)
Techniques d'Optimisation
ed2c'2012
22
Méthode des coupes (2/3)
Posons: xk*= [xk*] + fk où 0< fk < 1
akj= [akj] + fkj où 0< fkj < 1
En remplaçant ces expressions dans (*) on obtient:
x k - +
La partie de gauche est entière, de même pour celle de
droite et que fk >0 et fkj >0 , on obtient:
ou encore:
La coupe de Gomory est:
Techniques d'Optimisation
ed2c'2012
23
Méthode des coupes (3/3)
• Rajouter cette coupe au tableau optimal puis
résoudre le nouveau programme linéaire obtenu.
Algorithme:
• Résoudre (Q) et choisir une variable de xk non entière du
dernier tableau de simplexe.
• Réécrire chaque coefficient de la ligne correspondante
comme la somme d’un entier et d’un nombre fractionnel
positif inférieur à 1.
• Former la coupe constituée des parties fractionnelles
• Résoudre le nouveau programme par l’algorithme dual du
simplexe. Si la solution est entière, terminer sinon aller en (1).
Techniques d'Optimisation
ed2c'2012
24
Exemple (3) illustratif
• Soit le programme en nombres entiers (P)
Max z = 7x1 + 9x2
-x1 + 3 x2 ≤ 6
7x1 +x2 ≤ 35
x1, x2  N
• Le dernier tableau du simplexe est:
Techniques d'Optimisation
ed2c'2012
25
Base b x1 x2 e1 e2
x2 7/2 0 1 7/22 1/22
x1 9/2 1 0 -1/22 3/22
Z -63 0 0 -28/11 -15/11
Résolution de l’Exemple
Comme f1=f2= ½, on choisit x2 et on a :
x2 + (0+7/22) e1 + (0+1/22)e2=(3+1/2)
La 1ière coupe de Gomory est :
e3 - 7/22 e1 -1/22 e2= - ½
Techniques d'Optimisation
ed2c'2012
26
Base bi x1 x2 e1 e2 e3
x2 7/2 0 1 7/22 1/22 0
x1 1/2 1 0 -1/22 3/22 0
e3 -1/2 0 0 -7/22 -1/22 1
Z -63 0 0 -28/11 -15/11 0
Résolution de l’exemple
• Après une itération, on obtient:
x1 n’est pas entière, et on a: x1 + (0+1/7) e2 + (0-1/7)e3=(4+4/7)
Attention! Transformer le coefficient de e3 pour rendre la partie
fractionnelle positive. On aura:
x1 + (0+1/7) e2 + (-1+6/7)e3=(4+4/7).
La seconde coupe: e4 - 1/7 e2 - 6/7e3= - 4/7
Techniques d'Optimisation
ed2c'2012
27
Base bi x1 x2 e1 e2 e3
x2 3 0 1 0 0 1
x1 4+ 4/7 1 0 0 1/7 -1/7
e1 1 +4/7 0 0 1 1/7 -22/7
Z -59 0 0 0 -1 -8
Résolution de l’exemple
Après introduction de la seconde coupe:
Une itération de l’algorithme dual du simplexe:
Techniques d'Optimisation
ed2c'2012
28
Base bi x1 x2 E1 E2 E3 E4
x2 3 0 1 0 0 1 0
x1 4+ 4/7 1 0 0 1/7 -1/7 0
e1 1 +4/7 0 0 1 1/7 -22/7 0
e4 -4/7 0 0 0 -1/7 -6/7 1
Z -59 0 0 0 -1 -8 0
Base bi x1 x2 e1 e2 e3 e4
x2 3 0 1 0 0 1 0
x1 4 1 0 0 0 -1 1
e1 1 0 0 1 0 -4 1
e2 4 0 0 0 1 6 -7
Z -55 0 0 0 0 -2 -7
Illustration géométrique
Solution optimale
entière:
x1*=4, x2*=3 et Z*=55
Ré - expression des
coupes en termes de x1 et
x2:
1ière coupe: x2 ≤ 3
2ième coupe: x1 + x2 ≤ 7
Techniques d'Optimisation
ed2c'2012
29
Amélioration de la méthode (1/2)
• Une coupe C est dite meilleure qu’une autre coupe C' si elle
coupe profondément le polyèdre convexe de l'espace des
solutions.
• C est dite meilleure que C’ si les 2 conditions sont vérifiées:
fk,j  f’k,j j  HB sauf pour un indice elle est stricte
f k  f’k
Ou encore:
Généralisation:  coupes
0 ≤  ≤ (-1) et  est le déterminant de la partie de base B de la
matrice (Ax ≤ b) associée à la solution optimale de (Q).
Techniques d'Optimisation
ed2c'2012
30





HB
j
kj
k
HB
j
kj
k
f
f
f
f
'
'






HB
j
f
x
f k
j
kj
f
S
f 

Amélioration de la méthode (2/2)
• La meilleure coupe est celle qui vérifie
Max ri avec
Dans l’exemple précédent:
 = 22. Il s’agira de déterminer 21 coupes différentes:
=1, e3 - 7/22 e1 -1/22 e2= - ½ r1= 11/8
=2 , e3 - 14/22 e1 - 2/22 e2= 0 et r2= 0
=3 e3 - 21/22 e1 - 3/22 e2= -1/2 et r3= 11/16
=4 e3 - 6/22 e1 - 4/22 e2= 0 et r4= 0
=5 e3 - 13/22 e1 - 5/22 e2= -1/2 et r5= 11/18
Techniques d'Optimisation
ed2c'2012
31



HB
j
f
f
i
kj
i
k
i
f
f
r


Suite de l’exemple
=7 e3 - 5/22 e1 – 7/22 e2= -1/2 et r7= 11/12
=9 e3 - 19/22 e1 – 9/22 e2= -1/2 et r9= 11/28
=11 e3 - 11/22 e1 – 11/22 e2= -1/2 et r9= ½
=13 e3 - 3/22 e1 – 13/22 e2= -1/2 et r9=11/16
=15 e3 - 17/22 e1 – 15/22 e2= -1/2 et r9= 11/52
=17 e3 - 9/22 e1 – 17/22 e2= -1/2 et r9= 11/26
=19 e3 - 10/22 e1 – 19/22 e2= -1/2 et r9= 11/29
=21 e3 - 15/22 e1 – 21/22 e2= -1/2 et r9= 11/36
La meilleure coupe de Gomory correspond à la valeur de = 1
Techniques d'Optimisation
ed2c'2012
32
Branch and Cut
• Approche de résolution des PLNE
• Approche hydride entre B&B et la méthode des
coupes de Gomory
• Construction de la coupe peut se faire à n’importe
quel sommet de l’arborescence
• L’introduction des coupes réduit l’arborescence des
sommets.
• Logiciels:
MINTO (Nemhauser et al., 1994)
ABACUS (J¨unger and Thienel, 1998)
CPLEX et XPRESS-MP
Techniques d'Optimisation
ed2c'2012
33
Principe de Branch and Cut
• Résoudre (Q) et soit une variable non entière
• Construire la meilleure coupe de Gomory. et la
rajouter au dernier tableau de (Q). Résoudre par
l’algorithme dual du implexe le programme obtenu
jusqu’à obtenir une solution de base réalisable
optimale.
• Appliquer le principe de séparation de B&B et le
principe d’évaluation.
• Utiliser une stratégie d’exploration et les techniques
d’élagages.
Techniques d'Optimisation
ed2c'2012
34
Exemple 3 par B&C
Introduire la coupe e3 - 7/22 e1 -1/22 e2= - ½ ( =1)  x2  3 et
une itération de l’algorithme dual: du simplexe donne:
On sépare sur la variable x1. On définit deux programmes
P1={P et x1 4} et P2= {P et x15}.
Px-inf= 4 et Px-sup= 24. On explore la branche x1 4
Techniques d'Optimisation
ed2c'2012
35
Base bi x1 x2 e1 e2 e3
x2 3 0 1 0 0 1
x1 4+ 4/7 1 0 0 1/7 -1/7
e1 1 +4/7 0 0 1 1/7 -22/7
Z -59 0 0 0 -1 -8
Suite de l’exemple
Le programme devient:
Max z = 7x1 + 9x2
-x1 + 3 x2 ≤ 6
7x1 +x2 ≤ 35
x1 4
x2  3
x1, x2  N
La solution optimale est:
(3, 4) qui est entière
avec Z= 55. on coupe S1
Retour arrière à S0 et explorer
S2 et on obtient une solution
Entière inférieure à celle
obtenue
x1 4 x15
_____ ______
x1=4 x2=3 x1=5 x2=0
Z= 55 Z= 35
Techniques d'Optimisation
ed2c'2012
36
S0
S1 S2

Contenu connexe

Similaire à 10677467.ppt

L'équation de la chaleur
L'équation de la chaleurL'équation de la chaleur
L'équation de la chaleurpedro koli
 
M2 An 1986 20 3 371 0
M2 An 1986  20 3 371 0M2 An 1986  20 3 371 0
M2 An 1986 20 3 371 0guest8b8369
 
HDJZKZOZHSGSKZIZLBZZHZNLZ JE SGSJZOKZVSHZKSKSNHSJZ
HDJZKZOZHSGSKZIZLBZZHZNLZ JE SGSJZOKZVSHZKSKSNHSJZHDJZKZOZHSGSKZIZLBZZHZNLZ JE SGSJZOKZVSHZKSKSNHSJZ
HDJZKZOZHSGSKZIZLBZZHZNLZ JE SGSJZOKZVSHZKSKSNHSJZDocPadraigCharafeddi
 
Algebre1 s1 par www.etudecours.com
Algebre1 s1 par www.etudecours.comAlgebre1 s1 par www.etudecours.com
Algebre1 s1 par www.etudecours.cometude cours
 
ELEMENT FINIS COURS DE GENIE CIVIL ,DE L3
ELEMENT FINIS COURS DE GENIE CIVIL ,DE L3ELEMENT FINIS COURS DE GENIE CIVIL ,DE L3
ELEMENT FINIS COURS DE GENIE CIVIL ,DE L3anaismujinga
 
Omp math nombres-complexes
Omp math nombres-complexesOmp math nombres-complexes
Omp math nombres-complexesAhmed Ali
 
85717b7aca485735313534313338323437343138 (1)
85717b7aca485735313534313338323437343138 (1)85717b7aca485735313534313338323437343138 (1)
85717b7aca485735313534313338323437343138 (1)AHMED ENNAJI
 
Math Bac 2009_Correction Session principale
Math Bac 2009_Correction Session principaleMath Bac 2009_Correction Session principale
Math Bac 2009_Correction Session principaleAchraf Frouja
 
Etude d'article d'optimisation : Proximal algorithms
Etude d'article d'optimisation : Proximal algorithmsEtude d'article d'optimisation : Proximal algorithms
Etude d'article d'optimisation : Proximal algorithmsKhalilBergaoui
 
Chapitre 3 la recherche tabou
Chapitre 3 la recherche tabouChapitre 3 la recherche tabou
Chapitre 3 la recherche tabouAchraf Manaa
 
SYStèmes d'équations linéaires
SYStèmes d'équations linéairesSYStèmes d'équations linéaires
SYStèmes d'équations linéairessarah Benmerzouk
 

Similaire à 10677467.ppt (20)

L'équation de la chaleur
L'équation de la chaleurL'équation de la chaleur
L'équation de la chaleur
 
M2 An 1986 20 3 371 0
M2 An 1986  20 3 371 0M2 An 1986  20 3 371 0
M2 An 1986 20 3 371 0
 
HDJZKZOZHSGSKZIZLBZZHZNLZ JE SGSJZOKZVSHZKSKSNHSJZ
HDJZKZOZHSGSKZIZLBZZHZNLZ JE SGSJZOKZVSHZKSKSNHSJZHDJZKZOZHSGSKZIZLBZZHZNLZ JE SGSJZOKZVSHZKSKSNHSJZ
HDJZKZOZHSGSKZIZLBZZHZNLZ JE SGSJZOKZVSHZKSKSNHSJZ
 
sol_TD4.pdf
sol_TD4.pdfsol_TD4.pdf
sol_TD4.pdf
 
chapitre 5.pptx
chapitre 5.pptxchapitre 5.pptx
chapitre 5.pptx
 
Algebre1 s1 par www.etudecours.com
Algebre1 s1 par www.etudecours.comAlgebre1 s1 par www.etudecours.com
Algebre1 s1 par www.etudecours.com
 
Cours de maths gene 1 ere sst
Cours de maths gene 1 ere sstCours de maths gene 1 ere sst
Cours de maths gene 1 ere sst
 
Chap 4 déterminant
Chap 4 déterminantChap 4 déterminant
Chap 4 déterminant
 
ELEMENT FINIS COURS DE GENIE CIVIL ,DE L3
ELEMENT FINIS COURS DE GENIE CIVIL ,DE L3ELEMENT FINIS COURS DE GENIE CIVIL ,DE L3
ELEMENT FINIS COURS DE GENIE CIVIL ,DE L3
 
Omp math nombres-complexes
Omp math nombres-complexesOmp math nombres-complexes
Omp math nombres-complexes
 
85717b7aca485735313534313338323437343138 (1)
85717b7aca485735313534313338323437343138 (1)85717b7aca485735313534313338323437343138 (1)
85717b7aca485735313534313338323437343138 (1)
 
Théorie des distributions
Théorie des distributionsThéorie des distributions
Théorie des distributions
 
Math Bac 2009_Correction Session principale
Math Bac 2009_Correction Session principaleMath Bac 2009_Correction Session principale
Math Bac 2009_Correction Session principale
 
Etude d'article d'optimisation : Proximal algorithms
Etude d'article d'optimisation : Proximal algorithmsEtude d'article d'optimisation : Proximal algorithms
Etude d'article d'optimisation : Proximal algorithms
 
Chapitre 3 la recherche tabou
Chapitre 3 la recherche tabouChapitre 3 la recherche tabou
Chapitre 3 la recherche tabou
 
Exercice Integrcurvcor 2
Exercice Integrcurvcor 2Exercice Integrcurvcor 2
Exercice Integrcurvcor 2
 
Integrcurvcor 2
Integrcurvcor 2Integrcurvcor 2
Integrcurvcor 2
 
Dualité lagrangienne
Dualité lagrangienneDualité lagrangienne
Dualité lagrangienne
 
Analyse1 cour.pdf
Analyse1 cour.pdfAnalyse1 cour.pdf
Analyse1 cour.pdf
 
SYStèmes d'équations linéaires
SYStèmes d'équations linéairesSYStèmes d'équations linéaires
SYStèmes d'équations linéaires
 

Plus de Ghazouani Jaber

Welcome to PowerPoint.pptxhkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Welcome to PowerPoint.pptxhkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkWelcome to PowerPoint.pptxhkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Welcome to PowerPoint.pptxhkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkGhazouani Jaber
 
477153362-COURS-2-Les-Fours-Industriels-13-04-2020.pdf
477153362-COURS-2-Les-Fours-Industriels-13-04-2020.pdf477153362-COURS-2-Les-Fours-Industriels-13-04-2020.pdf
477153362-COURS-2-Les-Fours-Industriels-13-04-2020.pdfGhazouani Jaber
 
Title Lorem Ipsum3.pptxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Title Lorem Ipsum3.pptxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnTitle Lorem Ipsum3.pptxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Title Lorem Ipsum3.pptxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnGhazouani Jaber
 
Title Lorem Ipsum2.pptxhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
Title Lorem Ipsum2.pptxhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhTitle Lorem Ipsum2.pptxhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
Title Lorem Ipsum2.pptxhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhGhazouani Jaber
 
Title Lorem Ipsum1.pptxjrssssssssssssssssssssssssssssssssssssssssssssssssssss...
Title Lorem Ipsum1.pptxjrssssssssssssssssssssssssssssssssssssssssssssssssssss...Title Lorem Ipsum1.pptxjrssssssssssssssssssssssssssssssssssssssssssssssssssss...
Title Lorem Ipsum1.pptxjrssssssssssssssssssssssssssssssssssssssssssssssssssss...Ghazouani Jaber
 
Title Lorem Ipsum.pptxhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
Title Lorem Ipsum.pptxhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjTitle Lorem Ipsum.pptxhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
Title Lorem Ipsum.pptxhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjGhazouani Jaber
 
Haenchen_20240403_200407 bntry njhg ffjhhg
Haenchen_20240403_200407 bntry njhg ffjhhgHaenchen_20240403_200407 bntry njhg ffjhhg
Haenchen_20240403_200407 bntry njhg ffjhhgGhazouani Jaber
 
Guide_presentation_Initiation.ppt pour un stage
Guide_presentation_Initiation.ppt pour un stageGuide_presentation_Initiation.ppt pour un stage
Guide_presentation_Initiation.ppt pour un stageGhazouani Jaber
 
power point presentation in conception field
power point presentation in conception fieldpower point presentation in conception field
power point presentation in conception fieldGhazouani Jaber
 
Le_verre_et_ses_applications.pptx
Le_verre_et_ses_applications.pptxLe_verre_et_ses_applications.pptx
Le_verre_et_ses_applications.pptxGhazouani Jaber
 

Plus de Ghazouani Jaber (11)

Welcome to PowerPoint.pptxhkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Welcome to PowerPoint.pptxhkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkWelcome to PowerPoint.pptxhkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Welcome to PowerPoint.pptxhkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
 
477153362-COURS-2-Les-Fours-Industriels-13-04-2020.pdf
477153362-COURS-2-Les-Fours-Industriels-13-04-2020.pdf477153362-COURS-2-Les-Fours-Industriels-13-04-2020.pdf
477153362-COURS-2-Les-Fours-Industriels-13-04-2020.pdf
 
Title Lorem Ipsum3.pptxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Title Lorem Ipsum3.pptxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnTitle Lorem Ipsum3.pptxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Title Lorem Ipsum3.pptxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
 
Title Lorem Ipsum2.pptxhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
Title Lorem Ipsum2.pptxhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhTitle Lorem Ipsum2.pptxhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
Title Lorem Ipsum2.pptxhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
 
Title Lorem Ipsum1.pptxjrssssssssssssssssssssssssssssssssssssssssssssssssssss...
Title Lorem Ipsum1.pptxjrssssssssssssssssssssssssssssssssssssssssssssssssssss...Title Lorem Ipsum1.pptxjrssssssssssssssssssssssssssssssssssssssssssssssssssss...
Title Lorem Ipsum1.pptxjrssssssssssssssssssssssssssssssssssssssssssssssssssss...
 
Title Lorem Ipsum.pptxhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
Title Lorem Ipsum.pptxhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjTitle Lorem Ipsum.pptxhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
Title Lorem Ipsum.pptxhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
 
Haenchen_20240403_200407 bntry njhg ffjhhg
Haenchen_20240403_200407 bntry njhg ffjhhgHaenchen_20240403_200407 bntry njhg ffjhhg
Haenchen_20240403_200407 bntry njhg ffjhhg
 
Guide_presentation_Initiation.ppt pour un stage
Guide_presentation_Initiation.ppt pour un stageGuide_presentation_Initiation.ppt pour un stage
Guide_presentation_Initiation.ppt pour un stage
 
power point presentation in conception field
power point presentation in conception fieldpower point presentation in conception field
power point presentation in conception field
 
515611.ppt
515611.ppt515611.ppt
515611.ppt
 
Le_verre_et_ses_applications.pptx
Le_verre_et_ses_applications.pptxLe_verre_et_ses_applications.pptx
Le_verre_et_ses_applications.pptx
 

10677467.ppt

  • 1. Introduction  La PLNE regroupe l’ensemble des techniques permettant de résoudre des programmes linéaires dont les solutions doivent être entières.  Formellement, le PLNE (P) s’exprime comme suit: A d’ordre m x n, b d’ordre m, c d’ordre n et x est d’ordre n.  Le programme linéaire Q associé est: Techniques d'Optimisation Master 1 2012 1
  • 2. Exemple de modélisation(1/2) • Le problème du sac-à-dos – On doit remplir un sac à dos avec unités de n éléments où chaque élément j possède un poids pj et une valeur nutritive cj de telle façon à ne pas dépasser son poids total p et en maximisant la valeur nutritive. – Soit xj le nombre d’unités de l’élément j à prendre dans le sac à dos, ce problème se modélise comme suit : • Problème de dichotomie – Supposons qu’uniquement k contraintes parmi les m contraintes du problème soient actives. Supposer que les m contraintes sont sous forme la forme suivante: gi(x1, …, x n) ≤ bi avec i=1,2, …, m. Techniques d'Optimisation Master 1 2012 2
  • 3. Exemple de modélisation (2/2) Techniques d'Optimisation Master 1 2012 3 • Soit yi la variable associée à la ième contrainte comme suit : • Pour avoir k contraintes actives parmi m , il suffira de considérer: • M est un nombre très grand • Application: Le second membre d’une contrainte prend plusieurs valeurs     on inactive est i e contra si yi sin 0 int 1
  • 4. Résolution d’un PLNE • Lemme: Soient x e, x r les solutions optimales respectivement des programmes (P) et (Q) et Z e, Zr les valeurs de leurs fonctions objectifs respectivement, alors nous avons : Z e ≤ Zr, • La valeur de la solution optimale du programme (Q) est une borne supérieure à la valeur de la solution optimale entière de P. • La résolution de (P) ne peut pas se faire par la résolution de (Q) puis d’arrondir ensuite les solutions non entières. – En effet, le simple arrondi des variables non entières à des valeurs entières peut rendre la solution non réalisable ou simplement non optimale. Techniques d'Optimisation Master 1 2012 4
  • 5. Exemple de résolution naïve Max Z = 3 x1 + 4 x2 2 x1 + x2 ≤ 6 2 x1 + 3 x2 ≤ 9 x1, x2  N Voir la figure 2.1 représentant le polyèdre convexe • L’arrondi de cette solution donne (2, 2) qui n’est pas réalisable, (2, 1) qui est réalisable mais n’est pas optimale Techniques d'Optimisation Master 1 2012 5
  • 6. Résolution graphique du programme Q Techniques d'Optimisation ed2c'2012 6
  • 7. Résolution par Branch And Bound (1/3) • Principe de séparation Soit x m la solution optimale du programme (Q) et xi une variable non entière. Supposons que <xi <  +1 où a est nombre entier. La séparation de (P) consiste à scinder ce programme en deux sous programmes : P1= {P et xi  } et P2= {P et xi   +1 } En désignant par R0 le domaine ne contenant pas de solution entière, R1 le domaine (P1) et R2 celui de (P2), la séparation consiste à éliminer R0 et à chercher des solutions entières dans R1 et R2. • Principe d’évaluation: Résoudre P1 et P2 Techniques d'Optimisation Master 1 2012 7
  • 8. Résolution par Branch And Bound (2/3) Techniques d'Optimisation Master 1 2012 8 • Techniques d’élagage: – Couper un sommet lorsqu’une solution de base réalisable entière est obtenue (borne inférieure). – Couper un sommet lorsque sa borne supérieure est inférieure à la meilleure borne inférieure obtenue. – Couper un sommet lorsque la solution est irréalisable. • Stratégies d’exploration: – Stratégie ‘Profondeur d’abord’: Séparer un sommet tant que celui-ci peut se faire. En d’autre termes, le nœud est séparé en profondeur jusqu’à atteindre la feuille de l’arborescence des solutions. Un retour-arrière est nécessaire dans le cas où il existe des sommets non élagués (coupés)
  • 9. Résolution par Branch And Bound (3/3) • Stratégie ‘Largeur d’abord’: Résoudre tous les problèmes d’un même niveau puis séparer les sommets séparables pour ensuite résoudre les problèmes du niveau suivant • Stratégie ‘Meilleur d’abord’ : Dans le cas des deux stratégies précédentes, l’ordre d’exploration des sommets est prédéfini au départ, par contre dans cette stratégie, il ne l’est pas. On explore le sommet ayant la meilleure valeur de la fonction objectif. • Notations: – P(0, 0) et Q(0, 0) le programme P et Q respectivement, – P(k, m) le programme linéaire en nombres entiers numéro m du niveau k (relativement à l’arborescences des solutions) et Q(k , m) le programme linéaire qui lui est associé, – x(k, m) la solution optimale de Q(k, m), – La séparation de P(k, m) donne lieu à deux sommets P(k+1, 2m) et P(k+1, 2m+1) Techniques d'Optimisation Master 1 2012 9
  • 10. Algorithme de Branch And Bound (0) Choisir une stratégie d’exploration. Poser k=0, m=0 et Ze = - (1) Résoudre Q(k, m) et soit x(k,m) sa solution optimale. Si x(k,m) est entière. On coupe le nœud et Si Z(k, m)> Ze on pose Ze = Z(k, m) (amélioration de la borne) Si x(k, m) n’est entière Si Z(k, m) Ze. On coupe le nœud Si Z(k, m) > Ze Aller en 2) 2) Soit xi une variable non entière de x(k,m) et a est nombre entier tel que a <xi < a+1. Séparer P(k,m) en P(k+1, 2m) et P(k+1, 2m+1) où : P(k+1, 2m) = { P(k,m), xi≤ a}, P(k+1, 2m+1) = {P(k,m), xi≥ a +1}. Résoudre Q(k+1, 2m) et Q(k+1, 2m+1) . 3) Tester si tous les nœuds sont coupés. Si oui. Terminer. Sinon, choisir le nœud à explorer mettre à jour les paramètres m et k et aller en 1) Techniques d'Optimisation Master 1 2012 10
  • 11. Exemple illustratif (1) • Soit le PLNE (P) suivant: Max Z = 3 x1 + 4 x2 2 x1 + x2 ≤ 6 2 x1 + 3 x2 ≤ 9 x1, x2  N La résolution du programme linéaire Q donne la solution optimale de Q(0, 0) ; atteinte au point B=(9/4, 3/2) qui n’est pas entière. On choisit de séparer sur la variable x2= 3/2 (choix arbitraire). On a: 1< x2< 2 On sépare P (0,0) en P(1, 0) = { P(0,0), x2 ≥ 2} et P(1, 1) = {P(0,0), x2≤1} Techniques d'Optimisation Master 1 2012 11
  • 12. Techniques d'Optimisation Master 1 2012 12 Résolution graphique de l’exemple
  • 13. Résolution de l’exemple (1/3) Résoudre Q(1,0) , le polyèdre est DAE ( D=(0, 2) A=(0, 3), E=(3/2, 2)). La solution optimale non entière est en E avec x1 = 3/2 x2=2 ZE = 12.5. Explorer P (1,0) en séparant sur x1 car 1 < x1 < 2. Le nœud P(1,0) est séparé en P(2, 0)={P(1,0), x1≤ 1} et P(2, 1) = {P(1,0), x1 ≥ 2}. Résoudre Q(2, 0) , le polyèdre est DAFG (D=(0, 2) A=(0, 3) F=(1, 2) et G=(1, 7/3)). La solution optimale non entière est en G avec x1=1 et x2=7/3 et ZG=12.33. Explorer le nœud P(2, 0) en séparant sur x2 avec 2< x2< 3. On définit deux sommets P(3, 0)={P(2,0), x2≤ 2} et P(3, 1) = {P(2,0), x2 ≥ 3}. Résoudre Q(3,0), le polytope est [D, F]. La solution optimale entière atteinte en F avec x1=1 et x2=2 et ZF= 11 > Ze. On coupe P(3,0) et Ze= 11 (borne inférieure.) Techniques d'Optimisation Master 1 2012 13
  • 14. Résolution de l’exemple (2/3) Retour au niveau 2 et explorer P (2,0) . Résoudre Q(3, 1) qui est réduit au point (0, 2).La solution est entière. Couper(3, 0). Z(3, 1) =12 > Ze = 11 alors Ze=12. Retour arrière au niveau 1. Résoudre Q(2, 1) dont le polyèdre est vide. Couper ce sommet . Résoudre Q(3,0), le polytope est un segment [D, F]. La solution optimale entière est F avec x1=1 et x2=2 et ZF= 11 > Ze. Cette Couper P (3,0) et on garde Ze= 12. Remonter au niveau 0 et résoudre Q(1, 1) , le polyèdre est OMNC (M=(0, 1) N=(5/2, 1) et C=(3, 0)). La solution optimale est en N avec x1=5/2, x2=1 et ZN= 11.5 < Ze=12. Couper ce sommet . Tous les sommets sont coupés, la solution optimale de P est: x1 *=0, x2 *=3 et Z*=12. Techniques d'Optimisation Master 1 2012 14
  • 15. Arborescence des solutions de l’exemple Techniques d'Optimisation Master 1 2012 15
  • 16. Résolution de l’exemple par d’autres stratégies • Stratégie « Largeur d’abord » – Niveau 0 : Résolution de Q(0, 0) qui donne x1=9/4 et x2=3/2 – Niveau 1 : Résolution de Q(1, 0) qui donne x1=3/2, x2=2, Z=12.5 et Q(1, 1) qui donne x1=5/2, x2=1 et Z=11.5. – Niveau 2 : Résolution de Q(2, 0), Q(2, 1), Q(2, 2) et Q(2, 3). Seul le nœud P(2, 2) est retenu. – Niveau 3: Résolution de Q(3, 0) et Q(3, 1) solutions entières. • Stratégie « Meilleur d’abord » – Niveau 0 : Q(0, 0) – Niveau 1: Q(1, 0) etQ(1, 1) – Branche 2: Q(2, 0) et Q(2, 1) – Branche 3: Q(3, 0) etQ(3, 1) Techniques d'Optimisation ed2c'2012 16
  • 17. Amélioration de l’approche (1/4) • Recherche d’une meilleure borne inférieure – Soit x*=(x1 *, …, xn *)la solution optimale de (Q) – Posons: xj = [xj*] + yj où où [ . ] désigne la partie entière de la solution non entière et y j est une variable booléenne – Le programme (Q) associé à (P) peut être réécrit sous la forme: – L a résolution de ce programme bivalent est utile seulement au démarrage de la résolution de (P). Après cela, l’approche devient très coûteuse. Techniques d'Optimisation ed2c'2012 17
  • 18. Amélioration de l’approche (2/4) • Recherche d’une borne supérieure – Améliorer la stratégie d’exploration – Règle: La priorité est accordée au nœud qui possède la plus grande borne supérieure ou plus faible pénalité. Soit (P) le nœud à séparer selon la variable de base xk non entière. Poser xk=[xk] + fk où 0 < fk < 1 Soient P1 ={P, xk ≤ [xk] } et B l’ensemble des indices des variables de base et HB ceux des variables hors base. La kième ligne du tableau du simplexe de Q1 est Ou encore: ≤ [xk ] Techniques d'Optimisation ed2c'2012 18
  • 19. Amélioration de l’approche (3/4) On obtient: ≤  Ou encore: +S = Introduire cette ligne dans le dernier tableau du simplexe et effectuer une itération de l’algorithme dual du simplexe. La borne supérieure sera la valeur de la fonction objectif obtenue. Opérer de la même façon avec P2 ={P, xk  [xk] + 1 } + S = Techniques d'Optimisation ed2c'2012 19
  • 20. Amélioration de l’approche (4/4) • La pénalité inférieure Px-inf est la diminution de Z(P) occasionnée par une seule itération de l’algorithme dual du simplexe après ajout de la contrainte xk ≤ [xk]. Px-inf = • La pénalité supérieure Px-sup est la diminution de Z(P) occasionnée par une seule itération de l’algorithme dual du simplexe après ajout de la contrainte xk ≥ [xk] + 1. Px-sup = se est le coefficient marginal de la fonction objectif après ajout de la contrainte supplémentaire et ase est l’élément du tableau du simplexe situé à l’intersection entre la variable sortante et la variable entrante 20
  • 21. Exemple (2) de calcul des pénalités • Soit le PLNE (P): Max Z = 3 x1 + 4 x2 2 x1 + x2 + e1 = 6 2 x1 + 3 x2 + e2 = 9 x1, x2  N Le dernier tableau du simple de Q est: En séparant sur x2 , on obtient: Px2-Inf= 1, 25 et Px2-Sup=0, 25. On se branche en priorité sur P2 Techniques d'Optimisation ed2c'2012 21 Base B x1 x2 e1 e2 x1 x2 2,25 1,5 1 0 0 1 0,75 0,5 -0,25 0,5 j -12 ,75 0 0 -0,25 -1,25
  • 22. Méthode des coupes (1/3) • Principe: La méthode les coupes de Gomory coupe le polyèdre et se rapproche de la solution optimale entière d’itération en itération alors que B&B divise, à chaque itération, le polyèdre en trois parties et élimine celle qui ne contient pas de solutions entières. • Inconvénients: – Augmentation de la complexité du problème. – La solution du problème reste irréalisable jusqu’à l’arrêt de l’algorithme. -Résoudre le programme linéaire associé Q - Soit la kième ligne du tableau optimal correspondante à la variable non entière xk de Q xk + = xk* (*) Techniques d'Optimisation ed2c'2012 22
  • 23. Méthode des coupes (2/3) Posons: xk*= [xk*] + fk où 0< fk < 1 akj= [akj] + fkj où 0< fkj < 1 En remplaçant ces expressions dans (*) on obtient: x k - + La partie de gauche est entière, de même pour celle de droite et que fk >0 et fkj >0 , on obtient: ou encore: La coupe de Gomory est: Techniques d'Optimisation ed2c'2012 23
  • 24. Méthode des coupes (3/3) • Rajouter cette coupe au tableau optimal puis résoudre le nouveau programme linéaire obtenu. Algorithme: • Résoudre (Q) et choisir une variable de xk non entière du dernier tableau de simplexe. • Réécrire chaque coefficient de la ligne correspondante comme la somme d’un entier et d’un nombre fractionnel positif inférieur à 1. • Former la coupe constituée des parties fractionnelles • Résoudre le nouveau programme par l’algorithme dual du simplexe. Si la solution est entière, terminer sinon aller en (1). Techniques d'Optimisation ed2c'2012 24
  • 25. Exemple (3) illustratif • Soit le programme en nombres entiers (P) Max z = 7x1 + 9x2 -x1 + 3 x2 ≤ 6 7x1 +x2 ≤ 35 x1, x2  N • Le dernier tableau du simplexe est: Techniques d'Optimisation ed2c'2012 25 Base b x1 x2 e1 e2 x2 7/2 0 1 7/22 1/22 x1 9/2 1 0 -1/22 3/22 Z -63 0 0 -28/11 -15/11
  • 26. Résolution de l’Exemple Comme f1=f2= ½, on choisit x2 et on a : x2 + (0+7/22) e1 + (0+1/22)e2=(3+1/2) La 1ière coupe de Gomory est : e3 - 7/22 e1 -1/22 e2= - ½ Techniques d'Optimisation ed2c'2012 26 Base bi x1 x2 e1 e2 e3 x2 7/2 0 1 7/22 1/22 0 x1 1/2 1 0 -1/22 3/22 0 e3 -1/2 0 0 -7/22 -1/22 1 Z -63 0 0 -28/11 -15/11 0
  • 27. Résolution de l’exemple • Après une itération, on obtient: x1 n’est pas entière, et on a: x1 + (0+1/7) e2 + (0-1/7)e3=(4+4/7) Attention! Transformer le coefficient de e3 pour rendre la partie fractionnelle positive. On aura: x1 + (0+1/7) e2 + (-1+6/7)e3=(4+4/7). La seconde coupe: e4 - 1/7 e2 - 6/7e3= - 4/7 Techniques d'Optimisation ed2c'2012 27 Base bi x1 x2 e1 e2 e3 x2 3 0 1 0 0 1 x1 4+ 4/7 1 0 0 1/7 -1/7 e1 1 +4/7 0 0 1 1/7 -22/7 Z -59 0 0 0 -1 -8
  • 28. Résolution de l’exemple Après introduction de la seconde coupe: Une itération de l’algorithme dual du simplexe: Techniques d'Optimisation ed2c'2012 28 Base bi x1 x2 E1 E2 E3 E4 x2 3 0 1 0 0 1 0 x1 4+ 4/7 1 0 0 1/7 -1/7 0 e1 1 +4/7 0 0 1 1/7 -22/7 0 e4 -4/7 0 0 0 -1/7 -6/7 1 Z -59 0 0 0 -1 -8 0 Base bi x1 x2 e1 e2 e3 e4 x2 3 0 1 0 0 1 0 x1 4 1 0 0 0 -1 1 e1 1 0 0 1 0 -4 1 e2 4 0 0 0 1 6 -7 Z -55 0 0 0 0 -2 -7
  • 29. Illustration géométrique Solution optimale entière: x1*=4, x2*=3 et Z*=55 Ré - expression des coupes en termes de x1 et x2: 1ière coupe: x2 ≤ 3 2ième coupe: x1 + x2 ≤ 7 Techniques d'Optimisation ed2c'2012 29
  • 30. Amélioration de la méthode (1/2) • Une coupe C est dite meilleure qu’une autre coupe C' si elle coupe profondément le polyèdre convexe de l'espace des solutions. • C est dite meilleure que C’ si les 2 conditions sont vérifiées: fk,j  f’k,j j  HB sauf pour un indice elle est stricte f k  f’k Ou encore: Généralisation:  coupes 0 ≤  ≤ (-1) et  est le déterminant de la partie de base B de la matrice (Ax ≤ b) associée à la solution optimale de (Q). Techniques d'Optimisation ed2c'2012 30      HB j kj k HB j kj k f f f f ' '       HB j f x f k j kj f S f  
  • 31. Amélioration de la méthode (2/2) • La meilleure coupe est celle qui vérifie Max ri avec Dans l’exemple précédent:  = 22. Il s’agira de déterminer 21 coupes différentes: =1, e3 - 7/22 e1 -1/22 e2= - ½ r1= 11/8 =2 , e3 - 14/22 e1 - 2/22 e2= 0 et r2= 0 =3 e3 - 21/22 e1 - 3/22 e2= -1/2 et r3= 11/16 =4 e3 - 6/22 e1 - 4/22 e2= 0 et r4= 0 =5 e3 - 13/22 e1 - 5/22 e2= -1/2 et r5= 11/18 Techniques d'Optimisation ed2c'2012 31    HB j f f i kj i k i f f r  
  • 32. Suite de l’exemple =7 e3 - 5/22 e1 – 7/22 e2= -1/2 et r7= 11/12 =9 e3 - 19/22 e1 – 9/22 e2= -1/2 et r9= 11/28 =11 e3 - 11/22 e1 – 11/22 e2= -1/2 et r9= ½ =13 e3 - 3/22 e1 – 13/22 e2= -1/2 et r9=11/16 =15 e3 - 17/22 e1 – 15/22 e2= -1/2 et r9= 11/52 =17 e3 - 9/22 e1 – 17/22 e2= -1/2 et r9= 11/26 =19 e3 - 10/22 e1 – 19/22 e2= -1/2 et r9= 11/29 =21 e3 - 15/22 e1 – 21/22 e2= -1/2 et r9= 11/36 La meilleure coupe de Gomory correspond à la valeur de = 1 Techniques d'Optimisation ed2c'2012 32
  • 33. Branch and Cut • Approche de résolution des PLNE • Approche hydride entre B&B et la méthode des coupes de Gomory • Construction de la coupe peut se faire à n’importe quel sommet de l’arborescence • L’introduction des coupes réduit l’arborescence des sommets. • Logiciels: MINTO (Nemhauser et al., 1994) ABACUS (J¨unger and Thienel, 1998) CPLEX et XPRESS-MP Techniques d'Optimisation ed2c'2012 33
  • 34. Principe de Branch and Cut • Résoudre (Q) et soit une variable non entière • Construire la meilleure coupe de Gomory. et la rajouter au dernier tableau de (Q). Résoudre par l’algorithme dual du implexe le programme obtenu jusqu’à obtenir une solution de base réalisable optimale. • Appliquer le principe de séparation de B&B et le principe d’évaluation. • Utiliser une stratégie d’exploration et les techniques d’élagages. Techniques d'Optimisation ed2c'2012 34
  • 35. Exemple 3 par B&C Introduire la coupe e3 - 7/22 e1 -1/22 e2= - ½ ( =1)  x2  3 et une itération de l’algorithme dual: du simplexe donne: On sépare sur la variable x1. On définit deux programmes P1={P et x1 4} et P2= {P et x15}. Px-inf= 4 et Px-sup= 24. On explore la branche x1 4 Techniques d'Optimisation ed2c'2012 35 Base bi x1 x2 e1 e2 e3 x2 3 0 1 0 0 1 x1 4+ 4/7 1 0 0 1/7 -1/7 e1 1 +4/7 0 0 1 1/7 -22/7 Z -59 0 0 0 -1 -8
  • 36. Suite de l’exemple Le programme devient: Max z = 7x1 + 9x2 -x1 + 3 x2 ≤ 6 7x1 +x2 ≤ 35 x1 4 x2  3 x1, x2  N La solution optimale est: (3, 4) qui est entière avec Z= 55. on coupe S1 Retour arrière à S0 et explorer S2 et on obtient une solution Entière inférieure à celle obtenue x1 4 x15 _____ ______ x1=4 x2=3 x1=5 x2=0 Z= 55 Z= 35 Techniques d'Optimisation ed2c'2012 36 S0 S1 S2

Notes de l'éditeur

  1. Ce type de situation se produit souvent lorsque le second membre d’une contrainte prend une ou plusieurs valeurs, c’est-à-dire, g(x1, …, x n) ≤ b1, b2, …, br (*) On introduit une variable Booléenne yk, définie comme suit : La contrainte (*) est transformée comme suit : g(x1…, x n) ≤