Académique Documents
Professionnel Documents
Culture Documents
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 ********
********
Rédigé par :
K
ABADA NGUELE Yann ………14P185
GATIENT BIDJECK Junior………16P140
FOMENE LANDO De Chance …..16P079
Sous la Supervision de :
Professeur Thomas TAMO TATIETSE
Polytechnicien Ing., PhD., HDR
Professeur Titulaire des Universités
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.
1
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
LISTE DES ABREVIATIONS
OL : Optimisation linéaire
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.
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
5
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
SOMMAIRE
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
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
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
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 : 𝑥 𝑥
9
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
Origine ou ancêtre, extrémité initiale, prédécesseur
Boucle
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
La longueur d’un chemin est le nombre d’arcs qui le constitue ou la somme des mesures
de chaque arc.
𝑥 sera origine du graphe si 𝑥 est un élément de X tel que x1o =. En d’autres termes, 𝑥 n’a
pas d’ancêtre.
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.
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’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
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 2 : Un graphe non orienté d’ordre n qui a au moins n arêtes possède un cycle.
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 :
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é.
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 (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).
Heuristiques spécifiques
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.
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
2. Définition
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).
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
Démarche de la Séparation
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 𝑑 .
Exemple
Si 𝑆 ⊆ {0,1} ,on peut construire l’énumération suivant
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.
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.
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.
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.
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
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.
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.
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 :
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.
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.
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.
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
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.
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 :
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
𝑍 = max(5𝑥 + 4𝑥 )
𝑥 +𝑥 ≤5
(𝑃):
10𝑥 + 6𝑥 ≤ 45
𝑥 , 𝑥 ≥ 0, 𝑒𝑛𝑡𝑖𝑒𝑟𝑠
(LP) : 𝑥 ∗ = (𝑥 ∗
= 3,75; 𝑥 ∗
= 1,25) 𝑒𝑡 𝑍 ∗ = 23,75
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.
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
Relaxation de 𝑃
Relaxation 𝑃
La solution réelle : 𝑥 ∗ = (1 ; 0 ; 1 ; 1)𝑒𝑡 𝑍 ∗ = 3 600 000 < 3 800 000 , arrêt de cette
branche
31
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
IV. AVANTAGES ET LIMITES DE LA METHODE DE
SEPARATION ET EVALUATION PROGESSIVE
32
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
CONCLUSION
33
Recherche Opérationnelle_« BRANCH AND BOUND, Diviser pour mieux Régner »
REFERENCES BIBLIOGRAPHIQUES
Thomas TAMO.
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 »