Vous êtes sur la page 1sur 48

Université Blida 1

Faculté des Sciences


Département d’Informatique
Master GSI (Génie des Systèmes Informatiques)
Semestre 1

CHAPITRE IV:
HEURISTIQUES
ET MÉTA-HEURISTIQUES

Mme AROUSSI

2015-2016

Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/


PLAN DU CHAPITRE IV

 Problèmes d’Optimisation Combinatoire

 Classification des Méthodes de Résolution

 Méthodes Exactes
 Méthode de séparation et d’évaluation

 Méthodes Approchées
 Méthodes par construction (algorithme de glouton)

 Méthodes de voisinage (recuit simulé & recherche taboue)


2
PROBLÈME D’OPTIMISATION COMBINATOIRE
 On qualifié généralement de « combinatoires » les

problèmes dont la résolution se ramène à l'examen d'un

nombre fini de combinaisons (appelée aussi solutions).

Bien souvent cette résolution se heurte à une explosion

du nombre de combinaisons à explorer.

 En mathématique, l’optimisation combinatoire recouvre

toutes les méthodes qui permettent de déterminer


3

l’optimum d’une fonction avec ou sans contraintes.


PROBLÈME D’OPTIMISATION COMBINATOIRE
 Un Problème d‘Optimisation Combinatoire (POC) peut être définie

comme suit:

 Un ensemble de combinaisons ou de solutions X,

 Un ensemble de contraintes C (éventuellement vide)

 Un sous-ensemble S de X représentant les solutions admissibles (ou

réalisables) qui vérifient les contraintes C

 Une fonction de coût f (fonction objectif) qui assigne à chaque

solution s  S une valeur f(s).

 Il s’agit de trouver une solution optimale (ou optimum global) s*  S


4
qui optimise (minimise ou maximise) la fonction de coût f
PROBLÈME D’OPTIMISATION COMBINATOIRE
 Soit « Dist » une fonction qui mesure la distance entre deux

solutions: Dist: S x S  R (e.g. Distance euclidienne,

Manhattan, Hamming) . La notion de voisinage est définie par

rapport à une distance N(si) = {sk ∈ S / Dist(si,sk) ≤ ε}

 Une solution s∈S est un minimum local relativement à la

structure de voisinage N si f(s)≤f(s’) pour tout s’∈N(s).

 Une solution s∈S est un minimum global si f(s)≤f(s’) pour

tout s’∈S. 5
PROBLÈME D’OPTIMISATION COMBINATOIRE
F: fonction objectif

S2: Optimum global

S1: Optimum local

S0: Solution de départ

S: Solutions réalisables

6
PROBLÈME D’OPTIMISATION COMBINATOIRE

 Résoudre un problème d’optimisation combinatoire nécessite

l’étude des points suivants:

1. Définir l’ensemble des solutions « X »

2. Exprimer l’ensemble des contraintes du problème « C »

afin de définir l’ensemble des solutions réalisables « S »,

3. Exprimer la fonction objectif « f » à optimiser,

4. Choisir la méthode de résolution à utiliser,

 Les trois premiers points relèvent de la modélisation 7du

problème, le dernier point de sa résolution.


PROBLÈME D’OPTIMISATION COMBINATOIRE

 A chaque problème d'optimisation, on peut associer un

problème de décision dont le but est de déterminer s'il existe

une solution pour laquelle la fonction objectif soit inférieure

(resp. supérieure) ou égale à une 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é. En particulier, si le

problème de décision est NP-complet, alors le problème


8
d'optimisation est dit NP-difficile.
CLASSIFICATION DES MÉTHODES DE RÉSOLUTION

 La majorité des problèmes d'optimisation combinatoire, sont des

problèmes NP-difficiles et donc ils ne possèdent pas à ce jour un

algorithme efficace, i.e. de complexité polynomiale, valable de trouver la

solution optimale en un temps raisonnable.

 Ceci a motivé les chercheurs à développer de nombreuses méthodes de

résolution en recherche opérationnelle et en intelligence artificielle:

 La recherche s’est d'abord orientée vers des heuristiques spécifiques

aux problèmes,

 elle s’est progressivement intéressée aux méthodes plus générales,


9
c'est à dire les méta-heuristiques.
CLASSIFICATION DES MÉTHODES DE RÉSOLUTION

 Ces méthodes de résolution peuvent être réparties en deux

grandes classes:

 Méthodes exactes (complètes): Elles se basent

généralement sur une recherche complètes de l’espace des

combinaisons afin de trouver une solution optimale.

 Méthodes approchées (incomplètes): Elles permettent

de trouver une bonne solution (pas forcément optimale)


10
dans un temps raisonnable.
CLASSIFICATION DES MÉTHODES DE RÉSOLUTION

Méthodes Exactes Méthodes Approchées

Méthodes de séparation et
Heuristiques
d’évaluation

Méthode avec retour en arrière Méta-heuristiques

Programmation dynamique

Programmation linéaire 11
MÉTHODES EXACTES

 Le principe des méthodes exactes consiste

généralement à énumérer, souvent de manière

implicite, l'ensemble des solutions dans le but de

trouver la solution optimale:

 Avantage: Certitude de trouver la solution optimale.

 Inconvénient: Temps d’exécution prohibitif.


12
MÉTHODES EXACTES

 Les algorithmes exacts les plus réussis dans

la littérature appartiennent aux quatre

paradigmes :

 Méthodes de séparation et d’évaluation

 Méthodes avec retour arrière

 Programmation dynamique
13
 Programmation linaire
MÉTHODES EXACTES
MÉTHODES DE SÉPARATION ET D’ÉVALUATION
 L’algorithme de séparation et évaluation, plus connu sous son

appellation anglaise Branch and Bound (B&B), repose sur une

méthode arborescente de recherche d’une solution optimale par

séparations et évaluations, en représentant les états solutions

par un arbre d’états, avec des nœuds, et des feuilles.

 Le branch-and-bound est basé sur trois axes principaux :

1. L’évaluation,

2. La séparation,
14

3. La stratégie de parcours.
MÉTHODES EXACTES
MÉTHODES DE SÉPARATION ET D’ÉVALUATION
1. L’évaluation permet de réduire l’espace de recherche en éliminant

quelques sous ensembles qui ne contiennent pas la solution

optimale.

 Exemple d’un POC cas de minimisation: Le B&B utilise une

élimination de branches dans l’arborescence de recherche de la manière

suivante : mémoriser la solution de plus bas coût rencontré pendant

l’exploration, et à comparer le coût de chaque nœud parcouru à celui de

la meilleure solution. Si le coût du nœud considéré est supérieur au

meilleur coût, on arrête l’exploration de la branche et toutes les


15
solutions de cette branche seront nécessairement de coût plus élevé que

la meilleure solution déjà trouvée.


MÉTHODES EXACTES
MÉTHODES DE SÉPARATION ET D’ÉVALUATION

2. La séparation consiste à diviser le problème en

sous-problèmes. Ainsi, en résolvant tous les sous-

problèmes et en gardant la meilleure solution

trouvée, on est assuré d’avoir résolu le problème

initial. Cela revient à construire un arbre

permettant d’énumérer toutes les solutions.


16
MÉTHODES EXACTES
MÉTHODES DE SÉPARATION ET D’ÉVALUATION
3. La stratégie de parcours. Il existe trois parcours

possible de l’arbre:

a. La profondeur d’abord: Cette stratégie avantage les sommets les plus éloignés de la

racine en appliquant plus de séparations au problème initial. Cette voie mène rapidement

à une solution optimale en économisant la mémoire,

b. Le meilleur d’abord: Cette stratégie consiste à explorer des sous-problèmes

possédant la meilleure borne. Elle permet aussi d’éviter l’exploration de tous les sous-

problèmes qui possèdent une mauvaise évaluation par rapport à la valeur optimale.

c. La largeur d’abord: Cette stratégie favorise les sommets les plus proches de la racine

en faisant moins de séparations du problème initial. Elle est moins efficace que les deux
17
autres stratégies présentées,
MÉTHODES APPROCHÉES
 Les méthodes approchées ont pour but de trouver une solution

admissible en un temps raisonnable, mais sans garantie

l’optimalité de cette solution. L’avantage principale de ces

méthodes est qu'elles peuvent s'appliquer à n'importe quelle

classe de problèmes, faciles ou très difficiles. De plus, elles ont

démontré leurs robustesses et efficacités face à plusieurs

problèmes d’optimisation combinatoires.

 Elles englobent deux classes : Heuristiques & Méta-


18

heuristiques
MÉTHODES APPROCHÉES
HEURISTIQUES

 Les heuristiques sont des règles empiriques simples

basées sur l'expérience, ne fournissant pas

nécessairement une solution optimale.

Exemple: Heuristiques de Choix de Variables du

problème Max-Sat
Du fait de la relation forte entre l’ordre d’affectation des variables et la taille de

l’arbre de recherche développé, une « bonne » heuristique de branchement est


19
déterminante pour l’efficacité d’un algorithme de recherche. Parmi ces

heuristiques:
MÉTHODES APPROCHÉES
HEURISTIQUES

 Exemple: Heuristiques de Choix de Variables du

problème Max-Sat
1. L’heuristique MOMS (Maximum Occurrences in Clauses of Minimum Size)

est l’une des heuristiques les plus simples. Elle sélectionne la variable

ayant le plus d’occurrences dans les clauses les plus courtes. Ce choix se

justifie par le fait qu’elle favorise la propagation des littéraux unitaires.

2. L’heuristique JW (Jeroslow-Wang) est basée également sur la longueur des

clauses. Elle donne aussi plus de poids aux variables apparaissant dans les
20
clauses les plus courtes.
MÉTHODES APPROCHÉES
HEURISTIQUES

 Exemple: Heuristiques de Choix de Variables du

problème Max-Sat
3. L’heuristique UP ( Unit Propagation) permet de sélectionner une variable

en prévoyant à l’avance son influence sur le processus de la recherche,

contrairement aux heuristiques MOMS et JW qui sélectionnent une

variable en fonction de l’état courant du processus de recherche. Cette

étude de l’influence de la variable est calculée via la procédure de

propagation unitaire ce qui permet d’estimer son poids. La variable ayant


21
le poids le plus fort est sélectionnée.
MÉTHODES APPROCHÉES
MÉTA-HEURISTIQUES

Le mot Méta-Heuristique est dérivé de la composition de

deux mots grecs:

 heuristique qui vient du verbe heuriskein (ευρισκειν) et qui

signifie ‘trouver’

 meta qui est un suffixe signifiant ‘au-delà’, ‘dans un niveau

supérieur’.

22
MÉTHODES APPROCHÉES
MÉTA-HEURISTIQUES

Une Méta-heuristique peut être définie comme une

méthode algorithmique capable de guider et d’orienter le

processus de recherche dans un espace de solution

(souvent très grand) à des régions riches en solutions

optimales dans le but de trouver des solutions, peut-être

pas toujours optimales, en tout cas très proches de

l’optimum, en un temps raisonnable. 23


MÉTHODES APPROCHÉES
MÉTA-HEURISTIQUES

Les propriétés fondamentales des Méta-Heuristiques sont

les suivantes:
1. Les méta-heuristiques sont des stratégies qui permettent de
guider la recherche d’une solution optimale
2. Le but visé par les méta-heuristiques est d’explorer l’espace de
recherche efficacement afin de déterminer des solutions
(presque) optimales.
3. Les techniques qui constituent des algorithmes de type méta-
heuristique vont de la simple procédure de recherche locale à
des processus d’apprentissage complexes.
4. Les méta-heuristiques sont en général non-déterministes et ne
donnent aucune garantie d’optimalité 24
MÉTHODES APPROCHÉES
MÉTA-HEURISTIQUES

