Vous êtes sur la page 1sur 36

REPUBLIQUE DU CAMEROUN REPUBLIC OF CAMEROON

Paix-Travail-Patrie Peace-Work-Fatherland
******** ********
MINISTERE DE L’ENSEIGNEMENT MINISTRY OF HIGHCLY EDUCATION
SUPERIEUR *******
******* UNIVERSITY OF YAOUNDE I
UNIVERSITE DE YAOUNDE I *******
******* NATIONAL ADVANCED SCHOOL OF
ECOLE NATIONALE SUPERIEURE ENGINEERING
POLYTECHNIQUE *******
******* DEPARTMENT OF CIVIL
DEPARTEMENT DE GENIE CIVIL ENGINEERING AND URBANISM
ET URBANISME ********
********

METHODE DE SEPARATION ET EVALUATION


PROGRESSIVE (BRANCH AND BOUND)

Rédigé par :
K
 ABADA NGUELE Yann ………14P185
 GATIENT BIDJECK Junior………16P140
 FOMENE LANDO De Chance …..16P079

Elèves en 4eme année Génie Civil

Sous la Supervision de :
Professeur Thomas TAMO TATIETSE
Polytechnicien Ing., PhD., HDR
Professeur Titulaire des Universités

Année Académique : 2019/2020 Semestre 2


GLOSSAIRE

Algorithme : procédure de calcul bien définie qui prend en entrée une valeur, ou un
ensemble de valeurs, et qui donne en sortie une valeur, ou un ensemble de valeurs. Un
algorithme est donc une séquence d’étapes de calcul qui transforment l’entrée en sortie
Domaine de solution : Ensemble de toutes les solutions réalisables
Fonction objectif : est une fonction qui modélisé le but à atteindre sans le problème
d’optimisation sur l’ensemble des critères. Il s’agit de la fonction qui doit être optimisée.
Elle notée F(x).
Meilleure solution : l’optimisation combinatoire consiste à chercher la solution à
“moindre coût” d’un problème combinatoire.
Problème combinatoire : ce sont des problèmes dont la ré résolution fait appel aux
outils d’analyse combinatoires.
Programme linéaire : technique mathématique d’optimisation (maximisation,
minimisation) de fonction objectif linéaire sous des contraintes ayant la forme
d’inéquation linéaire
Problème d’optimisation : traduction d’un modèle prévisionnel selon Bernard
Walliser pour lequel 𝑥 représente les variables de commandes, 𝐹 le critère ou la
performance à réaliser et 𝑔 les équations du modèle.

𝑀𝑖𝑛 𝐹(𝑥) 𝑜𝑢 𝑀𝑎𝑥 𝐹(𝑥)


𝑜ù 𝑥 ∈ ℝ
𝑔 (𝑥) ≥ 0, 𝑗 = 1, … , 𝑚

Recherche Opérationnelle : l’ensemble des méthodes et de techniques rationnelles non


seulement pour optimiser les processus de planification, de production ou de gestion
mais aussi pour élaborer des meilleures décisions.
Solution : est une affectation de toutes les variables du problème
Solution optimale : est la solution réalisable où la fonction objective atteint la meilleure
valeur, maximum ou minimum.
Solution réalisable : solution où toutes les contraintes du modèle sont satisfaites.

1
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
LISTE DES ABREVIATIONS

B&B : Branch and Bound

OL : Optimisation linéaire

PL: Programmation Linéaire

PLNE : Programmation Linéaire en Nombres Entiers

PS: Procédure de Séparation

SEP : Séparation et Evaluation Progressive

TSP : Traveling Salesman Problem (Problème du Voyageur de commerce)

2
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
RESUME

Depuis une plusieurs d’année, l’Homme rencontré des différents problèmes dans toutes
les sphères de la société. Un problème donné peut être défini par l’ensemble des propriétés que
doivent vérifier ses solutions. Il peut être un problème de décision ou un problème
d’optimisation.

Pour les problèmes d’optimisation en recherche opérationnelle, l’ensemble de leurs


solutions est fini et dénombrable. Il est donc possible, en principe, d’énumérer toutes ces
solutions, et ensuite de prendre celle qui nous arrange. L’inconvénient majeur de cette approche
est le nombre prohibitif du nombre de solutions : il n’est guère évident d’effectuer cette
énumération.

La méthode de Séparation et Evaluation Progressive (SEP) consiste à énumérer ces


solutions d’une manière intelligente en ce sens que, en utilisant certaines propriétés du problème
en question, cette technique arrive à éliminer des solutions partielles qui ne mènent pas à la
solution que l’on recherche. De ce fait, on arrive souvent à obtenir la solution recherchée en
des temps raisonnables. Bien entendu, dans le pire cas, on retombe toujours sur l’élimination
explicite de toutes les solutions du problème. Pour ce faire, cette méthode se dote d’une
fonction qui permet de mettre une borne sur certaines solutions pour soit les exclure soit les
maintenir comme des solutions potentielles. Bien entendu, la performance d’une méthode SEP
dépend, entre autres, de la qualité de cette fonction (de sa capacité d’exclure des solutions
partielles tôt).

Les mots clés : Recherche Opérationnelle, Optimisation Combinatoire, Méthode exacte,


Séparation et évaluation.

3
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
ABSTRACT

For about many years, the human being is meeting with different problems in all the
spheres of the society. A given problem can be defined by the set of properties that its solutions
must check. It can be a decision problem or an optimization problem.

For several optimization problems in operational research, all of their solutions are
finite and countable. It is therefore possible, in principle, to list all these solutions, and then to
take the one that suits us. The major drawback of this approach is the prohibitive number of the
number of solutions: it is not easy to carry out this enumeration.

The Branch and Bound method (B&B) consists in enumerating these solutions in an
intelligent way in the sense that, by using certain properties of the problem in question, this
technique manages to eliminate partial solutions which do not lead to the solution we are
looking for. As a result, it often happens that the desired solution is obtained in reasonable time.
Of course, in the worst case, we always fall back on the explicit elimination of all the solutions
to the problem. To do this, this method has a function that allows to put a bound on certain
solutions to either exclude them or maintain them as potential solutions. Of course, the
performance of a branch and bound method depends, among other things, on the quality of this
function (on its capacity to exclude partial solutions early).

The key words: Operational Research, Combinatorial Optimization, Exact method, Brunch
and Bound.

4
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
LISTE DES FIGURES

Figure I.1 :Arbre

Figure I.2-Classification des méthodes métaheuristiques

Figure I.3 : classification des problèmes d’optimisation combinatoire

Figure II.1 : Arbre engendré par décomposition d’un problème

Figure II.2 : Décomposition d’un problème binaire

Figure III.1 : Résolution graphique

Figure III.2 : Branchement

Figure III.3 : représentation du parcours de la solution de l’exercice Résolu 1

Figure III.4 : représentation du parcours de la solution de l’exercice Résolu 2

5
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
SOMMAIRE

Table des matières


GLOSSAIRE ........................................................................................................................................... 1
LISTE DES ABREVIATIONS ................................................................................................................ 2
RESUME ................................................................................................................................................. 3
ABSTRACT ............................................................................................................................................ 4
LISTE DES FIGURES ............................................................................................................................. 5
SOMMAIRE ............................................................................................................................................ 6
INTRODUCTION .................................................................................................................................. 7
I. GENERALITES ............................................................................................................................... 8
II. PRESENTATION DE LA METHODE DE SEPARATION ET EVALUATION PROGRESSIVE
« BRANCH AND BOUND » .............................................................................................................. 17
III. APPLICATIONS DE LA METHODE DE SEPARATION ET EVALUATION
PROGRESSIVE ..................................................................................................................................... 26
IV. AVANTAGES ET LIMITES DE LA METHODE DE SEPARATION ET EVALUATION
PROGESSIVE ....................................................................................................................................... 32
CONCLUSION .................................................................................................................................... 33
REFERENCES BIBLIOGRAPHIQUES ............................................................................................... 34

6
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
INTRODUCTION

Les premiers problèmes d’optimisation auraient été formulé par Euclide, au troisième siècle
avant notre ère dans son ouvrage historiques « Eléments ». Trois cent ans plus tard, héron
d’Alexandrie dans « Catoptrique énonce le principe du plus cours chemin en optique. Notre
siècle est marqué par l’intérêt croissant des économistes pour les méthodes d’optimisation. Il
est soit question de maximiser les gains, de minimiser les pertes ou encore de trouver le chemin
le plus court pour résoudre un problème. Pour ce fait une pléthore de méthode d’optimisation
ont été mise au point dans l’optique de résoudre des problèmes spécifiques. La méthode abordée
dans ce document ne fait pas exception. La méthode de séparation et d’évaluation progressive
encore connu en anglais sous « Branch and Bound » est une méthode générique de résolution
des problèmes d’optimisation combinatoire. Ce document est organisé en quatre principales
parties. Dans la première partie sera abordée de façon générale les notions de graphe et quelques
méthodes d’optimisation ; la deuxième partie fait une présentation de la méthode ainsi que son
algorithme, la troisième partie traite des exemples d’application et enfin la dernière partie
présente les avantages et les limites de la méthode « Branch and Bound »

7
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
I. GENERALITES

1. Théorie des graphes : définitions de quelques concepts


a) Vocabulaire
b) Concept non orienté
c) Concept Orienté
2. Arbres et Arborescence
a) Arbres
b) Arborescence
c) Propriétés caractéristiques des arbres
3. Méthodes d’optimisation combinatoires
a) Méthodes exactes
b) Méthodes approchées
c) Critère de sélection d’une méthode de recherche

8
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
1. Théorie des Graphes : définitions de quelques concepts

a) Vocabulaire
 Produit cartésien

On appelle produit cartésien de deux ensembles 𝐴 𝑒𝑡 𝐵, l’ensemble noté 𝐴 × 𝐵 des couples


(𝑎; 𝑏) tel que 𝑎𝜖𝐴 , 𝑏𝜖𝐵 A x B = {(a, b), 𝑎𝜖𝐴 , 𝑏𝜖𝐵 }

 Applications

 Etant donné deux ensembles X et Y, une loi α qui fait correspondre à tout élément x  X
un élément  x  Y s’appelle une application univoque de X dans Y.

 Une Application multivoque  de X dans Y est une loi qui fait correspondre à tout élément
x de X un sous-ensemble bien déterminé x de Y.
Remarque : on peut avoir x = 
 Graphe

Le graphe G = (X,  ) est un couple constitué par l’ensemble X et l’application remplissant


les conditions suivantes :

i) X = {𝑥 ...., 𝑥 } est un ensemble dénombrable


