1
Algorithme fourmi avec diff`
erentes strat´
egies
ph´
eromonales pour le sac-`
a-dos multidimensionnel
In`
es Alaya,Christine Solnon,Khaled Gh´
edira
SOIE, Institut Sup´
erieur de Gestion de Tunis
41 Rue de la Libert´
e- Cit´
e Bouchoucha-2000 Le Bardo-Tunis
Email: {ines.alaya,khaled.ghedira}@isg.rnu.tn
LIRIS, CNRS FRE 2672, University Lyon 1
43 bd du 11 novembre, 69622 Villeurbanne cedex
AbstractDans cet article, nous proposons un algorithme
g´
en´
erique bas´
e sur la m´
etaheuristique d’optimisation par colonies
de fourmis (Ant Colony Optimization / ACO) pour r´
esoudre le
probl`
eme du sac `
a dos multidimensionnel. Ce probl`
eme consiste
`
a s´
electionner un sous-ensemble d’objets qui maximise une
fonction utilit´
e donn´
ee tout en respectant certaines contraintes
de ressources. Nous proposons trois variantes de cet algorithme
suivant trois fac¸ons de d´
eposer (et d’exploiter) les traces de
ph´
eromone : sur les objets s´
electionn´
es, sur les couples d’objets
s´
electionn´
es cons´
ecutivement ou sur tous les couples de sommets
s´
electionn´
es. On compare le comportement de ces trois variantes
sur un ensemble d’instances “benchmarks”.
Index TermsOptimisation par colonies de fourmis, Probl`
eme
du sac-`
a-dos multidimensionnel.
I. INTRODUCTION
Le probl`
eme du sac-`
a-dos multidimensionnel (MKP) est
un probl`
eme NP-difficile qui poss`
ede de nombreuses appli-
cations pratiques comme l’allocation des processeurs dans
les syst`
emes distribu´
es, le chargement des cargaisons, le
d´
ecoupage de stocks. L’objectif du MKP est de trouver un
sous-ensemble d’objets qui maximise un profit total tout en
satisfaisant certaines contraintes de capacit´
e. Plus formelle-
ment, un MKP est mod´
elis´
e comme suit :
maximiser Pn
j=1 pjxj
sous les contraintes Pn
j=1 rij xjbi,i1..m
xj∈ {0,1},j1..n
o`
urij est la quantit´
e de ressource iconsomm´
ee par l’objet
j,biest la quantit´
e totale disponible de la ressource i,pjest
le profit associ´
e`
a l’objet j, et xjest la variable de d´
ecision
associ´
ee `
a l’objet j, i.e., xj= 1 si jest s´
electionn´
e et xj= 0
sinon.
Plusieurs travaux ont ´
et´
e d´
evelopp´
es pour r´
esoudre le MKP.
Les m´
ethodes exactes, g´
en´
eralement bas´
ees sur une approche
par s´
eparation et ´
evaluation sont limit´
ees `
a des instances
de petites tailles, ce qui justifie le recours aux m´
ethodes
heuristiques.
Magazine et Oguz [11] ont pr´
esent´
e un algorithme qui com-
bine une heuristique duale avec l’approche du multiplicateur
lagrangien g´
en´
eralis´
e en utilisant les multiplicateurs g´
en´
er´
es
comme borne sup´
erieure. Les heuristiques duales commencent
avec une solution dont les variables sont initialis´
ees `
a 1,
ensuite les variables sont mises `
a 0 relativement `
a des r`
egles
heuristiques.
R´
ecemment plusieurs m´
etaheuristiques ont ´
et´
e d´
evelopp´
ees
pour le MKP. Ces m´
etaheuristiques ont permis d’avoir des
r´
esultats tr`
es comp´
etitifs avec des instances larges. Plusieurs
algorithmes bas´
es sur la recherche taboue ont ´
et´
e propos´
ees.
Glover et Kochenberger [9] ont pr´
esent´
e un algorithme bas´
e
sur la recherche taboue qui utilise une m´
emoire flexible
int`
egrant des informations de fr´
equence.
Hanafi et Fr´
eville [10] ont propos´
e un algorithme
´
etroitement li´
e au travail de Glover et Kochenberger [9]. Ils
trouvent des r´
esultats meilleurs que ceux trouv´
es par Glover et
Kochenberger sur un sous-ensemble des mˆ
emes jeux de tests.
Vasquez et Hao [14] ont pr´
esent´
e une approche hybride qui
combine la recherche taboue avec la programmation lin´
eaire.
Cet algorithme utilise une recherche taboue qui emploie la
m´
ethode d’´
elimination inverse pour la gestion de la liste tabou.
Cette derni`
ere m´
ethode a ´
et´
e mise en œuvre pour la premi`
ere
fois sur le MKP par Damneyers et Voß[4]. L’algorithme
propos´
e am´
eliore les meilleurs r´
esultats connus jusqu’`
a pr´
esent
sur des instances jug´
ees difficiles.
Plusieurs algorithmes g´
en´
etiques ont ´
et´
e d´
evelopp´
es pour
le MKP, nous citons l’algorithme de Chu et Beasley [3] qui
trouve parmi les meilleurs r´
esultats sur des instances larges
de MKP. Cet algorithme incorpore, en plus des op´
erateurs
classiques d’un algorithme g´
en´
etique, un op´
erateur heuristique
qui utilise des connaissances sp´
ecifiques au probl`
eme.
Tout r´
ecemment trois algorithmes bas´
es sur l’optimisation
par colonies de fourmis ont ´
et´
e propos´
es [12], [7], [1].
II. OPTIMISATION PAR COLONIES DE FOURMIS
Les fourmis sont capables de r´
esoudre collectivement des
probl`
emes complexes, comme trouver le plus court chemin
entre deux points dans un environnement accident´
e. Pour
cela, elles communiquent entre elles de faon locale et indi-
recte, grce `
a une hormone volatile, appel´
ee ph´
eromone : au
cours de leur progression, les fourmis d´
eposent une trace de
ph´
eromone ; elles choisissent ensuite leur chemin de faon
al´
eatoire, selon une probabilit´
e d´
ependant de la quantit´
e de
ph´
eromone pr´
ec´
edemment d´
epos´
ee.
Ce m´
ecanisme, qui permet aux fourmis de r´
esoudre col-
lectivement des probl`
emes complexes, est `
a l’origine des
2
algorithmes `
a base de fourmis artificielles. Ces algorithmes ont
´
et´
e initialement propos´
es dans [5], [6], comme une approche
multi-agents pour r´
esoudre des probl`
emes d’optimisation com-
binatoire. L’id´
ee est de repr´
esenter le probl`
eme `
a r´
esoudre sous
la forme de la recherche d’un meilleur chemin dans un graphe,
puis d’utiliser des fourmis artificielles pour rechercher de
bons chemins dans ce graphe. Le comportement des fourmis
artificielles est inspir´
e des fourmis r´
eelles : elles d´
eposent
des traces de ph´
eromone sur les composants du graphe et
elles choisissent leurs chemins relativement aux traces de
ph´
eromone pr´
ec´
edemment d´
epos´
ees ; ces traces sont ´
evapor´
ees
au cours du temps. Intuitivement, cette communication in-
directe fournit une information sur la qualit´
e des chemins
emprunt´
es afin d’attirer les fourmis, dans les it´
erations futures,
vers les zones correspondantes de l’espace de recherche.
Ces caract´
eristiques du comportement des fourmis artifi-
cielles d´
efinissent la “m´
eta-heuristique d’optimisation par une
colonie de fourmis” ou “Ant Colony Optimization (ACO)
metaheuristic” [6]. Cette m´
etaheuristique a permis de r´
esoudre
diff´
erents probl`
emes d’optimisation combinatoire, comme
le probl`
eme du voyageur de commerce [5], le probl`
eme
d’affectation quadratique [8] ou le probl`
eme de routage de
v´
ehicules [2].
Trois algorithmes bas´
es sur l’optimisation par colonies de
fourmis ont ´
et´
e propos´
es. Ces trois algorithmes diff`
erent dans
leur faon de d´
eposer et d’exploiter les traces de ph´
eromone :
Leguizamon et Michalewizc [12] ont propos´
e de d´
eposer des
traces de ph´
eromone sur les objets s´
electionn´
es ; Fidanova [7]
a propos´
e de d´
eposer de la ph´
eromone sur le chemin form´
e
par la suite d’objets s´
electionn´
es ; Alaya, Solnon et Gh´
edira
[1] ont propos´
e de d´
eposer de la ph´
eromone sur les couples
d’objets s´
electionn´
es dans une mˆ
eme solution.
Un objectif essentiel de cet article est de comparer ces
trois strat´
egies diff´
erentes de d´
ept et exploitation des traces de
ph´
eromones pour r´
esoudre le MKP avec la m´
etaheuristique
ACO. Ainsi, nous d´
ecrivons dans la section suivante un
algorithme ACO g´
en´
erique pour le MKP, et nous proposons
trois instanciations diff´
erentes de cet algorithme, correspon-
dant aux trois strat´
egies ph´
eromonales. Enfin, nous comparons
exp´
erimentalement les trois strat´
egies propos´
ees sur un ensem-
ble de probl`
emes issus d’un benchmark classique.
L’int´
erˆ
et de ce travail d´
epasse le cadre de la r´
esolution
du probl`
eme du sac-`
a-dos multidimensionnel. En effet, de
nombreux probl`
emes d’optimisation combinatoire consistent
`
a s´
electionner un sous-ensemble d’objets optimisant une fonc-
tion objectif donn´
ee tout en respectant un certain nombre
de contraintes, e.g., la recherche de cliques maximum, les
probl`
emes de satisfaction de contraintes. Pour r´
esoudre ces
probl`
emes avec la m´
etaheuristique ACO, il s’agit essentielle-
ment de d´
ecider sur quels composants de solutions d´
eposer
de la ph´
eromone. Ainsi, notre ´
etude comparative sur le MKP
pourrait aider `
a choisir une strat´
egie pour la r´
esolution d’autres
probl`
emes de ce type.
III. UN ALGORITHME ACO G´
EN ´
ERIQUE POUR LE MKP
Pour r´
esoudre le MKP avec la m´
etaheuristique ACO, un
point cl´
e est de d´
ecider sur quels composants des solutions
construites les traces de ph´
eromone vont ˆ
etre d´
epos´
ees et com-
ment exploiter ces traces lors de la construction de nouvelles
solutions. Une solution d’un MKP est un ensemble d’objets
s´
electionn´
es S={o1, . . . , ok}(on consid`
erera qu’un objet
oiest s´
electionn´
e si la variable de d´
ecision correspondante
xoia´
et´
e mise `
a 1). Etant donn´
ee une telle solution S, trois
diff´
erentes mani`
eres de d´
eposer la ph´
eromone peuvent ˆ
etre
consid´
er´
ees :
Une premi`
ere possibilit´
e est de d´
eposer les traces de
ph´
eromone sur chaque objet s´
electionn´
e dans S. Dans
ce cas, lors de la construction des solutions suivantes,
la probabilit´
e de s´
electionner chaque objet de Ssera
augment´
ee.
Une deuxi`
eme possibilit´
e est de d´
eposer les traces de
ph´
eromone sur chaque couple (oi, oi+1)de deux objets
successivement ajout´
es dans S. Dans ce cas, l’id´
ee est
d’augmenter la probabilit´
e de choisir l’objet oi+1 si le
dernier objet s´
electionn´
e est oi.
Une troisi`
eme possibilit´
e est de d´
eposer les traces de
ph´
eromone sur toutes les paires (oi, oj)de deux objets
appartenant `
aS. Dans ce cas, lors de la construction d’une
nouvelle solution S0, la probabilit´
e de choisir l’objet oi
sera augment´
ee si oja d´
ej`
a´
et´
e s´
electionn´
e dans S0. Plus
pr´
ecis´
ement, plus S0contiendra de sommets appartenant
d´
ej`
a`
aS, et plus les autres sommets de Sauront de
chances d’ˆ
etre s´
electionn´
es.
Pour comparer ces trois strat´
egies ph´
eromonales diff´
erentes,
nous introduisons maintenant Ant-Knapsack (AK), un algo-
rithme ACO g´
en´
erique pour le MKP, et nous d´
ecrivons trois
instantiations diff´
erentes de cet algorithme : Vertex-AK dans
lequel la ph´
eromone est d´
epos´
ee sur les sommets, Path-AK
dans lequel la ph´
eromone est d´
epos´
ee sur les arcs du chemin
visit´
e, et Edge-AK dans lequel la ph´
eromone est d´
epos´
ee sur
les arˆ
etes reliant tous les sommets appartenant `
a une solution.
A. L’algorithme g´
en´
erique Ant-Knapsack
L’algorithme g´
en´
erique Ant-Knapsack est d´
ecrit dans la
Figure 1. A chaque cycle de cet algorithme, chaque fourmi
construit une solution. Lorsque toutes les fourmis ont construit
une solution, les traces de ph´
eromone sont mises `
a jour.
L’algorithme s’arrˆ
ete lorsqu’une fourmi a trouv´
e une solution
optimale (si la valeur optimale est connue), ou lorsqu’un nom-
bre maximal de cycles a ´
et´
e atteint. Notons que cet algorithme
est inspir´
e du MAX − MIN Ant System [13] : on impose
des bornes inf´
erieures et sup´
erieures τmin et τmax sur les
traces de ph´
eromone (avec 0< τmin < τmax). L’objectif est
de garantir une bonne exploration de l’espace de recherche, et
pr´
ev´
enir la colonie de fourmis de “stagner” sur une solution
sub-optimale, en empˆ
echant que les diff´
erences relatives entre
les traces de ph´
eromone ne deviennent trop importantes durant
l’ex´
ecution. De plus, les traces de ph´
eromone sont initialis´
ees `
a
la borne sup´
erieure τmax afin de garantir une exploration plus
large de l’espace de recherche durant les premiers cycles.
Pour construire une solution, les fourmis choisissent
al´
eatoirement un objet initial, puis ajoutent it´
erativement des
objets qui sont choisis `
a partir d’un ensemble Candidats qui
contient tous les objets qui peuvent ˆ
etre s´
electionn´
es sans
3
Algorithme Ant-Knapsack:
Initialiser les traces de pheromone a τmax
repeter
pour chaque fourmi kdans 1..nbAnts, construire une solution Skcomme suit:
Choisir aleatoirement un premier objet o11..n
Sk← {o1}
Candidats ← {oi1..n/oipeut tre selectionne sans violer des contraintes de ressources}
tant que Candidats 6=faire
Choisir un objet oiCandidats avec la probabilite
pSk(oi) = [τSk(oi)]α.[ηSk(oi)]β
PojCandidates [τSk(oj)]α.[ηSk(oj)]β
Sk← Sk∪ {oi}
enlever de Candidats chaque objet qui viole des contraintes de ressources
fin tant que
fin pour
mettre a jour les traces de pheromone en fonction de {S1,...,SnbAnts }
si une trace de pheromone est inferieure a τmin alors la mettre a τmin
si une trace de pheromone est superieure a τmax alors la mettre a τmax
jusqu’a nombre maximal de cycles atteint ou solution optimale trouvee
Fig. 1. Algorithme ACO g´
en´
erique pour le MKP
violer de contraintes de ressources. A chaque ´
etape, l’objet
oi`
a ajouter `
a la solution en cours de construction Skest
choisi parmi l’ensemble de sommets Candidats relativement `
a
une probabilit´
epSk(oi). Cette probabilit´
e est d´
efinie propor-
tionnellement `
a un facteur ph´
eromonal τSk(oi)et un facteur
heuristique ηSk(oi), ces deux facteurs ´
etant pond´
er´
es par deux
param`
etres αet βqui d´
eterminent leur importance relative. Le
facteur ph´
eromonal d´
epend de la strat´
egie ph´
eromonale choisie
et est d´
ecrit plus tard. Le facteur heuristique ηSk(oi)est d´
efini
de faon similaire `
a [?] et [?] : soit dSk(i) = biPgSkrig la
quantit´
e restante de la ressource ilorsque la fourmi a construit
la solution Sk; nous d´
efinissons le ratio
hSk(j) =
m
X
i=1
rij
dSk(i)
qui pr´
esente la duret´
e de l’objet jpar rapport `
a toutes les
contraintes i1..m et relativement `
a la solution construite Sk,
de sorte que plus ce ratio est faible plus l’objet est int´
eressant.
Nous int´
egrons alors le profit pjde l’objet jpour obtenir un
ratio profit/ressource, et nous d´
efinissons le facteur heuristique
par
ηSk(j) = pj
hSk(j)
B. D´
efinition des composants ph´
eromonaux
Les fourmis de l’algorithme g´
en´
erique Ant-Knapsack
´
evoluent et d´
eposent de la ph´
eromone sur le graphe complet
G= (V, E)tel que Vest l’ensemble des objets. Cet algo-
rithme s’instancie en trois versions diff´
erentes en fonction des
composants du graphe sur lesquels les fourmis d´
eposent des
traces de ph´
eromone.
Dans Vertex-AK, les fourmis d´
eposent la ph´
eromone sur
les sommets Vdu graphe. La quantit´
e de ph´
eromone
sur un objet oiVest not´
ee τ(oi). Cette quantit´
e
repr´
esente la “d´
esirabilit´
e” de choisir l’objet oilors de
la construction d’une solution.
Dans Path-AK, les fourmis d´
eposent de la ph´
eromone
sur les couples de sommets s´
electionn´
es cons´
ecutivement,
i.e., sur les arcs du graphe. La quantit´
e de ph´
eromone sur
un arc (oi, oj)Eest not´
ee τ(oi, oj). Cette quantit´
e
repr´
esente la “d´
esirabilit´
e” de choisir l’objet oijuste
apr`
es avoir choisi l’objet ojlors de la construction d’une
solution. Il est `
a noter que dans ce cas le graphe est
orient´
e.
Dans Edge-AK, les fourmis d´
eposent la ph´
eromone sur
les paires de sommets s´
electionn´
es dans une mˆ
eme so-
lution, i.e., sur les arˆ
etes Edu graphe. La quantit´
e de
ph´
eromone sur une arˆ
ete (oi, oj)Eest not´
ee τ(oi, oj).
Cette quantit´
e repr´
esente la d´
esirabilit´
e de choisir un objet
oilors de la construction d’une solution qui contient d´
ej`
a
l’objet oj. Il est `
a noter que, dans ce cas le graphe est
non orient´
e, et donc τ(oi, oj) = τ(oj, oi).
C. D´
efinition du facteur ph´
eromonal
Le facteur ph´
eromonal τSk(oi)traduit l’exp´
erience pass´
ee
de la colonie et est utilis´
e dans la probabilit´
e de transition
des fourmis pour les guider vers des zones de l’espace
de recherche prometteuses. Ce facteur ph´
eromonal depend
de la quantit´
e de ph´
eromone d´
epos´
ee sur les composants
ph´
eromonaux du graphe :
Dans Vertex-AK, il d´
epend de la quantit´
e d´
epos´
ee sur
l’objet candidat, i.e.,
τSk(oi) = τ(oi)
Dans Path-AK, il d´
epend de la quantit´
e pr´
esente sur l’arc
connectant le dernier objet ajout´
e`
a la solution partielle
Sket l’objet candidat oi, i.e., si le dernier objet ajout´
e
4
dans Skest oj,
τSk(oi) = τ(oj, oi)
Dans Edge-AK, il d´
epend de la quantit´
e d´
epos´
ee sur les
arˆ
etes connectant l’objet candidat oiavec les diff´
erents
objets pr´
esents dans la solution partielle Sk, i.e.,
τSk(oi) = X
ojSk
τ(oi, oj)
Notons que ce facteur ph´
eromonal peut ˆ
etre calcul´
e de
faon incr´
ementale : lorsque le premier objet o1a´
et´
e
s´
electionn´
e, le facteur ph´
eromonal τSk(oj)est initialis´
e
`
aτ(o1, oj)pour chaque objet candidat oj; ensuite, `
a
chaque fois qu’un nouvel objet oiest ajout´
e`
a la solution
courante Sk, le facteur ph´
eromonal τSk(oj)de chaque
objet candidat ojest incr´
ement´
e de τ(oi, oj).
D. Mise `
a jour de la ph´
eromone
Apr`
es que toutes les fourmis aient fini la construction
de leurs solutions, les traces de ph´
eromone sont mises `
a
jour. Cette mise-`
a-jour s’effectue en deux ´
etapes. Dans une
premi`
ere ´
etape, toutes les traces de ph´
eromone sont diminu´
ees,
pour simuler l’´
evaporation, en multipliant chaque composant
ph´
eromonal par un ratio de persistance (1ρ)tel que 0ρ
1. Notons que dans Vertex-AK, les composants ph´
eromonaux
sont associ´
es aux objets de sorte que l’´
etape d’´
evaporation
s’effectue en O(n)tandis que dans Path-AK et Edge-AK, les
composants ph´
eromonaux sont associ´
es aux couples d’objets
de sorte que l’´
etape d’´
evaporation s’effectue en O(n2).
Dans un deuxi`
eme temps, la meilleure fourmi du cy-
cle d´
epose de la ph´
eromone. Plus pr´
ecis´
ement, soit Sk
{S1, . . . , SnbAnts }la meilleure solution (celle ayant un profit
maximal, les ex-aequo ´
etant d´
epartag´
es al´
eatoirement) con-
struite durant le cycle courant et Sbest la meilleure solution
construite depuis le d´
ebut de l’ex´
ecution (y compris le cycle
courant). La quantit´
e de ph´
eromone d´
epos´
ee par la fourmi
kest inversement proportionnelle `
a la diff´
erence de profit
entre Sket Sbest, i.e., elle est ´
egale `
a1/(1 + profit(Sbest)
profit(Sk)). Cette quantit´
e de ph´
eromone est d´
epos´
ee sur les
composants ph´
eromonaux de Sk, i.e.,
dans Vertex-AK, elle est d´
epos´
ee sur chaque sommet de
Sk,
dans Path-AK, elle est d´
epos´
ee sur les arcs du chemin
visit´
e par la fourmi klors de la construction de Sk, i.e.,
sur tout couple de sommets (oi, oj)tel que oja´
et´
e ajout´
e
dans Skjuste apr`
es oi.
dans Edge-AK, elle est d´
epos´
ee sur chaque arˆ
ete reliant
deux sommets diff´
erents de Sk, i.e., sur la clique d´
efinie
par Sk.
Comme pour la premi`
ere ´
etape, la complexit´
e en temps de
cette deuxi`
eme ´
etape d´
epend de la version consid´
er´
ee : pour
Vertex-AK et Path-AK elle s’effectue en O(|Sk|)tandis que
pour Edge-AK elle s’effectue en O(|Sk|2)
IV. EXP´
ERIMENTATIONS ET R´
ESULTATS
Nous pr´
esentons dans cette section les r´
esultats des trois in-
stances de l’algorithme g´
en´
erique Ant-Knapsack, i.e., Vertex-
AK, Path-AK et Edge-AK.
Nous avons consid´
er´
e des instances larges de
MKP OR-Library accessibles `
a partir du site
http://mscmga.ms.ic.ac.uk/. Ces instances sont
group´
ees en 5 classes avec m∈ {5,10,30}et n∈ {100,250}.
Ces instances sont not´
ees dans ce qui suit m.n. Chaque
classe contient 30 instances group´
ees en 3 sous-classes de 10
instances en fonction d’un ratio de duret´
erd :rd = 0,25 pour
les 10 premi`
eres instances, rd = 0,5pour les 10 instances
suivantes, et rd = 0,75 pour les 10 derni`
eres instances.
Tous les algorithmes ont ´
et´
e impl´
ement´
es en Visual C++
et ex´
ecut´
es sur un processeur PIV 2GH. Dans toutes les
exp´
erimentations, nous avons mis α`
a 1, β`
a 5, ρ`
a 0.01,
le nombre de fourmis `
a 30 et les bornes de ph´
eromone τmin
et τmax `
a0.01 et 6. Nous avons limit´
e le nombre de cycles `
a
2000 cycles.
Le tableau I compare la qualit´
e des r´
esultats obtenus
par Vertex-AK, Path-AK et Edge-AK sur les 15 classes de
probl`
emes consid´
er´
ees. Chaque classe contient 10 instances, et
chaque algorithme a ´
et´
e ex´
ecut´
e 10 fois sur chaque instance, de
sorte que chaque r´
esultat est une moyenne (ou un ´
ecart-type)
sur 100 ex´
ecutions. Chaque ligne du tableau donne les r´
esultats
pour les 10 instances de la classe m.n ayant le ratio de duret´
e
rd. Pour chacune de ces classes et pour chaque algorithme
consid´
er´
e, le tableau donne le profit trouv´
e (moyenne et
´
ecart-type sur 10 ex´
ecutions pour chacune des 10 instances
de la classe). Ce tableau montre que les deux algorithmes
Vertex-AK et Edge-AK trouvent des r´
esultats tr`
es nettement
meilleurs que ceux trouv´
es par Path-AK, pour toutes les
classes d’instances consid´
er´
ees. Ainsi, la strat´
egie consistant
`
a d´
eposer de la ph´
eromone sur des objets cons´
ecutivement
s´
electionn´
es guide les fourmis de mani`
ere moins pr´
ecise que
les deux autres strat´
egies.
En comparant Vertex-AK et Edge-AK, nous constatons que
les solutions trouv´
ees par Edge-AK sont meilleures pour 10
classes d’instances et inf´
erieures pour les 5 autres classes.
Notons que ces r´
esultats d´
ependent de la taille des instances
(par rapport au nombre de variables et de contraintes) : pour
les instances des classes 5.100, 5.250 et 10.100, Edge-AK
est clairement meilleur que Vertex-AK tandis que pour les
instances des classes 10.250 et 30.100 cette tendance s’inverse.
Le tableau II compare les temps d’ex´
ecution et le nombre
de cycles effectu´
es par Vertex-AK, Path-AK et Edge-AK sur
les 15 classes de probl`
emes consid´
er´
ees. Chaque ligne donne
les r´
esultats pour les 10 instances de la classe m.n ayant le
ratio de duret´
erd. Pour chacune de ces classes et pour chaque
algorithme consid´
er´
e, le tableau donne le temps et le nombre
de cycles n´
ecessaires pour trouver la solution (moyenne et
´
ecart type sur 10 ex´
ecutions de chaque instance de la classe).
On constate que les r´
esultats pour les trois versions sont du
mˆ
eme ordre de grandeur. Path-AK effectue l´
eg`
erement moins
de cycles et est un peu plus rapide que les deux autres versions,
mais cela s’explique probablement par le fait qu’il trouve de
bien moins bonnes solutions : pour Path-AK, la ph´
eromone
n’est pas capable de guider la recherche vers de bonnes zones
de l’espace de recherche.
On constate que les nombres de cycles effectu´
es par Vertex-
AK et Edge-AK sont tr`
es similaires. Ce nombre d´
epend es-
sentiellement du nombre de variables n, tandis que le nombre
5
TABLE I
COMPARAISON DE LA QUALIT´
E DES SOLUTIONS TROUV´
EES PAR VERTEX-AK, PATH-AK ET EDGE-AK SUR LES 15 CLASSES DE PROBL`
EMES
CONSID´
ER´
EES.
m.n rd Vertex-AK Path-AK Edge-AK
Moyenne Ecart Moyenne Ecart Moyenne Ecart
5.100 0,25 24192,0 33,13 24139,3 149,52 24197,2 37,52
5.100 0,50 43243,3 24,89 43137,9 137,11 43246,4 35,87
5.100 0,75 60470,5 25,37 60435,7 68,86 60471,0 28,35
5.250 0,25 60335,9 56,09 59110,6 911,77 60334,9 50,16
5.250 0,50 109203,4 39,09 107818 554,38 109231,6 47,97
5.250 0,75 151536,6 36,93 150578,6 152,68 151536,9 37,86
10.100 0,25 22553,0 60,97 22418,2 193,32 22572,2 61,81
10.100 0,50 42641,0 50,60 42383,0 192,37 42658,5 60,97
10.100 0,75 59540,0 34,71 59464,9 89,42 59555,6 44,70
10.250 0,25 58847,6 124,66 57367,3 593,35 58826,0 93,55
10.250 0,50 108600,7 109,50 106834,2 506,34 108594,1 78,03
10.250 0,75 151272,5 51,03 150066,9 170,66 151276,0 55,46
30.100 0,25 21618,1 73,33 21411,4 213,22 21608,4 75,68
30.100 0,50 41406,1 69,05 41013,0 228,18 41403,3 68,53
30.100 0,75 59172,5 40,56 59049,9 111,09 59173,2 36,67
Moyenne 67642,2 55,33 67015,26 284,8 67645,7 54,21
de contraintes met la duret´
e de ces contraintes rd ne semblent
pas avoir une influence directe.
Enfin, on constate qu’un cycle de Vertex-AK est effectu´
e
l´
eg`
erement plus rapidement qu’un cycle de Edge-AK. Par
exemple, pour la classe 30.100 avec rd = 0,25, les deux algo-
rithmes ont besoin en moyenne de 810 cycles pour converger ;
Vertex-AK met 234 secondes pour cela tandis que Edge-
AK met 316 secondes. Cette diff´
erence, qui est d’autant plus
sensible que le nombre de variables naugmente, s’explique
par le fait que l’´
evaporation est en O(n2)pour Edge-AK alors
qu’elle est en O(n)pour Vertex-AK.
V. CONCLUSION
Nous avons propos´
e dans cet article un algorithme ACO
g´
en´
erique pour r´
esoudre le probl`
eme du sac-`
a-dos multidi-
mensionnel. Cet algorithme est g´
en´
erique dans le sens o
il est param´
etr´
e par les composants sur lesquels les traces
de ph´
eromone sont d´
epos´
ees. On a propos´
e trois instanci-
ations diff´
erentes de cet algorithme g´
en´
erique : Vertex-AK
o la ph´
eromone est d´
epos´
ee sur les objets, Path-AK o la
ph´
eromone est d´
epos´
ee sur les couples d’objets s´
electionn´
es
cons´
ecutivement, et Edge-AK o la ph´
eromone est d´
epos´
ee
sur les paires d’objets s´
electionn´
es dans une mˆ
eme solution.
Un objectif principal ´
etait de comparer ces trois strat´
egies
ph´
eromonales, ind´
ependamment des d´
etails d’impl´
ementation
et du sch´
ema ACO consid´
er´
e.
Les exp´
erimentations ont montr´
e que Path-AK obtient de
bien moins bons r´
esultats que Vertex-AK et Edge-AK : pour
ce probl`
eme, l’ordre dans lequel les objets sont s´
electionn´
es
n’est pas significatif, et il est clairement pas int´
eressant de
ne consid´
erer que le dernier objet s´
electionn´
e pour choisir le
prochain objet `
a entrer dans le sac-`
a-dos. Les exp´
erimentations
ont ´
egalement montr´
e que Edge-AK obtient de meilleurs
r´
esultats que Vertex-AK sur deux tiers des classes d’instances
consid´
er´
ees. Cependant, les diff´
erences de r´
esultats entre ces
deux versions ne sont pas aussi importantes qu’avec Path-AK.
Comme nous l’avons soulign´
e dans l’introduction de cet
article, nous pensons que cette ´
etude exp´
erimentale de
diff´
erentes strat´
egies ph´
eromonales d´
epasse le cadre du MKP,
et peut ˆ
etre utile pour la r´
esolution d’autres probl`
emes
de “recherche d’un meilleur sous-ensemble” `
a l’aide de la
m´
etaheuristique ACO. Ainsi, pour ce genre de probl`
eme, il
semble que la strat´
egie la plus int´
eressante soit de consid´
erer
l’ensemble des ´
el´
ements d´
ej`
a s´
electionn´
es pour choisir le
prochain ´
el´
ement `
a entrer dans le sous-ensemble, plutt que
de consid´
erer l’int´
erˆ
et de chaque ´
el´
ement “s´
epar´
ement”.
REFERENCES
[1] I. Alaya, C. Solnon, and K. Gh´
edira. Ant algorithm for the multi-
dimensional knapsack problem. in ” International Conference on Bioin-
spired Optimization Methods and their Applications ” (BIOMA 2004) -
October 2004 - pages 63-72
[2] B. Bullnheimer, R. F. Hartl, and C. Strauss. Applying the Ant System to
the vehicle routing problem. In S. Voß S. Martello, I. H. Osman, and C.
Roucairol, editors, Meta-Heuristics: Advances and Trends in Local Search
Paradigms for Optimization, pp 285-296. Kluwer Academic Publishers,
Dordrecht, 1999.
[3] P.C. Chu and J.E. Beasley. A genetic algorithm for the multidimentional
knapsack problem. Journal of heuristic,4: 63-86, 1998.
[4] F.Dammeyer and S.Voß.Dynamic tabu list management using the reverse
elimination method. Annals of Operations Research ,41:31 46,1993.
[5] M. Dorigo, A. Colorni, and V. Maniezzo. The Ant System : Optimization
By a Colony of Cooperating Agents. IEEE Transactions on Systems, Man,
and Cybernetics-Part B, Vol.26, No.1, pp.1-13, 1996.
[6] M. Dorigo and G. Di Caro. The Ant Colony Optimization Meta-Heuristic.
in New Ideas in Optimization, D. Corne and M. Dorigo and F. Glover
editors, pp11–32, 1999.
[7] S. Fidanova. Evolutionary Algorithm for Multidimensional Knapsack
Problem. PPSNVII- Workshop 2002.
[8] L.M. Gambardella,´
E.D. Taillard, and M. Dorigo. Ant colonies for the
quadratic assignment problem. Journal of the Operational Research So-
ciety , 50(2):167 176,1999.
[9] F.Glover and G.A.Kochenberger.Critical event tabu search
for multidimensional knapsack problems.In I.H.Osman
J.P.Kelly,editor,Metaheuristics:The Theory and Applications ,pages
407 427.Kluwer Academic Publishers,1996.
[10] S. Hanafi, A. Fr´
eville, An approximate algorithm for multidimentional
zero-one knapsack problems a parametric approach, Management Sci-
ence, 43(3): 402-410, 1998.
[11] M.J. Magazine, O. Oguz. A Heuristic Algorithm for the Multidimen-
sional Zero-One Knapsack Problem. European Journal of Operational
Research 16, 319-326, 1984.
[12] G. Leguizamon and Z. Michalewicz. A new version of Ant System for
Subset Problem, Congress on Evolutionary Computation pp1459-1464,
1999.
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !