• Aucun résultat trouvé

2.6 Conclusions

3.1.5 Méthodes de recherche locale

Sur la figure3.1, nous avons présenté les deux grandes familles de méta-heuristiques : — Méthodes à base de voisinage ou méthode à solution unique.

— Méthodes à base de population de solutions.

Les méthodes à base de voisinage, également appelées recherches locales, cherchent à parcourir l’espace de recherche en passant de solution en solution, de proche en proche. Les méthodes à base de population exploitent un ensemble de solutions et font évoluer la population de solutions en mettant en place des stratégies de sélection, de croisement et de mutation des solutions.

Nous présentons, pour notre part, uniquement les méthodes de recherches locales exploitées dans cette étude :

— Méthode de descente, — Recherche Tabou,

— Méthode de recherche locale itérée.

Avant cela, nous définissons la notion de voisinage nécessaire aux recherches locales.

Notion de voisinage A toute solution s, il est possible d’associer un ensemble de voisins.

Cet ensemble est généré à partir de s en appliquant de petites modifications sur s. Cette méthode nous permet d’explorer, sans changer radicalement la solution s, des solutions proches afin d’en évaluer la qualité. Ce petit changement sur s est opéré par un opérateur

de voisinage.

Ainsi, l’on obtient la définition suivante :N (s), voisinage de s, est l’ensemble des voi- sins de s obtenu par l’application de l’opérateur de voisinageN sur s.

Il est également possible de définir le terme d’optimum local par rapport à l’opéra- teur de voisinageN (s) dans le cas d’une minimisation par : s est un optimum local si et seulement s’il n’existe dans le voisinage de s, aucune solution meilleure que s :

∀s0∈ N (s), f (s) ≤ f (s0) (3.2)

Méthode de descente Les méthodes de descente ou Hill climbing (HC) sont les recher-

ches locales les plus simples. Partant d’une solution, elles recherchent dans le voisinage de celle-ci, une nouvelle solution permettant d’améliorer la fonction objectif. L’algorithme

3.1décrit cette méthode pour un problème de minimisation.

Cette méthode atteindra donc naturellement un optimum local.

Le principal problème de la méthode de descente est de terminer la recherche lorsque tous les voisins possibles (issus d’un opérateur) ont été évalués et qu’un optimum local a été décelé. Il est possible d’avoir manqué une meilleure solution dans une autre zone de l’espace de recherche.

Algorithm 3.1 Simple Hill Climbing Algorithm

Given s ∈ D

while Stopping criterion not met do

Select s0∈ N (s)

if f (s0) < f (s) then

s ← s0

end if end while

La mise en œuvre d’une telle méthode, nécessite de préciser le type d’exploration de voisinage à utiliser. En effet, il existe différentes méthodes de sélection du voisin à consi- dérer.

La stratégie du First Improvement par exemple sélectionne parmi les solutions voi- sines la première solution qui améliore la fonction objectif. Cette méthode n’impose pas naturellement la définition d’un critère d’arrêt puisque la descente se poursuit jusqu’à ce qu’il n’y ait plus de voisin permettant d’améliorer la solution courante. Il est cependant possible d’y ajouter des critères d’arrêt sur le temps de calcul, sur le nombre d’itérations ou tout autre indicateur concernant par exemple la qualité de la solution proposée.

La stratégie du Best improvement est parfois utilisée. Elle permet, à chaque itération, parmi un voisinage, de sélectionner le meilleur voisin. Cette stratégie impose donc une évaluation de tous les voisins d’une solution au risque d’allonger le temps de calcul. En effet, le recours à la fonction d’évaluation peut être très consommateur de ressources.

Recherche Tabou La recherche Tabou introduite par F. Glover (GLOVER[1989],GLOVER

et LAGUNA[2013]) ajoute une mémoire à court terme à l’algorithme.

L’algorithme accepte parfois des solutions qui n’améliorent pas toujours la solution courante. L’algorithme met en œuvre une liste taboue (tabu list) T de longueur k conte- nant les k dernières solutions visitées. Cette liste ne donne pas la possibilité à une solution déjà trouvée d’être acceptée et stockée dans la liste tabou. Alors le choix de la prochaine solution est effectué sur un ensemble des solutions voisines en dehors des éléments de cette liste taboue. Quand le nombre k est atteint, chaque nouvelle solution sélectionnée remplace la plus ancienne dans la liste. La construction de la liste taboue est basée sur le principe FIFO, c’est-à-dire le premier entré est le premier sorti.

Comme critère d’arrêt, on peut par exemple fixer un nombre maximum d’itérations sans amélioration de s∗, ou bien fixer un temps limite à la suite duquel la recherche doit s’arrêter.

La taille de la liste Tabou peut être pilotée dynamiquement (en cours de calcul) mais est souvent définie a priori, en amont de la résolution.

Le principe de cette méthode est présenté ci-dessous :

Méthode de recherche locale itérée La recherche locale itérée ou Iterated local search

(ILS) exploite une nouvelle fois le principe de la descente (LOURENÇOet collab.[2010]). Cependant, lorsque la méthode atteint un optimum local, une perturbation forte est ap- pliquée à la solution par un opérateur de perturbation. Le choix de l’opérateur est très important car il doit permettre de sortir de l’optimum local et de s’en éloigner suffisam- ment pour ne pas y revenir.

Algorithm 3.2 Tabu Search

Given s ∈ D

s∗ ← s

Clear T

while Stopping criterion not met do

Select the best neighbor s0∈ N (s) and s0∉ T

s ← s0 Update T if f (s) < f (s∗) then s∗ ← s end if end while

FIGURE3.2 – Perturbation lors d’une recherche locale itérée

Une fois le nouveau voisin généré, une nouvelle descente est exécutée espérant ainsi explorer une nouvelle partie de l’espace de recherche et trouver une meilleure solution.

Cette méthode impose un critère d’arrêt et demande un paramétrage pertinent pour l’opérateur de perturbation.