ii)  est une application multivoque
Le nombre d’éléments d’un ensemble 𝑋 est appelé cardinal de 𝑋 et noté | X| = card X Si |
X| = n et  une application multivoque de X dans lui-même, alors G = (X, ) est un graphe
d’ordre n.

 Connexité

 Un graphe est connexe si pour toute paire de sommets, il existe une chaîne qui les relie.
 Un graphe sera fortement connexe s’il existe au moins un chemin entre toute paire de
sommets.

b) Concept orienté
 Arc

Notation : 𝑢 = (𝑥 ; 𝑥 ) Représentation : 𝑥  𝑥

Terminologie : 𝑥  Origine 𝑥  xj1 𝑥  Extrémité x j  xi

9
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
Origine ou ancêtre, extrémité initiale, prédécesseur

Extrémité ou Extrémité finale, descendant, successeur.

 Boucle

C’est un arc dont l’extrémité se confond à l’origine. Notation (𝑥 , 𝑥 ).

 Arcs adjacents

Ce sont des arcs de la forme (𝑥 ; 𝑥 ) et (𝑥 ; 𝑥 ) : l’extrémité de l’un est confondue avec l’origine
de l’autre.
 Chemin

Un chemin est une suite d’arcs adjacents

 Longueur d’un chemin

La longueur d’un chemin est le nombre d’arcs qui le constitue ou la somme des mesures
de chaque arc.

 Origine d’un graphe

𝑥 sera origine du graphe si 𝑥 est un élément de X tel que x1o  =. En d’autres termes, 𝑥 n’a

pas d’ancêtre.

 Extrémité d’un graphe.

C’est un élément 𝑥 de X tel que (𝑥 ) =  . Autrement dit 𝑥 n’a pas de descendant

 Chemin élémentaire

Un chemin est dit élémentaire s’il passe une et une seule fois par chacun de ses sommets.

 Circuit.

C’est un chemin qui n’a ni origine, ni extrémité ; c'est-à-dire qu’il se referme sur lui même

 Chemin simple

C’est un chemin qui passe par chaque arc qui le constitue une seule fois.

 Demi degré (relativement aux concepts orientés)

 Le demi-degré intérieur d’un sommet est le nombre d’arcs incident intérieurement à ce


sommet.

10
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
 Le demi-degré extérieur d’un sommet est le nombre d’arcs incidents extérieurement à
ce sommet
 Degré d’un sommet ou d’un graphe

Le degré d’un sommet est la somme de ses demi degrés intérieur et extérieur

c) Concept non orienté


 Arrête (par analogie à arc)

𝑢 = (𝑥 ; 𝑥 ) 𝑥 𝑥

 Chaîne (par analogie à chemin)

C’est une suite d’arêtes adjacentes

 Cycle (par analogies à circuit)

C’est une chaîne qui n’a ni origine, ni extrémité, et qui donc se ferme sur elle même

2. Arbres et arborescence

a) Arbres

Un arbre est un graphe connexe sans cycles

Figure I.1-Arbre

b) Arborescences

Une arborescence est un graphe orienté possédant un sommet privilégie, la racine, tel qu’il
existe un et un seul chemin depuis la racine a tout autre sommet.

11
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
c) Propriétés et caractérisation des arbres

Théorème : Soit G un graphe non orienté d’ordre n. Les propositions suivantes sont
équivalentes :

 G est un arbre.
 G est connexe et a n−1 arêtes.
 G est sans cycle et a n−1 arêtes.
 G est sans boucle et pour tous sommets x, y, x≠y, il existe une unique chaîne reliant x
à y.

Preuve : elle repose en partie sur les deux lemmes et la propriété suivants :

Lemme 1 : Un graphe non orienté connexe d’ordre n a au moins n−1 arêtes.

Lemme 2 : Un graphe non orienté d’ordre n qui a au moins n arêtes possède un cycle.

3. Méthodes d’optimisation combinatoire

L’optimisation combinatoire consiste à trouver une solution parmi un grand nombre fini de
solutions, elle se situe au carrefour de la théorie des graphes, de la programmation
mathématique, informatique théorique et de la recherche opérationnelle.

Deux axes principaux de recherche de solutions existent, les algorithmes exacts, et les
heuristiques

a) Méthodes exactes

Les méthodes exactes sont des méthodes qui garantissent l’obtention de la solution optimale
pour un problème d’optimisation. L’utilisation de ces méthodes s’avèrent particulièrement
intéressante, mais elles sont souvent limitées au cas des problèmes de petite taille. Le principe
essentiel d’une méthode exacte consiste généralement à énumérer, souvent de manière
implicite, l’ensemble des combinaisons de l’espace de recherche. Comme méthodes exctes, on
peut citer :

 Programmation Linéaire en Nombre entiers (PLNE)

12
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
Un problème de programmation linéaire en nombres entiers (PLNE) est un problème de
programmation linéaire(PL) avec toutes ou une partie des variables qui doivent être entières,
voire restreintes à 0 et 1 comme valeur. On dit que les variables sont soumises à des contraintes
d’intégrité.

 Méthode de Séparation et évaluation Progressive (Branch and Bound )

Méthode d’optimisation basée sur l’application progressive et en alternance de deux principes :

 Le principe de séparation qui permet de découper l’ensemble D en sous-ensembles de


plus en plus petits
 Le principe d’évaluation progressive qui permet d’éliminer certains sous-ensembles et
de sélectionner le sous-ensemble sur lequel on appliquera la prochaine séparation.
 Méthode Branch and Cut

C’est une combinaison de la méthode des coupes polyédrales, du “Branch and Bound” et de la
méthode des générations de colonnes pour la résolution des problèmes NP-difficiles.

 Programmation dynamique

Méthode découverte par Bellman qui consiste à décomposer la résolution du problème initial
en une suite de problèmes plus simples, la résolution du n-ème se déduisant de celle du (n-1)-
ème par une équation de récurrence

Exemples : Problème de calcul du plus court chemin (graphe sans circuit); Problème PDSE
(poids d’un sous-ensemble)

 Relaxation Lagrangienne

L’approche de la relaxation Lagrangienne actuellement utilisée, a été proposée par Held et Karp
(1970) et Held et Karp (1971), est une manipulation classique en optimisation sous contraintes.
La relaxation lagrangienne consiste à supprimer des contraintes difficiles en les intégrant dans
la fonction objectif en la pénalisant si cette contrainte n’est pas respectée. La solution obtenue
représente ainsi une borne de la solution optimale du problème initial.

 La méthode des Coupes de Gomory

La méthode des coupes (on dit également algorithme du plan sécant ou méthode des
troncatures) développé par Ralph E. Gomory (1958) fournit une méthode de résolution des
PLNE. L’idée principale est d’ajouter des contraintes qui n’excluent aucun point entier
admissible. La méthode consistera à ajouter de telles contraintes linéaires une par une, jusqu’à

13
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
ce que la solution optimale de la relaxation soit entière. Les contraintes ajoutées sont appelées
troncatures ou coupes.

b) Méthodes Approchées
 Méta-heuristique
 Recuit simulé : Méthode d’optimisation qui consiste à créer une analogie avec la
physique statistique. Ici, on modélise le problème d’optimisation par un système
thermodynamique dont on simule l’évolution.
 Algorithme Génétique : Méthode d’analogie avec l’évolution (reproduction)
biologique. On travaille par exemple sur une population de solutions possibles et on fait
soit des croisements soit des mutations afin d’obtenir de meilleur individu (solution).
 Méthode Tabou : Méthode qui consiste à explorer le voisinage autour d’une solution.
Pour éviter de rester dans un optima local, on garde la liste des n derniers point visités
(on parle alors de liste tabou).

Figure I.2-Classification des Méthodes Métaheuristiques

 Heuristiques spécifiques

En optimisation combinatoire, une heuristique est un algorithme approché qui permet


l’identification en temps polynomial au moins une solution réalisable rapide, pas
obligatoirement optimale. L’usage d’une heuristique est efficace pour calculer une solution

14
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
approchée d’un problème et ainsi accélérer le processus de résolution exacte. Généralement une
heuristique est conçue pour un problème particulier, en s’appuyant sur sa structure propre sans
offrir aucune garantit quant à la qualité de la solution calculée.

Figure I.3-Classification des méthodes d’optimisation combinatoire

c) Critères de sélection d’une méthode de recherche

Le choix de la méthode de résolution dépend des caractéristiques et de la représentation adoptée


pour le problème traité. Ces caractéristiques concernent :

 La complexité du problème (nombre et combinatoire des paramètres à explorer).


 La fonction d’évaluation (coût de l’évaluation, optimisation multi-objectif).
 La présence de contraintes
 Le résultat souhaité (nombre et caractéristiques des solutions)
 Les conditions d’obtention de ce résultat (temps imparti, interactions avec l’utilisateur,
etc.).
 L’ensemble de ces informations permet la sélection de la technique à employer parmi
la multitude existante.

15
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
Dans la suite de notre travail, nous consacrerons une attention particulière à la méthode
de Séparation et Evaluation Progressive (SEP) généralement appelée « Branch and
Bound » en anglais.

16
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
II. PRESENTATION DE LA METHODE DE
SEPARATION ET EVALUATION PROGRESSIVE
« BRANCH AND BOUND »

1. Historique
2. Définition
3. Principe de la méthode
a) Procédure de séparation
b) Procédure d’évaluation progressive
c) Stratégie de parcours
4. Algorithme Branch and Bound
5. Efficacité de l’algorithme Branch and Bound.

17
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
1. Historique

 Le premier exemple développé de procédure par séparation est l’algorithme proposé en


1960 par LAND et DOIG pour les programmes mixtes.
 En 1963, Little et al. Utilisent une PS pour résoudre le problème du voyageur de
commerce et eut un grand retentissement.
 De façon à isoler une solution optimale dans l’un de ses sous-ensembles. En 2002 G.
Gutin et A.P. Punnen publiaient un livre “The Traveling Salesman Problem and Its
Variations” Ce livre couvre tous les domaines importants de l’étude sur TSP, y compris
la théorie des polyèdres symétriques et asymétriques pour le TSP, Branch and Bound et
d’autres méthodes.

2. Définition

La méthode de Séparation et Evaluation Progressive (SEP), méthode introduite par Land et


Doig, est l’une des méthodes les plus connues pour la résolution de problèmes d’optimisation
combinatoire NP-difficiles. Cette méthode est basée sur une recherche arborescente d’une
solution optimale par séparation et évaluation.

