optimisation par la méthode kangourou - reussirlem1info · web viewauthor karima created date...

20
Optimisation par La Méthode Kangourou Professeur Responsable : Mr. BENYETTOU MOHAMED Présentée par : BOUCHETARA KARIMA Année universitaire : 2012/2013 Université des Sciences Et de la Technologie d’ORAN Mohamed Boudiaf USTO Faculté des Sciences — Département d’informatique

Upload: others

Post on 19-Feb-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Optimisation par La Méthode Kangourou

Optimisation par La Méthode Kangourou

Optimisation par La Méthode Kangourou Professeur Responsable : Mr. BENYETTOU MOHAMED Présentée par : BOUCHETARA KARIMA

Sommaire

1- Introduction …………………………………………………...........02

2- Métaheuristiques…………………………………………………....02

2-1 Définition………………………………………………….........02

2-2 Classification…………………………………………………....03

2-3 Propriétés.…………………………………………...….….…....04

3- Descente stochastique…………………………………………….....04

3-1 Définition……………………………………………………..…04

3-2 Principe…………………………………………………….……053-3 Algorithmes basés sur la descente aléatoire………………….….06

4- La méthode Kangourou………………………………………….…..06

4-1 Définition…………………………………………………….….06

4-2 Notion de voisinage……………………………………………..06

4-3 Principe……………………………………………………….….07

4-4 Algorithme…………………………………………………….…09

4-5 Exemple d’application…………………………………………...11

4-6 Avantages et inconvénients…………………………………...…13

5- Conclusion………………………………………………………..….13

6- Références………………………………………………………..…..14

Listes des figures :

Figure 01 : Evolution d’une solution dans la méthode de descente.

Figure02 : Espace de recherche et voisinage.

Figure03 : La descente pour trouver un minimum local.

Figure04 : La recherche d'un minimum local dans le voisinage de la solution courante.

Figure04 : Les composants d'une porte Peugeot 106.

1- Introduction

En mathématiques, l'optimisation recouvre toutes les méthodes qui permettent de déterminer l'optimum d'une fonction, avec ou sans contraintes.

En théorie, un problème d'optimisation combinatoire se définit par l’ensemble de ses instances, souvent infiniment nombreuses. Dans la pratique, le problème se ramène à résoudre numériquement l’une de ces instances, par un procédé algorithmique.

Pour la résolution de ses problèmes, de nombreuses méthodes ont été développées en Recherche Opérationnelle (RO) et en Intelligence Artificielle (IA) afin de les résoudre. Ces méthodes peuvent être classées en deux grandes catégories :

· Les méthodes exactes (complètes) capables de trouver la solution optimale si elle existe,

· Les méthodes approchées (incomplètes) qui perdent la complétude afin de gagner en efficacité.

Certaines méthodes ont permis de trouver des résultats optimaux pour des problèmes de taille raisonnable, mais comme le temps de calcul nécessaire pour trouver une solution risque de croître de façon exponentielle avec la taille du problème, les méthodes exactes rencontrent des difficultés dans le cas de problèmes de taille importante, mais les méthodes approchées ont prouvé leur efficacité dans ce domaine et de trouver des solutions pour des problèmes de grande taille.

Depuis une trentaine d’années une nouvelle génération de méthodes puissantes est apparue et qui s’appelle « Métaheuristiques ».

2- Métaheuristique:

2-1 Définition :

La Métaheuristique, intervient dans toutes les situations où l’ingénieur ne connaît pas d’heuristique efficace pour résoudre un problème donné, ou lorsqu’il estime qu’il ne dispose pas du temps nécessaire pour en déterminer une.

En 1996, I.H. Osman et G. Laporte définissaient la métaheuristique comme « un processus itératif qui subordonne et qui guide une heuristique, en combinant intelligemment plusieurs concepts pour explorer et exploiter tout l’espace de recherche. Des stratégies d’apprentissage sont utilisées pour structurer l’information afin de trouver efficacement des solutions optimales, ou presque-optimales ».

En 2006, le réseau Metaheuristics (metaheuristics.org) définit les métaheuristiques comme « un ensemble de concepts utilisés pour définir des méthodes heuristiques, pouvant être appliqués à une grande variété de problèmes. On peut voir la métaheuristique comme une « boîte à outils » algorithmique, utilisable pour résoudre différents problèmes d’optimisation, et ne nécessitant que peu de modifications pour qu’elle puisse s’adapter à un problème particulier ».

