• Aucun résultat trouvé

Chaîne logistique

3.4 Méta-heuristiques

3.4.4 Le recuit simulé

3.4.4.1 Introduction

La méthode du recuit simulé pour les problèmes d’optimisation combinatoire s’appuie sur les travaux de Metropolis (Metropolis, 1953) qui a décrit l’évolution de l’équilibre thermodynamique d’un système physique. A température nulle, le système évolue à partir d’une configuration vers la, ou les, configurations d’énergie les plus basses par une méthode du type gradient. En revanche, à température non nulle, le système peut être tiré vers d’autres bassins plus intéressants. En bref, il faudrait que la température soit assez grande pour permettre au système de sauter les barrières, et assez faible pour lui permettre d’être attiré vers le fond. C’est une approche à dynamique double : recherche de minima à température fixée, plus une dynamique de diminution de la température. La recherche par un système physique

des états d’énergie les plus bas est transformée par analogie en un processus d’optimisation combinatoire.

Kirkpatrick (Kirkpatrick, 1983) a été le premier à introduire cette méthode pour les problèmes d’optimisation combinatoire.

3.4.4.2 Principe de fonctionnement

L’idée du recuit simulé en optimisation combinatoire est de simuler une opération de recuit thermique. Partant d’une solution (configuration) initiale qui peut être générée aléatoirement ou à l’aide d’une heuristique constructive, on génère une solution proche (dans le voisinage) d’une manière totalement aléatoire ou bien suivant une méthode spécifique au problème traité intégrant du hasard. Au départ, on configure la température à un niveau assez élevé pour éviter de tomber dès le départ dans un optimum local. Le voisin de la solution initiale peut soit améliorer, soit dégrader le critère à optimiser. Si le voisin améliore le critère, alors il est immédiatement accepté et devient la configuration courante. La réitération de ce processus conduit à trouver la meilleure solution dans un voisinage (méthode de la descente). Si le voisin dégrade la critère, alors il peut être accepté avec une certaine probabilité qui dépend de la dégradation et de la température. Ceci permet de sortir d’optima locaux, et d’explorer ainsi une grande partie de l’espace de recherche. La température diminue au fur et à mesure de l’avancement du processus d’optimisation, on tend ainsi à explorer le mieux possible une région de l’espace de recherche qu’on considère particulièrement intéressante. Il s’agit d’un processus d’intensification. L’algorithme du recuit simulé est donné par la figure suivante :

Algorithme Simulated Annealing Début

Pour k de 1 à P Faire % P essais % Initialisation de l'essai

xo:=solution aléatoire; % Solution de départ fm:=f(x0) ; % Init. meilleure valeur

J:=0; % Init. compteur arrêt T:=To; % Init. Température

% Déroulement de l’essai %

Tantque J≤Q Faire

% Palier température

I:=0; % Init. compteur pal. temp.

Tantque I≤N & J≤Q Faire

x1:=VOISIN(xo); % 1 essai élémentaire

I:=I+1; (compteur pour palier de température) J:=J+1; (compteur pour arrêt final)

Si f(x1) < f(xo) Alors xo:=x1; Si f(xo)<fm Alors xm:=xo; fm:=fo; J:=0 Sinon ∆f:=f(x1)-f(xo); U:=Uniforme(0,1); Si U ≤ exp (- ∆f / T) Alors xo:=x1 Finsi;

FinTantque% Boucle sur les essais élémentaires % % Fin palier température

T:=T*a;

FinTantque

retenir fm , xm;

Fin

Figure 3.28 Algorithme du recuit simulé.

Pour obtenir le voisin d’une solution, nous utilisons les opérateurs de mutation qu’on a défini pour l’algorithme génétique. Le reste des paramètres : température initiale, critère d’arrêt, probabilité de diminution, nombre de paliers, sont déterminés expérimentalement.

3.5 Conclusion

Nous avons présenté dans ce chapitre la méthode de résolution que nous développons pour les problèmes de juste à temps qui ont fait l’objet du deuxième chapitre. Nous avons combiné l’utilisation de méthodes exactes, et de méthodes approchées. Dans un premier lieu, nous donnons le schéma global de la solution. Celle-ci est basée sur une approche par décomposition qui utilise une métaheuristique pour parcourir l’espace de solutions, et utilise une méthode exacte pour évaluer la solution.

En premier temps, nous montrons l’équivalence entre notre problème de juste à temps pour les chaînes logistiques, et le problème connu de Pert coût. Nous avons plus particulièrement développé un algorithme pour minimiser le nombre d’itérations du Pert coût.

Dans un second temps, Nous présentons deux types de méta heuristiques : les algorithmes génétiques, et le recuit simulé. Nous faisons une présentation brève de la méthode du recuit simulé pour sa simplicité. Nous développons avec plus de précisions les algorithmes génétiques. Nous avons conçu de nouveaux opérateurs génétiques spécifiques au problème. Nous proposons en outre de les utiliser dans un schéma élitiste.

Résumé

Ce chapitre est consacré à l’évaluation des algorithmes développés dans le chapitre précédent. Nous commençons par décrire l’algorithme de génération des données. Ensuite, nous évaluons l’algorithme de Pert Coût sur les critères des durées opératoires et du nombre d’itérations. Les métaheuristiques sont évaluées sur leurs aptitudes à générer des solutions faisables, la qualité des solutions qu’elles génèrent. Enfin, nous comparons les performances des opérateurs de croisement 2X et COD.

4.1 Introduction

Nous présentons dans ce chapitre les résultats des expérimentations que nous avons mené pour évaluer les performances des algorithmes basés sur le Pert Coût (évaluation d’une permutation), et sur les métaheuristiques. Nous présentons en premier la méthode de génération de données. Comme il n’existe pas dans la littérature des benchmarks pour notre problème, nous avons développé une méthode pour les générer en essayant de tenir compte de certaines situations que l’on pourrait trouver dans un milieu industriel, comme par exemple l’hétérogénéité des temps d’exécution des opérations, et la présence de machines goulets. Nous évaluons ensuite la méthode basée sur le PERT coût en termes de durées opératoires en fonction des données du problème. Nous cherchons ici à montrer que les durées opératoires nécessaires à l’évaluation d’une solution sont raisonnables pour une utilisation dans une situation réelle. Dans la seconde partie des expériences, nous évaluons les performances des métaheuristiques quant à leur aptitude à générer des solutions faisables, ainsi que sur la qualité des solutions générées. Enfin, une comparaison entre le croisement développé dans cette thèse et deux croisements de la littérature est effectuée.