Elle consiste à énumérer implicitement toutes les solutions dans S (l’espace de solutions)
en examinant les sous-ensembles de S. Il s’agit essentiellement de diviser l’ensemble de
toutes les solutions réalisables (problème initial) en sous-ensembles plus petits (sous
problèmes) et mutuellement exclusifs. C’est la phase « séparation » (Branch). Puis divers
critères sont utilisés pour identifier les sous-ensembles qui peuvent contenir la solution
optimale et les sous-ensembles qui ne doivent pas être explorés plus à fond car ils ne
peuvent pas contenir la solution optimale. C’est la phase « évaluation » (Bound).

L’énumération des solutions du problème consiste à construire un arbre Branch


and Bound dont les nœuds sont des sous-ensembles de solutions du problème, et les
branches sont les nouvelles contraintes à respecter. La taille de l’arbre dépend de la
stratégie utilisée pour la construire.

18
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
Figure II.1-Arbre engendré par décomposition d’un problème

La méthode SEP est basée sur les trois axes principaux : La procédure de séparation ou bien Le
branchement, qui consiste de partitionner un ensemble de solutions en sous (branching rule) ;
La procédure d’évaluation permettant le calcul d’une borne pour un ensemble de solutions
(évaluation function) ; La stratégie de parcours ou procédure de cheminement d’exploration de
l’arborescence de recherche" (search strategy).

3. Principe de la méthode

a) Procédure de la Séparation

La séparation consiste à diviser le problème en un certain nombre de sous-problèmes qui ont


chacun leur ensemble de solutions réalisables. En résolvant tous les sous problèmes et en
prenant la meilleure solution trouvée, on est assuré d’avoir résolu le problème initial. Ce
principe de séparation est appliqué de manière récursive à chacun des sous-ensembles tant que
celui-ci contient plusieurs solutions.

 Démarche de la Séparation

Définition : Un domaine est un ensemble fini ou infiniment dénombrable d’élément D =


{𝑑 , 𝑑 ,.., 𝑑 }.

On fait l’hypothèse d’une minimisation de la fonction objectif F.

Posons 𝑊 = min{𝐹(𝑥), 𝑥 ∈ 𝐷}
19
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
Nous allons supposer que l’arbre construit est binaire (le degré extérieur de
chacun de ses sommets est soit 0 soit 1 "voir l’exemple de séparation") pour simplifier
la présentation de la méthode. La généralisation à un arbre quelconque se ferait sans
difficulté. A chaque sommet 𝑥 de l’arbre correspond un domaine de solutions 𝑑 ⊂ 𝐷
de façon qu’à tout moment de la construction du graphe, l’arbre possède la propriété
suivante :

Les 𝑑 associés aux feuilles du graphe forment une partition de D. Pour ce faire,
l’arbre est construit au départ d’un sommet (racine) dont le domaine associé est D tout
entier. Ensuite, à chaque étape un sommet 𝑥 de niveau N ≥ 0 et de domaine 𝑑 est
analysé. Cet algorithme lui associe 2 descendants 𝑦 𝑒𝑡 𝑦′ de niveau N + 1 dont les
domaines respectifs forment une partition de 𝑑 .

Les descendants du sommet 𝑥 s’obtiennent en fixant une caractéristique binaire


de la solution. Pour ce faire, on choisit une variable de séparation et on coupe en deux
son domaine de valeurs possibles. Une fois le sommet 𝑥 analysé et les sommets 𝑦 𝑒𝑡 𝑦′
définis, 𝑥 n’est plus candidat à une étude ultérieure.

Exemple
Si 𝑆 ⊆ {0,1} ,on peut construire l’énumération suivant

D’abord on divise S en deux ensembles : 𝑆 = {𝑥 ∈ 𝑆; 𝑥 = 0} et 𝑆 = {𝑥 ∈ 𝑆; 𝑥 = 1}

En suite 𝑆 = {𝑥 ∈ 𝑆 ; 𝑥 = 0} et 𝑆 = {𝑥 ∈ 𝑆; 𝑥 = 1} et ainsi de suite…

Figure II.2-Décomposition d’un problème binaire


20
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
 Règle de Branchement

Les règles de branchement dans un algorithme (B&B), sont utilisées pour subdiviser l’ensemble
des solutions possibles.

Deux règles sont utilisées dans le branchement, qui consistent à affecter les tâches une à une à
partir de la fin (branchement en arrière exemple Problème des 8 reines), ou au contraire, affecter
les tâches à partir du début (branchement en avant).

Toutefois, il existe des heuristiques qui, une fois appliquées, déterminent à chaque étape, les
tâches qui doivent être affectées au début, à la fin, directement après ou directement avant une
tâche.

b) Procédure d’évaluation progressive

Le principe d’évaluation a pour objectif de connaître la qualité des nœuds à traiter. La méthode
SEP utilise deux types de bornes : une borne inférieure et une borne supérieure de la fonction
d’utilité du problème initial.

 Calcul de la borne inférieure

La procédure qui calcule la borne inférieure est l’élément clé de n’importe quel algorithme BB,
car une qualité médiocre de la borne inférieure ne peut pas être compensée par de bons choix
de la stratégie de recherche ou de la règle de branchement. Les techniques de relaxation
(relaxation Lagrangienne, relaxation continue) sont souvent utilisées dans le calcul d’une borne
inférieure. Appliquées à un problème de minimisation, elles fournissent une évaluation par
défaut de l’optimum, en relâchant les contraintes les plus difficiles à satisfaire, c’est-à-dire en
les supprimant, ou en les prenant partiellement en compte.

 Calcul de la borne supérieure