Les propriétés fondamentales des Méta-Heuristiques sont

les suivantes:
5. Les méta-heuristiques peuvent contenir des mécanismes qui
permettent d’éviter d’être bloqué dans des régions de l’espace de
recherche.
6. Les concepts de base des méta-heuristiques peuvent être décrit
de manière abstraite, sans faire appel à un problème spécifique.
7. Les méta-heuristiques peuvent faire appel à des heuristiques
qui tiennent compte de la spécificité du problème traité, mais
ces heuristiques sont contrôlées par une stratégie de niveau
supérieur.
8. Les méta-heuristiques peuvent faire usage de l’expérience 25
accumulée durant la recherche de l’optimum, pour mieux guider
la suite du processus de recherche.
MÉTHODES APPROCHÉES
MÉTA-HEURISTIQUES

On classer les méta-heuristiques selon leur principe de

fonctionnement:

 Méthodes par construction (approche gloutonne);

 Méthodes de voisinage (recuit simulé, recherche

tabou);

 Méthodes évolutives (algorithmes génétiques)

 Méthodes biomimétiques (algorithme de colonies de


26

fourmis & d’essaim de particules)


MÉTA-HEURISTIQUES
MÉTHODES PAR CONSTRUCTION

Principe:

 On démarre d’une solution initiale vide;

 A chaque itération, une variable est choisie (aléatoirement ou via

une heuristique) à laquelle est attribuée une valeur du domaine;

 Le critère d’arrêt est l’affectation d’une valeur à toutes les

variables du problème.

Avantage et inconvénient: Simples mais performances

médiocres. 27

Exemple : méthode gloutonne


MÉTHODES PAR CONSTRUCTION
MÉTHODE GLOUTONNE

 La méthode gloutonne permet de construire une solution

pas à pas

 sans jamais revenir sur ses décisions,

 en prenant à chaque étape la solution qui semble la

meilleure localement (heuristique),

 en espérant obtenir une solution optimale.


28
MÉTHODES PAR CONSTRUCTION
MÉTHODE GLOUTONNE

Exemple 1: Problème du MAX-SAT

 A chaque étape, choisir une variable X (aléatoire ou heuristique)

et l’affecter une valeur de vérité VP (vrai ou faux) permettant de

satisfaire le plus grand nombre de clauses non satisfaites.

Exemple 2: Problème du sac à dos

 Trier les objets selon un critère donnée (e.g., le rapport


valeur/poids) et sélectionner un objet (e.g., de plus grand
rapport) jusqu’à atteindre la capacité maximale de sac à dos
29
MÉTA-HEURISTIQUES
MÉTHODES DE VOISINAGE
Les méthodes de voisinage se basent sur la notion de
voisinage.
Principe: Une méthode typique de voisinage débute avec
une configuration initiale, et réalise ensuite un processus
itératif qui consiste à remplacer la configuration courante
par l'un de ses voisins en tenant compte de la fonction de coût.
Ce processus s'arrête et retourne la meilleure configuration
trouvée quand la condition d'arrêt est réalisée. Cette
condition d'arrêt concerne généralement une limite pour le
nombre d'itérations, le temps d’exécution ou un objectif 30à
réaliser.
MÉTA-HEURISTIQUES
MÉTHODES DE VOISINAGE
Avantages et inconvénients: Un des avantages des
méthodes de voisinage réside précisément dans la
possibilité de contrôler le temps de calcul : la qualité de la
solution trouvée tend à s'améliorer progressivement au
cours du temps et l'utilisateur est libre d'arrêter
l'exécution au moment qu'il aura choisi. Cependant, la
solution obtenue dépend fortement de la solution initiale
et de la stratégie de voisinage et de parcours de ce
voisinage. 31

 Exemple: Recuit Simulé, Recherche Tabou, ……