Elle a donc pour objectif de pouvoir être programmée et testée rapidement sur un problème. [Memo Autin].

2-2 Classification

Les métaheuristiques n’étant pas, a priori, spécifiques à la résolution de tel ou tel type de problème, leur classification reste assez arbitraire. On peut cependant distinguer :

· les approches « trajectoire »

Ces algorithmes partent d’une solution initiale (obtenue de façon exacte, ou par tirage aléatoire) et s’en éloignent progressivement, pour réaliser une trajectoire, un parcours progressif dans l’espace des solutions. Dans cette catégorie, se rangent :

· la méthode de descente

· le recuit simulé

· la méthode Tabou

· la recherche par voisinage variable

Le terme de recherche locale est de plus en plus utilisé pour qualifier ces méthodes.

· les approches « population » (ou évolutionnaires)

Elles consistent à travailler avec un ensemble de solutions simultanément, que l’on fait évoluer graduellement. L’utilisation de plusieurs solutions simultanément permet naturellement d’améliorer l’exploration de l’espace des configurations. Dans cette seconde catégorie, on recense :

· les algorithmes génétiques

· les algorithmes par colonies de fourmi

· l’optimisation par essaim particulaire

· les algorithmes à estimation de distribution

· le path relinking (ou chemin de liaison) [Memo Autin].

2-3 Propriétés

· Les métaheuristiques sont des stratégies qui permettent de guider la recherche d’une solution optimale

· Le but visé par les métaheuristiques est d’explorer l’espace de recherche efficacement afin de déterminer des solutions (presque) optimales.

· Les techniques qui constituent des algorithmes de type métaheuristique vont de la simple procédure de recherche locale à des processus d’apprentissage complexes.

· Les métaheuristiques sont en général non-déterministes et ne donnent aucune garantie d’optimalité

· Les métaheuristiques peuvent contenir des mécanismes qui permettent d’éviter d’être bloqué dans des régions de l’espace de recherche.

· Les concepts de base des métaheuristiques peuvent être décrits de manière abstraite, sans faire appel à un problème spécifique.

· Les métaheuristiques 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.

· Les métaheuristiques peuvent faire usage de l’expérience accumulée durant la recherche de l’optimum, pour mieux guider la suite du processus de recherche.

3- Descente stochastique

3-1 Définition

La recherche locale, appelée aussi la descente ou l’amélioration itérative, représente une classe de méthodes heuristiques très anciennes. Traditionnellement, la recherche locale constitue une arme redoutable pour attaquer des problèmes réputés très difficiles tels que le voyageur de commerce, et la partition de graphes .Contrairement à l'approche de construction, la recherche locale manipule des configurations complètes durant la recherche.

3-2 Principe

Le principe de la méthode de descente consiste à partir d’une solution s et à choisir une solution s’ dans un voisinage de s, telle que s’ améliore la recherche (généralement telle que f(s’) < f(s)).

On peut décider soit d’examiner toutes les solutions du voisinage et prendre la meilleure de toutes (ou prendre la première trouvée), soit d’examiner un sous-ensemble du voisinage.

La méthode de recherche locale la plus élémentaire est la méthode de descente. On peut la schématiser comme suit :

Procédure descente_simple (solution initiale s)Répéter :

Choisir s’ dans N(s)

Si f(s’) < f(s) alors s ← s’

Jusqu’à ce que f(s’) ≥ f(s), s’S

Fin

Figure 01 : Evolution d’une solution dans la méthode de descente

3-3 Algorithmes basés sur la descente aléatoire

La plupart des métaheuristiques à base de solution unique sont des améliorations de la méthode de descente aléatoire. Les plus simples sont des variantes de la descente aléatoire répétée, qui consiste à faire une descente aléatoire à partir de plusieurs points choisis de façon aléatoire dans l’espace de recherche, et à choisir le meilleur point pour démarrer l’optimisation locale. Notre méthode Kangourou utilise ce principe. [Memo Autin]

4- La méthode Kangourou

4-1 Définition

La méthode Kangourou est une technique d’approximation fondée sur la descente stochastique qui consiste à faire une descente aléatoire à partir l’espace de recherche. Elle a été proposée par Gérard Fleury en 1993. Inspiré par la méthode du recuit simulé, mais avec une stratégie très différente de recherche [SEBRENCU ET AL].

4-2 Notion de voisinage