La borne supérieure est un élément essentiel de l’algorithme B&B. Calculée initialement par
une heuristique appropriée, la borne supérieure est toujours comparée avec les bornes
inférieures trouvées au niveau des nœuds. Dans le cas où une borne inférieure d’un nœud est
supérieure à la borne supérieure, ce nœud est élagué. Une fois arrivé à un nœud feuille, la borne
supérieure sera remplacée par la valeur de la solution calculée au niveau de la feuille.

 Condition d’élimination

21
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
La connaissance d’une borne inférieure du problème et d’une borne supérieure de la fonction
d’utilité de chaque sous-problème permet de stopper l’exploration d’un sous-ensemble de
solutions qui ne sont pas candidates à l’optimalité : si pour un sous-problème la borne
supérieure est plus petite que la borne inférieure du problème, l’exploration du sous-ensemble
correspondant est inutile. D’autre part, lorsque le sous-ensemble est suffisamment « petit »,
on procède à une énumération explicite : on résout alors le sous-problème correspondant.

On distique l’élimination par optimalité, l’élimination par borne et l’élimination par


infaisabilité.

c) Stratégie de parcours

La différence entre deux stratégies de recherche réside principalement dans la taille de l’arbre
de recherche généré et donc du temps de résolution du problème traité. Les stratégies appliquées
sont la plupart du temps différentes selon la nature du problème. On peut citer différentes
stratégies de recherche :

 Profondeur D’abord

L’exploration privilégie les sous-problèmes obtenus par le plus grand nombre de


séparations appliquées au problème de départ, c’est-à-dire aux sommets les plus éloignés
de la racine (de profondeur la plus élevée). L’obtention rapide d’une solution admissible (pour
les problèmes où il est difficile d’obtenir une heuristique de bonne qualité) et le peu de place
mémoire nécessaire en sont les avantages. L’inconvénient est l’exploration de sous-ensembles
qui peuvent s’avérer peu prometteurs à l’obtention d’une solution optimale.

 Largeur D’abord

Elle consiste à explorer l’arbre en largeur. Le parcours en largeur correspond à un parcours par
niveau de nœuds de l’arbre. Un niveau est un ensemble de nœuds ou de feuilles situés à la même
distance du nœud racine. Ce type de parcours est rarement utilisé, du fait de l’occupation
mémoire trop importante. Une fois l’arbre créé, elle permet d’ordonner une liste de nœuds à
traiter. Elle ne modifie en aucun cas la structure propre de l’arbre. Néanmoins, deux politiques
de parcours d’arbre de recherche peuvent donner des résultats différents en termes de rapidité
d’exécution et en terme d’occupation mémoire. En effet, on peut associer à ces méthodes des
calculs de bornes qui pourront amener à la troncature de sous-espaces de l’arbre de recherche
(par exemple, lorsque la borne inférieure calculée à un nœud est supérieure à la borne

22
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
supérieure). Ainsi, si la structure de l’arbre n’est pas modifiée, les espaces explorés de l’arbre
peuvent être modifiés par les schémas d’exploration.

Cette stratégie favorise les sous-problèmes obtenus par le moins de séparations du


problème de départ, c'est-à-dire les sommets les plus proches de la racine (de profondeur
la moins élevée).

 Meilleur D’abord

On choisit parmi les nœuds restant à traiter celui qui a la plus petite borne inférieure. Cette
borne peut être calculée par exemple, par relaxation de contraintes, par une méthode
heuristique,… Ce choix est efficace lorsque les bornes calculées sont de bonne qualité. Elle
présente par contre l’inconvénient de traiter des nœuds successifs très différents (valeurs et
variables différentes) et donc de ne présenter que peu d’incrémentalité dans les calculs,
notamment les calculs de bornes inférieures. De plus, cette méthode n’est applicable que
lorsqu’une borne est calculable, ce qui peut ne pas être le cas pour certains problèmes de
satisfaction de contraintes, dans lesquels il n’y a pas de fonction objectif.

Cette stratégie favorise l’exploration des sous-problèmes possédant les plus petites bornes
inferieures. Elle dirige la recherche là où la probabilité de trouver une meilleure solution
est la plus grande.

4. Algorithme Branch and Bound


Début
Placer le nœud début de longueur 0 dans une liste
Répéter
Si la première branche contient le nœud recherché Alors
Fin avec succès
Sinon
Supprimer la branche de la liste et former des branches nouvelles en étendant
la branche
Supprimer d’une étape calculer les couts cumulés des branches et ajouter
dans la liste de telles sorte que la liste soit triée en ordre croissant.
Fin si
Jusqu’à (liste vide ou recherché trouvé)
Fin

23
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
5. Efficacité de l’algorithme

Différentes techniques sont utilisées pour rendre l’algorithme SEP plus efficace. On peut en
citer quelques-unes :

 Choix d’une stratégie de recherche

La stratégie « profondeur d’abord » mariée avec le choix du nœud de plus petite borne
inférieure, est utilisée en pratique car elle nécessite peu d’espace mémoire. Par contre, la
stratégie « largeur d’abord » trouve une solution optimale plus rapidement que la stratégie «
profondeur d’abord ». Il est donc primordial de faire un bon choix de la stratégie de recherche,
qui dépend généralement de la taille du problème et des ressources informatiques disponibles.

 Choix de la borne inférieure