MÉTHODES DE VOISINAGE
RECUIT SIMULÉ
La méthode du Recuit Simulé repose sur une analogie avec
la thermodynamique où la fonction à minimiser est l'énergie
du système.
Le recuit est un processus physique de chauffage. Un
système physique porté à une température assez élevée
devient liquide, et dans ce cas le degré de liberté des atomes
qui le composent augmente. Inversement lorsque l'on baisse
la température le degré de liberté diminue jusqu'à obtenir
un solide. Suivant la façon dont on diminue la température
32
on obtient des configurations d'énergie différentes :
MÉTHODES DE VOISINAGE
RECUIT SIMULÉ
Suivant la façon dont on diminue la température on obtient
des configurations d'énergie différentes :
 Baisse brutale de la température, la configuration atteinte est le
plus souvent un état métastable, dont l'énergie est supérieure à
celle du minimum absolu. Le système est en quelque sorte piégé
dans ce minimum local.
 Baisse progressive de la température de façon à éviter de piéger
le système dans des vallées d'énergie élevée, pour l'envoyer vers
les bassins les plus importants et les plus profonds, là où les
baisses ultérieures de température le précipiteront vers les fonds.
33
MÉTHODES DE VOISINAGE
RECUIT SIMULÉ

34
MÉTHODES DE VOISINAGE
RECUIT SIMULÉ
Le principe du recuit simulé est de parcourir de manière
itérative l’espace des solutions:
1. On part avec une solution notée s0 initialement générée de
manière aléatoire dont correspond une énergie initiale E0, et une
température initiale T0 généralement élevée.
2. A chaque itération de l’algorithme, un changement élémentaire est
effectué sur la solution, cette modification fait varier l’énergie du
système ΔE. Si cette variation est négative (la nouvelle solution
améliore la fonction objective, et permet de diminuer l’énergie du
système), elle est acceptée. Si la solution trouvée est moins bonne
que la précédente alors elle sera acceptée avec une probabilité35P
calculée suivant la distribution de Boltzmann.
MÉTHODES DE VOISINAGE
RECUIT SIMULÉ

36
MÉTHODES DE VOISINAGE
RECUIT SIMULÉ
1. Engendrer une configuration initiale S0 de S : SS0
2. Initialiser la température T en fonction du schéma de
refroidissement
3. Répéter
a. Engendrer un voisin aléatoire S’ de S
b. Calculer ΔE = f (S’) - f(S)
c. Si Δ E ≤ 0 alors SS’
Sinon accepter S’ comme la nouvelle solution avec la probabilité
P(E, T) = exp (- ΔE/T)
a. Mettre T à jour en fonction du schéma de refroidissement
(réduire la température) 37

4. Jusqu’à la condition d’arrêt


MÉTHODES DE VOISINAGE
RECUIT SIMULÉ
Le choix de la température est primordial pour garantir
l’équilibre entre l’intensification et la diversification des
solutions dans l’espace de recherche. En effet, on peut
considérer une grande augmentation de la température comme
un processus de diversification alors que la décroissance de la
température correspond à un processus d’intensification.

38
MÉTHODES DE VOISINAGE
RECUIT SIMULÉ

Premièrement, le choix de la température initiale dépend

de la qualité de la solution de départ. Si cette solution est

choisie aléatoirement, il faut prendre une température

relativement élevée.

39
MÉTHODES DE VOISINAGE
RECUIT SIMULÉ
 De manière générale, les schémas de la décroissance (ou réduction)
de la température (ou schémas de refroidissement) peuvent être
classés en trois catégories :
 décroissance par paliers: chaque température est maintenue égale
pendant un certain nombre d'itérations, et décroît ainsi par paliers.
 Décroissance linéaire ou continue: la température est modifiée à chaque
itération.
 Décroissance non-monotone: la température décroît à chaque itération
avec des augmentations occasionnelles.

40
MÉTHODES DE VOISINAGE
RECUIT SIMULÉ
Avantages:
 Souple vis-à-vis des évolutions du problème et facile à
implémenter,
 Evite le piège des optima locaux,
 Excellents résultats pour un nombre de problèmes
complexes.
Inconvénients:
 Nombreux tests nécessaires pour trouver les bons
