Optimisation combinatoire
Optimisation combinatoire
M thodes Approch es
Introduction
Introduction
"D finition
"Exemples de probl mes d'optimisation
combinatoire
"Complexit th orique d'un probl me
D finition
" Probl mes combinatoires: les probl mes
dont la r solution se ram ne l'examen d'un
nombre fini de combinaisons
nombre fini de combinaisons
Rq: Bien souvent cette r solution se heurte une
explosion du nombre de combinaisons
explorer.
3
I. Alaya
ENSI -ISID
D finition: Probl me doptimisation combinatoire
Etant donn un ensemble W de combinaisons, et une
fonction
f : W
f : W
IR,
IR,
il s'agit de trouver la combinaison de W minimisant f,
i.e.,
s*
, f(s*)
f(si), " si
.
Rq: Pour les probl mes de maximisation, il suffit de
multiplier la fonction co t par -1.
4
I. Alaya
ENSI -ISID
W
W
Terminologie
" (W
ou S) : espace de recherche, espace des
{ tats, configurations, solutions, alternatives}
" f : fonction objectif, fonction co t / conomique
" f : fonction objectif, fonction co t / conomique
" x (ou s) : optimum, minimum
5
I. Alaya
ENSI -ISID
Mod lisation
Outils de mod lisation pour la r solution des POC
" Th orie des graphes: mod lisation naturelle dans
certains probl mes (plus court chemin,...)
certains probl mes (plus court chemin,...)
" PLNE (programmes lin aires en nombres entiers):
un ensemble de contraintes lin aires et une fonction
objectif lin aire portant sur des variables valeurs
enti res (probl mes de type sac dos,&)
6
I. Alaya
ENSI -ISID
Exemples de probl mes d'optimisation
combinatoire
" Probl me du voyageur de commerce
" Probl me SAT
" Probl me du sac dos
" Bin Packing (r partition des charges dans les
" Bin Packing (r partition des charges dans les
camions/contenaires)
" Jobshop Scheduling (ordonnoncement de t ches dans
un atelier de production)
" allocation de fr quences pour les r seaux radio-mobiles
" positionnement d'antennes pour les r seaux radio-
mobiles
" routage dans les r seaux t l com
" &
7
I. Alaya
ENSI -ISID
Probl me du voyageur de commerce
TSP: Traveling Salesman Problem
" Un voyageur de commerce doit visiter un certain
nombre de villes
" Il doit visiter chaque ville une et une seule fois et
revenir la ville de d part
revenir la ville de d part
" Etant donn es des distances entre chaque paire de
villes, il doit minimiser la distance totale parcourue
8
I. Alaya
ENSI -ISID
Probl me du voyageur de commerce
TSP: Traveling Salesman Problem
" Mod lisation
" On peut repr senter ce probl me par un graphe :
chaque ville correspond un sommet et chaque ar te une
paire de villes pouvant tre visit es lune la suite de lautre
paire de villes pouvant tre visit es lune la suite de lautre
" Le probl me correspond trouver un tour complet (circuit
Hamiltonien) dans ce graphe qui minimise la somme des
distances
9
I. Alaya
ENSI -ISID
Probl me du voyageur de commerce
" Input : n villes, une matrice de distances
D = (dij )
: Ensembles ordonn s de cardinalit n
: Ensembles ordonn s de cardinalit n
" Objectif: trouver un chemin passant une fois et
une seule par chaque ville et minimisant la
distance totale parcourue
min f : min distance
10
I. Alaya
ENSI -ISID
W
W
Probl me du voyageur de commerce
" Exemple
Manouba
Bizerte
Ariana
Tunis
La Marsa
11
Rad s
I. Alaya
Soukra
ENSI -ISID
Probl me du voyageur de commerce
Variantes
" Probl me de Tourn e de V hicules
Au TSP, on ajoute :
" une quantit demand e par chaque client
" une quantit demand e par chaque client
" une capacit maximale transportable, inf rieure
la demande totale.
Objectif: D finir litin raire de chaque v hicule de mani re
satisfaire la demande, minimiser la distance parcourue
et/ou la dur e et/ou le nombre de v hicules utilis s, etc.
" Probl me de Tourn e de V hicules avec fen tres
de temps
" &
12
I. Alaya
ENSI -ISID
Probl me du sac dos
KP: Knapsack Problem
Remplir un sac dos, ne pouvant supporter plus d'un
certain poids, avec tout ou partie d'un ensemble donn
d'objets ayant chacun un poids et une valeur. Les objets
d'objets ayant chacun un poids et une valeur. Les objets
mis dans le sac dos doivent maximiser la valeur totale,
sans d passer le poids maximum
13
I. Alaya
ENSI -ISID
Probl me du sac dos
KP: Knapsack Problem
" Input: n objets, un vecteur co ts et un vecteur profits
" Objectif : s lectionner un sous-ensemble dobjets en
maximisant le profit total et en respectant une contrainte
maximisant le profit total et en respectant une contrainte
donn e
14
I. Alaya
ENSI -ISID
Probl me du sac dos
" Exemple
quelles bo tes choisir afin
de maximiser la somme
de maximiser la somme
emport e tout en ne
d passant pas les 15 kg
autoris s ?
http ://fr.wikipedia.org/wiki/Probl me_du_sac_ _dos
15
I. Alaya
ENSI -ISID
Probl me du sac dos
" Mod lisation
o
" xj : variable de d cision associ e lobjet j (j
" n : le nombre d'objets
" pj : lutilit ou profit apport par l'objet j (j
" aj : le poids de l'objet j (j
" b : la capacit totale du sac
1..n)
1..n): 0 ou 1
1..n)
16
I. Alaya
ENSI -ISID
Probl me du sac dos
" Variantes
" Probl me du sac dos multidimensionnel (MKP)
(cid:1)On ajoute au KP: Plusieurs contraintes
" Probl me du sac dos quadratique (QKP)
" Probl me du sac dos quadratique (QKP)
(cid:1) un profit suppl mentaire en s lectionnant deux
objets ensemble
" Sac dos choix multiple (MCKP)
(cid:1)les objets sont regroup s en classes, et il ne faut
prendre qu'un seul repr sentant pour chaque
classe.
" &
17
I. Alaya
ENSI -ISID
Probl me SAT
" Input : une formule logique F (propositionnelle)
" Objectif : Trouver une instanciation des
" Objectif : Trouver une instanciation des
variables logiques (vraie/faux) telle que F est
vraie, ou bien d cider qu'une telle instanciation
n'existe pas
18
I. Alaya
ENSI -ISID
Comment r soudre?
Cas du TSP
num ration exhaustive
1. g n rer tous les trajets possibles
2. calculer leurs distances
3. choisir le trajet ayant la distance minimale
Trajets:
Distances:
1-2-3-4-5-6-7-1
1-3-2-4-5-6-7-1
1-2-4-3-5-6-7-1
&.
69
68
63
&
19
I. Alaya
ENSI -ISID
Comment r soudre?
Cas du TSP
num ration exhaustive
1. g n rer tous les trajets possibles
2. calculer leurs distances
3. choisir le trajet ayant la distance minimale
1. un trajet valu en une microseconde (1 million de solutions par seconde)
20
I. Alaya
ENSI -ISID
Complexit th orique d'un probl me
Advertisement
" D finition
Complexit d'un probl me: une estimation dans le
pire des cas du nombre d'instructions ex cuter
pire des cas du nombre d'instructions ex cuter
pour r soudre les instances de ce probl me.
cette estimation tant un ordre de grandeur par
rapport la taille de l'instance et consid rant
son instance la plus difficile.
21
I. Alaya
ENSI -ISID
Probl me de d cision / optimisation
" D cision : j existe-t-il une solution qui satisfait
j
k
une certaine propri t ? k
R sultat: oui ou non
R sultat: oui ou non
" Optimisation : j parmi les solutions qui
j
satisfont une certaine propri t , trouver celle qui
optimise une certaine fonction de co t. k
R sultat: une solution r alisable optimale
22
I. Alaya
ENSI -ISID
Probl mes de d cision
Classes de Probl mes
" La classe P contient l'ensemble des probl mes
polynomiaux, i.e., pouvant tre r solus par un
algorithme de complexit polynomiale
(cid:1)Cette classe caract rise l'ensemble des probl mes que l'on peut
(cid:1)Cette classe caract rise l'ensemble des probl mes que l'on peut
r soudre efficacement
r soudre efficacement
" La classe NP contient l'ensemble des probl mes
polynomiaux non d terministes, i.e., pouvant tre
r solus par un algorithme de complexit polynomiale
(cid:1)La r solution des probl mes de NP peut n cessiter l'examen d'un
grand nombre ( ventuellement exponentiel) de cas, mais que
l'examen de chaque cas doit pouvoir tre fait en un temps
polynomial
NP-complets : les probl mes les plus difficiles de NP
23
I. Alaya
ENSI -ISID
Lien entre d cision/optimisation
" A chaque probl me d'optimisation on peut
associer un probl me de d cision : d terminer
s'il existe une solution pour laquelle la fonction
s'il existe une solution pour laquelle la fonction
objectif soit meilleure quune valeur donn e?
" La complexit d'un probl me d'optimisation est
li e celle du probl me de d cision qui lui est
associ .
" Si le probl me de d cision est NP-complet, alors
le probl me d'optimisation est dit NP-difficile.
24
I. Alaya
ENSI -ISID
Classes de Probl mes
Diagramme dEuler pour les classes P, NP, NP-complet, et NP-difficile (NP-hard)
25
I. Alaya
ENSI -ISID
Cas du TSP
" Probl me de d cision: tant donn un entier L,
existe-t-il un cycle hamiltonien de longueur
inf rieure ou gale L?
inf rieure ou gale L?
(cid:1)NP-Complet
" Probl me doptimisation: trouver un cycle
hamiltonien de longueur minimale.
(cid:1)NP-Difficile
26
I. Alaya
ENSI -ISID
Chapitre 2
M thodes de r solution
M thodes de r solution
Optimisation = mod lisation + r solution
1. mod lisation d'un probl me : espace de recherche,
solutions
2. formulation math matique : fonction objectif,
contraintes
3. application d'une m thode d'optimisation
4. obtention d'une solution
28
I. Alaya
ENSI -ISID
D finitions
" m thode compl te : trouve toujours une solution, si
elle existe
" m thode exacte: trouve toujours la meilleure
solution (optimum global)
solution (optimum global)
" m thode approch e (approximative) :explore une
sous-partie de l'espace de recherche
" m thode d terministe: ex cute toujours la m me
suite d'op rations
" m thode probabiliste (ou stochastique) : fait des
choix probabilistes guid s par des tirages al atoires
29
I. Alaya
ENSI -ISID
Classification des m thodes d'optimisation
combinatoire
30
I. Alaya
ENSI -ISID
M thodes exactes
Petit aper u
" Principe
G n ralement num rer, souvent de mani re
implicite, l'ensemble des combinaisons de
implicite, l'ensemble des combinaisons de
l'espace de recherche
31
I. Alaya
ENSI -ISID
M thodes exactes
Petit aper u
" Branch and Bound
" Une technique qui effectue un parcours en profondeur de
l'arbre de recherche afin de fournir une ou plusieurs solutions
optimales partir d'un ensemble de solutions potentielles
" A chaque tape de la recherche, correspondant un nSud de
" A chaque tape de la recherche, correspondant un nSud de
l'arbre de recherche, l'algorithme utilise une fonction Bound
pour calculer une borne de l'ensemble des solutions du sous-
arbre de ce nSud
" Borne est initialis e une valeur maximale (en cas de
minimisation)
" Si cette valuation est moins bonne que la meilleure solution
trouv e jusqu' ce niveau de recherche, tout le sous-arbre peut
tre coup .
" L'efficacit de l'algorithme B&B d pend troitement du calcul
de la borne utilis e
32
I. Alaya
ENSI -ISID
M thodes exactes
Petit aper u
" Programmation dynamique
" une m thode ascendante : On commence d'habitude par
les sous probl mes les plus petits et on remonte vers les
sous probl mes de plus en plus difficiles
sous probl mes de plus en plus difficiles
" Id e de base : viter de calculer deux fois la m me chose,
g n ralement en utilisant une table de r sultats d j
calcul s, remplie au fur et mesure qu'on r sout les sous
probl mes.
33
I. Alaya
ENSI -ISID
Algorithme approch VS Algorithme exact
" Les probl mes d'optimisation combinatoires sont en
g n ral NP-difficiles
" Ce probl me de l'explosion combinatoire limite
l'utilisation de m thodes exactes pour la r solution des
l'utilisation de m thodes exactes pour la r solution des
probl mes de petites tailles
" Dans les applications r elles (souvent de grande taille),
les m thodes incompl tes deviennent une alternative
int ressante
" Ces m thodes sacrifient la compl tude pour gagner
l'efficacit
34
I. Alaya
ENSI -ISID
Algorithme approch VS Algorithme exact
En r sum
" Algorithme exact : garantit une solution optimale
" Algorithme approch : pas de garantie d'optimalit
" Les m thodes exactes ne sont efficaces que pour les
" Les m thodes exactes ne sont efficaces que pour les
instances de probl mes de petite taille
" Les probl mes r els sont en g n ral de (tr s) grande
taille
" Les m thodes approch es sont plus efficaces pour les
probl mes de grande taille
" On ne s'int ressera ici qu'aux m thodes approch es
35
I. Alaya
ENSI -ISID
36
Notion dheuristique
Chaque tape de r solution repose sur deux op rations cl s:
" lop ration de d veloppement des alternatives
" Lop ration de choix dune alternative
Existence de plusieurs alternatives (cid:1) choix non
Existence de plusieurs alternatives (cid:1) choix non
d terministe
Non d terminisme: Absence dun moyen de choix
irr vocable
La t che essentielle dun algorithme de recherche est de
prendre en charge le non d terminisme: guider la
recherche dune solution en faisant des choix et en g rant
les retours sur ces choix tout en vitant lexplosion
combinatoire.
36
I. Alaya
ENSI -ISID
37
Notion dheuristique
" Une heuristique : du grec ancien eurisko, trouver
" Cest un moyen (un crit re, une proc dure, un ensemble
de r gles) destin r duire les alternatives et guider les
choix non d terministes que doit faire un algorithme de
recherche
recherche
" indispensable pour les probl mes NP-difficiles car
g n ralement en temps polynomial
" Une heuristique exploite g n ralement une information
sp cifique au probl me pos
" traduit une strat gie, une mani re de penser, s'appuyant
sur notre connaissance du probl me
37
I. Alaya
ENSI -ISID
38
Notion dheuristique
" Exemple1: TSP
Soit (u0, u1, &, um) la solution partielle examin e l tape
courante (liste des villes visit es) et V={V1, &, Vn }
courante (liste des villes visit es) et V={V1, &, Vn }
lensemble des alternatives qui soffrent partir de um
(villes restantes)
38
I. Alaya
ENSI -ISID
Notion dheuristique
Exemple1: TSP
Heuristiques possibles:
" H1(V)=d(um,v)
Manouba
39
Bizerte
Tunis
Ariana
Rad s
La Marsa
Soukra
39
I. Alaya
ENSI -ISID
40
Notion dheuristique
Exemple1: TSP
Heuristiques possibles:
H2(V)=d(um,v)+d(v,u0) (cid:1) un cycle doit revenir u0 : ce
H2(V)=d(um,v)+d(v,u0) (cid:1) un cycle doit revenir u0 : ce
quil reste faire (heuristique sur la distance restante)
40
Advertisement
I. Alaya
ENSI -ISID
Notion dheuristique
Exemple2: KP
Heuristiques possibles:
" Prendre chaque fois
" Prendre chaque fois
lobjet avec max profit
H1(j)= max pj
" Prendre chaque fois
lobjet avec min poids
H2(j)= min aj
41
I. Alaya
ENSI -ISID
42
Notion dheuristique
R sum
" Il sagit dun moyen de choisir, parmi plusieurs directions,
celle qui semble tre la plus indiqu e pour r soudre un
probl me
" Ce moyen peut tre tr s efficace mais quelque fois peut
" Ce moyen peut tre tr s efficace mais quelque fois peut
induire en erreur et orienter vers une fausse piste.
" Lheuristique est g n ralement fond e sur une
simplification du probl me initial, une relaxation des
contraintes qui font que ce probl me est difficile
" La qualit dune heuristique peut se mesurer en terme de
r duction de la complexit de la recherche: une heuristique h1
est pr f rable h2 si dans tous les cas h1 conduit explorer
moins dalternatives que h2
42
I. Alaya
ENSI -ISID
M taheuristique
" une heuristique est sp cifique un probl me et
ne peut pas tre g n ralis e
" m ta + heuristique = au-del + trouver (cid:1)
trouver avec un plus haut niveau d'abstraction
trouver avec un plus haut niveau d'abstraction
" une m taheuristique est un ensemble de
concepts : voisinage (modification d'une
solution), utilisation de la m moire...
" une m ta-heuristique est une heuristique
g n raliste, pouvant s'appliquer plusieurs
probl mes d'optimisation
43
I. Alaya
ENSI -ISID
M taheuristique
Source dinspiration biologique ou physique
" Algorithmes g n tiques
" Algorithmes g n tiques
" Recuit simul
" Optimisation par essaim de particules
" Optimisation par colonies de fourmis (ACO)
" &
44
I. Alaya
ENSI -ISID
M taheuristique
45
I. Alaya
ENSI -ISID
Espace de recherche
Lespace de recherche est une collection de solutions
potentielles un probl me
" Comment chercher de bonnes solutions dans cet
" Comment chercher de bonnes solutions dans cet
espace ?
" Il est important de connaitre les propri t s de cet
espace, e.g.,:
Taille : li e la repr sentation que l'on se fait des
solutions
Structure : li e la fa on avec laquelle on se
ballade/cherche dans cet espace (paysage de recherche)
46
I. Alaya
ENSI -ISID
Taille de l'espace de recherche
(SAT)
" Pour n=100 variables, la taille de l'espace de recherche
est : 2100
" Avec 1000 solutions valu es / sec : il faudrait 15
billions d'ann es pour valuer moins de 1% de l'espace
de recherche
" Pour k>2, k-SAT est NP-difficile ; k=2, Polynomial
47
I. Alaya
ENSI -ISID
Taille de l'espace de recherche
(TSP)
TSP de taille n (villes)
" TSP sym trique : dist(x,y) = dist(y,x)
" |S| = n!/2n = (n-1)! / 2 ; n>6 TSP > SAT
" |S| = n!/2n = (n-1)! / 2 ; n>6 TSP > SAT
" 10 villes = 181 000 solutions
" 20 villes = 10 000 . 000000 . 000000 solutions
" 50 villes = 100 000000000000000000000000000000
000000000000000000000000000000 solutions
" Il y a 1 000 . 000000 . 000000 . 000000 litres d'eau
dans la plan te !!
48
I. Alaya
ENSI -ISID
Paradigmes de recherche
" Construction solution construite par une suite de choix
" Recherche locale (ou voisinage) une solution initiale
modifi e it rativement
" volution une population de solutions volue par des
op rateurs g n tiques (s lection, croisement, mutation)
" Hybridation m lange des approches pr c dantes
49
I. Alaya
ENSI -ISID
Approches constructives
Approches constructives
"D finition
"Les algorithmes gloutons
"Optimisation par colonie de fourmis
Approches constructives
" Les approches constructives commencent
partir d'une solution vide qu'elles construisent
par incr ments au fur et mesure de la
par incr ments au fur et mesure de la
recherche
" M thode de base: les algorithmes gloutons
51
I. Alaya
ENSI -ISID
Approches constructives
Algorithmes gloutons (greedy algorithm)
" Principe : partir d'une solution initiale vide et
ajouter, d'une mani re incr mentale, des
composants de solutions sans remettre en cause les
composants de solutions sans remettre en cause les
choix ant rieurs jusqu' obtenir une solution
compl te.
" Deux questions essentielles :
D finir l'ensemble des composants (les l ments)
Comment s lectionner les composants qui donnent
le profit optimal chaque it ration
52
I. Alaya
ENSI -ISID
Approches constructives
53
I. Alaya
ENSI -ISID
Approches constructives
Choix de l l ment (composant de solution)
ajouter:
" Dans le cas le plus simple, de mani re al atoire.
" Dans le cas le plus simple, de mani re al atoire.
" De meilleurs r sultats sont g n ralement
obtenus en utilisant une heuristique du b n fice
qu'apporte le composant ajouter, c'est le crit re
gradient.
54
I. Alaya
ENSI -ISID
Approches constructives
Exemple 1: TSP
" Des algorithmes simples qui construisent des tourn es de
qualit raisonnable
" Souvent utilis s pour construire une solution initiale pour
" Souvent utilis s pour construire une solution initiale pour
d'autres heuristiques
" Plusieurs types d'algorithmes
It rativement tendre une tourn e partielle connexe
It rativement, construire des fragments de tourn e et les
connecter entre eux pour finalement former une tourn e compl te
Algorithmes plus complexes bas s sur les arbres recouvrants de
poids minimums
55
I. Alaya
ENSI -ISID
Approches constructives (TSP)
Heuristique du Plus Proche Voisin
" Commencer avec un sommet initial (choisi al atoirement)
" chaque tape, prendre l'ar te de poids minimum vers un
sommet non encore visit
sommet non encore visit
" tendre (v1, & , vk ) avec un sommet u non visit tel que
d(vk,u) soit minimale
" Compl ter pour obtenir un cycle hamiltonien: relier la
derni re ville la premi re (fermer la tourn e)
56
I. Alaya
ENSI -ISID
Plus Proche Voisin (TSP)
Exemple
57
I. Alaya
ENSI 2012-2013
Approches constructives (TSP)
Heuristique dInsertion
" Id e de construction :
1. initialisation : choisir al atoirement une premi re ville
2. chaque tape, un cycle de villes a t construit
2. chaque tape, un cycle de villes a t construit
y ins rer LA ville qui minimise un crit re donn
" insertion du plus proche voisin (nearest insertion) :
ins rer la ville la plus proche des villes d j visit es
" moindre co t (cheapest insertion) : ins rer la ville ayant
le moindre co t d'insertion (engeandrant la plus petite
augmentation de la longueur du cycle)
58
I. Alaya
ENSI -ISID
Approches constructives (TSP)
Heuristique dInsertion du PPV
Exemple
59
I. Alaya
ENSI 2012-2013
Approches constructives (TSP)
Plus Proche Voisin
Heuristique dinsertion
60
I. Alaya
ENSI -ISID
Approches constructives
Exemple 2: Knapsack Problem
" Heuristique possible: rajouter en priorit les objets
ayant le meilleur rapport valeur/poids, jusqu' ce que le
sac soit rempli
sac soit rempli
61
I. Alaya
ENSI -ISID
Approches constructives
Knapsack Problem
62
I. Alaya
ENSI -ISID
Approches constructives
Knapsack Problem
63
I. Alaya
ENSI -ISID
Approches constructives
Knapsack Problem
64
I. Alaya
ENSI -ISID
Approches constructives
Knapsack Problem
65
I. Alaya
Approches constructives
Knapsack Problem
66
I. Alaya
Advertisement
Approches constructives
Knapsack Problem
67
I. Alaya
ENSI -ISID
Approches constructives
Exemple 2: Knapsack Problem
Solution
Or on peut avoir
68
I. Alaya
ENSI -ISID
Approches constructives
Exemple 3: Bin Packing
" D'une fa on g n rale, un probl me de packing a pour objectif de
g n rer la meilleure allocation d'objets, sans qu'il y ait
chevauchement
" Le probl me du packing en deux dimensions intervient dans la
" Le probl me du packing en deux dimensions intervient dans la
mod lisation de nombreux probl mes principalement ceux li s
aux placements et la d coupe fr quemment rencontr dans
l'industrie du papier, du verre et du textile
" Dans le secteur informatique, on peut trouver des applications
aux probl mes de bin packing lorsque l'on cherche ranger des
fichiers sur des supports informatiques, ou lorsqu'on cherche
affecter des t ches des processeurs parall les.
69
M. Bellalouna
ENSI -ISID
Probl me du Bin Packing (BP)
" n objets , lobjet i est de taille xi inf rieur 1.
Ln={ xi} 1d i d n
" Une infinit de bo tes de m me taille 1
" Un ensemble fini de solutions S : partition possible
de Ln
" Nombre de bo te de la solution G est m
G=B1
B2
& Bm
" Objectif : chercher la r partition qui utilise le
minimum de bo tes.
70
M. Bellalouna
ENSI -ISID
R solution du Bin Packing
" BP : Probl me NP-Complet
" R solution exacte pour les probl mes de petites tailles:
Branch&Bound, Programmation dynamique.
Branch&Bound, Programmation dynamique.
" R solution approch e : heuristiques gloutonnes
tr s performantes surtout en moyenne
71
M. Bellalouna
ENSI -ISID
Heuristiques gloutonnes pour le BP
(cid:2) Next Fit (N.F) et Next Fit Decreasing
(cid:2) First Fit (F.F) et First Fit Decreasing
(cid:2) Best Fit (B.F) et Best Fit Decreasing
72
M. Bellalouna
ENSI -ISID
Heuristique Next Fit
Algorithme N.F : mettre le i me objet dans la derni re
bo te ouverte
j=1
Pour i allant de 1 n faire
si xi peut tre mis dans Bj, Bj
sinon
j 9
Bj
{xi}
j+1
9
9 Bj
{xi}
73
M. Bellalouna
ENSI -ISID
Heuristique Next Fit
x1
x2
x3
x5
x4
x6
74
M. Bellalouna
ENSI -ISID
First-Fit
Algorithme F.F : mettre le i me objet dans la premi re bo te
qui peut le contenir
1. k=1
2. Pour i=1 n faire
2. Pour i=1 n faire
Pour j=1 k faire
si xi peut tre mis dans Bj, Bj
9 Bj
{xi}
Si j 9
k alors k9
k+1 et Bk
9
{xi}
75
M. Bellalouna
ENSI -ISID
Best -Fit
Algorithme B.F : mettre le i me objet dans la bo te qui minimise
lespace perdu sur lensemble des bo tes ouvertes
1. k=1
2. pour i=1 n faire
le niveau de la bo te j)
le niveau de la bo te j)
Pour j=1 k faire ( lj
Pour j=1 k faire ( l
mettre xi , si possible , dans la bo te, Bu , qui minimise lespace
(
l
perdu
)
=
+
+
1
x
x
l
u
i
j
i
max
1
j
k
9
alors Bu
sinon k=k+1 Bk
Bu
{xi},
9
{xi}, lk = xi
76
M. Bellalouna
ENSI -ISID
Best Fit-Decreasing
Algorithme B.F.D : Ordonner la liste ensuite appliquer lalgorithme
BF.
1. Ordonner la liste (on note yi le i me objet dans la liste tri e)
2. k=k+1
3. Pour i=1 n faire
le niveau de la bo te j)
Pour j=1 k faire ( lj
mettre xi dans la bo te, Bu , qui minimise lespace perdu
alors Bu
sinon k=k+1 Bk
{yi}, lk = yi
{yi}
9
9 Bu
77
M. Bellalouna
ENSI -ISID
Heuristique Best Fit Decreasing
x1
x5
x3
x6
x2
NF
x1
x2
x3
78
M. Bellalouna
x4
x5
x4
x6
ENSI -ISID
79
Exercice : Heuristiques pour le BP
(cid:3) NF, FF , BF. Pour 10 objets de tailles :
Ln = {0,5;0,1;0,3;0,4;0,7;0,2; 0,6;0,6;0,1;0,5}
(cid:3) NFD, FFD, BFD. Pour 10 objets de tailles :
Ln = { 0,5; 0,7; 0,8;1; 0,1; 0,4; 0,3; 0,6; 0,2; 0,9}
79
M. Bellalouna
ENSI -ISID
Approches constructives
Avantages/ Inconv nient
" en O(n) (ou polynomial)
" une succession de choix localement optimaux ne garantit
pas une solution optimale
" l'utilisation du crit re gradient dans les premi res tapes
peut mener des d placements tr s faibles dans les
peut mener des d placements tr s faibles dans les
derni res phases de construction de solutions et
engendrer des solutions de qualit m diocre.
" La performance des algorithmes gloutons d pend
troitement de la pertinence de l'heuristique utilis e, i.e.
leur capacit exploiter les connaissances du probl me.
(cid:1) Les m taheuristiques
80
I. Alaya
ENSI -ISID
Optimisation par colonie de fourmis
Ant Colony Optimization (ACO)
" Approche constructive
" M taheuristique
" M taheuristique
" M thode stochastique
" M thode base de population
81
I. Alaya
ENSI -ISID
Source dinspiration
Les fourmis R elles
Traces de ph romone: une
substance chimique que les fourmis
arrivent d tecter
Aptitude des fourmis d couvrir le plus court chemin
82
I. Alaya
ENSI -ISID
Source dinspiration
" En se d pla ant, une fourmi d pose de la ph romone
marquant le chemin par une trace de cette substance.
" En absence de traces une fourmi se d place
al atoirement
" Par contre, une fourmi qui rencontre une trace de
ph romone d j d pos e peut la d tecter et d cider de la
suivre avec une probabilit proportionnelle l'intensit
de la trace
" Elle renforce ensuite cette trace avec sa propre
ph romone.
83
I. Alaya
ENSI -ISID
Source dinspiration
?
50%
50%
84
I. Alaya
ENSI -ISID
Analogie
Advertisement
Fourmis r elles
ACO
l'environnement dans lequel
les fourmis cherchent de la
les fourmis cherchent de la
nourriture
l'espace de recherche du
probl me
probl me
la quantit ou la qualit de la
nourriture
la fonction objectif optimiser
les traces de ph romone
une m moire adaptative
85
I. Alaya
ENSI -ISID
Analogie
- Coop ration : Traces de
ph romones artificielles
- L vaporation
- Politique de transition
probabiliste
- MAJ de ph romone guid e
par
la qualit des solutions
g n r es
Probl me
r soudre
- M moire Priv e
-Vivent dans monde discret
- D p t de ph romone
Solutions
86
I. Alaya
ENSI -ISID
8
6
M taheuristique ACO
(cid:4) Mod liser le probl me (cid:5) Recherche dun chemin optimal
dans un graphe appel graphe de construction
(cid:4) Utiliser les fourmis artificielles (cid:5) Recherche des bons chemins
(cid:4) Utiliser les fourmis artificielles (cid:5) Recherche des bons chemins
(cid:5) Construction stochastique de solutions guid e par les traces de
ph romone
(cid:4) Mise jour de ph romone
87
I. Alaya
ENSI -ISID
Ant System Dorigo 1991
Application au probl me de voyageur de commerce
(cid:4) Phase Construction de solutions
(cid:5) Choisir une ville de d part
(cid:5) Choisir la prochaine ville relativement :
- Information heuristique (h )
- Traces de ph romone (t )
( )
=
tp
k
ij
b
a
[
( )
t
t
[
t
] [
]
h
ij
] [
( )
a
h
t
ik
ik
b
]
(cid:4) Phase Mise jour de ph romone
k
k
(
)
(cid:215)=+
t
tr
nt
ij
r = persistance
m
=
t
ij
k
=
1
( )
D+
t
ij
t
ij
m: nbr de fourmi
Q: constante
Q
L
k
Si lar te (i,j) Lk
88
I. Alaya
ENSI -ISID
(cid:215)
(cid:215)
D
Ph romone
Information
heuristique
( )
( )
=
=
tp
tp
k
k
ij
b
[
[
( )
( )
t
t
t
t
[
[
t
] [
]
]
] [
a h
h
ij
ij
] [
] [
( )
a h
t
ik
ik
b
]
]
k
Ville
courante
Ville
candidate
89
I. Alaya
ENSI -ISID
(cid:215)
(cid:215)
(cid:215)
Ant System
Pour chaque cycle
Pour chaque fourmi
Choisir un noeud de d part
Pour chaque noeud
M. Dorigo, 1991
Choisir un noeud suivant probabilit :
Fin Pour
Fin Pour
Mettre jour la ph romone sur les chemins construits par les fourmis
Mettre jour la meilleure solution trouv e S*
Fin Pour
90
I. Alaya
ENSI -ISID
Variantes
Strat gie litiste
Strat gie litiste
Donner la meilleure solution un poids additionnel
ASrank
ASrank
Tri les fourmis selon les co ts des solutions g n r es
les w meilleures fourmis sont autoris es m j la ph romone
ACSACS
ACSACS
Seule la fourmi qui a produit la meilleure solution peut m j
la trace de ph romone
Probabilit de transition pseudo-proportionnelle
MMASMMAS
-Introduction des limites sup rieures et inf rieures aux
valeurs de ph romone t
- Seule la meilleure fourmi peut ajouter de la ph romone
min<=t
ij <=t
max
91
I. Alaya
ENSI -ISID
Optimisation par colonie de fourmis
Avantages / Inconv nients
++ Lutilisation des traces de ph romone permet dexploiter
lexp rience de recherche acquise par les fourmis et renforcer
lapprentissage pour la construction des solutions.
++ LACO peut tre appliqu e nimporte quel probl me
++ LACO peut tre appliqu e nimporte quel probl me
doptimisation combinatoire qui peut tre formalis comme une
recherche de chemin optimal dans un graphe.
-- Un param trage non tudi de lalgorithme fourmi peut mener
des solutions sous-optimales.
-- Des travaux de preuve de la convergence la solution
optimale ont t propos s.
92
I. Alaya
ENSI -ISID
Intensification/ Diversification
Lors de la r solution dun POC avec une approche
heuristique, il s'agit de trouver un bon compromis entre deux
objectifs relativement duaux :
" Intensification de la recherche autour des zones de l'espace
" Intensification de la recherche autour des zones de l'espace
de recherche les plus prometteuses, qui sont g n ralement
proches des meilleures solutions trouv es ;
" Diversification de la recherche : favoriser l'exploration afin
de d couvrir de nouvelles et si possible meilleures zones de
l'espace de recherche.
93
I. Alaya
ENSI -ISID
Optimisation par colonie de fourmis
Intensification/ Diversification
Dans ACO, la diversification peut tre augment e
" soit en diminuant la valeur du poids du facteur ph romonal a
(de sorte que les fourmis deviennent moins sensibles
aux traces ph romonales),
aux traces ph romonales),
" soit en diminuant le taux d' vaporation r
la ph romone s' vapore plus doucement et les carts d'une
trace l'autre voluent plus doucement).
Lorsque l'on augmente ainsi la capacit exploratoire des
fourmis, on trouve g n ralement de meilleures...