Une borne inférieure doit être proche de l’optimum. Le choix de la borne inférieure dépend
pleinement du problème à résoudre et de la technique utilisée (relaxation, heuristiques...). Les
bonnes sont celles qui éliminent un grand nombre de nœuds le plus rapidement possible, ce qui
réduit considérablement l’arbre de recherche.

 Choix de la borne supérieure

La borne supérieure peut être une heuristique qui permet d’élaguer certaines branches de l’arbre
de recherche.

 Règle de dominance

Les règles de dominance sont des conditions posées sur un nœud, pour pouvoir l’éliminer si
elles sont vérifiées (on dit que ce nœud est dominé), et ce avant de calculer sa borne inférieure.
Les règles de faisabilité sont appliquées en premier aux nœuds, pour décider de l’admissibilité
de la séquence traversant ce nœud, évidemment, le nœud est éliminé si la séquence n’est pas
admissible. Les règles de dominance sont utiles pour réduire au mieux l’arbre de recherche, en
éliminant les nœuds dominés.

 Choix du critère d’évaluation

Lors d’une application de Branch and Bound, on a besoin d’avoir une fonction qui permet
d’évaluer chaque nœud traité, et éventuellement élaguer ceux qui sont inutiles. De même, un
nœud peut être élagué dans trois cas possibles : dans le premier cas, on arrive à un stade où la
valeur de la borne inférieure d’un nœud courant est plus grande ou égale à la valeur de la borne

24
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
supérieure qu’on avait établie auparavant. Dans le deuxième cas, la solution n’est pas réalisable,
l’un des critères d’évaluation n’a pas été respecté. Le troisième cas est le cas où on a obtenu
une solution réalisable, tous les critères sont valides, mais la solution obtenue est supérieure à
la borne inférieure.

25
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
III. APPLICATIONS DE LA METHODE DE SEPARATION
ET EVALUATION PROGRESSIVE

1. Le Problème du voyageur de Commerce (TSP)


2. Le Problème du Sac à dos (classique)
3. Exercices résolus
a) Exercice résolu 1
b) Exercice résolu 2

26
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
1. Le Problème du voyageur de Commerce (TSP)

Enoncé : « Etant donné n points (des «villes») et les distances 𝑑 séparant chaque point,
trouver un chemin de longueur totale minimale qui passe exactement une fois par chaque point
(et revienne au point de départ) ».

Modélisation :

A chaque arc (𝑖, 𝑗), associons les variables 𝑥 prenant la valeur 1 s’il est dans le circuit et 0
sinon.

𝐦𝐢𝐧 ∑𝒏𝒊,𝒋 𝟏 𝒅𝒊𝒋 𝒙𝒊𝒋



⎪ ∑𝒏𝒊 𝟏 𝒙𝒊𝒋 = 𝟏
(𝑰): ∑𝒏𝒋 𝟏 𝒙𝒊𝒋 = 𝟏

𝒙𝒊𝒋 𝝐{𝟎, 𝟏}, ∀𝒊, ∀𝒋
⎪ 𝒏
⎩∑𝒊∈𝑺,𝒋∈𝑺 𝒙𝒊𝒋 ≥ 𝟏 → 𝒖𝒊 − 𝒖𝒋 + 𝒏𝒙𝒊𝒋 ≤ 𝒏 − 𝟏, 𝟐 ≤ 𝒊 ≠ 𝒋 ≤ 𝒏, 𝒖𝒊 ∈ ℕ

2. Le problème de Sac à dos (classique)

Le problème du sac à dos fait partie des problèmes d’optimisation combinatoire les plus étudiés
ces cinquante dernières années, en raison de ces nombreuses applications dans le monde réel.
En effet, ce problème intervient souvent comme sous-problème à résoudre dans plusieurs
domaines : la logistique comme le chargement d’avions ou de bateaux, l’économie comme la
gestion de portefeuille ou dans l’industrie comme la découpe de matériaux.

Enoncé : « Etant donné un ensemble de n objets, où chaque objet i est caractérisé par un poids
𝑤 et un profit 𝑝 , on cherche le sous-ensemble d’objets à charger dans un sac de capacité 𝑐 afin
de maximiser la somme des profits.

Modélisation :

Le problème du sac à dos se présente sous la forme mathématique suivante :


𝐦𝐚𝐱(∑𝒏𝒊 𝟏 𝒑𝒊 𝒙𝒊 )
(𝑰𝑰): ∑𝒏𝒊 𝟏 𝒘𝒊 𝒙𝒊 ≤ 𝒄
𝒙𝒊 𝝐{𝟎, 𝟏}, 𝒊𝝐{𝟏, … . , 𝒏}

Les poids 𝑤 et les profits 𝑝 ainsi que la capacité 𝑐 sont des entiers positifs 𝑖𝜖{1, … . , 𝑛}.

27
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
La variable 𝑥 est la variable de décision ; elle prend la valeur 1 si l’objet i est chargé dans le
sac, sinon elle prend la valeur 0. Résoudre ainsi le problème du sac à dos revient à trouver le
vecteur solution 𝑥 ∗ = (𝑥 ∗ , … 𝑥 ∗ ) qui optimise (maximise dans ce cas) la fonction objectif
définie en (II.).

3. Exercices Résolus
a) Exercice Résolu 1

Soit à résoudre le problème de programmation linéaire :

𝑍 = max(5𝑥 + 4𝑥 )
𝑥 +𝑥 ≤5
(𝑃):
10𝑥 + 6𝑥 ≤ 45
𝑥 , 𝑥 ≥ 0, 𝑒𝑛𝑡𝑖𝑒𝑟𝑠