paramètres,
 Définir les voisinages permettant un calcul efficace de ΔE.41
MÉTHODES DE VOISINAGE
RECHERCHE TABOU
La méthode tabou fait appel à un ensemble de règles
et de mécanismes généraux pour guider la recherche de
manière intelligente au travers de l'espace des solutions.
A l'inverse du recuit simulé qui génère de manière
aléatoire une seule solution voisine s’ ∈ N(s) à chaque
itération, la recherche tabou examine un échantillonnage
de solutions de N(s) et retient la meilleure s’ même si
s’ est plus mauvaise que s. La recherche tabou ne
s'arrête donc pas au premier optimum trouvé. 42
MÉTHODES DE VOISINAGE
RECHERCHE TABOU
Cependant, cette stratégie peut entraîner des cycles, par
exemple un cycle de longueur 2 : s→s’→s→s’ ...
Pour empêcher ce type de cycle, la recherche tabou utilise
une liste T (appelée liste tabou) qui mémorise les k
dernières solutions visitées et interdit tout mouvement
vers une solution de cette liste.
Cette liste permet d'éviter tous les cycles de longueur
inférieure ou égale à k. La valeur de k dépend du
problème à résoudre et peut éventuellement évoluer 43
au
cours de la recherche.
MÉTHODES DE VOISINAGE
RECHERCHE TABOU
Les solutions ne demeurent dans T que pour un nombre
limité d’itérations. La liste T est donc une mémoire à
court terme. En effet, quand le nombre k est atteint,
chaque nouvelle solution sélectionnée remplace la plus
ancienne dans la liste. La construction de la liste tabou
est basée sur le principe FIFO, c’est-à-dire le premier
entré est le premier sorti.

44
MÉTHODES DE VOISINAGE
RECHERCHE TABOU

45
MÉTHODES DE VOISINAGE
RECHERCHE TABOU
1. Initialisation
a. S0 une solution initiale
b. SS0; S* S0; C*f(S0)
c. T =  (c’est la liste tabou dont la taille maximale est k)
2. Répéter
a. Générer un sous ensemble de solution au voisinage de s et
garder la meilleure solution s’

b. Ajouter s’ à la liste T 46

3. Jusqu’à la condition d’arrêt


MÉTHODES DE VOISINAGE
RECHERCHE TABOU
La liste tabou demande typiquement beaucoup de place
mémoire et du temps (pour les opérations de mis à jours
la liste).
 Certains préconisent l’utilisation des listes taboues réactives dont
la taille varie selon les résultats de la recherche. Ainsi, si des
solutions sont visitées de manière répétée (à intervalle > |t|)
alors on peut augmenter la longueur de la liste, ce qui aura pour
effet de diversifier la recherche. Par contre, si la solution
courante n’est que rarement améliorée, cela peut signifier qu’il
est temps d’intensifier la recherche en évitant d’interdire trop de
47
solutions dans le voisinage de la solutions courante, et en
diminuant donc la longueur de la liste taboue.
SOURCES DE CE COURS
 Karima Benatchba, Cours de Techniques d’optimisation, ESI, 2009.

 S. Le Digabel, Introduction aux métaheuristiques, Ecole Polytechnique de


Montréal, 2014.

 Sidi Mohamed Douiri, Souad Elbernoussi & Halima Lakhbab. Cours des
Méthodes de Résolution Exactes Heuristiques et Métaheuristiques, Faculté
des Sciences de Rabat, Université Mohammed V.

 Jin-Kao Hao, Philippe Galinier, Michel Habib. Méthaheuristiques pour


l’optimisation combinatoire et l’affectation sous contraintes, Revue
d’Intelligence Artificielle, Vol 1999.

 Saïd Jabbour, De la Satisfiabilité Propositionnelle aux Formules


Booléennes Quantifiées, thèse de doctorat, Université d’Artois, 2008.
48
 Nadjib Lazaar, Exploration de techniques de recherche locale pour la
génération automatique de cas de test. Etude bibliographique, 2011.