You are on page 1of 35

D

eg
en
erescence
La programmation en nombres entiers

Chap 7: La degenerescence et programmation en


nombres entiers
Metrane Abdelmoutalib
ENSA
Khouribga Maroc

November 29, 2015

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Degenerescence

La programmation en nombres entiers


Introduction
Methode de branch and bound

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Degenerescence

Introduction
La degenerescence Sil y a plusieurs candidats pour quitter la base, alors
nimporte lequel de ces candidats peut servir. La presence de plusieurs
candidats pour quitter la base a une consequence importante : la
d
eg
en
erescence.
Partant dune telle base,
1

la fonction objectif peut ne plus crotre `a chaque iteration (rester


constante)

un phenom`ene de cyclage peut apparaitre : retomber sur une base


(et donc un sommet) dej`a visitee dans le passe.

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Degenerescence

La degenerescence est tr`es rare, cest plut


ot un accident.
Degenerescence possibilite de cyclage.
Heureusement, les cycles sont rares (Des probl`emes de grand taille.)
Il existe des methodes garantissant que lon ne cycle pas :
1

2
3

methodes des perturbations. Cest ce quest utilise par la plupart des


logiciel.
methode lexicographique.
r`egle du plus petit indice. R`egle de Blande

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Exemple de la Degenerescence
Illustrons ceci par lexemple suivant :
Max Z = 2x1 x2 + 8x3
sous les contraintes
2x3

e1
e2
e3
Cj

x1
0
2
1
2

x2
0
4
+3
1

x3
2
6
4
8

e1
1
0
0
0

e2
0
1
0
0

2x1 4x2 + 6x3

x1 + 3x2 + 4x3

x1 , x2 , x3

e3
0
0
1
0

1
3
2
Z =0

Metrane Abdelmoutalib

x3
e2
e3
Cj

x1
0
2
1
2

x2
0
4
+3
1

x3
1
0
0
0

e1
1/2
3
2
4

e2
0
1
0
0

e3
0
0
1
0

1/2
0
0
Z =4

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Exemple de la Degenerescence
Illustrons ceci par lexemple suivant :
Max Z = 2x1 x2 + 8x3
sous les contraintes
2x3

e1
e2
e3
Cj

x1
0
2
1
2

x2
0
4
+3
1

x3
2
6
4
8

e1
1
0
0
0

e2
0
1
0
0

2x1 4x2 + 6x3

x1 + 3x2 + 4x3

x1 , x2 , x3

e3
0
0
1
0

1
3
2
Z =0

Metrane Abdelmoutalib

x3
e2
e3
Cj

x1
0
2
1
2

x2
0
4
+3
1

x3
1
0
0
0

e1
1/2
3
2
4

e2
0
1
0
0

e3
0
0
1
0

1/2
0
0
Z =4

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Exemple de la Degenerescence
Illustrons ceci par lexemple suivant :
Max Z = 2x1 x2 + 8x3
sous les contraintes
2x3

e1
e2
e3
Cj

x1
0
2
1
2

x2
0
4
+3
1

x3
2
6
4
8

e1
1
0
0
0

e2
0
1
0
0

2x1 4x2 + 6x3

x1 + 3x2 + 4x3

x1 , x2 , x3

e3
0
0
1
0

1
3
2
Z =0

Metrane Abdelmoutalib

x3
e2
e3
Cj

x1
0
2
1
2

x2
0
4
+3
1

x3
1
0
0
0

e1
1/2
3
2
4

e2
0
1
0
0

e3
0
0
1
0

1/2
0
0
Z =4

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Degenerescence
Solutions degenerees
les variables de base e2 et e3 ont une valeur nulle !
Des solutions de base avec une ou plusieurs variables de base nulles sont
appelees des solutions d
eg
en
er
ees.
La degenerescence peut avoir la consequence suivante. Continuons
lexemple.
Consequences
A literation suivante, x1 entre en base et e2 bloque son entr
ee `
a
une valeur
egale `
a z
ero ! Donc la valeur de x1 et, par voie de
consequence, des autres variables et de lobjectif restent
inchang
ees au cours de ce pivotage.
Des iterations Simplexe qui changent juste la base sans changer
la valeur de la solution de base sont appelees it
erations
d
eg
en
er
ees.
Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Degenerescence
Solutions degenerees
les variables de base e2 et e3 ont une valeur nulle !
Des solutions de base avec une ou plusieurs variables de base nulles sont
appelees des solutions d
eg
en
er
ees.
La degenerescence peut avoir la consequence suivante. Continuons
lexemple.
Consequences
A literation suivante, x1 entre en base et e2 bloque son entr
ee `
a
une valeur
egale `
a z
ero ! Donc la valeur de x1 et, par voie de
consequence, des autres variables et de lobjectif restent
inchang
ees au cours de ce pivotage.
Des iterations Simplexe qui changent juste la base sans changer
la valeur de la solution de base sont appelees it
erations
d
eg
en
er
ees.
Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Degenerescence
Solutions degenerees
les variables de base e2 et e3 ont une valeur nulle !
Des solutions de base avec une ou plusieurs variables de base nulles sont
appelees des solutions d
eg
en
er
ees.
La degenerescence peut avoir la consequence suivante. Continuons
lexemple.
Consequences
A literation suivante, x1 entre en base et e2 bloque son entr
ee `
a
une valeur
egale `
a z
ero ! Donc la valeur de x1 et, par voie de
consequence, des autres variables et de lobjectif restent
inchang
ees au cours de ce pivotage.
Des iterations Simplexe qui changent juste la base sans changer
la valeur de la solution de base sont appelees it
erations
d
eg
en
er
ees.
Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Degenerescence
Solutions degenerees
les variables de base e2 et e3 ont une valeur nulle !
Des solutions de base avec une ou plusieurs variables de base nulles sont
appelees des solutions d
eg
en
er
ees.
La degenerescence peut avoir la consequence suivante. Continuons
lexemple.
Consequences
A literation suivante, x1 entre en base et e2 bloque son entr
ee `
a
une valeur
egale `
a z
ero ! Donc la valeur de x1 et, par voie de
consequence, des autres variables et de lobjectif restent
inchang
ees au cours de ce pivotage.
Des iterations Simplexe qui changent juste la base sans changer
la valeur de la solution de base sont appelees it
erations
d
eg
en
er
ees.
Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Cyclage

Illustrons ceci par lexemple suivant :


MinZ =

3
1
x1 + 150x2 x3 + 6x4
4
50
sous les contraintes

1
x1 60x2
4
1
x1 90x2
2

1
x3 + 9x4
25
1
x3 + 3x4
50
x3

x1 , x2 , x3 x4

Metrane Abdelmoutalib

0
0
1
0

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Cyclage

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Cyclage

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Cyclage

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Cyclage

Figure : Cest le Tableau initial

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Convergence

Si, `a chaque iteration, la fonction objectif augmente strictement (pas de


degenerescence), alors on doit atteindre une solution optimale apr`
es un
nombre fini dit
erations ou detecter que le probl`eme est non borne.
Dans le cas de la degenerescence, on ne peut pas garantir la stricte
croissance de la fonction objectif. Dans ce cas, lalgorithme du simplexe
peut cycler et par suite ne pas converger.

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

R`egle de Bland
Il existe des r`egles qui permettent dempecher le cyclage. Par exemple, la
r`
egle de Bland. Cette r`egle consiste `a systematiquement choisir comme
variable entrante la premi`
ere de coefficient n
egatif (pour un probl`eme
de minimisation) et comme la variable sortante, la premi`ere qui veut
sortir.
R`egle du plus petit indice
Lorsque plusieurs variables sont candidates `a entrer en base, choisir celle
qui a le plus petit indice dans le tableau. Faire de meme avec les
variables sortant de la base.
Theor`eme Bland (1977)
Si on applique cette nouvelle r`egle, lalgorithme du simplexe ne peut
cycler.

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Exemple avec r`egle de Bland

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Exemple avec r`egle de Bland

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Exemple avec r`egle de Bland

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Exemple avec r`egle de Bland

Figure : Cest le Tableau optimal

La solution optimale est x1 =


1
optimal Z = 20

1
25 ,

x2 = 0 et x3 = 1 avec une valeur

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Introduction
M
ethode de branch and bound

Methode resolution des programmes lineaires


Simplexe Resolution des probl`emes mixtes
Branch and bound (separation et borne) Resolution des
probl`emes en nombres eniers:
Relaxation des conditions dintegralite (valeurs enti`eres) des variables
(relaxation lineaire du probl`eme)

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Introduction
M
ethode de branch and bound

Methode resolution des programmes lineaires


Simplexe Resolution des probl`emes mixtes
Branch and bound (separation et borne) Resolution des
probl`emes en nombres eniers:
Relaxation des conditions dintegralite (valeurs enti`eres) des variables
(relaxation lineaire du probl`eme)

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Introduction
M
ethode de branch and bound

Methode resolution des programmes lineaires


Simplexe Resolution des probl`emes mixtes
Branch and bound (separation et borne) Resolution des
probl`emes en nombres eniers:
Relaxation des conditions dintegralite (valeurs enti`eres) des variables
(relaxation lineaire du probl`eme)

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Introduction
M
ethode de branch and bound

Methode resolution des programmes lineaires


Simplexe Resolution des probl`emes mixtes
Branch and bound (separation et borne) Resolution des
probl`emes en nombres eniers:
Relaxation des conditions dintegralite (valeurs enti`eres) des variables
(relaxation lineaire du probl`eme)

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Introduction
M
ethode de branch and bound

Methode resolution des programmes lineaires


Simplexe Resolution des probl`emes mixtes
Branch and bound (separation et borne) Resolution des
probl`emes en nombres eniers:
Relaxation des conditions dintegralite (valeurs enti`eres) des variables
(relaxation lineaire du probl`eme)

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Introduction
M
ethode de branch and bound

Branch and Bound

z = max c T x

Ax b,
s.c.q.
x 0 et entiers.
Nous illustrons la methode sur lexemple suivant :
z = max z = 10x1 + 50x2

x1 + 2x2

x1 + 2x2
s.c.q.
x1

x1 , x2

Metrane Abdelmoutalib

5
14

et entiers.

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Introduction
M
ethode de branch and bound

Branch and Bound


z = max z = 10x1 + 50x2

x1 + 2x2

x1 + 2x2
s.c.q.
x1

x1 , x2

5
14

et entiers.

Representation de la region realisable.


Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Introduction
M
ethode de branch and bound

Pas 0. Resoudre la relaxation lineaire


P0 est une solution de la relaxation lineaire (en laissant tomber les
contraintes dintegralite des variables)
x1
x2
z0

=
4, 5
= 4, 75
= 282, 5.

Remarque
La solution z0 est inacceptable car elle viole les contraintes dintegralite
des variables.
Premi`ere borne superieure sur z
z z0 = 282, 5.

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Introduction
M
ethode de branch and bound

Pas 0. Resoudre la relaxation lineaire


P0 est une solution de la relaxation lineaire (en laissant tomber les
contraintes dintegralite des variables)
x1
x2
z0

=
4, 5
= 4, 75
= 282, 5.

Remarque
La solution z0 est inacceptable car elle viole les contraintes dintegralite
des variables.
Premi`ere borne superieure sur z
z z0 = 282, 5.

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Introduction
M
ethode de branch and bound

Pas 0. Resoudre la relaxation lineaire


P0 est une solution de la relaxation lineaire (en laissant tomber les
contraintes dintegralite des variables)
x1
x2
z0

=
4, 5
= 4, 75
= 282, 5.

Remarque
La solution z0 est inacceptable car elle viole les contraintes dintegralite
des variables.
Premi`ere borne superieure sur z
z z0 = 282, 5.

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Introduction
M
ethode de branch and bound

Pas 0. Resoudre la relaxation lineaire


P0 est une solution de la relaxation lineaire (en laissant tomber les
contraintes dintegralite des variables)
x1
x2
z0

=
4, 5
= 4, 75
= 282, 5.

Remarque
La solution z0 est inacceptable car elle viole les contraintes dintegralite
des variables.
Premi`ere borne superieure sur z
z z0 = 282, 5.

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Introduction
M
ethode de branch and bound

Pas 0. Resoudre la relaxation lineaire


P0 est une solution de la relaxation lineaire (en laissant tomber les
contraintes dintegralite des variables)
x1
x2
z0

=
4, 5
= 4, 75
= 282, 5.

Remarque
La solution z0 est inacceptable car elle viole les contraintes dintegralite
des variables.
Premi`ere borne superieure sur z
z z0 = 282, 5.

Metrane Abdelmoutalib

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

D
eg
en
erescence
La programmation en nombres entiers

Introduction
M
ethode de branch and bound

Arbre de branch and bound.

Metrane Abdelmoutalib

Representation de la region realisable.

Chap 7: La d
eg
en
erescence et programmation en nombres entiers

You might also like