Soit N un voisinage et X l’ensemble des configurations admissibles d’une instance d'un problème. Le graphe (orienté) de l'espace de solutions S induit par N est défini par GN= (X,E) tel que pour tout s, s’ X, E si et seulement si s’ N(s).

A chaque arc E du graphe, on peut également associer une valeur cij = f (sj) - f (si) qui correspond à la variation de coût entre si et sj.

· Avec cette notion de graphe, une méthode de voisinage peut être vue comme un processus qui parcourt un chemin du graphe. A chaque nœud, le mécanisme de parcours choisit l'arc à parcourir essentiellement en fonction des valeurs des arcs partant du nœud courant. L'efficacité de la méthode dépend donc de deux choses : la structure du graphe déterminée par le voisinage et la façon de parcourir le graphe déterminée par le mécanisme de parcours du voisinage. [Revue]

Figure 02 : Espace de recherche et voisinage

3-3 Principe

La méthode est un algorithme itératif qui explore l'espace des solutions en choisissant à chaque fois la meilleure solution voisine de la solution courante. La recherche de la meilleure solution voisine est un problème qui peut être aussi difficile que le problème initial. Le processus de descente s'arrête après un nombre d'itérations fixé au début. La méthode fournit un minimum local.

Figure 03 : La descente pour trouver un minimum local

Soit u0 une solution admissible du problème d'optimisation. Par des déplacements successifs l'algorithme de Kangourou cherche une solution qui minimise la fonction f dans un voisinage de la solution courante. Si la solution ui est meilleure que la solution précédente, elle est mémorisée et une nouvelle solution est cherchée dans le même voisinage. Si la solution ui n'est pas meilleure que la solution précédente, l'algorithme trouve un autre voisinage par un saut. Après un nombre d'itérations un minimum local

u* est trouvé. Ce minimum est plus ou moins proche du minimum global.

Dans le cas idéal le minimum local u* est le même avec le minimum global ug.

Figure 04 : La recherche d'un minimum local dans le voisinage de la solution courante

3-4 Algorithme

On a les paramètres suivants :

· x : état courant.

· x* : meilleur état rencontré à l'itération courante.

· C : compteur d'itérations entre deux améliorations de la solution.

· A : le nombre maximal d'itérations sans l'amélioration de la solution courante

· f : la fonction objectif.

Procédure de descente

Répéter ns fois :

1 : Appliquer la mutation ɳ2 à la solution courante : x1 ← ɳ2(x) ;

2 : Si f (x1)= f (x) alorsaller en 5 ;

3 : Si f (x1) < f (x*) alorsMettre à jour la meilleure solution rencontrée : x*← x1 ;

4 : Réinitialiser le compteur de stationnement C ← 0 ;

5 : Mettre à jour la solution courante : x ← x1 ;

6 : Incrémenter le compteur de stationnement : C ← C+1

Procédure de saut

1 : Appliquer la mutation ɳ1 à la solution courante : x1← ɳ1(x) ;

2 : Si f (x1) > f(x) alors

Aller en 5 ;

3 : Si f (x1)

C← 0 ;

4 : x ← x1 ;

5 : C ← C+1 ;

· ɳ1: mutation uniforme locale. ɳ1 (xi)= xi +(2 ɣ -1)p, où p est obtenu à partir d’une distribution uniforme sur [0,1] et p est un nombre réel (0 < p<1), souvent appelé taille maximum du pas. Cette mutation peut s’interpréter comme un déplacement vers un point choisi dans un N-cube centré en x et de côté 2p .

· ɳ2: mutation uniforme globale. ɳ2(xi)= ɣ, où ɣ est obtenu à partir d’une distribution uniforme sur [0,1]. La mutation ɳ2 s’interprète comme un déplacement aléatoire dans le N-cube [0,1]N. La mutation ɳ2 vérifie bien la propriété d’accessibilité, puisqu’à partir d’un point quelconque de l’espace de recherche [0,1]N, il est possible d’atteindre tout autre point de cet espace.

L’algorithme Kangourou est défini comme suit :

· 1 : Initialiser la solution courante : x ← x0 ;

· 2 : Initialiser la meilleure solution rencontrée : x*←x0 ;

· 3 : Initialiser le compteur de stationnement : C← 1 ;

· 4 : Si C < A alors

· exécuter la procédure de descente : x ← descente (x, C) ; Sinonexécuter la procédure de saut : x ← saut (x) ;

