• Aucun résultat trouvé

3.4 Identification des leviers d’action pour l’optimisation des performances du suivi de charge

4.1.2 Résolution de problèmes de type "boîte noire" combinatoires à l’aide de méthodes sto-

toires à l’aide de méthodes stochastiques

On distingue de manière schématiques deux types de méthodes de résolution des problèmes d’optimisa- tion : les méthodes exactes et les heuristiques. Les méthodes exactes garantissent de trouver la ou les solutions optimales, mais sont souvent coûteuses, et donc peu adaptées aux problèmes de type boîte noire. Les heuris- tiques permettent de réduire le temps de calcul en sacrifiant l’optimalité. En particulier, on s’intéresse dans ces travaux aux métaheuristiques, soit les heuristiques ne dépendant pas du problème posé, et donc particulière- ment adaptées aux problèmes de type «boîte noire». Le principe général des métaheuristiques est d’exploiter itérativement et de manière stochastique une ou plusieurs solutions à la fois en se guidant uniquement avec la fonction d’évaluation. D’une façon générale, la performance d’une métaheuristique dépend du compromis entre l’exploration de nouvelles solutions et l’exploitation des solutions intéressantes déjà rencontrées. On cite parmi les métaheuristiques les algorithmes évolutionnaires. Ces algorithmes sont largement mis en avant pour

la résolution des problèmes multi-objectifs depuis plusieurs années [79]. Dans ces algorithmes, l’ensemble de solutions retenues est une population de solutions, d’abord générée aléatoirement, et qui évolue par une série de variations aléatoires (mutations, croisements,...) et de sélections. Des variations aléatoires des solutions de la population (mutants) sont générés puis évaluées, et l’algorithme sélectionne le ou les meilleurs mutants pour générer une nouvelle population par variation aléatoire.

Pour les problèmes multi-objectifs, on distingue trois approches pour ces métaheuristiques : les approches basées sur la définition du front de Pareto, les approches basées sur un indicateur, et les approches basées sur une décomposition en problèmes scalaires.

4.1.2.1

Méthodes Pareto-based

Les méthodes basées sur la définition du front de Pareto conservent en mémoire une archive contenant toutes les solutions non dominées rencontrées et améliorent progressivement cette archive en remplaçant au fur et à mesure les solutions par les nouvelles solutions non dominées rencontrées. Cette approche est notamment celle de l’algorithme NSGA-II [19] ou des algorithmes qui dérivent de recherches locales [47] comme l’algorithme Pareto Local Search [59], ou l’algorithme Global Simple EMO (G-SEMO) [37]. On donne ici en exemple l’algorithme G-SEMO : l’algorithme évalue pendant un temps fixé des solutions issues de mutations des solutions de l’archive (Alg. 4).

Algorithme 4 : Algorithme G-SEMO

1 Générer une solution aléatoire x0∈ Ω;

2 A ={x0}; // initialisation de l’archive 3 while t < texec do

4 Sélectionner une solutionx∈ A; 5 Générer un mutantx0 dex; 6 A = non. dom. de A∪ {x0}; 7 ReturnA;

4.1.2.2

Méthodes à indicateurs

Les méthodes basées sur des indicateurs ont pour objectif d’optimiser un indicateur permettant de mesurer la qualité d’un ensemble de solutions, comme par exemple l’hypervolume. Un exemple de ce type d’algorithme est l’Indicator Based Evolutionary Algorithm (IBEA) [94] ou l’algorithme SMS-MOEA [10]. La valeur du fitness associée à une solution est la différence d’indicateur (hypervolume, IGD...) qui serait engendrée par le retrait d’une solution de l’ensemble de solutions. Le schéma d’algorithme respecte celui des algorithmes évolutionnaires avec sélection, variation aléatoire et remplacement.

4.1.2.3

Méthodes à décomposition

Les méthodes à décomposition, ou approches scalaires, sont basées sur la décomposition du problème multi- objectifs en une série de problèmes mono-objectifs. Les différents problèmes mono-objectifs sont ensuite résolus de manière coordonnée et non indépendante, pour améliorer l’efficacité globale de la résolution. L’algorithme le plus répandu dans cette famille est l’algorithme MOEA/D pour Multi-Objective Evolutionary Algorithme based on Decomposition [90]. On en détaille les principes dans une section suivante.

4.1.2.4

Architectures parallèles

Les algorithmes présentés précédemment existent pour la plupart dans des versions séquentielles ou parallèles [77]. Pour des problèmes de type simulateur avec un temps de calcul important, la parallélisation des algorithmes permet un gain de performance important. On distingue les algorithmes parallèles à architecture maître-esclaves des architectures distribuées. Dans une architecture maître-esclaves, un processeur principal exécute les actions de l’algorithme (sélection des solutions, mutations, ...) et envoie aux processeurs de calcul restants les solutions à évaluer. Les processus esclaves se contentent d’évaluer les solutions reçues et d’envoyer la valeur des objectifs au processus maître. Cette architecture est la plus simple mais nécessite que le maître ait le temps de traiter l’information reçue par les esclaves sans les faire attendre pour être efficace, et le réseau ne doit pas être saturé par la communication sur le nœud maître.. Ainsi, si le temps de calcul est trop court ou le nombre de processeurs est trop grand, il y a un risque de perte de temps. D’autres algorithmes utilisent une architecture distribuée, dans laquelle les échanges d’information ne sont pas centralisés mais se font entre tous les nœuds.

Dans les algorithmes évolutionnaires [2], une notion importante est celle de générations. Dans leur version séquentielle, ces algorithmes évaluent toute une génération de mutants avant d’effectuer l’étape de sélection. Dans une architecture maître-esclave synchrone, les processeurs doivent ainsi attendre que tous les autres processeurs aient fini d’évaluer leur mutant avant d’en recevoir un nouveau. Si la variance du temps de calcul est importante, des processeurs peuvent passer une partie importante de leur temps à attendre. Dans une implémentation asynchrone, le processeur maître n’attend pas la fin d’une génération pour faire l’étape de sélectionne, et le fait au fur et à mesure de la réception des solutions. Il perd alors la notion de générations, et renvoie peut-être des mutants qui n’auraient pas été retenus à la fin de la génération complète. Entre ces deux architectures, on peut concevoir des algorithmes avec un certain degré de synchronicité, défini comme le nombre de mutants devant être évalués avant de passer à la génération suivante. Harada et Takadama ont étudia dans [27] l’impact du degré d’asynchronicité sur la performance de l’algorithme MOEA/D parallèle.