Documente Academic
Documente Profesional
Documente Cultură
MTHODES ARBORESCENTES
ALGORITHMES SEP ET SES
BRANCH AND BOUND
I - INTRODUCTION
II MTHODES SEP ET SES
III - DEUX PROBLMES CLASSIQUES
(1) Voyageur de Commerce
(2) Sac Dos
I INTRODUCTION
A la diffrence des problmes danalyse, les problmes de Mathmatiques Discrtes,
comme ceux abords dans ce cours, se mettent rarement en quations, il faut alors les rsoudre
pas pas. Le plus souvent, sauf si un algorithme rapide de rsolution est connu, la seule manire
de les rsoudre consiste construire tous les cas possibles - si on le peut et il en faut un nombre
fini - et retenir ceux qui conviennent, jusqu obtenir une solution, si elle existe.
La plupart des problmes abords ici sont des Problmes dOptimisation
Combinatoire (POC) cest--dire pour lesquels il sagit de rechercher la valeur optimale
dune fonction valeurs entires ou relles, dite fonction conomique ou fonction objectif ou
objective (objective fonction, cost fonction), sur un ensemble fini de solutions possibles,
dites solutions admissibles, et construire une solution optimale.
Ces problmes sexpriment de la faon suivante :
Donne : S ensemble fini et f une fonction de S vers les entiers, ou les rels, associant tout
lment de S une certaine valeur
Question : On cherche s0 S telle que f (s0 ) = opt { f (s) s S } o opt signifie Min
ou Max
Autrement dit on cherche dans un ensemble fini S, ensemble des Solutions
Ralisables ou Admissibles, un
lment s0 optimisant la fonction f.
Souvent il existe un ensemble fini E et une fonction c associant un cot (profit,
distance, poids, capacit, ) tout lment e de E tels que :
(1) S P(E) (S = famille de parties de E), S = { s E s vrifie une certaine proprit }
(2) f (s) =
c(e) s S
es
On parle
alors de Problme dOptimisation Combinatoire Fonction Objective
Spare.
Un tel problme, comme on la dj dit, peut toujours tre rsolu par la Gnration
Exhaustive ou Recherche Exhaustive ou algorithme naf (nave algorithm ou brute-force
algorithm en anglais) cest--dire par la mthode consistant examiner tous les cas possibles.
Dans ce cas, cette mthode donne videmment toujours une solution optimale car il y
a un nombre fini de cas examiner.
Rappelons que si E = {e1, e2, , eN} est un ensemble ayant N lments, on note P(E)
lensemble des parties de E et Pk(E) lensemble des parties de E ayant k lments, 0 k N,
alors :
N
N!
k
P ( E ) = 2 N et Pk ( E ) = CN
= =
( N k )
k
k!(
N
k
)!
(coefficients binomiaux, combinaisons).
k
AN
N!
( N k )!
Donc si E a N lments tout POC fonction objective spare peut tre rsolu en 2N
tapes puisque toute solution admissible s est un sous ensemble de E il suffit en effet de
gnrer chaque sous ensemble s de E, de tester si s vrifie la proprit voulue, de calculer
son cot et de retenir un s0 qui ralise loptimum.
De faon plus prcise et pour mettre en vidence que toute recherche exhaustive,
quelle quelle soit est de nature arborescente, on peut introduire les variables boolennes x1,
x2, , xN respectivement associes chacun des lments, xi = 1 signifiant la slection de
llment ei et xi = 0 son rejet, en notant E = {e1, e2, , eN}.
Il est alors facile dorganiser la recherche, cest--dire la gnration exhaustive de tous
les sous ensembles de E, sous forme dune Arborescence Binaire o la racine (niveau 0)
reprsente lensemble de toutes les solutions possibles, son fils gauche tous les sous
ensembles contenant e1, donc pour lesquels x1 = 1, et son fils droit tous les sous ensembles ne
contenant pas e1, donc o x1 = 0, et ainsi de suite de telle sorte que pour chaque niveau i
chaque nud aura un fils gauche correspondant tous les sous ensembles (compatibles avec
les choix dj faits) contenant ei, donc pour lesquels xi = 1, et un fils droit correspondant
tous les sous ensembles compatibles ne contenant pas ei, donc o xi = 0, et ceci jusqu i = N.
On procde donc chaque tape par Sparation, dun ct xi = 1 et de lautre xi = 0,
ce qui partage lensemble des cas en deux sous ensembles disjoints, ainsi chacune des 2N
feuilles de cette arborescence correspond exactement un sous ensemble de E. On gnre ainsi
2N + 1 1 nuds, chaque nud, sauf les feuilles, correspondant une solution partielle dfinie
par les valeurs des variables xi situes sur le chemin de la racine ce nud.
Par exemple si E = {e1, e2, e3}, on a larborescence:
x1 = 1
x2 = 1
x3 = 1
x1 = 0
x2 = 0
x3 = 0 x3 = 1
x2 = 1
x3 = 0 x3 = 1
x2 = 0
x3 = 0 x3 = 1
x3 = 0
Remarque
Cette arborescence reprsente conceptuellement la mthode dcrite ci dessus pour
gnrer systmatiquement tous les sous ensembles de E, est il ncessaire de la fabriquer
effectivement ? Ici non, pourquoi ? Mais nous verrons dans la suite que pour les algorithmes
SEP et SES il est fondamental de la construire mais pas ncessairement compltement, on
ne stockera chaque tape que les informations utiles la poursuite de lexploration.
Dans la suite, voir III, nous examinerons en dtail deux problmes classiques dj
mentionns dans lintroduction au cours : le Problme du Voyageur de Commerce, PVC,
the Traveling Salesman Problem en anglais, et le Problme du Sac Dos, SAD, the
Knapsack Problem en anglais. Ces problmes qui sont des archtypes de problmes
combinatoires NP Difficiles, cest--dire de problmes pour lesquels, en particulier et
surtout, aucune mthode de rsolution efficace en temps nest connue.
Ils sont dfinis par :
PVC
Donnes : G = (X, U, d) un graphe orient valu o d attribue chaque arc u une valuation
d(u) strictement positive (cot, distance, temps, capacit, )
Question : Dterminer un circuit hamiltonien de valuation minimale, cest--dire un circuit
passant par chaque sommet du graphe une fois et une seule et qui est de valuation minimale,
la valuation dun circuit tant gale la somme des valuations de ses arcs.
SAD
Donnes : On dispose de n objets, numrots de 1 n, dutilits et de volumes respectifs u1,
u2, , un et v1, v2, , vn et dun sac dos de volume maximum V
Questions : Comment remplir au mieux le sac ? Autrement dit quels objets doit-on prendre
dans le sac pour en maximiser lutilit sans dpasser le volume V ?
Ces deux problmes sont des problmes doptimisation combinatoire fonction
objective spare, pourquoi ?
Pour PVC la mthode exhaustive ncessite de gnrer tous les circuits hamiltoniens
du graphe, dans le cas o G est complet cest--dire lorsque G contient tous les arcs possibles,
il y a (n 1) ! circuits possibles quand G a n sommets. Pour SAD, il faut tester tous les sousensembles dobjets, il y a donc ici 2n cas tester.
Nous voyons donc que cette faon de procder, mme si elle donne toujours une
solution optimale, et cest le cas pour tous les problmes NP Difficiles, peut tre efficace sur
des petits cas, cest--dire quand n est petit, mais savre vite irraliste, car trs coteuse en
temps de calcul, lorsque n est de grande taille, elle est en effet exponentielle en la taille des
donnes.
3
Par exemple, si nous appliquons la mthode exhaustive sur SAD lorsque n = 100, il y a
2100 cas examiner, supposons que nous ayons un ordinateur capable de traiter chaque cas en
10 - 9 s il faudra alors 2100.10 9 s pour rsoudre le problme soit au moins environ 3.1013
annes Combien faudra til de temps pour rsoudre PVC sur un graphe complet ayant 100
sommets ?
Cest pour cette raison que lon parle dExplosion Combinatoire.
Dautre part il nest pas toujours facile de mettre en uvre une telle mthode, le
problme rside bien sr dans lalgorithme utilis pour la gnration. On peut bien sr
sinspirer de la formulation prcdente qui utilise des variables boolennes, mais il nest pas
vident a priori dobtenir par exemple :
-
soit il faut mettre au point des mthodes arborescentes de rsolution bases sur la
recherche exhaustive cest--dire examinant lensemble de tous les cas possibles mais
cette fois ci de faon implicite (on dit aussi par numration implicite) cest--dire
sans les gnrer tous explicitement, le but tant bien sr dobtenir une solution
optimale tout en amliorant nettement en moyenne les performances de la simple
gnration exhaustive.
Insistons encore sur le fait que les POC sont en gnral dune part trs simple
comprendre, voir PVC et SAD, et dautre part trs faciles rsoudre mathmatiquement ,
quoi de plus lmentaire en effet que de passer en revue toutes les solutions possibles, il y en
a un nombre fini, et den extraire loptimum. Mais ce qui nous intresse ici et qui pose
problme est le calcul effectif de loptimum et la construction dune solution optimale en
temps raisonnable car il peut y avoir un trs grand nombre de cas examiner (explosion
combinatoire), il faut donc mettre au point des mthodes rellement utilisables en pratique.
Cest l un des dfis majeurs de la Recherche Oprationnelle et plus gnralement des
Mathmatiques venir, voir en particulier le site www.claymath.org/millenium/ et le
problme P vs NP .
Quelques prcisions mmes trs informelles, voire simplistes, en tout cas retenir,
peuvent clairer cette problmatique.
La classe NP contient les problmes de dcision , cest--dire rponse oui ou non,
pour lesquels on peut vrifier, en un temps polynomial, quune solution donne ou propose
est rponse oui.
tout POC on peut associer sa version naturelle de dcision, celle de PVC est :
k-PVC
Donnes : G = (X, U, d) un graphe orient valu o d attribue chaque arc u une valuation
d(u) strictement positive (cot, distance, temps, capacit, ) et un entier k
Question : Existe til dans G un circuit hamiltonien de valuation infrieure ou gale k ?
k-PVC est dans NP car il est facile (polynomial) de tester si un circuit donn de G est
hamiltonien et de valuation infrieure ou gale k
crire la version de dcision de SAD.
La classe NP contient des milliers de problmes dment rpertoris, mais, pour
certains, aucun algorithme de rsolution en temps polynomial nest connu. P tant dfini
comme tant la classe des problmes de dcision polynomiaux, on a P NP (pourquoi ?) et
la question, toujours ouverte, est de savoir si cette inclusion est stricte ou si lon a P = NP.
On dfinit la classe dquivalence des problmes NP Complets, NPC, comme tant
les plus difficiles de NP dans le sens o toute mthode efficace de rsolution de lun deux
permettrait de rsoudre efficacement tout problme de NP, par exemple k-PVC NPC.
Ainsi lexistence dun algorithme polynomial pour k-PVC permettait de conclure que
P = NP.
Informellement, un problme NP Difficile est un problme au moins aussi difficile
quun problme NP Complet. Les problmes de NPC sont donc aussi NP Difficiles. Mais
il existe des problmes de dcision qui sont NP Difficiles sans tre dans NP.
Retenons aussi que si le problme de dcision associ un POC est dans NPC alors il
est lui-mme NP Difficile, cest le cas de PVC et de SAD.
du calcul dune fonction chaque tape qui reprsentera une borne infrieure, en fait
un minorant, pour un problme de minimisation ou un borne suprieure, en fait un
majorant, pour un problme de maximisation. Cette valuation va permettre dune part
dorienter la recherche et dautre part dliminer des recherches infructueuses
dun ordre de slection des variables, tout ordre convient mais certains peuvent
amliorer le calcul de la borne et la rapidit de la mthode
x
A(x)
Par construction, pour toute solution s obtenue partir de x, on a f(s) BS(x) dans le
cas dun problme de Maximisation ou f(s) BI(x) dans le cas dun problme de
Minimisation, donc si on connat dj une solution s0 telle que BS(x) f(s0) ou BI(x) f(s0),
alors on peut laguer A(x) cest dire faire lconomie de lexploration de A(x) et ainsi
acclrer la recherche. Cette conomie sera dautant plus importante que la borne sera plus
pertinente.
Suivant la stratgie dexploration de larborescence, soit en Profondeur soit en
Largeur, il y a deux mthodes possibles, SES ou SEP.
Initialement, pour les deux mthodes, on trie ventuellement les variables et lon
calcule la borne du nud initial, la racine de larborescence, qui reprsente potentiellement
toutes les solutions possibles car aucun choix na encore t fait.
Dans la procdure SES on sloigne de la racine tant que cela est possible en crant
des branches de plus en plus longues et en nexaminant quune seule branche la fois, cela
correspond exactement un parcours en profondeur de larborescence partir de la racine.
Plus prcisment, en chaque nouveau sommet x, il y a quatre cas :
-
Dans les trois premiers cas, on remonte au pre de x la recherche dun autre fils
examiner sil existe, sinon on remonte encore dun niveau et ainsi de suite
La mthode se termine lorsquon revient la racine et que ses fils ont t explors.
Au contraire, chaque tape, la mthode SEP considre, parmi toutes les feuilles de
larborescence en cours de construction, la feuille x ayant la meilleure valuation, cest--dire
o la borne, BS(x) ou BI(x), est la meilleure, soit la plus grande pour un problme de
Maximisation soit la plus petite pour un problme de Minimisation.
Le schma gnral de la mthode SEP consiste donc gnrer une arborescence
partielle de recherche partir de la racine en choisissant chaque tape le nud le plus
prometteur :
-
si la borne correspondante est moins bonne que celle de la meilleure solution trouve,
lalgorithme est termin
sinon, on effectue une phase de sparation : on donne deux fils au nud courant en
affectant la valeur 1 puis la valeur 0 la variable suivante, on dtermine les
compatibilits et lon calcule les bornes des deux fils ainsi obtenus, cest lvaluation.
simplicit de conception (essai potentiel de tous les cas possibles) mais mise en
uvre parfois difficile en ce qui concerne la gnration effective de tous les cas et
surtout le choix de la fonction permettant de calculer un borne
cest une des seules approches connue, avec la Programmation Dynamique, pour
rsoudre exactement les problmes NP-Difficiles pour lesquels aucune autre stratgie
est connue pour obtenir, plus efficacement, une solution optimale
en gnral en Temps Exponentiel dans le plus mauvais cas pour le problmes NPDifficiles.
Remarquons quil est possible damliorer la mthode par dautres techniques, citons
par exemple le principe de slection et limination a priori qui utilise la notion de regret.
A
0
16
10
19
21
18
A
B
C
D
E
F
B
16
0
20
22
C
10
20
0
17
27
25
D
19
17
0
14
15
E
21
27
14
0
12
F
18
22
25
15
12
0
Ici le graphe est non orient car la matrice est symtrique, il peut tre reprsent dans
le plan par :
C
B
D
A
F
E
9
10
14
11
16
20
21
18
19
12
15
17
13
nud 1 : BI(1) = 84 avec les artes AC, EF, DE, DF, AB, CD
nud 2 : AC est slectionne, BI(2) = 84, avec les mmes artes quau nud 1
nud 3 : AC est rejete, BI(3) = 92 avec les artes EF, DE, DF, AB, CD, AF ; ltape
suivante explore le nud 2
nud 5 : EF est rejete, BI(5) = 90 avec les artes AC, DE, DF, AB, CD, AF ; ltape
suivante explore le nud 4
nud 6 : DE est slectionne, BI(6) = 87 avec les artes AC, EF, DE, AB, CD, AF
car DF nest pas slectionnable cause du cycle DEF
10
nud 7 : DE est rejete, BI(7) = 88 avec les artes AC, EF, DF, AB, CD, AF ; ltape
suivante explore le nud 6
nud 8 : AB est slectionne, BI(8) = 91 avec les artes AC, EF, DE, AB, CD, BF en
effet DF est exclue par les choix de EF et DE ; AF, AD et AE sont limines car A
apparat dj deux fois et BC est exclue cause du cycle ABC
nud 9 : AB est rejete, BI(9) = 90 avec les artes AC, EF, DE, CD, AF, AD en effet
DF a t limine au nud 6 ; ltape suivante explore le nud 7
nud 10 : DF est slectionne, BI(10) = 89 avec les artes AC, EF, DF, AB, CD, AD
car la slection de DF entrane llimination de AF, F apparat en effet dj deux fois
nud 11 :DF est rejete, BI(11) = 92 avec les artes AC, EF, AB, CD, AF, AD ;
ltape suivante explore le nud 10
nud 12 : AB est slectionne, BI(12) = 97 avec les artes AC, EF, DF, AB, CD, CE,
en effet AF a t limine au nud 10 et la slection de AB entrane llimination
supplmentaire de AD et AE (car A apparat dj deux fois) et de BC (car cycle
ABC), BF et CF sont exclues car F apparat dj deux fois
nud 13 : AB est rejete, BI(13) = 93 avec les artes AC, EF, DF, CD, AD, BC car
AF a t exclue au nud 10 ; la recherche reprend au nud 5 (elle aurait pu reprendre
au nud 9)
nud 14 : DE est slectionn, BI(14) = 90 avec les artes AC, DE, DF, AB, CD, AF
nud 15 : DE est rejete, BI(15) = 95 avec les artes AC, DF, AB, CD, AF, AD ;
ltape suivante explore le nud 14, on aurait pu prendre 9
nud 16 : DF est slectionne, BI(16) = 93 avec les artes AC, DE, DF, AB, AF, BC
car les artes CD et AD sont exclues, D apparaissant dj deux fois
nud 17 : DF est rejete, BI(17) = 94 avec les artes AC, DE, AB, CD, AF, AD ; la
recherche continue au nud 9
nud 18 : CD est slectionne partir du nud 9 avec AC, EF, DE et sans AB, les
artes DF, AE et CE sont exclues, la slection de CD limine de plus les artes AF,
AD, BC et CF, il reste donc uniquement BF avec AC, EF, DE et CD, il ny a pas de
solution, ce nud est donc sans descendance
nud 19 : CD est rejete, IB(19) = 93 avec les artes AC, EF, DE, AF, AD, BC ;
ltape suivante explore le nud 8
nud 20 : CD est slectionne, on obtient une solution de valeur 91 car les artes
slectionnes AC, EF, DE, AB, et CD forment une chane hamiltonienne et la seule
arte possible est BF qui permet de former un cycle hamiltonien
11
nud 21 : CD est rejete, BI(21) = 99 avec les artes AC, EF, DE, AB, BF, CF.
12
0 < ui et 0 < vi V
n
vi > V
i =1
i {1, 2, ..., n}
n
xivi V
i =1
xi 0
n
xi ui
i =1
Thorme
Si on suppose uniquement xi 0 alors la solution optimale est x1 = V / v1 et xi = 0 pour
tout i 2
Thorme (DANTZIG, 1957)
Si on suppose 0 xi 1 alors la solution optimale est
xi = 1, i {1, 2, ..., r}
xi = 0, i {r + 2, ..., n}
r
1
x r+1 =
(V vi )
v r+1
i =1
13
o r = max j
j
vi V
i =1
Max
n
xi ui
i=1
n
xivi V
i=1
xi {0,1}
et trouver une solution, cest--dire un vecteur boolen (x1, x2, , xn), correspondant lutilit
maximale.
La Recherche Exhaustive consiste ici gnrer tous les sous ensembles possibles
dobjets, soit 2n sous ensembles, pour chacun tester sil rentre dans le sac, si cest le cas faire
la somme des utilits, et en retenir un dutilit maximum. Cet algorithme est en O(n.2n).
Nous allons maintenant dtailler un algorithme de type SEP sur lexemple suivant :
Utilits
Volumes
1
30
15
2
27
18
3
16
16
4
9
12
5
7
14
o V = 45.
Pour appliquer la mthode SEP il nous faut prciser la fonction dvaluation
permettant de calculer une borne, un ordre de slection et des rgles de compatibilit des
variables.
14
BS(x1, ..., xi ) =
i
u
avec BS() = 1 V , est un borne suprieure. Il faut bien sr que x k v k V sinon il ne
v1
k =1
peut pas y avoir de solution.
1
2
10
12
11
13
Arriv cette tape lalgorithme sarrte car on a une solution avec les objets 1, 2 et
4 de valeur 66 alors que les nuds encore actifs 5, 8, 9 et 11 ont tous une borne suprieure qui
est infrieure ou gale 64.
Remarquons que l aussi la recherche exhaustive aurait examin les 25 = 32 cas, cest-dire 26 1 = 63 nuds, alors que la mthode SEP se termine en 13 tapes.
La mthode SES donnera quasiment la mme arborescence : les sommets, sauf 11,
sont obtenus maintenant dans lordre 1, 2, 4, 6, 7, 10, 12, 13, 5, 3, 8 et 9. Il est en effet inutile
denvisager le sommet 11 car cest le fils droit de 7 o la borne est 66, valeur dune solution
dj trouve en 13.
Comme pour le PVC il existe pour SAD dautres algorithmes SEP ou SES beaucoup
plus labors permettant de rsoudre des problmes de tailles nettement plus grandes.
Nous verrons dans le prochain cours que lon peut aussi rsoudre trs lgamment
SAD en utilisant la Programmation Dynamique, mthode qui peut tre rapide lorsque les
valeurs des donnes ne sont pas trop grandes.
16