· 5 : Si x est meilleure que x* alorsx* ← x ;

· 6 : Si le critère d’arrêt est atteint alorsaller en 4 ;

Sinon

· fin de l’algorithme.

Explication

Après une descente aléatoire avec une mutation ɳ1, si la valeur de la fonction objective n’a pas changé depuis A itérations, plusieurs sauts aléatoires consécutifs sont effectués en utilisant une mutation h2.

La mutation h2 n’est pas nécessairement la même que ɳ1, mais doit respecter la propriété d’accessibilité, c’est-à-dire que pour tout couple de points (x, y) de l’espace des paramètres, il doit être possible d’atteindre y à partir de x, en utilisant une suite finie de mutations de type ɳ 2. Cette propriété est suffisante pour garantir la convergence asymptotique de l’algorithme.Les deux mutations ɳ1 et ɳ2 sont utilisées avec des objectifs différents. ɳ1 permet de faire un déplacement local (c’est-à-dire, vers un point très proche de la solution courante), alors que ɳ2 est utilisée pour effectuer un saut vers un autre bassin d’attraction, pour sortir d’un optimum local. La première et la deuxième mutation ne sont pas nécessairement les mêmes, mais doivent respecter la propriété d’accessibilité de l’algorithme

3-5 Exemple d’application

Le désassemblage d'une porte du modèle Peugeot 106 Dans sa thèse, [DUTA ,2006] a appliqué l'algorithme du kangourou sur désassemblage d'une porte du modèle Peugeot 106. Les composants et les temps de désassemblage sont donnés.

Figure 05 : Les composants d'une porte Peugeot 106

Le tableau représentant Les opérations principales de désassemblage de la porte est comme suit :

Nous avons ignoré les opérations annexes comme la prise ou le positionnement d'un outil.

Hypothèses :

· Il s'agit d'un seul type de produit (Peugeot 106)

· La période de planification est H = une semaine

· Le nombre de produits de même type à désassembler est constant S=40

· La fonction à optimiser est une fonction d'équilibrage F.

· Les temps de désassemblage pour les autres composants sont connus.

· Le temps de cycle est connu et égale à 3600 s pour le désassemblage de la voiture entière.

· Il y deux postes mixtes où le désassemblage de la porte est réalisé

· L'exécution de l'algorithme du [Duta, 2006] donne la valeur minimale de la fonction F de 260 s, ce qui est un bon résultat.

3-6 Avantages et inconvénients:

Elle présente l’avantage de ne pas perdre l’information relative aux optimaux locaux rencontrés. Les résultats obtenus par la méthode du kangourou sont de bonnes qualités avec un temps de calcul modéré.Il présente plusieurs inconvénients comme le nombre de stationnements et de sauts nécessaire pour la recherche global. [DUTA]

5- conclusion

La méthode Kangourou offre une solution par une descente stochastique et une transition dans le voisinage de l'état actuel pour trouver une meilleure solution de la solution courante.L’intérêt de cette méthode est qu’elle est facile à mettre en œuvre, elle peut être couplée sans difficulté avec un modèle pour l’évaluation des performances et on dispose à tout instant d’une solution réalisable.

L’algorithme du kangourou a beaucoup d’avantages car il permet la recherche globale ainsi que le réglage de paramètres du recuit simulé.

6- Références :

· Luminita DUTA ; « Contribution A L'etude De La Conduite Des Systemes De Desassemblage » ; thèse de doctorat en Automatique et Informatique; Université Franche-Comte Du Besancon ; soutenue le 22 septembre 2006 [DUTA]

· Mémoire Les métaheuristiques en optimisation combinatoire présenté en vue d’obtenir l’examen probatoire en informatique par Baptiste Autin le 9 mai 2006. [Memo Autin]

· Jin-Kao HAO, Philippe GALINIER, Michel HABIB ; « Méthaheuristiques pour l’optimisation combinatoire et l’affectation sous contraintes »; Revue d’Intelligence Artificielle ;1999 [Revue]

· http://fr.wikipedia.org/wiki/Recherche_locale_(optimisation) [wiki]

· Adrian SERBENCU, Viorel MINZU, Adriana SERBENCU ; « An ant colony system based metaheuristic for solving single machine scheduling problem » ; the annals of “dunarea de jos” university of galati fascicle III, 2007 P19-24 [SEBRENCU ET AL]

"