La solution optimale réelle obtenue par la méthode graphique est :

(LP) : 𝑥 ∗ = (𝑥 ∗
= 3,75; 𝑥 ∗
= 1,25) 𝑒𝑡 𝑍 ∗ = 23,75

Figure III.1-Résolution graphique Exercice Résolu 1

Résolution par la méthode Branch and Bound

28
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
 La solution de (𝐿𝑃 ) est une solution admissible de (P) et donc z = 23 est une borne
inférieure sur la valeur de la solution optimale de P.
 Le nœud correspondant peut être éliminé vu qu’une solution entière optimale
satisfaisant 𝑥 ≤ 3 a été trouvée (solution de 𝑃 ).

Figure III.2-branchement
 La valeur de la solution de (LP), z = 23.75 est une borne supérieure sur la valeur de la
solution optimale de P.
 Vu que tous les coefficients sont entiers, on peut en déduire que la valeur de la solution
optimale de (P) est inférieure ou égale à 23.
 La solution de 𝑃 est donc optimale pour P.

Le choix de la variable de branchement et de la branche à examiner en premier pourrait avoir


un impact important sur le nombre de nœuds à examiner dans l’arbre de Branch and Bound.
L’organigramme suivant modélise la situation.

29
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
Figure III.3- Représentation du parcours de la solution Exercice Résolu 1

b) Exercice Résolu 2

Une société dispose de 1 400 000F Cfa à investir. Les experts proposent quatre investissements
possibles.

Résolution

Commentaires :

 Relaxation de P
30
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
La solution réelle : 𝑥 ∗ = (1 ; 1 ; 0,5 ; 0)𝑒𝑡 𝑍 ∗ = 4 400 000

Solution Arrondie : 𝑥̅ = (1; 1; 0; 0)𝑒𝑡 𝑍̅ = 3 800 000

Nous avons : 3 800 000 ≤ 𝑍 ≤ 4 400 000

Création de deux sous espaces 𝑃 (𝑥 = 1) 𝑒𝑡 𝑃 (𝑥 = 0)

 Relaxation de 𝑃

La solution réelle : 𝑥 ∗ = 1 ; ; 1 ; 0 𝑒𝑡 𝑍 ∗ = 4 371 429 > 3 800 000

Création de deux sous espaces 𝑃 (𝑥 = 0) 𝑒𝑡 𝑃 (𝑥 = 1)

On va appliquer comme stratégie de parcours le Profondeur D’abord.

 Relaxation 𝑃

La solution réelle : 𝑥 ∗ = (1 ; 0 ; 1 ; 1)𝑒𝑡 𝑍 ∗ = 3 600 000 < 3 800 000 , arrêt de cette
branche

La suite des relaxations est visualisé par l’organigramme suivant :

Figure III.4- Représentation du parcours de la solution Exercice Résolu 2

31
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
IV. AVANTAGES ET LIMITES DE LA METHODE DE
SEPARATION ET EVALUATION PROGESSIVE

Avantages de la méthode SEP Limites et inconvénients de la méthode


SEP
Garantie de trouver la solution optimale Demande un temps de calcul assez long en
fonction de la complexité du problème
Elle s’applique aussi bien avec les variables Méthode particulièrement adaptée à la
discrètes que continues résolution des PLNE de type NP-complets
Implémentation sur des solveurs Ne peut résoudre les cas de problèmes
possédant un nombre exponentiel
d’inéquation
Demande assez d’espace mémoire

32
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
CONCLUSION

Parvenue au terme de ce travail qui portait sur la méthode de séparation et d’évaluation


progressive, qui est basée sur l’idée de l’énumération des solutions réalisables. Cependant le
but n’est seulement présenté toutes les solutions mais de les restreindre et de n’en ressortir que
des solutions optimales d’où l’efficacité et en même temps la complexité de son algorithme.
Cette méthode est non seulement très utilisée dans le domaine de de la recherche opérationnelle
mais est également et particulièrement au cœur des solveurs d’optimisation linéaire nombres
entiers et de programmation par contrainte.

33
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
REFERENCES BIBLIOGRAPHIQUES

Arnaud KAUFMANN (1964)

Méthodes et modèles de Recherche Opérationnelle. 3 tomes Ed. Dunod, Paris

Irene CHARON et Al, 1996.

Méthode d’optimisation combinatoire. Ed Masson

Thomas TAMO.

Eléments de Recherche Opérationnelle pour Ingénieurs, Chercheurs, [4] Gestionnaire. UE


Recherche Opérationnelle, Ecole Nationale Supérieure Polytechnique de Yaoundé, Cameroun

Mohamed ESSEGHIR L.(2012)

Contribution à la résolution de problèmes d’optimisation combinatoire : méthodes


séquentielles et parallèles. Thèse Doctorat, Université de Toulouse, France, 161p

Mohamed EKBAL B. (1998)

Parallélisation de la méthode du “Branch and Cut” pour résoudre le problème du voyageur de


commerce. Thèse de Doctorat, Institut National Polytechnique de Grenoble, France, 140p

Larachiche I, Remadelia A. (2008).

Algorithme du Branch and Bound appliqué au Problème du sac à dos. Mémoire de Master en
informatique, Université de Djilali Bounaâma, Khemis Miliana, 104 p

34
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
35
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »

Vous aimerez peut-être aussi