Système Immunitaire Artificiel Parallèle appliqué aux Flow Shop Hybride (FSH)

Dimension: px
Commencer à balayer dès la page:

Download "Système Immunitaire Artificiel Parallèle appliqué aux Flow Shop Hybride (FSH)"

Transcription

1 République Algérienne Démocratique et Populaire Ministère de l Enseignement Supérieur et de la Recherche Scientifique Université des Sciences et de la Technologie d Oran -Mohamed Boudiaf USTO-MB Faculté des Sciences Département d Informatique Mémoire pour obtenir le diplôme de Magister Présenté par HOUACINE Abdelkrim Spécialité : Informatique Option: Systèmes, Réseaux et Bases de Données (SRBDD) Intitulé Système Immunitaire Artificiel Parallèle appliqué aux Flow Shop Hybride (FSH) Soutenu le : / / 2011 Devant le jury composé de: Présidente Mme. BELBACHIR Hafida Professeur (USTO) Rapporteur Mr. BELKADI Khaled Maître de conférences A (USTO) Examinatrice Melle. NOUREDDINE Myriam Maître de conférences A (USTO) Examinateur Mr. RAHAL Sid Ahmed Maître de conférences A (USTO) Novembre 2011

2 Remerciements Merci mon Dieu de m avoir dressé et éclairé un chemin vers la réussite Je remercie tout particulièrement mon encadreur, Mr BELKADI KHALED, responsable du laboratoire LIMEPS (Laboratoire d Informatique, Modélisation et Evaluation des Performances des Systèmes), pour m avoir proposé ce sujet, et à qui je voudrais exprimé ma profonde gratitude, pour sa disponibilité et ses encouragements. Mes remerciements vont également à Mme H.BELBACHIR responsable de la Post-graduation «systèmes, réseaux et bases de données» pour m avoir donné l occasion de faire partie de la dite option et pour m avoir fait l honneur de présider le jury de thèse de magister. Je remercie vivement tous les membres du jury, qui m ont fait l honneur de lire et de juger notre travail : Mr. S.RAHAL maître de conférences à l USTO Melle. M.NOUREDDINE maître de conférences à l USTO Mes remerciements vont particulièrement à tous mes collègues de la post-graduation «systèmes, réseaux et bases de données» en particulier, Khaled Ben Ali, Amine Mahmoudi, Houari Benyettou et Kateb Ameur Je remercie aussi, Mr Belkhira Sid Ahmed Hichem, pour donner le courage de réaliser ce travail. Merci à tous ceux qui ont contribuer de prés ou de loin à la réalisation de ce travail

3 Table des matières

4 Table des matières Introduction générale 1 Chapitre I : Généralités 1.1 Introduction Les systèmes de production La disposition des lignes de production La disposition produit La disposition Processus La disposition cellulaire La disposition fixe Les différents types d ateliers Présentation du problème Ordonnancement dans les systèmes de production L atelier de type Flow Shop Hybride (FSH) La configuration du système Flow Shop Hybride Une notation pour le problème FSH Les différents types du FSH La résolution du problème d ordonnancement dans le système FSH Problèmes NP_Difficiles Codage de la solution La complexité du Système FSH Les méthodes de résolution du problème d ordonnancement de type FSH Méthodes de résolution exactes Branch & Bound Résolution approchée Métaheuristiques à solution unique La descente Le Recuit simulé La recherche tabou Métaheuristiques à base de population Colonies de fourmis Les algorithmes génétiques Les métaheuristiques avancées Les algorithmes mémétiques La recherche dispersée (Scatter Search) Algorithme génétique avec gestion de population (GA/PM) Algorithme mémétique avec gestion de population (MA/PM) Métaheuristique électromagnétique Conclusion.. 23

5 Chapitre II : Les Systèmes Immunitaire Artificiel 2.1 Introduction Le système immunitaire Naturel Introduction Composantes de l immunité L immunité naturelle L immunité acquise Détection des antigènes Le récepteur des lymphocytes B (BCR) Le récepteur des lymphocytes T (TCR) Mécanisme de la détection du soi et du non soi La sélection positive La sélection négative de lymphocytes B (La délétion clonale) La sélection négative de lymphocytes T La théorie de la sélection clonale La théorie des réseaux immunitaires (idiotypique) La théorie du danger Le système immunitaire artificiel Introduction Représentation des différents mécanismes Affinité Génération des récepteurs La sélection positive La sélection négative La sélection clonale Modèle des réseaux immunitaires La théorie du danger Conclusion 39 Chapitre III : Développement de l algorithme immunitaire artificiel pour le problème du FSH 3.1 Introduction Le système immunitaire artificiel (AIS) Le principe de la sélection clonale La maturation d affinité L approche AIS proposée Algorithme Le processus de la sélection clonale dans l algorithme Le processus de la maturation d affinité dans l algorithme La mutation La génération des récepteurs Conclusion.. 47

6 Chapitre IV : L Algorithme immunitaire artificiel Parallèle pour le problème du FSH 4.1 Introduction Les architectures parallèles Structure d un ordinateur séquentiel conventionnel Classification des architectures parallèles Le parallélisme et les métaheuristiques Classification des métaheuristiques parallèle La première dimension La deuxième dimension La troisième dimension Stratégies de parallélisme Parallélisme de bas niveau Décomposition explicite du domaine ou l espace de recherche Recherches multiples indépendantes Recherches multiples coopératives Parallélisation de l Algorithme immunitaire artificiel Les paramètres de migration Nombre de sous populations La topologie d interconnexion 58 IV La topologie grille à deux dimensions 58 IV La topologie Anneau Stratégie de choix pour le remplacement des Anticorps. 58 IV La stratégie aléatoire 59 IV La stratégie bon/mauvais La fréquence de migration Présentation de l Algorithme immunitaire artificiel Parallèle avec migration Conclusion.. 60 Chapitre V : Implémentation et mise en oeuvre V.1 Introduction. 61 V.2 L algorithme immunitaire artificiel séquentiel. 61 V.2.1 Paramètres de tests.. 61 V.2.2 Problèmes de tests.. 61 V.2.3 Analyse. 62 V.3 L algorithme immunitaire artificiel Parallèle 69 V.3.1 Paramètres de tests. 69 V Influence de la stratégie du choix de remplacement. 70 V Influence du nombre de sous populations. 71 V Influence de la fréquence de migration. 73 V Comparaison entre l algorithme parallèle et l algorithme séquentiel. 75 V.4 Conclusion. 76 Conclusion générale.. 77 Bibliographie... 79

7 Liste des figures Chapitre I : Généralités Figure 1.1: Organisation en Flow Shop. 6 Figure 1.2: Le schéma d un atelier de type FSH... 6 Figure 1.3 : Positionnement du problème du FSH parmi les autres organisations 7 Figure 1.4 : Schéma d un FSH avec stocks intermédiaire. 8 Figure 1.5 : FSH avec stock inter étages pour chaque machine 9 Figure 1.6 :FSH avec stock inter étages et un stock pour chaque machine en entrée 9 Figure 1.7:FSH avec un stock unique en entrée et des stocks inter étage propre à chaque machine 9 Figure 1.8 : FSH avec un stock unique en entrée et unique entre les étages 9 Figure 1.9 : FSH avec un stock en entrée propre à chaque machine et pas de stock inter 10 Figure 1.10 : FSH avec un stock unique en entrée et pas de stock inter 10 Figure 1.11 : Diagramme de Gantt. 12 Chapitre II : Les Systèmes Immunitaire Artificiel Figure2.1 : Structure de base d'une Lymphocyte T Figure2.2 : Structure de base d'une immunoglobuline.. 27 Figure 2.3: Une simple idée du processus de la sélection clonale. 30 Figure 2.4: Le processus de la sélection clonale et la sélection négative. 30 Figure 2.5: Sélection de segment dans des librairies pour former un anticorps 34 Figure 2.6: Algorithme de la sélection clonale.. 37 Figure 2.7: Représentation schématique de l évolution de l algorithme de la sélection clonale Chapitre III : Développement de l algorithme immunitaire artificiel pour le problème du FSH Figure 3.1: Principe de la sélection clonale. 41 Figure 3.2 : Structure d un FSH4:FH2 (P2, P3) Cmax Figure 3.3: Organigramme de l Algorithme Figure 3.4: Le processus de la mutation large. 46 Figure 3.5: Le processus de la mutation simple.. 46 Chapitre IV : L Algorithme immunitaire artificiel Parallèle pour le problème du FSH Figure 4.1: Architecture d un ordinateur séquentiel conventionnel 49 Figure 4.2: Structure SIMD Figure 4.3: Structure MIMD. 51 Figure 4.4: Schéma de l organisation d une machine à mémoire partagée 51 Figure 4.5: Schéma de l organisation d une machine à mémoires distribuées. 51 Figure 4.6: Parallélisme Bas Niveau Figure 4.7: Configuration en Maitre-Esclave. 54 Figure 4.8: Décomposition de l espace de recherche. 55 Figure 4.9: Décomposition de l espace de recherche l Algorithme Maître 56 Figure 4.10: Topologie Anneau Figure 4.11: Algorithme exécuter par le maître pour PAIS_MIG 59 Figure 4.12: Algorithme exécuter aux niveaux des esclaves PAIS_MIG.. 60 Chapitre V : Implémentation et mise en œuvre Figure 5.1: Structure d un FSH4:FH2 (P3, P2) Cmax. 61 Figure 5.2: Structure d un FSH4:FH3 (P4, P2, P3) Cmax.. 62 Figure 5.3: Graphe de variation de la moyenne du Cmax Avec l augmentation du Taux de mutation. FSH4 :FH2(P3,P2). 62 Figure 5.4 :Graphe de variation de la moyenne du Cmax Avec l augmentation du Taux de mutation FSH4:FH3(P4,P2,P3) 63 Figure 5.5 : Graphe de variation de la moyenne du temps CPU Avec l augmentation du Taux de mutation. FSH4 :FH2(P3,P2). 63

8 Figure 5.6 : Graphe de variation de la moyenne du temps CPU Avec l augmentation du Taux de mutation.fsh4 :FH3(P4,P2,P3). 64 Figure 5.7 : Graphe de variation de la moyenne du Cmax Avec l augmentation du Taux de remplacement FSH4 :FH2(P3,P2).. 65 Figure 5. 8 : Graphe de variation de la moyenne du Cmax Avec l augmentation du Taux de remplacement. FSH4 :FH3(P4,P2,P3). 65 Figure 5.9 : Graphe de variation de la moyenne du temps CPU Avec l augmentation du Taux de remplacement. FSH4:FH2 (P3, P2) 66 Figure 5.10 : Graphe de variation de la moyenne du temps CPU Avec l augmentation du Taux de remplacement. FSH4 :FH3(P4,P2,P3).. 66 Figure 5.11 : Graphe de variation de la moyenne du Cmax Avec l augmentation de la fréquence de génération pour le remplacement.fsh4 :FH2(P3,P2) Figure 5.12 : Graphe de variation de la moyenne du Cmax Avec l augmentation de la fréquence de génération pour le remplacement.fsh4 :FH3(P4,P2,P3).. 68 Figure 5.13 : Graphe de variation de la moyenne du temps CPU Avec l augmentation de la fréquence de génération pour le remplacement. FSH4 :FH2(P3,P2) Figure 5.14 : Graphe de variation de la moyenne du temps CPU Avec l augmentation de la fréquence de génération pour le remplacement. FSH4 : FH3(P4,P2,P3) Figure 5.15 : Variation de la moyenne du Cmax pour différentes stratégies du choix.. 70 Figure 5.16 : Variation de la moyenne du Cmax avec l augmentation du nombre de sous populations- N=5 71 Figure 5.17:Variation de la moyenne du Cmax avec l augmentation du nombre de sous populations N=10 71 Figure 5.18 : Variation de la moyenne du Cmax avec l augmentation du nombre de sous populations- N= Figure 5.19 : Variation de la moyenne du Cmax avec l augmentation du nombre de sous populations- N= Figure 5.20 : Variation de la moyenne du Cmax avec l augmentation de la fréquence de migration - N= Figure 5.21 : Variation de la moyenne du Cmax avec l augmentation de la fréquence de migration - N= Figure 5.22 : Variation de la moyenne du Cmax avec l augmentation de la fréquence de migration - N= Figure 5.23 : Variation de la moyenne du Cmax avec l augmentation de la fréquence de migration - N= Figure 5.24 : Comparaison entre les deux versions en fonction de la qualité des solutions obtenues

9 Liste des tableaux Chapitre I : Généralités Tableau 1.1 : Ordonnancement et affectation des Jobs sur les machines des différents étages. 11 Tableau 1.2 : Combinatoire de temps de calcul estimé pour le FH2 (P3, P2) Chapitre II : Les Systèmes Immunitaire Artificiel Tableau 2.1 : Les recherches concernant le système immunitaire artificiel dans les dernières années. 32

10 Sigles et Abréviations AIS : Le système immunitaire artificiel. FSH : Flow Shop Hybride. PAIS_MIG : L algorithme immunitaire artificiel parallèle avec migration. Th : Les lymphocytes T helper. Tc : Les lymphocytes T cytotoxiques. NK : Natural Killer. CPA : Les Cellules Présentatrices d'antigène CMH : Complexe Majeur d'histocompatibilité BCR : Le récepteur des lymphocytes B Ig : Les immunoglobulines. Ac : Anticorps TCR : Le récepteur des lymphocytes T AIS_seq : L algorithme immunitaire artificiel séquentiel

11 Introduction générale

12 Introduction générale 1 La fonction ordonnancement vise à organiser l utilisation des ressources technologiques et humaines présentes dans les ateliers ou les services de l entreprise pour satisfaire soit directement les demandes des clients, soit les demandes issues d un plan de production préparé par la fonction de planification de l entreprise. Compte tenu de l évolution des marchés et de leurs exigences, cette fonction doit organiser l exécution simultanée de multiples travaux sur des délais de réalisation de plus en plus courts, à l aide de ressources plus ou moins polyvalentes disponibles en quantités limitées. Ceci constitue un problème complexe à résoudre. En cela, apporter des solutions efficaces et performantes aux problèmes d ordonnancement constitue sûrement un enjeu économique important. Les problèmes d ordonnancement industriel ne peuvent généralement être résolus en un temps polynomial par des algorithmes exacts de nature séquentielle ou parallèle et font ainsi partie de la classe des problèmes dits NP-Difficiles. Les métaheuristiques représentent alors des alternatives intéressantes pour la résolution de ce type de problème. Même si ces heuristiques ne garantissent pas l optimalité, elles assurent généralement une bonne qualité de solutions dans un temps de calcul raisonnable. Plusieurs travaux réalisés au cours des dernières années ont démontré l utilité et l efficacité des métaheuristiques pour la résolution de ces problèmes d optimisation combinatoire. Le système immunitaire artificiel (AIS) est une nouvelle technique utilisée pour résoudre les problèmes de l optimisation combinatoire. Les AIS sont des systèmes computationels qui explorent, dérivent et appliquent les différents mécanismes inspirés du système immunitaire biologique naturel dans le but de résoudre les problèmes dans différents domaines. Le but du travail que nous présenterons dans cette thèse de magister est d une part, la proposition d un algorithme basé sur la théorie des systèmes immunitaire artificiel (AIS) pour résoudre le problème d ordonnancement dans un système de production de type Flow Shop Hybride (FSH) et d autre part, de paralléliser cet algorithme pour avoir plus d efficacité et de performance. Le but de paralléliser cette méthode est d améliorer la qualité des solutions obtenues, Les solutions sont les meilleurs ordonnancement des différents travaux dans un FSH qui optimisent (minimisent) le Cmax (le temps d achèvement des travaux).

13 Introduction générale 2 Cette thèse de magister est organisée en cinq chapitres : Dans le premier Chapitre nous allons présenter les notions liées aux systèmes de production, en suite nous allons présenter le problème d ordonnancement dans un système de production de type Flow Shop Hybride (FSH) et en fin les différentes méthodes de résolution utilisées pour le résoudre. Dans le deuxième chapitre, nous présenterons les systèmes immunitaires artificiels en détaillant les différents concepts et mécanismes inspirés du système immunitaire naturel pour la résolution des problèmes en général et les problèmes d optimisation en particulier. Dans le troisième chapitre, nous présenterons l algorithme immunitaire artificiel adopté pour résoudre le problème d ordonnancement dans un système de production de type Flow Shop Hybride. Dans le quatrième chapitre, nous présenterons les différentes architectures parallèles et les différentes stratégies de parallélisation des métaheuristiques et en fin nous détaillerons la stratégie de parallélisation que nous avons choisi pour cet algorithme. Le cinquième chapitre est consacré à l implémentation et à la mise en œuvre des deux versions séquentielle et parallèle de l algorithme adopté en présentant les résultats expérimentaux obtenus. Enfin, nous terminerons par une conclusion générale et quelques perspectives.

14 Chapitre I Généralités

15 Chapitre I Généralités Introduction Depuis les dernières décennies, les systèmes de production ont connu un développement prodigieux, où la gestion de production et l ordonnancement des tâches sont devenus les éléments qui posent plus de problèmes très importants. Comme l augmentation de la production et la diminution des coûts sont devenus l objectif majeur dans toutes les entreprises, les chercheurs ont tenté à trouver et à développer de nouvelles stratégies et méthodes pour la résolution de tels problèmes ; beaucoup plus meilleures que les anciennes. La gestion de production a pour but de fournir des outils permettant le contrôle et la planification de processus de production. Toutes les études montrent que ces fonctions doivent coopérer pour permettre l automatisation de la production et que certaines sous fonctions telles que la gestion des stocks sont bien maîtrisées mais ce n est pas le cas pour d autres comme la planification et l ordonnancement en particulier, qui sont encore assez mal résolus malgré les nombreux efforts faits actuellement. Les problèmes d ordonnancement se rencontrent très souvent notamment dans l optimisation de la gestion des systèmes de production. La plupart des problèmes d ordonnancement sont NP-difficiles. Il s ensuit que ces problèmes sont impossibles à résoudre de manière exacte ; les chercheurs se sont orientés vers l utilisation de méthodes approchées appelées «heuristiques». Contrairement à une méthode exacte qui vise à l obtention d une solution optimale, l objectif d une heuristique est de trouver une «bonne solution en un temps raisonnable». Dans ce chapitre on va présenter les différentes notions liées aux systèmes de production et ensuite on va présenter le problème d ordonnancement dans un système de production de type Flow Shop Hybride (FSH) et en fin on va voir les différentes méthodes de résolution utilisées pour le résoudre. 1.2 Les systèmes de production L ordonnancement dans un système de production consiste à assigner les différents travaux (Jobs) qui ont besoin d être traités aux différentes ressources, Ces ressources sont principalement les machines qui développent les travaux mais peut inclure aussi la main-d'oeuvre exigée pour opérer les machines. Donc, la planification industrielle fait référence à la planification des travaux sur les machines afin qu'ils puissent être traités de la manière la plus optimale. Le processus de planification (ordonnancement) peut être fait d une manière efficace en identifiant les caractéristiques fondamentales du processus de production : La disposition des lignes de production Les différentes familles d ateliers de production

16 Chapitre I Généralités La disposition des lignes de production [BON 08] C est l'organisation des ressources dans l'unité de la production et il y a 4 dispositions fondamentales: La disposition produit Dans ce type de disposition, chaque produit a sa propre ligne de production. Ce qui est traduit par avoir un ensemble de ressources consacrées uniquement pour le traitement d un type de produit particulier, les ressources sont arrangées d une manière à maximiser le taux de production pour ce type de produit. Généralement, dans ce type de disposition les machines exigées sont arrangées dans une ligne suivant l'ordre de la séquence du traitement.cette disposition est utilisée pour la production des produits en grande quantité et permet de minimiser le temps de placement des produits La disposition Processus Appelé aussi une Disposition Fonctionnelle parce que dans cette disposition les machines utilisées pour le même traitement sont regroupées. Le but de cette disposition est de maximiser l'utilisation des machines. Contrairement à la Disposition Produit, les machines sont partagées entre les produits qui les ont besoin La disposition cellulaire Quand les produits qui ont besoin d'un traitement semblable sont groupés et toutes les machines utilisées pour traiter ce groupe sont arrangées dans une cellule. La disposition est appelée une disposition cellulaire. La différence entre la Disposition Processus et la Disposition Cellulaire est que les machines dans la cellule ne sont pas identiques mais constituent toutes les machines qui sont exigées pour traiter un groupe des produits La disposition fixe C'est un type unique de disposition où le travail reste immobile à une place et les machines sont déplacées à l'emplacement du travail. Cette disposition est utilisée pour certains types de produits, surtout ceux qui sont trop lourd pour être déplacés dans l'unité de production Les différents types d ateliers Il existe cinq grandes familles essentielles de problèmes d ateliers [VIG 97] : 1. Problèmes à "1 Machine" : pour lesquels chaque travail (job) n est constitué que d une opération à réaliser. 2. Problèmes à "Machines Parallèles" : pour lesquels chaque travail n est constitué que d une opération qui peut être réalisée par une ou plusieurs machines (selon les contraintes prises en compte), 3. Problèmes d "Open-Shop" : pour lesquels la gamme de fabrication n est pas fixée (les opérations peuvent s exécuter en parallèle) et différente pour chaque travail.

17 Chapitre I Généralités 5 4. Problèmes de "Job-Shop" : pour lesquels la gamme de fabrication est linéaire (une opération de la gamme ne peut être commencée que lorsque l opération qui la précède dans la gamme est terminée) mais différente pour chaque travail. 5. Problèmes de "Flow Shop" : où la gamme de fabrication est linéaire et identique pour chaque travail. 1.3 Présentation du problème Ordonnancement dans les systèmes de production L ordonnancement consiste à organiser dans le temps la réalisation des taches compte tenu des contraintes pour atteindre les objectifs déterminés au préalable. Le but d un ordonnancement c est généralement d optimiser une dimension particulière du problème telle que : le coût, les revenus, le temps ou l efficacité. Donc, un ordonnancement doit être développé afin qu'un résultat optimum soit obtenu qui prend en considération les limites imposées par les contraintes. Dans un système de production, les taches sont les étapes du processus de transformation de la matière première en un produit fini. Un produit dans une phase de production est appelé un travail. Les ressources pourraient être les machines sur lesquelles les travaux sont traités, la main d œuvre pour opérer les machines. Chacune des ressources a certaines contraintes. Par exemple, les machines et la main d œuvre ont des contraintes du temps : ils ne peuvent pas travailler sans arrêt mais ils ont besoins du temps pour reposer, nourriture, entretien, etc. Un autre type de contrainte est que seulement un travail peut être traité par une machine et un homme à tout moment donné. En outre, les contraintes monétaires limitent le nombre des machines, main-d'oeuvre, heures de travail, etc. donc on a beaucoup de contraintes à respecter pour un ordonnancement optimal. Maximiser la productivité dans un système de production est l'objectif fondamental d'un ordonnancement optimal. Un ordonnancement optimal peut dire plusieurs choses en fonction de la définition de la productivité. Dans une installation industrielle, la productivité peut être mesurée par le nombre des travaux traités par unité de temps avec ou sans prendre en compte la disponibilité des produits dans les délais pour les clients, utilisation des ressources et par d autres façons. En fonction de la façon choisie pour mesurer la productivité un ordonnancement peut avoir un ou plusieurs objectifs à atteindre. Parmi les objectifs on trouve Cmax (le temps total d achèvement des travaux), décalage, retard et autres.

18 Chapitre I Généralités 6 Après le processus de l'optimisation un ordonnancement complet fournit essentiellement le début et la fin de chaque travail sur chaque machine et peut inclure aussi des informations diverses concernant les heures de fonctionnement des machines, le temps d entretient, temps pour le repos et l allocation des ouvriers aux machines etc L atelier de type Flow Shop Hybride (FSH) Une topologie du système de production telle qu a été présentée précédemment (Flow Shop, job Shop, etc.) offre l avantage de fournir instantanément une image des entreprises. Néanmoins, il est très rare que l organisation d une entreprise puisse nous permettre de la classer uniquement dans une des classes de cette topologie. On découvre beaucoup plus souvent des organisations mixtes soit en parallèle soit en série de type Masse Atelier [VIG 97] La configuration du système Flow Shop Hybride Dans un problème de type Flow Shop on ne considère que le problème d ordonnancement des taches (Gamme linéaire). Le problème d affectation (qui découle de la présence des machines parallèles à chaque étage) n existe pas puisqu il n y a qu une seule ressource (machine) par étage Figure 1.1: Etage 1 Etage 2 Etage m Figure 1.1 : Organisation en Flow Shop Un FSH est un Flow Shop mais avec des machines parallèles à chaque étage (le nombre des machines peut être différent dans chaque étage). Un FSH est constitué d un ensemble de m étages, Chaque étage j (j=1,, m) est composé de M (j) machines parallèles. N jobs visitent les m étages dans le même ordre (étage1, etage2, étage3,, étage m ) et les dates de fin sont connues pour chaque Job Figure 1.2 : Station d entrée.... stock.... stock stock.... Station de sortie 1 er étage 2 ème étage m ème étage Figure 1.2 : Le schéma d un atelier de type FSH

19 Chapitre I Généralités 7 M(l) = 1 Job-shop avec des machines dupliquées Gamme identique Gamme fixée (linéaire) k étages k = 1 Job-shop Flow-Shop Hybride k = 1 Machines parallèles Gamme non fixée (ordre quelconque) Gamme identique M(l) = 1 Open-shop Flow-shop M(l) = 1 L ordre ou la Séquence des travaux (jobs) est identique tous les temps d exécution des jobs sont positifs il existe au moins un temps d exécution nul Flow-shop de permutation Flow-shop k = 1 Flow-shop généralisé ou flexible flow line k = 1 k = 1 k = 1 Une Machine k désigne le nombre d étages et M(l) désigne le nombre de machines à l étage l. Figure 1.3 : Positionnement du problème du FSH parmi les autres organisations [VIG 97] L atelier de type Flow Shop Hybride a les caractéristiques suivantes : a) A chaque étage un Job est traité par une seule machine et toutes les machines peuvent exécuter les mêmes opérations, mais pas avec la même performance (la performance d une machine peut être liée à la compétence de l agent qui l utilise). b) A tout moment, une machine ne peut traiter qu un seul job, entre chaque étage les Jobs peuvent attendre ou non dans des stocks limités ou illimités. c) Le FSH est un problème générique qui peut modéliser les opérations de production, le stock et le transport entre étages [VIG97]. La résolution du problème FSH, consiste à rechercher un ordonnancement en entrée (étage1) des Jobs, et leurs affectation aux machines des différents étages dans le but d optimiser un critère de performance (Cmax, Tmax, Lmax.etc.) Une notation pour le problème FSH Le système FSH est un système de production désigné par plusieurs champs [VIG 97] : a) Champ α α β γ. j α 2 { }( ) Composé de 4 paramètres : [ 1α 2]( α 3α 4) α j= 1 tel que :

20 Chapitre I Généralités 8 α 1 : Désigne le problème FSH α 2 : Désigne le nombre d étages Le couple ( α3 α 4 ) est répété autant de fois qu il y a d étages. Dans chaque étage : α 3: désigne le type de machine (φ,p,q,r) de l étage j. α 4 : Désigne le nombre de machines dans l étage j. b) Champ β Permet de définir les contraintes prises en compte, Ce champ peut être sous la forme : β = β1,..., βn, ou β i peut être une concaténation de différents paramètres, résumant les contraintes appliquées sur l étage i du système. Dans la notation utilisée dans le FSH l indice supérieur désigne le n de l étage. Les indices inférieurs i et j correspondent respectivement au n du Job (pièce) et au n de la machine sur laquelle est traitées la pièce [VIG 97]. c) le champ γ Ce champ correspond au critère à optimiser : Cmax, Lmax,,etc. D après la description des trois champs, le problème FSH sera noté comme suit : Exemple : FH2, (P2, P1) Cmax (1) FH2, (P2, P1) split (l) Cmax (2) ( j ) 2 ( ) ( P 3 ) ( 2 j ) 5 j = P j = 3 FSH (3) 1 L exemple (1) dénote un FSH à 2 étages avec machines parallèles (P) ; 2 machines dans le 1 ier étage et 1 machine dans le second. Le critère à optimiser est le Cmax. On note l absence du champ β : pas de contrainte sur le système. L exemple (2) dénote un FSH à 2 étages avec machines parallèles (P) ; 2 machines dans le 1 ier étage et 1 machine dans le second. Le critère à optimiser est le Cmax. Une contrainte de décomposition en sous lots (split) est appliquée au 1 ier étage. L exemple (3) dénote la configuration représentée par le schéma suivant avec un stock inter étage (Figure 1.4) Figure 1.4 : Schéma d un FSH avec stocks intermédiaire

21 Chapitre I Généralités Les différents types du FSH Il existe plusieurs types du FSH suivant la stratégie du stock inter étage [ARI 04] a) FSH1 : Flow Shop Hybride avec stock inter étages sous forme de file d attente propre à chaque machine. Figure 1.5 : FSH avec stock inter étages pour chaque machine b) FSH2 : Flow Shop Hybride dans lequel il existe un stock en entrée propre à chaque machine, mais un stock unique inter étages. Figure 1.6 : FSH avec stock inter étages et un stock pour chaque machine en entrée c) FSH3 : Flow Shop Hybride caractérisé par un stock unique en entrée et des stocks inter étages propre à chaque machine. Figure 1.7 : FSH avec un stock unique en entrée et des stocks inter étage propre à chaque machine d) FSH4 : Flow Shop Hybride caractérisé par un stock unique en entrée et unique entre les étages. Figure 1.8 : FSH avec un stock unique en entrée et unique entre les étages.

22 Chapitre I Généralités 10 e) FSH5 : Flow Shop Hybride caractérisé par un stock en entrée propre à chaque machine et pas de stock inter étages. Figure 1.9 : FSH avec un stock en entrée propre à chaque machine et pas de stock inter étages. f) FSH6 : Flow Shop Hybride caractérisé par un stock unique en entrée et pas de stock inter étages. Figure 1.10 : FSH avec un stock unique en entrée et pas de stock inter étages La résolution du problème d ordonnancement dans le système FSH Dans un FSH on se contente de résoudre des problèmes de fabrication en série. L atelier est composé de m étages et chaque étage j regroupe un ensemble de K j machines, Les gammes sont toutes identiques. Le problème d ordonnancement dans le système FSH consiste à trouver un ordre de passage des différentes taches en entrée du système et une affectation des différentes taches sur les différentes machines de l étage j+1 suivant leur date de fin de traitement à l étage j Problèmes NP_Difficiles Cette classe rassemble des problèmes pour lesquels il n'existe pas d'algorithme qui fournisse la solution optimale en un temps d'exécution polynomial en fonction de la taille des données. Il existe une quantité innombrable de problèmes de ce type dans la littérature. Parmi les plus célèbres, on peut citer le problème du voyageur de commerce, le problème du sac à dos. En 1988, Gutta a montré que le problème d ordonnancement dans le système FSH a été classé NP-Complet pour tous les systèmes FSH à 2 étages qui ont un nombre de machines dans un étage qui dépasse 1, Max (M (1), M (2)>1 [VIG 97]. Du à sa nature (NP-Complet), beaucoup de stratégies exactes, heuristiques et métaheuristiques ont été proposées pour résoudre ce problème. Pour cela un codage des solutions dites admissibles ou réalisables a été utilisé. Ce codage prend en compte une notation rigoureuse pour représenter l ordre imposé sur les opérations (taches) ainsi que l affectation de ces opérations sur les différentes machines de chaque étage.

23 Chapitre I Généralités Codage de la solution Le problème d ordonnancement du Flow Shop Hybride peut être formalisé comme un problème d optimisation combinatoire noté : MIN (H(x)) x S S : est l ensemble des solutions admissibles. x : une solution admissible. H : le critère à minimiser. Une solution x admissible est représentée par la concaténation de n+1 vecteurs : X = (σ, V (1), V (2),, V (n) ) Le premier vecteur σ correspond à l ordonnancement des travaux (Jobs) en entrée et les n suivants à leur affectation. - σ = σ 1, σ 2,, σ n est une permutation de {1,2,.., n} pour l ordonnancement des n jobs en entrée du FSH - V (i) est un vecteur de longueur m pour l affectation dans chaque étage du i éme Job (i=1..n) dans l ordonnancement. - V (i) j tq 1<= V (i) j<= Mj est la machine de l étage j (j=1 m) affecté au job i (i=1 n). Exemple: Soit un FSH: à deux étages avec des stocks illimités et quatre jobs en entrée. le premier étage est composé de trois machines identiques en parallèle et le deuxième étage de deux machines identiques en parallèle. Le tableau 1.1 illustre l ordonnancement et l affectation correspondant au vecteur X= ((1342),(1 1),(1 1),(3 1),(2 2)) Jobs Etage 1 Etage 2 M1 M2 M3 M1 M2 X X X X X X X σ =(1,3,4,2) V (1) =(1 1) V (2) =(1 1) V (3) =(3 1) V (4) =(2 2) Temps de traitement Etage1 Etage X X 4 1 Tableau 1.1 : Ordonnancement et affectation des Jobs sur les machines des différents étages.

24 Chapitre I Généralités 12 Le diagramme de Gantt correspondant est le suivant : 2 éme Etage 1 er Etage M2 M1 M3 M2 M Figure 1.11 : Diagramme de Gantt. Compte tenu de l affectation des jobs aux machines, les jobs sont traités dans le premier étage selon l ordre : 1, 2,4 et 3 et dans le 2éme étage selon l ordre : 4, 2,1 et La complexité du Système FSH La taille du problème représente le nombre de solutions réalisables.cette valeur est fixée et est dépendante de l organisation de l atelier (nombre d étages + nombre de machines) et du nombre d opérations à ordonnancer. Cette valeur est donnée comme suit [SAH 02] : Card S ) = n! M K i 1 n ( Ou n est le nombre de Jobs à ordonnancer, M est le nombre d étages et K i est le nombre de machines dans l étage i. Le Card(S) croit de façon exponentielle avec l augmentation du nombre des Jobs à ordonnancer. Le problème est ainsi NP-Complet à cause de la taille de l espace des solutions qui est relativement grand et qui ne peut de ce fait être traité de façon déterministe [SAH 02]. Pour avoir une idée sur la taille du problème d ordonnancement, prenons la configuration d un FSH composé de deux étages (FH2) avec 3 machines dans le premier étage et 2 machines dans le second. Le problème est noté FH2 (P3, P2) Cmax, ou Cmax représente le critère à minimiser qui signifie le temps d achèvement total des travaux.

25 Chapitre I Généralités 13 Le tableau 1.2 expose les cardinalités de l espace des solutions lorsque le nombre n des pièces varie de 1 à 10. Nombre de pièces Combinatoire Du FSH Temps de calcul estimé pour l évaluation de toutes les solutions possibles n Card(S)=n!6 n années Mois Jours Heures Minutes Secondes Millisecondes , , , ,592, ,410,877, ,722,117, ,656,994,324, ,419,659,468, Tableau 1.2 : Combinatoire de temps de calcul estimé pour le FH2 (P3, P2) et n=1,,10 [SAH 02]. 1.4 Les méthodes de résolution du problème d ordonnancement de type FSH Pour la résolution des problèmes d'optimisation NP-Difficiles, il existe de nombreuses méthodes génériques de résolution. Ces méthodes se classent en deux catégories bien distinctes. D'une part, les méthodes exactes, cherchant à trouver de manière certaine la solution optimale en considérant l'ensemble des solutions possibles. D'autre part, les méthodes heuristiques, qui se contentent de rechercher une solution de bonne qualité. Dans le cadre de l'optimisation de problèmes NP-Difficiles, les méthodes exactes ne résolvent pas les problèmes en temps polynomial, ce qui limite la taille des problèmes solvables par ce type d'approche. Cette limite est variable selon les problèmes, mais toujours présente. C'est pour la résolution approchée des problèmes de grande taille qu'ont été introduites les méthodes heuristiques. Parfois on utilise également ces méthodes pour des applications temps réel qui ne permettent pas d'utiliser une méthode exacte qui devient alors trop coûteuse en temps de calcul. Les métaheuristiques sont des méthodes génériques de résolution approchée des problèmes d'optimisation. Elles permettent, avec une même méthode, d'envisager une résolution approchée de nombreux problèmes d'optimisation différents, en ayant un minimum d'adaptations à réaliser pour chaque problème Méthodes de résolution exactes Nous nous intéressons maintenant aux différentes méthodes de résolution des problèmes d'optimisation. En premier lieu nous présentons les différentes classes de méthode exactes. L'intérêt des méthodes exactes est d'apporter l'assurance d'obtenir une solution optimale.

26 Chapitre I Généralités 14 Pour cela, elles doivent parcourir l'ensemble de l'espace de recherche, ou au moins avoir l'assurance de n'écarter aucune solution ayant le potentiel d'être meilleure que la solution optimale trouvée par l'algorithme. Les méthodes de résolution les plus répandues sont certainement celles construisant un arbre de recherche afin d'explorer l'ensemble de l'espace de recherche. Ces méthodes sont appelées Branch & * (('*') pouvant être remplacé par Bound, Cut, Price ou Cut & Price). Elles utilisent des bornes pour éliminer de la recherche des ensembles de solutions ayant une certaine structure. D'autres méthodes sont spécifiques à un problème donné Branch & Bound Le Branch & Bound (B&B) est une large classe d'algorithmes d'où sont dérivées le Branch, cut & Price. Il utilise la stratégie diviser pour régner, en partitionnant l'espace des solutions en sous- problèmes pour les optimiser chacun individuellement. L'idée de base est de construire un arbre où les solutions se forment de manière incrémentale lorsqu'on s'enfonce dans l'arbre, les solutions intermédiaires étant appelées solutions partielles. A fin de résoudre plus rapidement le problème, il faut définir une borne supérieure et inférieure sur la solution partielle z, et raffiner ces deux bornes par la suite jusqu'à les égaliser : - Construction d'une borne supérieure : pour trouver une borne supérieure, il suffit de donner une solution réalisable pour le problème traité. Si l'objectif est de minimiser, l optimum du problème ne pourra qu'être inférieur à la valeur de cette solution en ce point. - Construction d'une borne inférieure : l'idée est de résoudre le problème que l'on obtient à partir du problème partiel initial en laissant tomber les contraintes sur les variables. Comme on optimise sur un ensemble réalisable plus large, l'optimum ainsi obtenu ne pourra qu'être inférieur à l'optimum du problème initial. La racine de l'arbre correspond à une solution partielle vide, les feuilles correspondent à des solutions réalisables (une feuille par solution réalisable). Les autres noeuds correspondent à des solutions partielles. D'une manière classique, on fixe une variable de décision à chaque 'étage' de l'arbre. La profondeur de l'arbre, nécessaire pour atteindre les solutions complètes, correspond aux nombres de variables de décision à fixer Résolution approchée Les méthodes de résolution approchée sont généralement utilisées là où les méthodes exactes échouent. En effet, une résolution exacte nécessite de parcourir l'ensemble de l'espace de recherche, ce qui devient irréalisable lorsque l'on veut résoudre de gros problèmes.

27 Chapitre I Généralités 15 Dans ce cas, une exécution partielle de l'algorithme exact permet rarement d'obtenir une solution de bonne qualité. Des méthodes de résolution approchée ont été mises au point afin de procurer rapidement des solutions de bonne qualité mais non optimales. Parmi ces méthodes de résolution approchée, on distingue les deux classes : celles se basant sur une solution unique et celles faisant évoluer une population de solutions, et les métaheuristiques avancées Métaheuristiques à solution unique Les Métaheuristiques à solution unique sont basées sur un algorithme de recherche de voisinage qui commence avec une solution initiale, puis l'améliore pas à pas en choisissant une nouvelle solution dans son voisinage. Les plus classiques sont La descente (la recherche locale), le recuit simulé et la recherche tabou La descente C est la méthode de recherche locale la plus élémentaire. Elle peut être décrite comme suit : 1 : choisir une solution s dans S 2 : Déterminer une solution s qui minimise f dans le voisinage de s. 3 : Si f (s ) < f (s) alors poser s := s et retourner à 2 4 : Sinon STOP (selon critère d arrêt) Une variante consiste à parcourir N(s) et à choisir la première solution s rencontrée telle que f(s )< f(s) (pour autant qu une telle solution existe). Pour éviter d être bloqué au premier minimum local rencontré, on peut décider d accepter, sous certaines conditions, de se déplacer d une solution s vers une solution s N(s) telle que : f (s ) f(s). C est ce que font les méthodes que nous décrivons ci-dessous Le Recuit simulé La méthode du recuit simulé: - prend ses origines dans la physique statistique, - est le fruit des travaux de Metropolis. - introduite dans le domaine de l optimisation combinatoire par Kirkpatrick en Cette méthode exploite le principe selon lequel un système physique qui est chauffé à une très haute température et ensuite graduellement refroidi, atteindra en bout de ligne un niveau faible d énergie correspondant à une structure moléculaire stable et forte. Elle peut être définie comme suit : 1 : Choisir une solution s S ainsi qu une température initiale T. 2 : Tant qu aucun critère d arrêt n est satisfait faire 3 : Choisir aléatoirement s N(s); 4 : Générer un nombre réel aléatoire r dans [0,1]; 5 : Si r < p (T, s, s ) alors poser s := s ; 6 : Mettre à jour T; 7 : Fin du tant que.

28 Chapitre I Généralités 16 En général, on choisit une température initiale élevée pour une grande liberté de l exploration de l espace de recherche. Puis, la température décroît jusqu à atteindre une valeur proche de 0, ce qui signifie l arrêt de l algorithme. 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. La méthode de recuit simulé est une méthode sans mémoire. On peut facilement l améliorer en rajoutant une mémoire à long terme qui stocke la meilleure solution rencontrée La recherche tabou La méthode de recherche avec tabous a été introduite par Glover (1986). Elle explore itérativement l espace des solutions d un problème en se déplaçant d une solution courante à une nouvelle solution située dans son voisinage, et elle est décrite ci-dessous : 1 : Choisir une solution s S, poser T:=φ et s*:= s; 2 : Tant qu aucun critère d arrêt n est satisfait faire 3 : Déterminer une solution s qui minimise f(s ) dans NT(s) 4 : Si f (s ) < f(s*) alors poser s*:=s 5 : Poser s:= s et mettre à jour T 6 : Fin du tant que Les paramètres d un algorithme de recherche tabou sont : - les mémoires à court terme, - le compteur, - le nombre d itérations - et le critère d arrêt. On génère aléatoirement une solution initiale puis on initialise le compteur et les mémoires ; ensuite on choisit une solution dans le voisinage de la solution courante en tenant compte des mémoires, Si la solution choisie est meilleure alors on la conserve, on incrémente le compteur et on met les mémoires à jour, ce processus est répété jusqu à ce que le critère d arrêt soit satisfait. Pour l intensification elle est assurée par l acceptation d une solution améliorante, par le critère d aspiration et la conservation des solutions élites dans la mémoire à long terme. Tandis que la diversification est donnée par la liste Tabou et la mémoire à long terme peut aussi être un facteur de diversification Métaheuristiques à base de population Les méthodes d'optimisation à base de population de solutions améliorent, au fur et à mesure des itérations, une population de solutions. L'intérêt de ces méthodes est d'utiliser la population comme facteur de diversité.

29 Chapitre I Généralités Colonies de fourmis C est une méthode évolutive inspirée du comportement des fourmis à la recherche de nourriture. Cet algorithme a été proposé par Dorigo en Chaque fourmi est un algorithme constructif capable de générer des solutions. Soit D l ensemble des décisions possibles que peut prendre une fourmi pour compléter une solution partielle. La décision d D qu elle choisira dépendra de deux facteurs, à savoir la force gloutonne et la trace. - La force gloutonne est une valeur ηd qui représente l intérêt qu a la fourmi à prendre la décision d et cette valeur est directement proportionnelle à la qualité de la solution partielle obtenue en prenant la décision d, -La trace τd représente l intérêt historique qu a la fourmi de prendre la décision d. Plus cette quantité est grande, plus il a été intéressant dans le passé de prendre cette décision. L algorithme est décrit de la manière suivante : 1 : Initialiser les traces τd à 0 pour toute décision possible d 2 : Tant qu aucun critère d arrêt n est satisfait faire 3 : Construire A solutions en tenant compte de la force gloutonne et de la trace 4 : Mettre à jour les traces τd ainsi que la meilleure solution rencontrée; 5: Fin du tant que Cet algorithme ne donne rien pour la diversification et rien pour l intensification c est pour cela que les chercheurs ont tenté de l améliorer avec l ajout de nouveaux composants comme une recherche locale par exemple Les algorithmes génétiques Les algorithmes génétiques, - introduits par J. Holland (1975), Sont des méthodes évolutives inspirées des principes de la sélection naturelle : L algorithme est décrit de la manière suivante : 1 : Générer aléatoirement une population 2 : Tant que Nombre de générations Nombre de générations Maximum Faire 3 : Evaluation : Assigner une valeur d adaptation (fitness value) à chaque individu. 4 : Sélection : Etablir de façon probabiliste les paires d individus qui vont se reproduire en accordant une meilleure chance aux meilleurs individus. 5 : Reproduction: Appliquer les opérateurs génétiques aux paires sélectionnées où les nouveaux individus produits représentent la nouvelle population. 6: fin du tant que

30 Chapitre I Généralités 18 Les paramètres d un algorithme génétique sont les suivants : La taille de la population, La méthode de génération des individus initiaux, La sélection des individus à croiser, Le mécanisme de croisement, L opérateur de mutation et les conditions de remplacement. On génère aléatoirement une population de solutions appelés aussi individus ou chromosomes ensuite à chaque itération on applique des mécanismes de sélection, de recombinaison et de mutation dans le but d obtenir une nouvelle population. Les meilleurs individus ont de plus grandes chances d être sélectionnés pour la reproduction, donc de transmettre leurs caractéristiques aux prochaines générations. Les opérateurs de mutation et de sélection permettent de favoriser la diversification alors que l opérateur de croisement peut assurer l intensification de la recherche Le processus décrit ci-dessus est répété jusqu à ce qu un état de convergence (tous les individus sont identiques) soit atteint ou jusqu à ce qu une condition d arrêt définie soit remplie (par exemple un nombre d itération maximum ou l atteinte d une qualité de solution satisfaisante). Il existe plusieurs travaux portant sur les algorithmes génétiques et de nombreuses variantes portantes, entre autres, sur la représentation de la population, sur les différents opérateurs et sur la définition des critères de terminaison de la méthode Les métaheuristiques avancées Les métaheuristiques sont très puissantes pour la résolution d un grand nombre de problèmes et donnent des meilleurs résultats, mais on peut constater quelques défauts comme - la limite de trouver un minimum global en un temps fini, - difficultés à adapter des algorithmes à certains problèmes, - pour certains problèmes elles ne sont pas plus performantes que les méthodes exactes, - certaines ne donnent pas de succès à propos de l intensification et la diversification. Pour aller plus loin dans la recherche de solutions, il faut avant tout pouvoir détecter de nouvelles solutions. Les algorithmes à base de populations présentent un intérêt particulier par le parallélisme qui est nécessaire dans la recherche des solutions. En ajoutant de nouveaux composants à ces algorithmes, on peut alors construire des algorithmes hybrides, l'une des faiblesses d'un algorithme génétique -par exemple- la vitesse de convergence trop lente, elle peut être compensé par l'ajout d'une méthode de recherche locale. C'est le cas des algorithmes mémétiques de Moscato [MOS 89]. Il est clair que sans l'aide des recherches locales les méthodes à population n'arrivent pas à fournir des solutions très satisfaisantes. De même, sans la gestion efficace d'une population de solutions, il est difficile pour une recherche locale de parcourir efficacement l'espace des solutions souvent très vaste.

31 Chapitre I Généralités 19 Une autre des caractéristiques importantes est de pouvoir limiter la taille de la population ; c'est le cas du Scatter Search (la recherche dispersée) de Glover et de l algorithme GA/PM (genetic algorithm with population management - algorithme génétique avec gestion de la population), initialement proposé par Sorensen Les algorithmes mémétiques Les algorithmes mémétiques ou les algorithmes génétiques hybrides sont des métaheuristiques avancées introduites par MOSCATO en 1989 [MOS 89]. L'idée principale de cette technique est de rendre un algorithme génétique plus efficace par l'ajout d'une recherche locale en plus de la mutation. Une des observations générales provenant de l'implémentation d'un algorithme génétique basique est souvent la faible vitesse de convergence de l'algorithme. L'idée de Moscato est donc d'ajouter une recherche locale qui peut être une méthode de descente ou une recherche locale plus évoluée (recuit simulé ou recherche tabou par exemple). Cette recherche locale sera appliquée à tout nouvel individu obtenu au cours de la recherche. Il est évident que cette simple modification entraîne de profonds changements dans le comportement de l'algorithme. Un simple algorithme mémétique est donné ci-dessous : 1 : Initialisation : générer une population initiale P de solutions avec taille = n 2 : Appliquer une recherche locale (RL) sur chaque solution de P 3 : Répéter 4 : Sélectionner deux solution x et x avec une technique de sélection 5 : Croiser les deux parents x et x pour former des enfants y 6 : Pour chaque enfant y Améliorer cette solution avec RL 7 : Appliquer une mutation sur y 8 : Choisir une solution à remplacer y et la remplacer par y dans la population 10 : Fin pour 11 : Jusqu à critère d arrêt L'intensification dans cet algorithme est produite par l'application de la recherche locale et l'opérateur de mutation assure la diversification de la méthode La recherche dispersée (Scatter Search) L'origine de la méthode ou du moins la première publication que l'on trouve comportant ce nom est due à Glover [GLO 86]. Mais le travail conjoint de Fred Glover, Manuel Laguna et Raphael Mart a permis d'obtenir une méthode plus claire et plus sophistiquée et qui garde un caractère générique indéniable :

32 Chapitre I Généralités 20 1 : Générer une population initiale R0 d individus et poser i:=0; 2 : Tant qu aucun critère d arrêt n est pas satisfait faire 3 : Créer un ensemble Ci de points candidats en effectuant des combinaisons linéaires des points de Ri; 4 : Transformer Ci en un ensemble Ai de points admissibles (à l aide d une procédure de réparation); 5 : Appliquer une Recherche Locale sur chaque point de Ai; soit Di l ensemble résultant. 6 : Sélectionner des points dans Ri Di pour créer le nouvel ensemble Ri+1 de référence et poser i:=i+1; 7 : Fin du tant que Cette méthode fait évoluer une population de solutions et s'appuie sur le principe suivant : - Une population de solutions (assez importante au départ) est générée (en essayant de proposer des solutions diverses les unes des autres) - et chaque individu est amélioré par l'application d'une recherche locale. - De cette population on extrait un ensemble de références contenant les meilleures solutions de la population initiale. - Ensuite ces solutions sont combinées entre elles (et avec les nouvelles solutions générées) - puis améliorées jusqu'à ce qu'il n'y ait plus de nouvelles solutions générées par combinaison. - Ensuite une moitié de la population est régénérée (remplacée par des solutions diverses) - et le processus recommence jusqu'à satisfaction d'un critère d arrêt. Un des points importants, c'est la mesure de la diversité des solutions. Cette mesure doit être prise dans l'espace des solutions (et non dans l'espace des objectifs) et elle doit refléter la différence entre deux solutions. La particularité de cette méthode est l'acharnement à épuiser les ressources par combinaison. Ceci se traduit par une sorte d'exploration systématique de tout un voisinage possible et bien sur par un temps d exécution parfois prohibitif. Par la suite, on remplace une partie de la population et on recommence. On remarque que la combinaison des points de référence assure la diversification et la recherche locale garantit l intensification Algorithme génétique avec gestion de population (GA/PM) En 2003 K. Sőrensen a proposé cette métaheuristique qui est appelée GA/PM (Genetic Algorithm with Population Management - Algorithme Génétique avec Gestion de la Population). Le fonctionnement est assez simple et est basé sur un algorithme génétique. - Nous supposons que nous savons comparer deux individus entre eux et mesurer leur dissemblance. - Au départ, on génère une population initiale de petite taille - et on choisit un paramètre fixant le niveau de dissemblance des solutions entre elles. - Ensuite, on procède comme dans un algorithme génétique, on choisit deux individus que l'on croise pour obtenir deux enfants. - Pour chacun tant que le critère de diversité n est pas satisfait on applique un opérateur de mutation sur ces individus jusqu'à ce qu il soit satisfait.

33 Chapitre I Généralités 21 - Ensuite sous condition, on les insère dans la population à la place d'un autre individu A chaque itération le paramètre gérant la diversité est mis à jour ce qui fait sans doute que cette méthode donne de très bons résultats. Parmi les avantages de cet algorithme il maintient une population de petite taille et bien diversifiée, l'évolution du paramètre de diversité qui permet à tout moment d'augmenter ou de réduire la diversité des individus dans la population. L algorithme GA/PM est donné comme suit : 1: initialiser population P et le seuil de diversité 2: répéter 3: choisir deux parents P1, P2 dans P 4: croisement sur P1, P2 enfants C 5: choisir B au hasard de P 6: tant que dp(c) < 7: muter C 8: fin tant que 9: B C 10: mettre à jour le seuil 11: jusqu'à (critère d'arrêt). Dans cet algorithme - le facteur d'intensification est donné par le croisement, - concernant la diversification, c'est la boucle tant que (6 à 8) imposant une diversité. Comme la manipulation du paramètre peut être interprétée dans les deux sens ; - Si on diminue, on autorise l'intégration de solutions moins diverses, donc on intensifie la recherche, dans le cas contraire, on force les individus à être de plus en plus éloignés entre eux, donc on diversifie la recherche Algorithme mémétique avec gestion de population (MA/PM) C est une évolution des GA/PM, elle est introduite en collaboration avec K. Sőrensen et M. Sevaux, elle ressemble beaucoup à un GA/PM sauf qu ils ont ajouté une recherche locale pour bien améliorer le comportement de l algorithme. L algorithme est donné comme suit : 1: initialiser population P et le seuil de diversité 2: répéter 3: choisir deux parents P1, P2 dans P 4: croisement sur P1, P2 enfants C 5:appliquer une recherche locale RL C RL(C) 6: choisir une solution B au hasard dans P 7: tant que dp(c) <

34 Chapitre I Généralités 22 8: muter C 9: fin tant que 10: B C 11: mettre à jour le seuil 12: jusqu'à (critère d'arrêt). Remarque : les étapes de 5 à 10 se font pour chaque enfant C Ici l application de la recherche locale est un facteur principal d intensification de la recherche et l ajustement du seuil permet soit de diversifier ou d intensifier la recherche. Comme on peut constater les avantages de cet algorithme : - Permet le contrôle actif de diversité avec la gestion de population. - Structure de type Algorithme mémétique se qui rend son implémentation plus facile. - Peut s appliquer à tout Algorithme mémétique (facteur d extensibilité) Métaheuristique électromagnétique La Métaheuristique Electromagnétique (ME) puise son inspiration dans la loi électromagnétique de Coulomb sur les particules chargées. Le principe de cette loi est le suivant : "Deux particules exercent sur les autres particules une force d attraction ou de répulsion dont la valeur est proportionnelle au produit des charges des particules et inversement proportionnelle au carré de la distance qui les sépare" (Loi de Coulomb). L idée sous-jacente de la méthode ME est que les particules (les solutions) ayant de "mauvaises propriétés" (ou chargées négativement suivant la loi de Coulomb) exercent une force de répulsion sur les autres particules et les particules ayant de "bonnes propriétés" (ou chargées positivement suivant la loi de Coulomb) exercent une force d attraction sur les autres particules. Chaque particule possède donc une certaine charge et une certaine force qui déterminent la direction de son mouvement dans l espace de recherche. Une particule i à l étape k a les caractéristiques suivantes : - sa position courante X i,k - la meilleure position de son voisinage xbest, k, - sa charge q i,k - sa force F ki - f (xj, k) valeur de la fonction à optimiser f aux point xj,k où j est une particule. L algorithme est donné comme suit : 1 : k := 0 2 : pour chaque particule i faire 3 : xi,0 = Générer Position() 4 : fin pour 5 : tant que k <= MaxIter faire 6 : pour chaque particule i faire

35 Chapitre I Généralités 23 7 : qi,k = Calcul Nouvelle Charge() 8 : Fk,i = Calcul Nouvelle Force() 9 : xi,k+1 = Calcul Nouvelle Position() 10 : xi,k = Mise à Jour() 11 : fin pour 12 : k := k : fin tant L intensification dans la ME (Métaheuristique Electromagnétique) est fournie par l attraction d une particule par une autre si cette dernière est meilleure qu elle (régions prometteuses) et est repoussée par une autre si cette dernière est pire qu elle (nouvelles régions) ce qui signifie la diversification de la recherche Conclusion Dans ce chapitre nous avons présenté les systèmes de production et les différentes dispositions des lignes de production et types d ateliers, par la suite nous avons présenté le problème de l ordonnancement dans un système de production de type Flow Shop Hybride (FSH) qui est un problème NP_difficile dont la résolution nécessite des méthodes beaucoup plus puissantes. En fin nous avons parlé des méthodes de résolution développées pour résoudre ce problème en particulier et les problèmes de l optimisation combinatoire en générale. Dans le chapitre suivant on abordera les systèmes immunitaires artificiels et les différentes applications de cette technique pour résoudre les problèmes dans différents domaines et en particulier les problèmes de l optimisation combinatoire.

36 Chapitre II Les Systèmes Immunitaires Artificiels

37 Chapitre II Les Systèmes Immunitaires Artificiels Introduction Le système immunitaire artificiel (AIS) est relativement récent comparé aux autres concepts inspirés de la biologie, basé sur les connaissances théoriques et empiriques du système immunitaire humain, qui nous protége contre les agressions de millions de micro-organismes. Il est capable de s'adapter aux mutations des intrus et de s'en "rappeler" une fois qu'il les a déjà rencontrés. Cependant quelques applications basées sur les AIS sont déjà implémentées et plusieurs algorithmes se basant sur le fonctionnement du système immunitaire ont été mis au point. Les domaines d'application des AIS sont très nombreux, en voici quelques exemples : la reconnaissance de modèles, la détection d'anomalies et de fautes, l'analyse de données, l'optimisation de plannings, la sécurité des systèmes d'information, etc... Dans ce chapitre on abordera dans la première partie l'aspect biologique du système immunitaire pour comprendre le fonctionnement et les différents mécanismes utilisés par celui-ci pour défendre le corps. On pourra en suite aborder facilement l aspect informatique des AIS (Artificiel immune system). 2.2 Le système immunitaire Naturel Introduction Notre système immunitaire est quotidiennement exposé à d innombrables agents pathogènes. De minuscules germes nous guettent partout, aux poignées de porte, sur le clavier de l ordinateur, dans l alimentation et lors des poignées de main. Sans mécanismes de protection, ces micro-organismes pourraient rapidement pénétrer dans notre organisme et éventuellement déclencher des maladies, mais chez les individus sains, la plupart de ces intrus sont bloqués car l organisme humain est constitué de divers mécanismes de protection. La première barrière est constituée par la peau et les muqueuses. Le nez et les poumons par exemple sont tapissés de muqueuses sur lesquelles les micro-organismes vont s agripper. Ceux-ci seront ensuite rendus inoffensifs et expectorés. Malgré tout, les agents infectieux auront la possibilité de franchir cette paroi protectrice comme dans le cas de plaies ou lorsque l individu concerné est affaibli (par exemple, à la suite d une transplantation d organe ou d un traitement anti-cancéreux spécial). C est à ce moment-là que le système immunitaire se met en mouvement. Le système immunitaire n est pas un organe en tant que tel, dans le sens classique du terme, il s agit plutôt d un réseau à interactions complexes. On y trouve ainsi les vaisseaux et les ganglions lymphatiques, la moelle osseuse, le sang circulant, la rate et le thymus.

38 Chapitre II Les Systèmes Immunitaires Artificiels Composantes de l immunité L immunité a deux composantes : naturelle et acquise L immunité naturelle : elle est l'ensemble des mécanismes de résistance non spécifiques. Elle est le fait de 4 barrières : - Anatomique : première ligne de défense : peau, muqueuses... - Physiologique : température, ph, médiateurs chimiques - Phagocytaire : macrophages et polynucléaires - Inflammatoire : activité anti-bactérienne L immunité acquise Elle est caractérisée par sa spécificité, sa diversité, sa mémoire immunitaire et la reconnaissance du soi et du non soi. Seule l'immunité acquise présente un réel intérêt informatiquement parlant vu ces facultés d'adaptation et d'évolution. Le système immunitaire est composé de plusieurs éléments que l'on peut classer en trois grandes catégories : les organes, les cellules et les molécules : a)- Les organes du système immunitaire Le système immunitaire est constitué par de nombreux organes et tissus répartis dans le corps. Ces organes sont divisés en deux grandes parties [GHA 06] : 1. Les organes lymphoïdes primaires (ou centraux) qui sont la moelle osseuse et le thymus dont la fonction est le développement et la maturation des cellules. Toutes les cellules sanguines proviennent de la moelle osseuse à partir de cellules souches. Ainsi va apparaître la cellule progénitrice lymphoïde qui va croître et se différencier pour donner des cellules précurseurs des lymphocytes B et T. Les cellules précurseurs des lymphocytes T quittent la moelle osseuse et vont au thymus, tandis que celles des lymphocytes B restent dans la moelle osseuse où elles continuent leur maturation. Le thymus accueille les précurseurs T qui viennent de la moelle osseuse pour finir leur maturation et se multiplier. Mais la plupart d'entre eux meurent sur place, seul 5% quittent le thymus et vont vers la périphérie. On distingue quatre différentes cellules qui quittent le thymus : - Les lymphocytes T helper (Th) divisés en Th 1 sécréteur de cytokines qui interviennent dans l'entretien de l'inflammation et dans l'activation des lymphocytes T, et les Th 2 activateurs des lymphocytes B. - Les lymphocytes T cytotoxiques (Tc). - Les lymphocytes T suppresseurs (Ts) dont la présence est controversée. - Les cellules NK (Naturel Killer) qui n'expriment ni les récepteurs des B ni ceux des T. Elles ne sont pas spécifiques et n'ont pas de mémoire.

39 Chapitre II Les Systèmes Immunitaires Artificiels 26 Figure 2.1. Structure de base d'une Lymphocyte T 2. Les organes lymphoïdes secondaires (ou périphériques), essentiellement les ganglions et la rate qui sont le lieu de l'interaction entre l'antigène (Ag) et le lymphocyte. b)- Les cellules du système immunitaire Les cellules qui participent aux réponses immunitaires sont nombreuses. Les plus importantes sont les cellules lymphoïdes (lymphocytes B, T, NK Natural Killer), les macrophages, les cellules mononuclées, les cellules dendritiques et les granulocytes. Seuls les lymphocytes T et B possèdent les caractéristiques de la réponse immunitaire adaptative (acquise, spécifique). Les autres cellules jouent des rôles accessoires (réponse immunitaire innée) : activation des lymphocytes, augmentation de l'élimination de l'antigène, sécrétion d'effecteurs du système immunitaire. c)- Les molécules du système immunitaire Les cellules de l'immunité exercent leurs fonctions par l'intermédiaire de molécules qu'elles produisent : certaines de ces molécules sont des protéines membranaires et servent "d'agents de liaison" intercellulaires, d'autres agissent dans l'environnement immédiat sur le site même de la réaction immunitaire et d'autres enfin, diffusent à distance et sont des messagers de l'immunité Détection des antigènes Comme cité précédemment, les lymphocytes sont les plus importantes cellules du système immunitaire adaptatif. Tout lymphocyte naïf qui rentre dans la circulation sanguine, porte un récepteur d'antigène spécifique. La spécificité de ce récepteur est déterminée par un mécanisme spécial de réorganisation de gènes qui intervient lors du développement des lymphocytes dans la moelle osseuse et le thymus. Ce mécanisme peut générer des millions de récepteurs différents. C'est ainsi que chaque lymphocyte porte un récepteur différent des autres Pour que les lymphocytes T reconnaissent un antigène, il faut qu'il soit préparé par d'autres cellules, essentiellement les CPA, puis présenté à leur surface sous la forme d'un complexe peptide- CMH.

40 Chapitre II Les Systèmes Immunitaires Artificiels Le récepteur des lymphocytes B (BCR) Les immunoglobulines (Ig) ou communément appelées anticorps (Ac), sont présentes sur la membrane du lymphocyte B où elles jouent le rôle de récepteur de l'antigène. Lorsqu'elles sont sécrétées par les plasmocytes, elles existent dans les liquides biologiques où elles sont alors les effecteurs de la réponse immunitaire humorale. Une Immunoglobuline est formée par quatre chaînes polypeptidiques identiques deux à deux : deux chaînes légères (L : Light) et deux chaînes lourdes (H : Heavy). Chaque chaîne est formée de plusieurs domaines. Ces domaines sont de 2 types : Domaine variable (VL et VH) qui constitue le site Ac de la liaison avec l'antigène. Domaine constant (CL ou CH) qui assure les fonctions effectrices de la réponse immunitaire, Comme le montre la Figure 2.1, la chaîne légère est composée d'un domaine variable et d'un domaine constant (donc VL et CL) tandis que la chaîne lourde est composée d'un domaine variable et d'au moins trois domaines constants (donc VH, CH1, CH2, CH3). La diversité des immunoglobulines est principalement due à : l existence de segments géniques, au réarrangement des gènes, à la flexibilité jonctionnelle, aux hypermutations somatiques, ainsi qu'au nombre important de combinaisons possibles entre une chaîne lourde et une chaîne légère. Il existe quatre types de segments géniques : V,J,D,C. Les segments V-J et V-D-J codent respectivement pour les régions variables des chaînes légères et lourdes. Les segments C codent pour les régions constantes. Donc pour fabriquer une immunoglobuline (ie : deux chaînes lourdes identiques et deux chaînes légères identiques), on pioche un segment génique V dans la bibliothèque des segments V, un J dans la bibliothèque des J. De même pour D et C pour fabriquer les chaînes lourdes on ne pioche que V,J,C pour les chaînes légères dans des bibliothèques différentes. Une fois ces segments choisis, il faut les réarranger pour constituer l'immunoglobuline. Le réarrangement de ces segments consiste à éliminer des séquences non codantes et à rapprocher les séquences codantes, pour ne garder qu'un seul gène par famille et obtenir une immunoglobuline d'une spécificité anticorps donnée. L'imprécision de la jonction entre les différentes parties codantes réunies ajoute une forme de diversité (flexibilité jonctionnelle). Figure 2.2. Structure de base d'une immunoglobuline

41 Chapitre II Les Systèmes Immunitaires Artificiels Le récepteur des lymphocytes T (TCR) Le TCR est différent du BCR car premièrement il n'existe que sous forme membranaire et pas sous forme soluble. Deuxièmement le TCR n'est pas spécifique de l'antigène seul mais de l'antigène combiné à une molécule du CMH. L'organisation et le réarrangement des gènes du TCR est semblable à ceux des immunoglobulines. On pioche les segments géniques dans des librairies et les met bout à bout pour former le TCR Mécanisme de la détection du soi et du non soi Lors du développement des lymphocytes T dans le thymus, ils subissent deux types de criblage : Au cours du premier criblage, la sélection positive porte sur toutes les cellules T capables de reconnaître les peptides présentés par les molécules du CMH du soi. Le second criblage est la sélection négative qui élimine les cellules potentiellement auto-réactives, qui pourraient être activées par les peptides normalement présentés par les molécules du CMH à la surface de cellules saines La sélection positive Le répertoire primaire des molécules TCR (récepteur des lymphocytes T) se caractérise par sa tendance à réagir avec les molécules du CMH par le biais de la partie variable du TCR. Le réarrangement génique procure ainsi un répertoire étendu de TCR reconnaissant des centaines de molécules du CMH I et 2 présents dans la population humaine. Cependant, le répertoire des gènes de TCR que possède un individu donné n'est pas spécifiquement assorti aux formes de ses molécules du CMH. Ce n'est que 1 ou 2% des lymphocytes T qui possèdent des récepteurs pouvant interagir avec les molécules du CMH d'un individu et sont capables de répondre aux antigènes présentés par ces mêmes molécules du CMH. La sélection positive est donc le procédé par lequel de petites populations de lymphocytes T poursuivent leur maturation laissant la plupart des autres cellules mourir par apoptose La sélection négative de lymphocytes B (La délétion clonale) Lors de la maturation des lymphocytes B dans la moelle osseuse, ils sont exposés par hasard aux antigènes du soi. Les cellules réagissant avec ces antigènes (ie : se lient aux antigènes) sont poussées au suicide par apoptose. L'élimination des clones de cellules B immatures spécifiques des antigènes du soi est appelée "délétion clonale" La sélection négative de lymphocytes T La sélection négative, un mécanisme similaire à la délétion clonale, sert à éliminer les cellules T dont le TCR se fixe trop fortement au complexe peptide du soi-cmh présenté par les cellules présentatrices d'antigène dans le thymus.

42 Chapitre II Les Systèmes Immunitaires Artificiels 29 De telles cellules T sont potentiellement autoréactives et si elles arrivent à rentrer dans la circulation périphérique, elles causeraient des lésions tissulaires et des pathologies auto-immunes. La sélection négative n'est pas parfaite, certaines cellules T arrivent à passer et se retrouvent dans la périphérie. Ces cellules pourraient causer des lésions, mais pour qu'un lymphocyte T soit activé, il a besoin de recevoir d'autres signaux que ceux de la liaison avec les complexes peptide-cmh, ces cellules ne réussissent pas à s'activer La théorie de la sélection clonale Cette théorie est postulée par Burnet, Jerne, Talmadge pour expliquer le fonctionnement de l immunité acquise. Nous avons vu précédemment que chaque lymphocyte exprime une immunoglobuline ou un récepteur T d'une spécificité quasi-unique. Dans un état d'infection, seul un très petit nombre de lymphocytes porteurs des récepteurs spécifiques du pathogène sera activé, et après s'être divisé, se différenciera en cellules effectrices. En conséquence, tout lymphocyte stimulé par le pathogène donne naissance à une population clonale de cellules qui toutes expriment une immunoglobuline ou un récepteur des cellules T identique à celui de la cellule initiale. Le processus par lequel les pathogènes sélectionnent des clones particuliers de lymphocytes en vue de leur expansion est appelé sélection clonale. Selon la nature de l'antigène, la cellule B est activée en présence ou pas du lymphocyte T helper. Les antigènes thymo-dépendants nécessitent un contact étroit entre le lymphocyte B et le Th2, tandis que les antigènes thymo-dépendants activent le lymphocyte B sans l'aide du Th. Dans le cas des antigènes thymo-dépendants, la fixation de l'antigène sur l'immunoglobuline n'est pas suffisante pour activer le lymphocyte B. Cette activation nécessite une liaison directe avec des lymphocytes T helper et l'action de cytokines. Après la liaison antigène- immunoglobuline, l'antigène est internalisé par le lymphocyte B. Il est ensuite apprêté en peptide et présenté à la surface du lymphocyte B sous forme de complexe peptide-cmh. La cellule B se comporte alors comme une cellule présentatrice d'antigène. Le lymphocyte Th va reconnaître le complexe peptide-cmh et se lier à la cellule B, ce qui permettra à la cellule B de s'activer. Une fois le lymphocyte B activé, il va se multiplier et forme des clones de cellules B identiques de même spécificité antigénique. La cellule B fille se différencie en cellule B mémoire et en plasmoblaste qui devient ensuite plasmocyte sécréteur d'anticorps. La Figure 2.3 donne une idée sur la sélection clonale : cette image montre au sommet la liaison entre les cellules lymphocyte B et les antigènes spécifiques une fois cette liaison aura lieu la cellule prolifère et produit beaucoup de cellules B (lymphoblasts) lesquelles se différencient en cellules plasma productrices des anticorps (effecteur de la réponse immunitaire) et les cellules mémoires utilisées si l antigène réapparaît.

43 Chapitre II Les Systèmes Immunitaires Artificiels 30 Figure 2.3 : Une simple idée du processus de la sélection clonale. D après [BRO 05] La différentiation des cellules précurseurs des lymphocytes Le Soi Le Soi Le Soi Elimination des cellules qui reconnaissent le soi Les cellules qui ne reconnaissent pas le soi Les Antigènes Stimulation par les antigènes des clones Les Anticorps Figure 2.4 : Une idée générale sur le processus de la sélection clonale et la sélection négative. [BRO 05]

44 Chapitre II Les Systèmes Immunitaires Artificiels La théorie des réseaux immunitaires (idiotypique) Jerne a imaginé en 1974[GHA 06] une théorie ingénieuse qui est la théorie des réseaux idiotypiques. Chaque molécule d'anticorps réagit avec les autres éléments du système immunitaire par deux sites distincts. En premier lieu par son site anticorps qui est spécifique, mais aussi par les déterminants idiotypiques des autres molécules d'immunoglobulines reconnus de façon croisée avec l'antigène (image interne de l'antigène). En second lieu, par ses déterminants idiotypiques (les idiotopes). La molécule d'immunoglobuline réagit avec d'autres molécules d'immunoglobuline ayant un site anticorps spécifique de ces idiotopes. L'idée de cette théorie est qu'à chaque antigène, à chaque épitope correspond un idiotope, en d'autres termes, l'univers des idiotopes se confond avec celui des antigènes. Le fonctionnement : A l'équilibre, l'anticorps Ac2 supprime la production de l'anticorps Ac1, l'introduction de l'antigène Ag1 (ou son image interne Id0) rompt cet équilibre et stimule la production de l'anticorps Ac1. En effet, la molécule Ac1 exerce à l'équilibre une action suppressive sur la production d'anticorps Ac0 ayant l'idiotope Id0 et une action stimulante sur les cellules produisant l'anticorps Ac2. Donc lors de la liaison Ac1 / Ag1, il y a expansion des clones des lymphocytes produisant les Ac0 vu qu'ils ne sont plus neutralisés et à l'inverse si il y a diminution du nombre de sécréteurs de l'ac2. Ce qui entraîne à terme une stimulation des cellules produisant l'ac1. L'apparition dans l'organisme de grandes quantités de Ac1 stimule les cellules productrices de l'ac2 qui tendent à restaurer l'équilibre momentanément rompu. Il persiste, cependant, un accroissement du nombre de cellules reconnaissant l'antigène (clones Ac1) à l'origine d'une mémoire immunologique La théorie du danger La principale idée de la théorie du danger proposée par Matzinger est que le système immunitaire ne répond pas au non soi mais au danger. Cette idée vient de l'observation du système immunitaire qui n'attaque pas systématiquement tous ce qui est étranger à l'organisme, par exemple la nourriture. Dans cette théorie, le danger est mesuré en fonction de la gravité des dégâts sur les cellules, par l'envoi de signaux de détresse lors d'une mort inhabituelle. Quand une cellule envoie un signal de détresse, les antigènes dans sa périphérie sont capturés par les cellules présentatrices d'antigènes qui les présentent aux lymphocytes. Egalement, les cellules B, se trouvant dans la zone de danger et possédant des récepteurs reconnaissant les antigènes de cette même zone, sont stimulés et s'engagent dans le processus de sélection clonale. Les autres cellules en dehors de la zone de danger ou qui ne reconnaissent pas les antigènes ne sont pas activées. La nature même du signal de danger envoyé par les cellules n'est pas claire. Il peut être positif comme pour la sécrétion de protéines lors d'un choc thermique, ou négatif comme lors d'une présence de microbes dans l'organisme. C'est a ce niveau la que cette théorie va à l'encontre de certaines notions de la sélection du soi et du non-soi traditionnelle.

45 Chapitre II Les Systèmes Immunitaires Artificiels Le système immunitaire artificiel Introduction Les AIS (Artificial Immune Systems) forment un secteur de recherche assez récent comparé à d'autres modèles de calcul informatique s'inspirant de la biologie pour trouver des solutions. Comme tout secteur de recherche pas encore tout à fait exploré, il est complexe de leur fournir une définition complète et concise. Cependant, plusieurs définitions ont été proposées. En voici quelques unes [GHA 06] : Définition 1 : Les AIS sont des méthodes de manipulation de données, de classification, de représentation et de raisonnement qui s'inspirent d'un modèle biologique plausible : le système immunitaire humain (Starlab). Définition 2 : Les AIS sont des systèmes informatiques basés sur des métaphores du système immunitaire naturel (Timmis 2000). Définition 3 : Les AIS sont des systèmes adaptatifs, s'inspirant des théories de l'immunologie, ainsi que des fonctions, des principes et des modèles immunitaires, afin d'être appliqués à la résolution de problèmes (de Castro et Timmis 2002). Les recherches concernant le système immunitaire artificiel dans les dernières années sont reportées dans le tableau 2.1 suivant [ENG 04] : Auteur Année Sujet de l étude Forrest, S et al Computer and Network Security Somayaji A. et al // Hofmeyr, S.A., Forrest, S // Forrest, S., Hofmeyr S.A // Mori, M. et al 1997 Logarithm Hart, E. et al // Russ, S.H. et al // Costa, A.M. et al // De Castro,L.N.,Von Zuben F.J Model (Design) identification multi-purpose combinatory optimization DeCastro,L.N.,Von Zuben F.J // De Castro,L.N., Timmis, J // Dasgupta,D., Forrest, S Device error detection Nasaroui O. et al Data Mining Timmis, J., Neal, M. J 2000 Data Analysis Dasgupta, D.,Forrest, S Time series analysis Lee, D. et al Choosing strategies for common control and group behavior Tableau 2.1 Les recherches concernant le système immunitaire artificiel dans les dernières années

46 Chapitre II Les Systèmes Immunitaires Artificiels 33 Les algorithmes des AIS peuvent être divisés en trois grandes parties, chacune d'elles s'inspirant d'un comportement ou d'une théorie du système immunitaire biologique : la sélection clonale, la sélection négative et positive, les réseaux immunitaires (ou idiotypiques), la moelle osseuse et la théorie du danger. Dans ce qui suit on va voir dans la section la représentation informatique des différents mécanismes utilisés par les AIS : Affinité, génération des récepteurs, la sélection positive, la sélection négative et la sélection clonale et puis dans la section le modèle des réseaux immunitaires et dans la section on trouve une idée sur la théorie du danger Représentation des différents mécanismes Affinité Afin de pouvoir être utilisés en informatique, les différents composants du système immunitaire biologique, plus particulièrement les cellules immunitaires et les antigènes, doivent être modélisés sous forme numérique, informatique. Par ailleurs le système immunitaire biologique a pour base de fonctionnement l'identification des antigènes et l'affinité entre les différents récepteurs des cellules (BCR et TCR) et ces antigènes qu'ils soient complets ou décomposés (présentés par les CPA). Pour que les cellules modélisées puissent reconnaître les "antigènes", cette notion d'affinité est reprise et appliquée aux cellules informatiques. Les lymphocytes B et T portent à leur surface un grand nombre de récepteurs, chacun n'est capable de reconnaître qu'un seul type d'antigène et tous les récepteurs d'une même cellule sont identiques. Dans les AIS dont le domaine d'application est l'informatique, on ne parlera plus de cellules B et T ni de leurs récepteurs respectifs mais d'anticorps en général par soucis de faciliter la modélisation et la représentation. Cependant, certaines applications basées sur les AIS utilisent cette notion. Perelson et Oster ont introduit en 1979 [GHA 06] la notion "d'espace de forme" pour décrire quantitativement les interactions entre les molécules du système immunitaire et les antigènes. Chaque antigène et anticorps est représenté par un point dans "l'espace de forme". La distance entre ces points définit donc l'affinité entre antigène et anticorps. Un espace de forme de Hamming utilise la méthode de Hamming pour le calcul de la distance de même qu'un espace de forme Euclidien utilise la méthode Euclidienne pour calculer la distance entre deux points. Chaque point est décrit par un certain nombre L de paramètres tel que : sa longueur, sa largeur, son poids etc... Cette notion est donc reprise pour représenter les anticorps et les antigènes sous forme de vecteurs à L dimensions. Chacune de ces dimensions représente un paramètre. Ces paramètres permettent de calculer l'affinité entre ces deux entités. Il va de soi que les dimensions de ces deux vecteurs doivent être identiques afin de pouvoir les comparer. Etant donné que le calcul de l'affinité entre un antigène et un anticorps est réduit au calcul de la distance entre deux points dans un L-Espace, l'utilisation de diverses formules mathématiques est possible :

47 Chapitre II Les Systèmes Immunitaires Artificiels 34 La distance Euclidienne : calcul de la distance entre les deux points Ab et Ag dans chacun des espaces : D = i L = 1 ( ) 2 Abi Agi...(1) La distance de Manhattan : calcul de la distance entre les deux points Ab et Ag en ne suivant que les axes de coordonnées de l espace : L D = / Abi Agi /...(2) i = 1 La distance de Hamming : représente les anticorps et les antigènes sous forme de symboles et calcule la différence entre ces symboles. Par exemple la comparaison de CADBCADB (un antigène) avec CBDBCDDB (un anticorps) donne une complémentarité de six sur huit positions. D = L i = 1 δ i Avec δ i = 1 si Ab i <> Ag i 0 si non..(3) Génération des récepteurs Nous avons vu précédemment que les anticorps sont codés à partir de quatre bibliothèques de gènes différentes. Le modèle de la moelle osseuse s'inspire de cette méthode de génération d'anticorps pour en "fabriquer". Les bibliothèques sont des vecteurs qui contiennent dans chaque case un nombre de bits. Afin de créer un anticorps, un algorithme pseudo-aléatoire pioche une série de bits (une case de vecteur) dans chacune des librairies présentes. Figure 2.5 : Sélection de segment dans des librairies pour former un anticorps.[gha 06]

48 Chapitre II Les Systèmes Immunitaires Artificiels 35 Par exemple, nous voulons créer des anticorps capables de reconnaître des antigènes de 64 bits nous devons donc créer des anticorps de 64 bits. Afin d'avoir une diversité dans notre population d'anticorps, nous générons quatre librairies contenant chacune huit segments de 16 bits. Donc notre individu a un total de 512 (16x8x4) bits. Ce nombre est très faible par rapport aux bibliothèques présentes dans le corps humain (sept bibliothèques avec un nombre de segments différents). En prenant dans chacune de ces quatre librairies un segment de 16 bits et en les mettant bout à bout, on obtient un anticorps de 64 bits comme souhaité. Nous pouvons alors procéder à la comparaison avec l'antigène en utilisant les différentes méthodes citées plus haut La sélection positive La sélection positive, permet d'assurer que tous les lymphocytes T sortant du thymus reconnaissent les CMH1 du soi. Seidan et Celada ont proposé en 1992 [GHA] un algorithme de sélection positive intéressant du point de vue informatique. Pour fonctionner, cet algorithme a besoin de trois composants du système immunitaire : les lymphocytes B et T et les cellules présentatrices d'antigène (CPA). Les cellules T sont représentées sous la forme d'une suite de bits de longueur L qui correspond à leur récepteur. Les cellules B sont quant à elles représentées par deux suites de bits chacune de longueur L. La première suite représente le récepteur (anticorps), tandis que la seconde représente le CMH de la cellule. Les CPA sont représentées elles aussi avec une seule série de bits également de longueur L, qui est leur CMH. L'idée de l'algorithme est simple : Les cellules T, ne peuvent reconnaître que l'ensemble des CMH du soi. Les récepteurs des cellules T sont donc testés avec tous les CMH. Si une cellule T est incapable de reconnaître un CMH du soi, elle est rejetée. Les récepteurs des cellules T sont générés aléatoirement La sélection négative La sélection négative, permet d'assurer que tout lymphocyte T reconnaissant trop les cellules du soi comme antigène ne sorte pas du thymus afin d'éviter les maladies auto-immunes. Forrest a proposé en 1994[BRO 06] un algorithme de détection du non-soi en s'inspirant de la sélection négative du thymus. L'algorithme peut se diviser en deux parties distinctes : la génération des détecteurs de non-soi et la surveillance qui teste les entrées avec les détecteurs générés précédemment. Dans cet algorithme, le soi correspond aux données à protéger et le non-soi aux données indésirables. La génération de détecteurs proposée par Forrest est la suivante : 1. Définir les données du soi. 2. Générer les détecteurs aléatoirement. 3. Comparer chaque détecteur généré avec les données du soi. S'il en détecte une, il est supprimé, sinon il est gardé. Une fois les détecteurs générés et filtrés, ils sont comparés avec les données du soi. S'il y a correspondance, c'est que ce n'est pas une donnée du soi et qu'on se trouve face à du non-soi. S'il n'y a pas de correspondance, c'est que les données sont bien celles du soi.

49 Chapitre II Les Systèmes Immunitaires Artificiels 36 Dans cet algorithme, les détecteurs sont générés aléatoirement. Une analyse de probabilité est utilisée pour définir le nombre de détecteurs nécessaires pour avoir un certain niveau de fiabilité. Le principal défaut de la génération automatique est la difficulté de produire des détecteurs valides, qui augmente exponentiellement par rapport à la taille des données du soi. Une autre méthode de génération a été proposée par Helman et Forrest [BRO 06] dont le nombre de détecteurs à produire augmente linéairement avec le nombre de données du soi. Le nombre de détecteurs à produire suit la formule probabiliste suivante : N = ln P N f R 0 P ( ) s M X 1 P où NR0 est le nombre de détecteurs à M produire, NR le nombre de détecteur après l'application de l'algorithme, P f la probabilité pour que NR détecteurs ne détectent pas l'intrusion, Ns le nombre de données du soi et PM la probabilité d'affinité entre un détecteur et une donnée du soi. Pour obtenir une augmentation linéaire du nombre de détecteurs à produire, Forrest et Helman ont simplifié l'expression de PM : P = 1 Une troisième méthode linéaire également, la méthode de Greddy utilise le même algorithme proposé par Helman et Forrest [GHA 06] pour générer les détecteurs. Cependant les détecteurs redondants sont supprimés ce qui rend cette méthode plus efficace. D'autres méthodes de génération de détecteurs de complexités variables ont été suggérées La sélection clonale La sélection clonale est la théorie expliquant comment le système immunitaire interagit avec les antigènes. Cette théorie est applicable aux lymphocytes B ainsi qu'aux lymphocytes T. La seule différence est que les cellules B subissent une hypermutation somatique durant leur prolifération contrairement aux cellules T. Grâce à ce procédé, le corps humain est capable de contrer un très grand nombre d'éléments externes. Les AIS s'inspirent de cette théorie. Mais vu que seules les cellules B sont capables de muter pour optimiser la réponse immunitaire, seules ces cellules nous intéressent. Cette optimisation est due au fait que les cellules B une fois en contact avec l'antigène, elles se multiplient et donnent plusieurs clones et chaque clone subit une mutation. Cette mutation sert à trouver des clones de la cellule mère possédant une plus grande affinité avec l'antigène. Lors des mutations successives, le risque d'être affronté à un problème d'optimum local ou l'on ne peut plus trouver de meilleur clone même en passant des générations de cellules (voir figure 2.7). Le corps humain évite ce problème en ajoutant à ces clones des éléments nouvellement créés, qui n'ont aucune relation avec la cellule mère. Cet ajout d'éléments "aléatoires" permet de résoudre le problème en faisant évoluer les nouveaux éléments s'ils possèdent une plus grande affinité avec l'antigène. Ces cellules sont présentées sous forme de vecteurs de bits de longueur L. M N s

50 Chapitre II Les Systèmes Immunitaires Artificiels 37 La figure 2.6 représente l'algorithme de la sélection clonale qui se déroule comme suit : (1) on commence tout d'abord par générer aléatoirement un nombre de récepteurs défini. (2) On sélectionne parmi ces récepteurs les n meilleurs. (3)Cette nouvelle population est ensuite clonée puis (4) mutée. (5) Puis la population obtenue est ensuite refiltrée pour ne garder que les meilleurs éléments (cellules mémoires). (6) Une partie de ces cellules est ensuite remplacée par d'autres détecteurs aléatoirement régénérés. C'est cette introduction de nouveaux détecteurs qui évite le problème d'optimums locaux (voir figure 2.7). En recommence ensuite le cycle en procédant à la sélection des n meilleurs éléments. La mutation des détecteurs est effectuée en modifiant un ou plusieurs bits du vecteur représentant la cellule par une autre valeur. Les principales différences entre tous les algorithmes de sélection clonale sont les méthodes utilisées dans la génération aléatoire des détecteurs, la mutation et l'affinité entre les détecteurs et les antigènes. Les algorithmes de sélection clonale sont le plus souvent utilisés : dans des applications d'optimisation vu que les cellules B deviennent de plus en plus affines aux antigènes, des applications de détection d'intrusions également où l'on ne peut répertorier tous les éléments indésirables et où ces éléments sont extrêmement variés, ainsi que d'autres applications comme la reconnaissance de caractères. Figure 2.6 :- Algorithme de la sélection clonale [GHA 06]

51 Chapitre II Les Systèmes Immunitaires Artificiels 38 Affinité Espace de recherche Figure 2.7 : Représentation schématique de l évolution de l algorithme de la sélection clonale [GHA 06] Modèle des réseaux immunitaires En 1974 Jerne [BRO 06] émit l'hypothèse que le système immunitaire est un réseau autorégulé de molécules et de cellules qui se reconnaissent entre elles, même en l'absence d'antigène. Il existe deux grands modèles de réseaux immunitaires artificiels : un modèle continu et un autre discret. Comme tout modèle continu, le principal obstacle à son utilisation est de lui trouver une solution analytique, ce qui n'est pas forcément possible. Les modèles discrets sont généralement adaptatifs, que ça soit dans le nombre d'éléments les constituant ou dans la forme de ces éléments afin d'accroître leur affinité. Les modèles discrets sont plus appropriés pour résoudre des problèmes externes vu qu'ils peuvent interagir avec leur environnement (notion d'antigène) contrairement à certains algorithmes continus. Les modèles continus de réseaux immunitaires artificiels sont basés sur des équations différentielles décrivant la dynamique du réseau. Le premier modèle discret est celui de Jerne en 1974, où à chaque élément du réseau (lymphocyte ou anticorps) est relié une équation différentielle qui gère l'état d'activation ou d'inhibition des éléments. Un autre modèle de F. Varela et A. Coutinho, qui a été nommé "second-génération immune network", se caractérise par sa structure (formes de connexion entre les différents éléments du système), sa dynamique (variation avec le temps du nombre d'éléments du réseau et de leur affinité) et sa métadynamique (production et renouvellement des éléments ainsi que la suppression des éléments non stimulés ou autoréactifs). Un autre modèle continu a été proposé par Farmer, où les éléments du système sont représentés par des vecteurs binaires de différentes tailles dans un espace de forme de Hamming. Contrairement aux deux précédents modèles, Farmer a introduit la notion "d'antigène" (élément extérieur au système). Les modèles discrets de réseaux immunitaires artificiels sont basés, quant à eux, sur des différences d'équations et sur des itérations. Timmis proposa en 2000 [GHA 06] le modèle RAIN où se confond théorie des réseaux idiotypiques et sélection clonale. Cet algorithme est donc capable, grâce à la sélection clonale, de reconnaître des éléments externes au réseau.

52 Chapitre II Les Systèmes Immunitaires Artificiels 39 On y retrouve donc, les notions de stimulation des éléments comme dans la théorie des réseaux idiotypiques ainsi que les notions de mutations, d'hypermutations somatique et de clonages de la théorie de la sélection clonale. DeCastro et Von Zuben [BRO 06] ont proposé un autre modèle de réseaux immunitaires artificiels nommé "ainet". Il s'inspire aussi des deux théories de la sélection clonale et des réseaux immunitaires. Les deux modèles peuvent paraître similaires, cependant ils sont différents de plusieurs points de vue. La représentation des données, le calcul de la stimulation des éléments du réseau ainsi que la manière dont ils limitent la taille du réseau La théorie du danger Contrairement à la plus part des théories des systèmes immunitaires artificiels, la théorie du danger proposée par Matzinger ne repose pas uniquement sur l'utilisation des cellules B mais également les cellules T et les cellules présentatrices d'antigènes. Cette théorie est controversée mais intéressante d'un point de vue informatique. Comme pour le système immunitaire biologique, une fois qu'un signal de danger est lancé, les cellules présentatrices d'antigènes qui se trouvent dans la zone du signal présentent les données considérées comme nuisibles aux cellules T. De même, les cellules B se clonent si elles sont dans la zone et reconnaissent les données. Les signaux de danger peuvent être différents, dépendant de l'application. Par exemple, on peut considérer le manque ou l'excès d'utilisation de la mémoire, activité inappropriée des disques etc... La notion de proximité de danger peut être également très différente et n'est pas forcément géographique. La proximité peut être par exemple un temps de début d'exécution identiques ou un accès aux mêmes ressources, La théorie du danger commence à être utilisée dans quelques applications comme les IDS et l'extraction de données. 2.4 Conclusion Le domaine des systèmes immunitaire artificiel est un vaste sujet de recherche. Dans ce chapitre on a présenté les différents principes inspirés du système immunitaire naturel tel que la sélection négative, la sélection clonale, la maturité d affinité et la génération des récepteurs. Ces principes ont été utilisés pour développer des outils informatiques pour la résolution des problèmes complexes dans plusieurs domaines, et notamment les problèmes de l optimisation combinatoire. Dans le chapitre suivant on abordera l algorithme immunitaire artificiel inspiré de ces principes et mécanismes pour résoudre le problème d ordonnancement dans les systèmes de production de type Flow Shop Hybride.

53 Chapitre III Développement de l algorithme immunitaire artificiel pour le problème du FSH

54 Chapitre III Développement de l algorithme immunitaire artificiel pour le problème du FSH Introduction Dans le but de résoudre des problèmes complexes, des idées inspirées à partir des mécanismes naturels ont été exploitées pour développer des heuristiques inspirées de la nature. Le système immunitaire artificiel (AIS) est un paradigme récent qui tente de capturer des caractéristiques intéressantes des systèmes immunitaires naturels (NIS), comme la mémorisation, la reconnaissance de formes, l apprentissage, l optimisation combinatoire, la détection d intrusion dans les réseaux informatiques, la robotique, l apprentissage machine, etc.[gha 06]. L algorithme développé dans cette thèse de magister est inspiré du principe de la sélection clonale et la maturité d affinité utilisés par le système immunitaire naturel. Plus de détails de ces principes sont fournis dans les sections suivantes. Basé sur ces deux principes, le but de l algorithme est de trouver les meilleurs ordonnancement des différents travaux dans un Flow Shop Hybride (FSH) qui optimisent (minimisent) le Cmax (le temps total d achèvement des travaux). Dans ce chapitre, on va présenter les principes du système immunitaire naturel utilisés pour développer l algorithme immunitaire artificiel à savoir le principe de la sélection clonale et de la maturité d affinité, ensuite on le présentera en détail. 3.2 Le système immunitaire artificiel (AIS) Les mécanismes du système immunitaire naturel sont très efficaces et permettent de développer des outils computationels puissants. L algorithme présenté est inspiré du principe de la sélection clonale et du principe de l affinité de maturation du système immunitaire naturel Le principe de la sélection clonale [DEC 02] Lorsque le corps est exposé à un antigène, les lymphocytes B (cellules du SI naturel) répondent par la production des Anticorps, Chaque cellule sécrète un type unique d'anticorps spécifique pour l antigène. Par la liaison à ces anticorps (récepteurs de la cellule) et avec un signal des cellules accessoires T-Helper, l'antigène stimule la cellule B à proliférer (diviser) et se différencie en cellules sécréteurs d'anticorps appelées les cellules Plasma. Le processus de la prolifération (mitosis) génère le clone i.e. cellule ou ensemble de cellules qui sont les cellules filles d une seule cellule, le taux de prolifération des cellules est directement proportionnel au degré d affinité (liaison) avec l antigène. Les lymphocytes B, en plus de leur différentiation en cellules plasma, elles se différentient en cellules mémoires qui vont être sélectionnées pour produire des anticorps dans le cas d une attaque par les mêmes antigènes. Cette propriété n est pas intégrée dans l algorithme et elle ne sera pas mentionnée par la suite dans notre mémoire. Les propriétés principales de la théorie clonale sources d inspiration de l algorithme sont : - Prolifération et différenciation sur stimulation des cellules avec les antigènes.

55 Chapitre III Développement de l algorithme immunitaire artificiel pour le problème du FSH 41 - Génération de nouveau changement génétique qui donne de nouveaux modèles d anticorps par le biais d une mutation somatique (processus appelé maturation d affinité) et - Elimination des lymphocytes issus de la prolifération qui présente une faible affinité avec l antigène. La figure 3.1 montre le principe de la sélection clonale [DEC 02]. Figure 3.1 : Principe de la sélection clonale La maturation d affinité La maturation d affinité c est le processus de mutation et de la sélection de la progéniture qui reconnaît mieux l antigène. Les deux mécanismes de base de la maturation d affinité sont : l hypermutation et la génération des récepteurs [DEC 02]. L hypermutation somatique c est les changements aléatoires (mutation) dans la région variable des gènes des molécules de l anticorps, ces changements sont des événements mutationnels qui causent des changements structurels de la cellule dans l objectif d augmenter l affinité de l anticorps avec l antigène. Le taux de l'hypermutation somatique est inversement proportionnel à l'affinité de la cellule : lorsque le degré de l affinité de l anticorps avec l antigène est plus grand ceci implique un taux de mutation moins élevé et vice versa, avec cette stratégie le système immunitaire garde les cellules de la progéniture qui présentent une haute affinité et garantie un taux de mutation pour celles qui présentent une faible affinité pour obtenir une meilleure affinité. La génération des récepteurs est due à la nature aléatoire du processus de l hypermutation somatique. Un grand nombre d anticorps obtenus sont pauvres ou non utiles. Ces cellules seront éliminées et remplacées par d autres cellules générées aléatoirement. Donc, la mutation permet d explorer les régions locales et la génération des récepteurs permet d éviter le problème de l optimum local.

56 Chapitre III Développement de l algorithme immunitaire artificiel pour le problème du FSH L approche AIS proposée Algorithme La première étape de l algorithme (Voir Figure3.3) consiste en la génération d une population initiale, ensuite les anticorps sont décodés, évalués puis sélectionnés pour calculer le taux de clonage, Chaque clone subira une mutation en deux étapes (mutation large et simple), les clones mutés remplacent les anticorps d origine si leurs affinités sont inférieures a celles des anticorps d origine. Après chaque C générations (C nombre de générations pour le remplacement), les B% Anticorps de la taille de la population sont remplacés par d autres anticorps générés aléatoirement, en fin la population est évaluée et la valeur de la solution est déterminée. Représentation : les ordonnancements sont représentés par une chaîne de nombres entiers de longueur n (n jobs). Les n éléments de la chaîne sont les travaux et leur ordre de traitement. Les chaînes sont donc des permutations des différents travaux. Ces chaînes et en plus l affectation des jobs aux différentes machines dans chaque étage constituent un Anticorps. Donc, Une solution candidate est représentée par une séquence de nombres aléatoires, l avantage de cette représentation est sa facilité de mise en œuvre, pour éviter les solutions non faisable : a chaque travail est assigné un nombre réel dont la partie entière correspond à la machine a laquelle le travail est assigné et la partie décimale pour déduire l ordre des travaux pour chaque machine. Exemple : on a un problème avec cinq Jobs (n=5) et deux étages (g=2) pour le premier étage on a 2 machines (m1=2) et 3 machines pour le deuxième étage (m2=3). Suivant la représentation proposée : Stock M 1 Stock M1 M2 M2 M3 Etage 1 Etage 2 Figure 3.2: Structure d un FSH4:FH2 (P2, P3) Cmax Nous devons produire cinq nombres aléatoires de distribution constante [1,m t +1[ pour chaque étage : Etage 1 Etage2 J1 J2 J3 J4 J5 J1 J2 J3 J4 J Comme montré dans le tableau chacun des blocs dénote un étage. Par exemple le bloc 1 implique : Job1, Job3 et Job4 sont assignés pour la machine 1 et Job2 et Job5 sont assignés pour la machine 2. L ordre des travaux est le suivant pour :M1:J3J1J4 et M2: J5J2.

57 Chapitre III Développement de l algorithme immunitaire artificiel pour le problème du FSH 43 Pour notre algorithme, pour trouver la solution, l algorithme fait évoluer ces Anticorps. Cette évolution est le résultat de deux principes du système immunitaire naturel : la sélection clonale et la maturation de l affinité. Entrée paramètres Généré une Population initiale POP Decoder (POP) X: =X+1, I :=I+1 Evaluer (POP) Sélection Oui Clonage J=1 Mutation I<= Nbr. Géné Non Evaluer Remplacer J =j+1 Oui No J<= Nbr. clone Anticorps = clone Evaluer Déterminer la meilleure solution X= Nbr.Gen.Rem (C) Non Oui Généré B% A i Remplacer (B%) X=0 Figure 3.3 Organigramme de l Algorithme

58 Chapitre III Développement de l algorithme immunitaire artificiel pour le problème du FSH 44 L algorithme est le suivant : /**************************************/ Créer une population de A Anticorps (A est le paramètre de la taille de la population des Anticorps) X=0 ; Répéter X=X+1 Pour chaque Anticorps faire Décoder l Anticorps dans la population des Anticorps; Déterminer le makespan (affinité) d Anticorps; Calculer la probabilité de sélection (Taux de clonage); Clonage (génération des copies des anticorps) Pour chaque clone généré Faire: Mutation Large (génération d une nouvelle solution) ; Décoder la nouvelle solution: Calculer le makespan de la nouvelle solution ; Si makespan (la nouvelle solution) < makespan (clone) Alors clone = nouvelle solution ; Si non faire Mutation simple (par changement de position)(génération d une nouvelle solution) ; Décoder la nouvelle solution ; Calculer le makespan de la nouvelle solution ; Si makespan (la nouvelle solution) < makespan(clone) Alors clone = la nouvelle solution; Si non, clone = clone ; Fin Si Fin Pour Anticorps = clone ; Fin Pour Si X =C (fréquence d étape d élimination) Alors Éliminer les %B nombre d anticorps dans la population:(b est le paramètre du pourcentage de l élimination des anticorps) Créer B% nouveaux anticorps à la place de ceux éliminés (%B de la pop.) Remplacer les anticorps éliminés par ceux créées ; x=0: Fin Si; Jusqu a critère d arrêt /**************************************/

59 Chapitre III Développement de l algorithme immunitaire artificiel pour le problème du FSH Le processus de la sélection clonale dans l algorithme A Chaque anticorps est associé un temps d achèvement (makespan) C Max qui fait référence à sa valeur d affinité. Cette valeur est calculée par une fonction d affinité suivant l équation (1): 1 Affinity(z ) =..(1) makespan(z) Où z est un anticorps. Suivant l équation on remarque que si la valeur du makespan est inférieure alors la valeur d affinité est élevée. Dans l algorithme le clonage des anticorps est directement proportionnel à leur valeur d affinité ce qui est le cas pour le système immunitaire naturel. Pour le processus du clonage on a utilisé la méthode de sélection par roulette [LAY 09]. Dans notre cas on a utilisé le Cmax comme fonction objectif, donc on est devant un problème de minimisation. La procédure donne plus de chance aux anticorps avec un Cmax moins élevé pour la sélection et le clonage, par conséquence il y aura plus de clones d anticorps pour ceux avec un Cmax moins élevé que ceux avec un Cmax plus élevé dans la nouvelle population des clones générés. La probabilité de sélection pour chaque anticorps est calculée suivant la procédure suivante : a. Pour chaque anticorps dans la population, calculer la valeur du Cmax. b. Trouver la valeur maximale du Cmax pour tous les anticorps. c. Pour chaque anticorps, calculer la valeur fitness : La valeur fitness = (Max (Cmax)+1)-Cmax de l anticorps. d. Pour chaque anticorps, calculer sa probabilité de sélection : La valeur fitness de l anticorps La somme des valeurs fitness Pour tous les anticorps.. (2) Dans l algorithme, la taille de la population des anticorps est fixée ainsi que la taille de l ensemble des clones générés. Le nombre des clones générés pour chaque anticorps change selon sa probabilité de sélection. Donc les anticorps avec une grande probabilité de sélection ont plus de clones dans l ensemble des clones générés. Comme la taille de la population des anticorps est fixée alors les anticorps avec un Cmax plus élevé peuvent ne pas avoir de clones par contre les anticorps avec un Cmax moins élevé peuvent avoir plusieurs clones.

60 Chapitre III Développement de l algorithme immunitaire artificiel pour le problème du FSH Le processus de la maturation d affinité dans l algorithme La mutation Une procédure de mutation en deux phases est utilisée où chaque clone généré subit une mutation large dans la première phase et une mutation simple par le changement de position de deux travaux dans la séquence : - Mutation large : soit s une séquence et i le nombre de mutations (paramètre défini par l utilisateur), le voisinage de s est obtenu par la mutation de s et cela i fois.. Si la valeur du Cmax de la séquence obtenue (après la mutation large) est inférieure de celle de la séquence d origine (le clone généré pour un anticorps) alors la séquence obtenue remplace la séquence d origine, si non la séquence subit l autre mutation (mutation simple par le changement de 2 positions dans la séquence), La figure3.4 illustre le processus de mutation large pour i=2 A A Figure3.4 : Processus de la mutation large - Mutation simple (par changement de 2 positions) : soit s une séquence et i, j deux positions dans cette séquence choisies aléatoirement, le voisinage de s est obtenu par l interchangement des travaux des deux positions, le processus est illustré par la figure3.5 : A A Figure3.5 : Processus de la mutation simple Si la valeur du Cmax de la séquence mutée (après la mutation par le changement de position) est inférieure de celle de la séquence d origine, alors la séquence obtenue remplace la séquence d origine. Dans le cas oú l algorithme ne trouve pas la bonne séquence après les deux phases de la mutation alors il garde la séquence d origine (clone généré).

61 Chapitre III Développement de l algorithme immunitaire artificiel pour le problème du FSH 47 La mutation large permet de trouver la meilleure solution dans le cas où l algorithme est encore loin des meilleures solutions, mais dans le cas où l algorithme a de bonnes solutions, la possibilité de trouver une meilleure solution par l application d une mutation large est faible parce qu elle cause la perte des bonnes séquences partielles dans la solution. Pour éviter ce problème on a appliqué la mutation simple dans le cas où la première mutation n a pas donnée la meilleure solution La génération des récepteurs Après le processus de clonage et de mutation, un pourcentage des anticorps de la population (B%) sont éliminés et remplacés par d autres générés aléatoirement. Ce mécanisme est inspiré du mécanisme appelé «génération des récepteurs» du système immunitaire naturel. Ce mécanisme permet d explorer de nouvel espace de recherche et d éviter de tomber dans le problème de l optimum local. Ce processus est appliqué après chaque C générations (C paramètre défini par l utilisateur). L ensemble des clones forme la population des anticorps pour la prochaine génération après les processus de la sélection des clones, mutation et la génération des récepteurs. Donc les clones qui ont subit la mutation deviennent les anticorps pour la prochaine génération, ceci est donné dans l algorithme par anticorps=clone. 3.4 Conclusion L algorithme développé dans ce chapitre applique les principes du système immunitaire naturel pour résoudre un problème de l optimisation combinatoire qui est l optimisation de l ordonnancement dans un système de production de type Flow Shop Hybride ou le Cmax (temps total d achèvement des travaux) est pris comme critère d optimisation. Dans le chapitre V on va donner l implémentation et la mise en œuvre dans lequel nous allons tester et étudier l influence des différents paramètres sur la qualité des solutions obtenus et le temps CPU nécessaire pour la convergence.

62 Chapitre IV L Algorithme immunitaire artificiel Parallèle pour le problème du FSH

63 Chapitre IV Algorithme immunitaire artificiel Parallèle pour le problème du FSH Introduction Le problème d ordonnancement dans un système de production de type FSH est NP-difficile théoriquement et en pratique. En terme de complexité, il faut faire face à trois caractéristiques majeures : le nombre de solutions possibles est important. Pour le problème du FSH on a [SAH 02] : Card(S)= n! j= m j=1 Kj n Oú n est le nombre de pièces à ordonnancer, m est le nombre d étages et K j est le nombre de machines dans l étage j. l évaluation d une solution est coûteuse (calculs mathématiques non triviaux, algorithmes de tri, etc) ; les besoins en espace mémoire sont importants. Le parallélisme, par la force de calcul qu il apporte, permet d augmenter l efficacité d une métaheuristique en terme de temps d exécution. Il permet aussi de s attaquer à des instances de grande taille. D autres aspects de la parallélisation des métaheuristiques, impliquant la coopération, permettent d améliorer la qualité des solutions trouvées. Dans ce chapitre on va présenter la parallélisation de l algorithme immunitaire artificiel. On va commencer par présenter les architectures parallèles, puis, le parallélisme et les métaheuristiques à la fin nous présenterons notre approche de parallélisation de l algorithme Immunitaire Artificiel pour le problème du FSH. 4.2 Les architectures parallèles Augmenter le nombre de processeurs dans un ordinateur altère considérablement sa structure de base. Les problèmes d accès à la mémoire deviennent cruciaux en raison de la nécessité de fournir un flot de données suffisant à l ensemble des processeurs. De plus, les problèmes de communication entre les processeurs deviennent importants et croissent avec l augmentation du nombre de processeurs. Plusieurs solutions à ces problèmes ont été proposées et différentes architectures ont été réalisées [COS 95]. Dans cette section, une méthode de classification des architectures parallèles, proposée par Flynn (1966), est présentée. Auparavant, la structure d un ordinateur séquentiel classique est brièvement expliquée Structure d un ordinateur séquentiel conventionnel Un ordinateur séquentiel classique (machine de Von Neumann), dont la structure est illustrée à la Figure 4.1, comporte 4 éléments principaux : l unité centrale de traitement ou processeur (CPU), l unité de contrôle, la mémoire et les périphériques d entrée-sortie (I/O).

64 Chapitre IV Algorithme immunitaire artificiel Parallèle pour le problème du FSH 49 Figure 4.1 Architecture d un ordinateur L unité de contrôle, le processeur et la mémoire représentent le coeur de l ordinateur et déterminent son comportement. La mémoire contient un programme qui spécifie la séquence d instructions à être exécutée et les données qui seront utilisées. À chaque étape du programme, l unité de contrôle obtient de la mémoire une instruction qui opère sur un ensemble de données et l envoie au processeur. Par exemple, cette instruction pourrait dicter au processeur d effectuer une opération arithmétique ou logique sur deux nombres et de retourner le résultat à la mémoire. Le processeur dispose d un certain nombre de registres pour effectuer ses calculs et est connecté à des unités d entrée et de sortie pour communiquer avec l extérieur. Ce modèle relativement simple représente, à peu de choses près, la plupart des ordinateurs séquentiels d aujourd hui. Le domaine de l algorithmique séquentiel est basé sur celui-ci. La prochaine section montrera qu il en va tout autrement dans le domaine du parallélisme, la diversité des architectures rendant la conception d algorithmes plus complexe Classification des architectures parallèles Un modèle d architecture parallèle est une description abstraite d un ordinateur parallèle dont le but est de représenter les particularités les plus importantes de la machine [LEO 01]. Avec de tels modèles ignorant les détails d implémentation superflus, il est possible de concentrer les efforts sur les aspects les plus importants dans la recherche de solutions parallèles à différents problèmes. Plusieurs systèmes de classification des ordinateurs parallèles sont proposés dans la littérature. Celui de Flynn (1966), basé sur l organisation des flots d instructions (séquences d instructions transmises à partir d une unité de contrôle vers un ou plusieurs processeurs) et des flots de données (séquences de données provenant de la mémoire et se dirigeant vers un processeur ou provenant d un processeur et se dirigeant vers la mémoire), est le plus populaire.

65 Chapitre IV Algorithme immunitaire artificiel Parallèle pour le problème du FSH 50 Une première classe d architecture, selon le modèle de Flynn, est la classe SISD (Single Instruction stream, Single Data stream), qui est celle des ordinateurs séquentiels classiques dont la structure a été définie dans la section précédente. Ils utilisent un unique flot d instructions et opèrent sur un unique flot de données. Dans une machine SIMD (Single Instruction stream, Multiple Data stream), plusieurs processeurs sont supervisés par la même unité de contrôle tel que c est illustré à la Figure 4.2. Les p processeurs (notés Pi) reçoivent la même instruction de l unité de contrôle, mais opèrent sur des données distinctes qui proviennent de différents flots de données. Ils opèrent de façon synchrone, chaque processeur exécutant la même instruction à chaque unité de temps. La classe de machines MISD (Multiple Instruction stream, Single Data stream) applique, pour sa part, plusieurs flots d instructions à un unique flot de données. Certains auteurs considèrent que cette classe ne correspond pas à un mode de fonctionnement réaliste. D autres voient plutôt dans cette classe le mode de fonctionnement en pipeline, c est-à-dire le travail à la chaîne, dans la mesure où il existe une unique entrée des données et plusieurs unités de calcul. Toutefois, le pipeline peut également être vu comme un mode MIMD dans la mesure où il y a plusieurs unités de calcul et plusieurs flots de données, chaque étage du pipeline recevant des données différentes. Processeurs Figure 4.2 Structure SIMD Dans une machine fonctionnant en mode MIMD (Multiple Instruction stream, Multiple Data stream), les processeurs sont indépendants les uns des autres et fonctionnent de façon asynchrone, chacun possédant sa propre unité de contrôle (notée UCi). Un schéma d architecture MIMD est illustré à la Figure 4.3. Comme en SIMD, chacun utilise ses propres données mais y applique, en plus, ses propres flots d instructions.

66 Chapitre IV Algorithme immunitaire artificiel Parallèle pour le problème du FSH 51 On peut également classifier les ordinateurs parallèles en fonction de l organisation de leur mémoire. Cette forme de classification est en quelque sorte complémentaire à celle de Flynn. Unités de contrôle Processeurs Figure 4.3 Structure MIMD Les machines parallèles à mémoire partagée (Shared Memory (SM)), dont la structure est illustrée à la Figure 4.4, possèdent une mémoire commune accessible par tous les processeurs. La communication entre processeurs se fait par des lectures et écritures successives dans la mémoire de sorte qu une écriture faite par un processeur peut ultérieurement être lue par un autre. Le lien entre les processeurs et la mémoire se fait par un réseau d interconnexion ou un bus. Cette organisation entraîne toutefois un problème de gestion des conflits d accès à la mémoire. Celui-ci peut être minimisé, entre autres, par la division de la mémoire en bancs accessibles par un seul processeur à un instant donné. Dans la classe des machines parallèles à mémoires distribuées (Distributed Memory (DM)), dont un schéma est donné à la Figure 4.5, chaque processeur possède sa propre mémoire locale et en a l accès exclusif. La communication entre processeurs ne peut donc plus se faire par le biais de la mémoire. Elle se fait plutôt par l envoi de messages entre processeurs à travers un réseau d interconnexion qui relie les processeurs entre eux plutôt que de les relier à la mémoire comme dans le cas des machines SM. Processeurs Mémoire Figure 4.4 Schéma de l organisation d une machine à mémoire partagée Figure 4.5 Schéma de l organisation d une machine à mémoires distribuées

67 Chapitre IV Algorithme immunitaire artificiel Parallèle pour le problème du FSH 52 Une classification largement acceptée [GER 92] combine, d une part, les classes SIMD et MIMD de Flynn et, d autre part, les classes SM et DM. Cette classification considère le contrôle des séquences d instructions à exécuter comme étant centralisé ou distribué. S il est centralisé, il est unique (SI), et s il est distribué, il est multiple (MI). Les données sont toujours multiples (MD) et peuvent se trouver dans une mémoire partagée (SM) ou dans des mémoires distribuées (DM). Pour nommer ces classes, on utilise les sigles SIMD-SM, SIMD-DM, MIMD-SM et MIMD-DM. Le modèle théorique de machine parallèle le plus largement reconnu est le modèle PRAM (Parallel Random Access Machine) qui appartient à la classe SIMD-SM [GEN 96]. La plupart des architectures, qu elles soient à mémoires partagées ou à mémoires distribuées, sont basées sur un réseau d interconnexion de topologie statique et régulière qui relie les processeurs entre eux ou à des bancs mémoires. Les topologies les plus populaires sont les grilles, les tores, les hypercubes, les anneaux et les arbres [COS 95]. 4.3 Le parallélisme et les métaheuristiques Même si les métaheuristiques offrent des stratégies efficaces pour la recherche de solutions à des problèmes d optimisation combinatoire, les temps de calcul associés à l exploration de l espace de recherche peuvent être très importants. Une façon d accélérer cette exploration est l utilisation du parallélisme. Une autre contribution du calcul parallèle aux métaheuristiques est de plus en plus constatée : en leur appliquant des paramètres appropriés, les métaheuristiques parallèles peuvent être beaucoup plus robustes que leurs équivalents séquentiels en termes de qualité de solutions trouvées [CRA 09]. Certains mécanismes parallèles permettent donc de trouver de meilleures solutions sans nécessiter un nombre total d opérations plus grand. Le parallélisme peut donc représenter un apport considérable aux métaheuristiques et un nombre grandissant de travaux sont effectués afin d exploiter ce potentiel Classification des métaheuristiques parallèle Crainic et Toulouse dans [CRA 09] ont proposé une classification en trois dimensions : Les trois dimensions de la classification indiquent, respectivement, comment le processus global est contrôlé, comment l'information est échangée entre les processus, et la variété des méthodes de la solution a impliqué dans la recherche pour les solutions La première dimension : réfère au nombre de processeurs qui contrôlent la recherche. Cette dernière peut se faire par un (1-Control) ou plusieurs processeurs (p-control). Dans le premier cas, le processus de recherche est le même que celui de l algorithme séquentiel. Un processeur maître exécute l algorithme en déléguant certains calculs aux autres processeurs. La répartition des tâches peut impliquer entre autres la distribution des calculs coûteux en temps ou l exploration parallèle du voisinage.

68 Chapitre IV Algorithme immunitaire artificiel Parallèle pour le problème du FSH 53 Dans le deuxième cas, le contrôle de la recherche est partagé entre deux ou plusieurs processeurs, ce qui correspond à une recherche à processus multiples. Chaque processus est en charge de sa propre recherche et des communications avec les autres processus La deuxième dimension : est basée sur le type et la flexibilité du contrôle de la recherche. Elle tient compte de l organisation, de la synchronisation et de la hiérarchie de la communication ainsi que de la façon dont l information est traitée et partagée entre les processeurs. Cette dimension est composée de quatre degrés : «Rigid synchronization (RS)», «knowledge synchronization (KS)», «collegial (C)» et «knowledge collegial (KC)». En les associant aux deux niveaux de cardinalité déjà mentionnés, ceux-ci définissent les stratégies de parallélisation relatives au traitement des processus et de l information La troisième dimension : correspond à la stratégie de différentiation de la recherche. Elle réfère au nombre de solutions/populations initiales distinctes et au nombre de stratégies de recherche différentes (choix des paramètres, gestion de la liste tabou, etc.) utilisés par l algorithme. On peut donc retrouver quatre cas de stratégies de recherche : 1. SPSS, Same initial Point/Population, Same search Strategy; 2. SPDS, Same initial Point/Population, Different search Strategies; 3. MPSS, Multiple initial Points/Populations, Same search Strategies; 4. MPDS, Multiple initial Points/Populations, Different search Strategies. On utilise Point pour les méthodes de voisinage, pendant que Population est utilisé pour les méthodes avec population Stratégies de parallélisme En tenant compte de ces trois dimension, on a quatre classes de métaheuristiques parallèles : Parallélisme de bas niveau Ces stratégies exploitent le potentiel de décomposition en taches des métaheuristiques. Désignées par «bas-niveau» par ce qu elles ne modifient ni la logique de l algorithme ni l espace de recherche. La plupart des stratégies parallèles bas- niveau appartiennent à la classe 1C/RS/SPSS et elles sont implémentées selon le modèle de programmation parallèle maître-esclave. Le maître exécute la métaheuristique séquentielle et dispatche les taches aux esclaves pour les exécuter en parallèle comme c est illustré dans la figure 4.6. Le maître reçoit et traite les informations des esclaves, par exemple pour le cas des méthodes de recherche à base de population le maître sélectionne les parents, génère les enfants, met à jour la mémoire ou la population et décide d activer la recherche ou de l arrêter. L esclave termine les évaluations et rend les résultats au maître. Ce dernier une fois qu il reçoit tous les résultats reprend la logique de la métaheuristique séquentielle.

69 Chapitre IV Algorithme immunitaire artificiel Parallèle pour le problème du FSH 54 Exécuter Mètaheuristique Diviser le travail en taches et les affecter aux Esclaves Exécuter La tache reçue Rendre les résultats Exécuter La tache reçue Rendre les résultats Exécuter La tache reçue Rendre les résultats Récupération des résultats des Esclaves Continuer la Mètaheuristique Figure 4.6 : Parallélisme Bas Niveau Le maître à le contrôle total de l exécution de l algorithme, c est lui qui décide de l allocation des taches aux différents esclaves, et initialise les communications. Il n y a pas de communication entre les esclaves comme illustré par la Figure 4.7. Le Maître Envoyer Tache et commandes Rendre les résultas Esclave i Esclave j Esclave r Figure 4.7 : Configuration en Maitre-Esclaves

70 Chapitre IV Algorithme immunitaire artificiel Parallèle pour le problème du FSH Décomposition explicite du domaine ou l espace de recherche La décomposition du domaine ou de l espace de recherche constitue une autre stratégie de parallélisation qui consiste à diviser l espace de recherche en un ensemble d espaces plus petit (sous espaces), disjoint mais pas nécessairement exhaustive et résoudre le sous problème par l application de la métaheuristiques séquentielle pour chaque sous espace, et puis collecter les solutions partielles et choisir la meilleure solution Cette stratégie est implémentée en 1-C et MPSS ou MPDS Figure 4.8 Partitionner l espace de recherche Affecter au Esclaves Exécuter la Mètaheuristique Pour la partition reçue Envoyer la meilleure solution Exécuter la Mètaheuristique Pour la partition reçue Envoyer la meilleure solution Exécuter la Mètaheuristique Pour la partition reçue Envoyer la meilleure solution Récupérer les résultats des esclaves Construire la solution finale Vérifier le critère d arrêt. Figure 4.8 : Décomposition de l espace de recherche Le maître détermine les partitions et envoie les sous-ensembles aux esclaves, synchronise leur travail et rassemble leurs solutions, reconstruit les solutions (si exigé), modifie les partitions, et détermine les conditions d arrêt. Les esclaves exécutent la recherche sur leurs espaces de recherche, concurremment et indépendamment. Le maître comme illustré en Figure 4.9, attend la fin d exécution des différents esclaves pour lancer une synchronisation afin de récupérer les solutions de chaque recherche locale.

71 Chapitre IV Algorithme immunitaire artificiel Parallèle pour le problème du FSH 56 Entrée : x X une solution initiale ; j :=i:= 0 ; Décomposer le problème en p sous problèmes S1, S2,...,Sp Tant que le critère d arrêt n est pas vérifié Faire Tant que j < p Faire Envoyer au Processus_Esclave (Sj, x); j++ ; Fin Tant que Synchronise les Esclaves; Tant que i < p Faire xi := Resoit_du_Esclave (); i++ ; Fin Tant que x := Construire(x1,x2,...,xp) ; S1, S2,..., Sp :=Partition Modifié; Fin Tant que Rendre x Figure 4.9: Décomposition de l espace de recherche l Algorithme Maître Recherches multiples indépendantes Cette stratégie est de type p-contrôle (P-C), c est la plus simple et offre plus de performances. La stratégie consiste à exécuter plusieurs recherches sur tout l'espace de recherche simultanément, elle commence avec la même ou différentes populations initiales (solutions initiales) et choisit à la fin la meilleure solution obtenue par toutes les recherches. Cette stratégie est implémentée en P-C et MPSS et MPDS. Le seul avantage de cette stratégie c est d obtenir la meilleure solution globale après la fin de tous les threads qui s exécutent en parallèle Recherches multiples coopératives La stratégie des recherches multiples indépendantes cherchent pour accélérer l'exploration de l'espace de la recherche vers une meilleure solution ( comparé avec la recherche séquentielle) par le lancement des threads de la recherche simultanément avec des populations/solutions initiales différentes (avec la même ou différentes stratégies de recherches). Les stratégies de recherche coopérative intègrent des mécanismes pour partager, pendant que la recherche progresse, l'information obtenue par les différentes recherches.

72 Chapitre IV Algorithme immunitaire artificiel Parallèle pour le problème du FSH 57 Ce partage permet de créer de nouvelles informations et permet une production collective des bonnes solutions par apport à la stratégie de recherche parallèle indépendante. La stratégie de recherche multiple coopérative lance plusieurs threads de recherche indépendante avec populations/solutions initiales différentes et avec l utilisation possible des stratégies de recherche différentes. Le mécanisme de coopération spécifie comment les différentes métaheuristiques communiquent. Cette communication entre les différents threads est : synchrone ou asynchrone Synchrone : aura lieu suivant une condition externe pour tous les threads. exemple de condition : nombre d itérations ou un délai. Ces conditions seront les mêmes pour tous les threads. - Asynchrone : dans ce cas la coopération aura lieu suivant uniquement l état interne de chaque thread et sans coordination avec les autres. 4.4 Parallélisation de l Algorithme immunitaire artificiel Le but de la parallèlisation de l Algorithme immunitaire artificiel est d améliorer la qualité des solutions obtenues et de minimiser le temps CPU nécessaire. Pour cela on a utilisé la stratégie de parallèlisation qui consiste à une parallèlisation maître/esclave avec différentes populations et même méthode de recherche avec migration de populations. Dans l algorithme immunitaire artificiel parallèle avec migration (PAIS_MIG), la population initiale est divisée en un nombre de sous populations. Ce nombre ne doit pas être considérable dans la mesure d éviter le problème de la convergence prématurée. Chaque Thread exécute l algorithme séquentiel et de temps en temps un échange d anticorps entre les différentes sous populations se produit. C est l opération de migration. Cette parallélisation est influencée par un certain nombre de paramètres comme le nombre de sous populations, la fréquence de migration, la stratégie du choix de remplacement des anticorps et la topologie d interconnexion utilisée pour la migration Les paramètres de migration En effet, les paramètres qui influent sur cette stratégie de parallélisation sont le nombre de sous populations indépendantes et les paramètres liés à la stratégie de migration à savoir, la topologie d interconnexion entre les sous populations, la stratégie de Choix de remplacement des anticorps migrants et la fréquence de migration Nombre de sous populations La population initiale est divisée en un nombre de sous populations oú chaque sous population constitue la population initiale pour un thread esclave.

73 Chapitre IV Algorithme immunitaire artificiel Parallèle pour le problème du FSH La topologie d interconnexion La notion d interconnexion détermine le voisinage d une sous population qui est l ensemble de sous populations avec lesquelles elle effectue la migration qui consiste à copier les anticorps depuis une sous population vers une de ses sous populations voisines, donc la topologie détermine depuis et vers qui faire la migration. Parmi les topologies d interconnexion on a la topologie grille à deux dimensions et la topologie anneau La topologie grille à deux dimensions Elle est représentée sous forme de matrice à deux dimensions ou chaque sous population est connectée avec quatre sous populations La topologie Anneau Une interconnexion ou voisinage logique est établie entre les sous populations. Chacune des sous populations est connectée (logiquement) à deux sous populations (Figure 4.10), l une en amant et l autre en aval. Lors d une migration, un choix de sens de migration est établi. Ce sens détermine pour chacune des sous populations, la sous population voisine à qui elle va envoyer ses anticorps, et celle qui depuis laquelle elle va recevoir des anticorps. Ce sens de migration est respecté par toutes les sous populations. 1 2 Sens de migration Figure 4.10 : Topologie Anneau Stratégie de choix pour le remplacement des Anticorps Elle détermine quels Anticorps sont sélectionnés pour migrer d une sous population et quels Anticorps à remplacer dans la sous population d accueil. Parmi les stratégies on peut citer la stratégie aléatoire et la stratégie Bons/Mauvais.

74 Chapitre IV Algorithme immunitaire artificiel Parallèle pour le problème du FSH La stratégie aléatoire : les individus qui migre d une sous population vers une autre sont choisis aléatoirement et remplacent des individus choisis aléatoirement aussi La stratégie bon/mauvais : les meilleurs individus d une population seront choisis pour migrer vers une autre population et ces meilleurs individus vont remplacer les plus mauvais La fréquence de migration La fréquence de migration représente l intervalle qui sépare deux migration, plus cet intervalle est réduit plus la migration est fréquente, en plus détermine le nombre de générations effectuées en parallèle pour chaque sous population (esclave). Cette fréquence conditionne la communication entre les sous populations (esclaves) Présentation de l Algorithme immunitaire artificiel Parallèle avec migration PAIS_MIG PAIS_MIG consiste en la division de la population initiale en sous populations et de temps en temps il y a un interchange des anticorps entre ces sous populations (Migration). Initialement le maître génère une population d anticorps initiale et la divise en P sous populations (P nombre de threads esclaves). Chaque esclave exécute l algorithme séquentiel pour N générations oú N est le nombre de générations qui sépare deux migrations (voir Algorithme Figure 4.11). A chaque point de migration le maître rassemble les résultats obtenus par les esclaves (voir Algorithme Figure 4.12) et lance une opération de migration qui consiste à copier les anticorps d une sous population à une autre selon une stratégie de remplacement et une topologie qui relie les sous populations. Début Générer une population initiale : Pop_Ini; Evaluer (Pop_Ini); Déterminer la meilleur solution: Best_Global_Sol; Global_Sol Best_Global_Sol; Diviser Pop_Ini en P Sous populations; // P le nombre d esclaves Calculer le nombre de générations pour chaque esclave : Nbr_Iter_Mig; Calculer le nombre de migration : Nbr_Mig; Nbr 0; // initialiser le compteur du nombre de migrations Lancer les P esclaves; Répéter WaitFor (); // Attendre la fin des P esclaves Migration (Topologie, Choix_Strat); // L opération de migration suivant une Nbr Nbr +1; topologie et une stratégie de remplacement) Relancer les P esclaves; Jusqu a ((Nbr > Nbr_Mig)) //critère d arrêt Fin Figure 4.11 : Algorithme exécuté par le maître pour PAIS_MIG

75 Chapitre IV Algorithme immunitaire artificiel Parallèle pour le problème du FSH 60 Début - Iter 1; -X=0 ; // X : compteur de générations pour le remplacement Répéter X :=X+1 ; Décoder (Sous_POP) Evaluer (Sous_POP) Sélection, Clonage, Pour j :=1 A nombre de clones Faire Mutation (Large et simple) Evaluer Remplacer //Si Cmax (Clone muté) < Cmax (Clone) Fin Pour Anticorps = clone: Si X=(C/P) alors //C nombre de générations pour le remplacement et P nombre d esclaves Générer (B%) // Générer aléatoirement B% de la taille de Sous_POP Remplacer //remplacer les mauvais Anticorps dans la Sous_POP par ces anticorps générés X=0 Fin SI -Iter Iter +1; Jusqu'à (Iter > Nbr_Iter_Mig) // nombre de générations pour un Thread esclave Déterminer la meilleur solution locale : Best_Local_Sol; Verrouiller (Global_Sol); SI H (Global_Sol) > H (Best_Local_Sol) Alors Global_Sol Best_Local_Sol Fin Si Déverrouiller (Global_Sol); Fin Figure 4.12 : Algorithme exécuté au niveau des esclaves PAIS_MIG. 4.5 Conclusion Afin d améliorer les performances de l algorithme immunitaire artificiel et de le rendre robuste dans le sens de garder un haut niveau de performance pour les différents paramètres et caractéristiques des instances du problème du FSH. On a utilisé une stratégie de Parallélisation qui répond à nos besoins. Cette stratégie consiste à diviser la population initiale en sous populations par un thread maître et lancer les différents esclaves avec les sous populations obtenues. Plus le nombre de sous populations est augmenté plus le nombre des anticorps dans chaque sous population est réduit, ce qui peut générer le problème de convergence rapide donc des solutions prématurées. On pense que la stratégie de migration va permettre d éviter ce problème. Dans le chapitre suivant, on va tester l algorithme et voir l influence des différents paramètres et faire une comparaison avec la version séquentielle.

76 Chapitre V Implémentation et mise en oeuvre

77 Chapitre V Implémentation et mise en oeuvre Introduction Les deux versions de L algorithme immunitaire artificiel du chapitre III et IV seront testées. Pour l implémentation nous avons utilisé le langage de programmation Borland Delphi version 6.0. Ce langage nous a fourni tous les outils nécessaires pour implémenter et exécuter l algorithme, dans ce chapitre nous allons présenter les résultats des tests pour les deux versions. 5.2 L algorithme immunitaire artificiel séquentiel Paramètres de tests L algorithme est testé sur le problème du Flow Shop Hybride (FSH) de type FSH4 (Caractérisé par un stock unique en entrée et unique entre les étages). Le but des tests est d étudier l influence des différents paramètres définis par l utilisateur notamment le nombre de mutations pour la mutation Large (Tmut), le taux de remplacement (B) et la fréquence de génération pour le remplacement (C) sur notre algorithme. Pour nos tests on a choisi le Cmax (temps total d achèvement des travaux) et notre objectif c est d étudier dans un premier temps l influence des différents paramètres pour obtenir la meilleure solution c'est-à-dire l optimalité et en deuxième temps la vitesse de convergence (le temps machine CPU nécessaire) Problèmes de tests Le premier problème est FSH4 :FH2(P3,P2) Cmax (Figure5.1). et le deuxième c est FSH4 :FH3(P4,P2,P3) Cmax (Figure 5.2) M 11 M 12 Stock M 21 Stock M 22 M 31 Etage 1 Etage 2 Figure 5.1: Structure d un FSH4:FH2 (P3, P2) Cmax

78 Chapitre V Implémentation et mise en oeuvre 62 M 11 M 13 Stock M 21 M 31 Stock M 12 M 22 Stock M 23 M 33 M 41 Etage 1 Etage 2 Etage 3 Figure 5.2: Structure d un FSH4:FH3 (P4, P2, P3) Cmax Analyse 1) influence du nombre de mutations Tmut : Pour étudier l influence du nombre de mutations on a fixé la taille de la population P à 300, le nombre de générations G à 300, la fréquence de génération pour le remplacement C à 100 et le taux de remplacement des anticorps B à 20%. Le paramètre Tmut prend ces valeurs dans {2, 3, 4, 5, 6,7}. Le Cmax est évalué et les résultats sont donnés par les figures 5.3 et 5.4 pour la variation de la moyenne du Cmax avec l augmentation du Taux de mutation Tmut et les figures 5.5 et 5.6 pour la variation de la moyenne du temps CPU avec l augmentation du Taux de mutation Tmut Moy Cmax Min Cmax Max Cmax Figure 5.3 : Graphe de variation de la moyenne du Cmax Avec l augmentation du Taux de mutation. FSH4 :FH2(P3,P2)

79 Chapitre V Implémentation et mise en oeuvre Moy Cmax Min Cmax Max Cmax Figure 5.4 : Graphe de variation de la moyenne du Cmax Avec l augmentation du Taux de mutation. FSH4 :FH3(P4,P2,P3) Moy CPU Min CPU Max CPU Figure 5.5 : Graphe de variation de la moyenne du temps CPU Avec l augmentation du Taux de mutation. FSH4 :FH2(P3,P2)

80 Chapitre V Implémentation et mise en oeuvre Moy CPU Min CPU Max Cpu Figure 5.6 : Graphe de variation de la moyenne du temps CPU Avec l augmentation du Taux de mutation. FSH4 :FH3(P4,P2,P3) Les résultats obtenus représentent le Minimum, le Maximum et la moyenne du Camx après 10 exécutions de l algorithme pour chaque valeur du taux de mutation. On constate d après la Figure 5.3 et la Figure 5.4 que le nombre de mutations n a pas une grande influence sur la moyenne du Cmax mais il influe sur la qualité des solutions obtenues c est à partir de Tmut = 4 on obtient de bonnes solutions d une valeur de 312 pour le premier problème et d une valeur de 335 pour le deuxième problème. Et comme attendu, on constate d après la Figure 5.5 et la Figure 5.6 une augmentation du temps nécessaire pour la convergence à chaque augmentation du Tmut. 2) influence du Taux de remplacement (B) Pour cela on a fixé la taille de la population P à 300, le nombre de génération G=300, la fréquence de génération pour le remplacement C à 100 oú C<300 et le taux de mutation Tmut à 2. Le paramètre B prend ces valeurs dans {10%,20%, 30%, 50%, 75%,100%}. Le Cmax est évalué et les résultats sont donnés par : Pour étudier l influence du taux de remplacement (B), on a fixé la taille de la population P à 300, le nombre de générations G à 300, la fréquence de génération pour le remplacement C à 100 et le taux de mutation Tmut à 2. Le paramètre B prend ces valeurs dans {10%, 20%, 30%, 50%, 75%, 100%}. Le Cmax est évalué et les résultats sont donnés par les figures 5.7 et 5.8 pour la variation de la moyenne du Cmax avec l augmentation du Taux de remplacement (B) et les figures 5.9 et 5.10 pour la variation de la moyenne du temps CPU avec l augmentation du Taux de remplacement (B).

81 Chapitre V Implémentation et mise en oeuvre Moy Cmax Min Cmax Max Cmax % 20% 40% 60% 80% 100% 120% Figure 5.7 : Graphe de variation de la moyenne du Cmax Avec l augmentation du Taux de remplacement. FSH4 :FH2(P3,P2) % 20% 40% 60% 80% 100% 120% Moy Cmax Min Cmax Max Cmax Figure 5. 8 : Graphe de variation de la moyenne du Cmax Avec l augmentation du Taux de remplacement. FSH4 :FH3(P4,P2,P3)

82 Chapitre V Implémentation et mise en oeuvre % 20% 40% 60% 80% 100% 120% Moy CPU Min CPU Max CPU Figure 5.9 : Graphe de variation de la moyenne du temps CPU Avec l augmentation du Taux de remplacement. FSH4:FH2 (P3, P2) Moy CPU Min CPU Max Cpu % 20% 40% 60% 80% 100% 120% Figure 5.10 : Graphe de variation de la moyenne du temps CPU Avec l augmentation du Taux de remplacement. FSH4 :FH3(P4,P2,P3) Les résultats obtenus représentent le Minimum, le Maximum et la moyenne du Camx et le temps CPU nécessaire après 10 exécutions de l algorithme pour chaque valeur du taux de remplacement B.

83 Chapitre V Implémentation et mise en oeuvre 67 On constate d après la Figure 5.7 et la Figure 5.8 que le taux de remplacement influe sur la moyenne du Cmax d une façon positive (c est-à-dire Cmax diminue) jusqu à 50 %, mais à partir de cette valeur de B on constate que la moyenne du Cmax augmente. Pour le temps CPU nécessaire on constate d après la Figure 5.9 et la Figure 5.10 que le temps augmente avec l augmentation de B. 3) Influence de la fréquence de génération pour le remplacement C Pour étudier l influence de la fréquence de génération pour le remplacement C on a fixé la taille de la population P à 300, le nombre de générations G à 300, le nombre de mutations Tmut à 2 et le taux de remplacement B à 20%. Le paramètre C prend ces valeurs dans {20, 50, 70, 100, 150, 200, 300}. Le Cmax est évalué et les résultats sont donnés par les figures 5.11 et 5.12 pour la variation de la moyenne du Cmax avec l augmentation de la fréquence de génération pour le remplacement et les figures 5.13 et 5.14 pour la variation de la moyenne du temps CPU avec l augmentation de la fréquence de génération pour le remplacement Moy Cmax Min Cmax Max Cmax Figure 5.11 : Graphe de variation de la moyenne du Cmax Avec l augmentation de la fréquence de génération pour le remplacement.fsh4 :FH2(P3,P2)

84 Chapitre V Implémentation et mise en oeuvre Moy Cmax Min Cmax Max Cmax Figure 5.12 : Graphe de variation de la moyenne du Cmax Avec l augmentation de la fréquence de génération pour le remplacement. FSH4 :FH3(P4,P2,P3) Moy CPU Min CPU Max CPU Figure 5.13 : Graphe de variation de la moyenne du temps CPU Avec l augmentation de la fréquence de génération pour le remplacement. FSH4 :FH2(P3,P2)

85 Chapitre V Implémentation et mise en oeuvre Moy CPU Min CPU Max Cpu Figure 5.14 : Graphe de variation de la moyenne du temps CPU Avec l augmentation de la fréquence de génération pour le remplacement. FSH4 : FH3(P4,P2,P3) Les résultats obtenus représentent le Minimum, le Maximum et la moyenne du Camx et le temps CPU nécessaire après 10 exécutions de l algorithme pour chaque valeur de la fréquence de génération pour le remplacement C. On constate d après la Figure 5.11 et la figure 5.12 que l augmentation de la fréquence de génération pour le remplacement augmente légèrement la moyenne du Cmax d une valeur de C à l autre. Pour le temps CPU nécessaire on constate d après la Figure 5.13 et la Figure 5.14 et comme attendu que le temps diminue avec l augmentation de C. Les résultats obtenus nous ont bien montré l intérêt de l étude de ces paramètres. 5.3 L algorithme immunitaire artificiel Parallèle L algorithme immunitaire artificiel parallèle avec migration (PAIS_MIG) a été implémenté sur un ordinateur ayant une architecture à mémoire partagée, mais cette implémentation dépend d un nombre de paramètres. La réussite de cette stratégie de parallélisation est liée par l influence de ces paramètres. On a choisi le problème du Flow shop Hybride de 2 étages avec 3 machines dans le premier étage et 2 machines dans le deuxième (Figure 5.1) : Paramètres de tests Pour les tests on a utilisé les paramètres suivants : Taille de la population initiale = 200, le nombre de générations = 100, le nombre de mutations pour la mutation large = 2, le nombre de générations pour le remplacement =30 et le taux des anticorps à remplacer =20 %. Le but des tests est d étudier l influence des paramètres sur l algorithme Parallèle PAIS_MIG à savoir : le nombre de Threads (sous populations), la fréquence de génération pour la migration, le choix de remplacement des anticorps entres les sous populations lors d une migration.

86 Chapitre V Implémentation et mise en oeuvre Influence de la stratégie du choix de remplacement Cette stratégie détermine quels anticorps sont sélectionnés pour migrer d une sous population et quels anticorps à remplacer dans la sous population d accueil. Parmi les stratégies on cite la stratégie aléatoire et la stratégie bons/mauvais (best/bad). 1. la stratégie aléatoire : les individus qui migre d une sous population vers une autre sont choisis aléatoirement et remplacent des individus choisis aléatoirement aussi. 2. la stratégie bon/mauvais : les meilleurs individus d une population seront choisis pour migrer vers une autre population et ces meilleurs individus vont remplacer les plus mauvais Moy Cmax MoyCmax-Best_Bad MoyCmax-Random Nombre des travaux Figure 5.15 : Variation de la moyenne du Cmax pour différentes stratégies du choix La Figure 5.15 représente la variation de la moyenne du Cmax de 10 exécutions de l algorithme pour une variation du nombre de travaux (N=5,10, 15,20). La figure est composée de deux séries, chacune pour une stratégie de choix utilisée. On constate que la stratégie de choix n a pas une grande influence sur les résultats obtenus mais le choix Bon/Mauv à plus de bonnes solutions Influence du nombre de sous populations La population initiale est divisé en un nombre de sous population, plus le nombre de sous populations est grand plus la taille de chaque sous population est réduit. On a varié le nombre de sous populations (esclave) dans {2, 3,4} et fixé la fréquence de migration à 40% et la stratégie du choix pour la migration à Bon\Mauv.

87 Chapitre V Implémentation et mise en oeuvre 71 Les figures 5.16, 5.17, 5.18 et 5.19 représentent la variation de la moyenne du Cmax en fonction du nombre des sous population pour 10 exécutions de l algorithme pour une variation du nombre des travaux (N=5, 10, 15,20). MoyCmax_N=5 Moy_Cmax Nb_Sous_Pop MoyCmax Figure 5.16 : Variation de la moyenne du Cmax avec l augmentation du nombre de sous populations- N=5 MoyCmax_N= MoyCmax Nb_Sous _Pop Figure 5.17 : Variation de la moyenne du Cmax avec l augmentation du nombre de sous populations- N=10

88 Chapitre V Implémentation et mise en oeuvre 72 MoyCmax_N=15 Moy_Camx Nb_Sous_Pop MoyCmax Figure 5.18 : Variation de la moyenne du Cmax avec l augmentation du nombre de sous populations- N=15 MoyCmax_N=20 Moy_Cm ax MoyCmax Nb_Sous_Pop Figure 5.19 : Variation de la moyenne du Cmax avec l augmentation du nombre de sous populations- N=20 On constate que le nombre de sous populations n a pas une grande influence sur la moyenne du Cmax obtenue et ceci malgré la diminution de la taille de chaque sous population par l augmentation du nombre des esclaves. La réduction de la taille des sous populations est sensée provoquer une convergence rapide donc tomber dans le problème de l optimum local mais le mécanisme de migration des anticorps d une sous population à une autre a permet de déversifier la population au niveau de chaque sous population.

89 Chapitre V Implémentation et mise en oeuvre Influence de la fréquence de migration La fréquence de migration représente l intervalle qui sépare deux migrations. Plus cet intervalle est réduit plus la migration est fréquente. En plus il détermine le nombre de générations effectué en parallèle pour chaque sous population (esclave). Cette fréquence conditionne la communication entre les sous populations (esclaves). Les figures 5.20, 5.21, 5.22 et 5.23 représentent la variation de la moyenne de Cmax (10 exécutions) par l augmentation de la fréquence de migration dans {20%,40%,60%,80%,100%}. La stratégie du choix de remplacement est Bon\Mauvais et le nombre de sous populations à 4. MoyCmax_N=5 Moy_Cmax % 20% 40% 60% 80% 100% 120% Freq_Ming MoyCmax Figure 5.20 : Variation de la moyenne du Cmax avec l augmentation de la fréquence de migration - N=5 MoyCmax_N= Moy_Cam x MoyCmax 326 0% 20% 40% 60% 80% 100% 120% Freq_Mig Figure 5.21 : Variation de la moyenne du Cmax avec l augmentation de la fréquence de migration - N=10

90 Chapitre V Implémentation et mise en oeuvre 74 MoyCmax_N=15 Moy_Cm ax % 20% 40% 60% 80% 100% 120% MoyCmax Freq_Mig Figure 5.22 : Variation de la moyenne du Cmax avec l augmentation de la fréquence de migration - N=15 MoyCmax_N=20 Moy_Cmax % 20% 40% 60% 80% 100% 120% MoyCmax Freq_Mig Figure 5.23 : Variation de la moyenne du Cmax avec l augmentation de la fréquence de migration - N=20

91 Chapitre V Implémentation et mise en oeuvre 75 Les résultats obtenus montrent que la fréquence de migration influe sur la qualité des solutions. On constate que la valeur du Cmax diminue avec l augmentant de la fréquence. On obtient une bonne qualité a partir de 60 %. Entre 40% et 60 % il y a une stabilité mais pour 20 % on a une mauvaise qualité Comparaison entre l algorithme parallèle PAIS_MIG et l algorithme séquentiel AIS_SEQ Pour vérifier si le parallélisme nous a bien apporté se qu on a attendu pour cela nous avons fait une comparaison entre la version séquentielle et la version parallèle de l algorithme immunitaire artificiel (Chapitre III). Cette comparaison vise la qualité des solutions. Pour le temps d exécution théoriquement le modèle parallèle permet de réduire le temps d exécution mais l architecture sur laquelle on a implémenté notre algorithme ne permet pas d atteindre cet objectif. La figure 5.24 est composée de deux séries de données, la première pour l algorithme séquentiel AIS_SEQ et la deuxième pour l algorithme parallèle PAIS_MIG. Nous avons fixé le nombre de Threads à 4 et la fréquence de migration à 80% MoyCmax_AIS_Seq MoyCmax_PAIS_Mig Figure 5.24 : Comparaison entre les deux versions (Parallèle et séquentielle) en fonction de la qualité des solutions obtenues.

92 Chapitre V Implémentation et mise en oeuvre 76 D après La figure 5.24 on remarque que la version parallèle PAIS_MIG présente une amélioration considérable par rapport à la version séquentielle AIS_SEQ en ce qui concerne la qualité des solutions obtenus, et plus le système est complexe plus l algorithme arrive à améliorer cette qualité. 5.4 Conclusion Le but de paralléliser cette méthode est d améliorer la qualité des résultats (Cmax) obtenus. Les résultats expérimentaux obtenus montrent que le fait de paralléliser l algorithme immunitaire artificiel (PAIS_MIG) permet d obtenir de bonnes solutions par rapport à celles obtenus par l algorithme immunitaire artificiel séquentiel AIS_SEQ. Les résultats obtenus sont les meilleurs ordonnancements des différents travaux dans un FSH qui optimisent (minimisent) le Cmax (le temps total d achèvement des travaux). Les résultats peuvent être obtenus en un temps machine (CPU) moins élevé si on a implémenté l algorithme parallèle (PAIS_MIG) dans une architecture parallèle.

93 Conclusion générale

94 Conclusion générale 77 Le système immunitaire artificiel (AIS) est une nouvelle technique utilisée pour résoudre les problèmes de l optimisation combinatoire. Les AIS sont des systèmes computationels qui explorent, dérivent et appliquent les différents mécanismes inspirés du système immunitaire biologique naturel dans le but de résoudre les problèmes dans différents domaines. Les problèmes d ordonnancement sont présents dans tous les secteurs de l économie et constituent une fonction importante en gestion de production. La résolution optimale des problèmes d ordonnancement de type Flow Shop Hybrides (FSH) s avère dans la plupart des cas impossible à cause de leur caractère fortement combinatoire. L objectif de ce travail est la résolution d un problème d optimisation combinatoire qui est l ordonnancement dans les systèmes de production de type Flow Shop Hybride par l utilisation d une méthode inspirée du système immunitaire naturel. Cette méthode est une métaheuristique évolutionnaire qui utilise les mécanismes de la sélection clonale, de la maturité d affinité et de la génération des récepteurs qui sont des mécanismes utilisés par le système immunitaire naturel pour combattre les agents pathogène causés par les maladies. Pour arriver à nos fins, nous avons d une part, proposé un algorithme basé sur les principes du système immunitaire artificiel, implémenté cet algorithme et fait des tests pour voir l efficacité et l influence des différents paramètres sur les performances de cet algorithme. D autre part, nous avons proposé la version parallèle de cet algorithme en appliquant une stratégie de parallélisation, nous avons implémenté cette version et fait des tests pour voir l apport du parallélisme à notre algorithme et une comparaison avec la version séquentielle est faite. Le but de paralléliser cette méthode est d améliorer la qualité des résultats (Cmax) obtenus. Les résultats expérimentaux obtenus montrent que le fait de paralléliser l algorithme immunitaire artificiel (PAIS_MIG) permet d obtenir de bons résultats par rapport à ceux obtenus par l algorithme immunitaire artificiel séquentiel. Les résultats sont les meilleurs ordonnancement des différents travaux dans un FSH qui optimisent (minimisent) le Cmax (le temps total d achèvement des travaux). Les résultats peuvent être obtenus en un temps CPU moins élevé si nous avions implémenté l algorithme parallèle (PAIS_MIG) sur une architecture parallèle réelle.

95 Conclusion générale 78 On peut en déduire que l algorithme immunitaire artificiel a montré son intérêt pratique et son adéquation au parallélisme. Pour mieux améliorer notre travail présenté dans cette thèse de magister, on peut proposer la mise en œuvre de plusieurs processeurs sous le modèle Maître\Esclaves. On peut également opter pour l utilisation des grilles de calcul et les clusters qui rencontrent un grand succès dans le domaine scientifique et qui présentent des solutions de moindre coût.

96 Bibliographie

97 Bibliographie 79 [AAR 89] E.H.L. Aarts, J. Korst, Simulated annealing and boltzmann machines: a stochastic approach to combinatorial and neural computing, Wiley, Chichester, [ARI 04] A. Aribi,"Métaheuristiques parallèles appliquées à l'ordonnancement dans Les systèmes de production de type Flow Shop Hybride FSH", Mémoire de magister encadrée par K.Belkadi, Université USTO Oran, [BAG 91] S. Bagchi, S. Uckun, Y. Miyabe et K. Kawamura, Exploring Problem Specific Recombination Operators for Job Shop Scheduling, Proceedings of the Fourth International Conference on Genetic Algorithms, San Mateo, Calif., Morgan Kaufmann Publishers, p , [BAL 94] S. Baluja, Population-based incremental learning : A method for integrating genetic search based function optimization and competitive learning, Technical Report CMU-CS , Computer Science Department, Carnegie Mellon University, Pittsburgh, PA, [BEL 09] K. Belkadi, Partie1 : Parallélisme et Programmation Parallèle, Partie 2 : Parallélisme et ses Applications, support de cours, post graduation, Département informatique, université USTO Oran [BER 02] F. van den Bergh, An Analysis of Particle Swarm Optimizers, PhD thesis, Department of Computer Science, University of Pretoria, [BON 08] Akshata A. Bondal, "Artificial Immune Systems Applied to Job Shop Scheduling", A thesis presented to the faculty of the Russ College of Engineering and Technology of Ohio University In partial fulfillment of the requirements for the degree Master of Science, Mars [BRO 05] Jason Brownlee, Clonal Selection Theory & Clonalg the Clonal Selection Classification Algorithm (CSCA), Centre for Intelligent Systems and Complex Processes (CISCP), Faculty of Information & Communication Technologies (ICT), Swinburne University of Technology (SUT), Melbourne, Australia, 2005 [BRO 06] Jason Brownlee, A Coarse Taxonomy of Artificial Immune Systems, ICT, SUT, Melbourne, Australia.2006 [BRO 07] Jason Brownlee, Clonal Selection Algorithms, Complex Intelligent Systems Laboratory, Centre for Information Technology Research,Faculty of Information Communication Technology, Swinburne University of Technology Melbourne, Australia [BUI 93] T.N. Bui et B.R. Moon, A Genetic Algorithm for a Special Class of the Quadratic Assignment Problem, Special Issue on Quadratic Assignment and Related Problems, DIMACS Series, 1993 [CAN 00] E. Cantu Paz, Marhov chaine model of parallel genetic algorithm, IEEE transaction on evolutionnary computation, Vol 4, N 3, 2000.

98 Bibliographie 80 [CAP 00] F. Cappello, Open MP Sur un Cluster De Multiprocesseurs. Sympa 6, 6 ème Symposium Sur Les Architectures Nouvelles de Machine. Université de Besançon, France [CAU 94] C. Caux, H. Pierreval et M.C. Portmann, Les algorithmes génétiques et leur application aux problèmes d ordonnancement, Actes des Journées d Étude Ordonnancement et entreprise : applications concrètes et outils pour le futur, CNRS, Toulouse, p. 5-45, [CHA 93] J. Chakrapani et J. Skorin-Kapov, Massively parallel tabu search for the quadratic assignment problem, Annals of Operations Research, 41, p , [CLE 89] G.A. Cleveland et S.F. Smith, Using Genetic Algorithms to Schedule Flow Shop Releases, Proceedings of the Third International Conference on Genetic Algorithms, Morgan Kaufmann Editors, Los Altos, CA, p , [COS 95] Cosnard M. ET Trystram, D. (1995). Parallel Algorithms and Architectures, International Thomson Computer Press. [CRA09] Teodor Gabriel Crainic, Michel Toulouse, Parallel Meta-Heuristics, Interuniversity Research Centre on Enterprise Networks, Logistics and Transportation (CIRRELT). May [DAR 59] C. Darwin. The Origin of Species by Means of Natural Selection, Mentor Reprint, 1958, NY, [DAV 85] L. Davis, Job Shop Scheduling With Genetic Algorithms, Proceedings of the First International Conference on Genetic Algorithms, Grefenstette, J.J. éditeur, Lawrence Erlbaum Associates, Hillsdale, NJ, p , [DAV 91] L. Davis, «Handbook of Genetic Algorithms», Van Nostrand Reinhold, New York, [DEB 01] K. Deb et D. Kalyanmoy, Multi-Objective Optimization Using Evolutionary Algorithms, John Wiley & Sons, Inc., [DEC 02] Leandro N. Decastro, Member, IEEE, and Fernando J. Von Zuben, Member, IEEE, Learning and Optimization Using the Clonal Selection Principle, IEEE Transactions on Evolutionary Computation, Special Issue on Artificial Immune Systems, vol. 6, n. 3, pp , [DEJ 89] K.A. Dejong et W.M. Spears, Using Genetic Algorithms to Solve NP-Complete Problems, Proceedings of the Third International Conference on Genetic Algorithm, Morgan Kaufmann Editors, Los Altos, CA, p , [DOR 92] M. Dorigo, Optimization, Learning and Natural Algorithms, PhD thesis, Politecnico de Milano, Italy, [DUB 05] J. Dubus, «Modélisation et génération automatique d infrastructure de déploiement d applications réparties», Juin 2005.

99 Bibliographie 81 [ENG 04] Orhan Engin, Alper DÖYEN, Artificial Immune Systems And Applications In Industrial Problems, Selçuk Üniversitesi Mühendislik-Mimarlık Fak. Endüstri Mühendisliği Bölümü,Alaeddin Keykubad Kampüsü, Selçuklu, Konya, TÜRKİYE [FEO 95] T.A. Feo et M.G.C. Resende, Greedy randomized adaptive search procedures, Journal of Global Optimization, [FER 03] L. Ferreira, V. Berstis, J. Armstrong, Introduction to Grid Computing with Globus, International Technical Support. September [FLE 93] G. Fleury, Méthodes stochastiques et déterministes pour les problèmes NPdifficliles, Université Blaise Pascal, Clermont-Ferrand II, [FLE 94] C. Fleurent et J.A. Ferland, Object-Oriented Implementation of Heuristic Search Methods for Graph Coloring, Maximum Clique and Satisfiability, présenté au deuxième DIMACS Implementation Challenge, [FOS 98] I. Foster, C. Kesselman, The Globus Project: A status Report, Proceedings of the Seventh Heterogeneous Computing Workshop, March 1998, IEEE Computer Society Press, pp [FOS 01] I. Foster, «Grid Technologies & Applications: Architecture & Achievements», citeseer.ist.psu.edu/foster01grid.html.july [GAO 07] Haichang GAO and Xiyang LIU, Improved Artificial Immune Algorithm and its application on the Permutation flow Shop Sequencing Problems, Software Engineering Institute, Xidian University, China, [GAR 79] M.R. Garey et D.S. Johnson, «Computers and Intractability: A Guide to the Theory of NP-Completeness», W.H. Freeman and Co., San Francisco, [GEN 96] Gentler, M., Ubéda, S. et Desprez, F. (1996). Initiation au parallélisme. Concepts, architectures et algorithmes, Masson. [GER 92] Germain-Renaud, C. et Sansonnet, J.-P. (1992). Les ordinateurs massivement parallèles, Armand Colin. [GHA 06] Mokhtar Gharbi, Optimisation grâce aux Systèmes Immunitaires Artificiels, Rapport de stage de Master 2 Recherche Informatique IFSIC, CERV : Centre Européen de Réalité Virtuelle [GLO 77] F. Glover, "Heuristics for Integer Programming Using Surrogate Constraints", Decision Sciences, 8, p , [GLO 86] F. Glover, "Future Paths for Integer Programming and Links to Artificial Intelligence", Computer and Operations Research, 13, p , [GLO 89] F. Glover, "Tabu Search-Part I", ORSA Journal on Computing, 1, p , 1989.

100 Bibliographie 82 [GLO 90] F. Glover, "Tabu Search-Part II", ORSA Journal on Computing, 2, p. 4-32, [GLO93] F. Glover, "Genetic Algorithms and Scatter Search: Unsuspected Potentials", Rapport technique, University of Colorado at Boulder, [GLO 94] F. Glover, "Genetic algorithms and scatter search - unsuspected potentials. Statistics and Computing", [GOM 04] E.Gomez-sanchez, L. Miguel, Bote-lorenzo and A. Yannis Dimitriadis, «Grid Characteristics and Uses: a Grid Definition», Mars [GOU 03] M. Gourgand, N. Grangean et S. Norre, Problèmes d ordonnancement dans les systèmes de production de type Flow-Shop Hybride en contexte déterministe", Université Blaise Pascal (Clermont Ferrand), 2003 [GUE 00] C. Guéret, C. Prins, et M. Sevaux, "Programmation linéaire. Eyrolles", ISBN , pp. 365, [HAO 99] J.K. Hao, P. Galinier et M. Habib, "Métaheuristiques pour l'optimisation combinatoire et l'affectation sous contraintes", Revue d'intelligence Artificielle Vol.13 (2): , [HER 06] S. Hernane, K. Belkadi, "Métaheuristiques parallèles et distribuées inspirées du vivant", Conférence internationale sur l informatique et ses applications, CIIA 06. Saida, Algérie.p65. [HOL 62] J. Holland, "Outline for a logical theory of adaptive systems", Journal of the Association of Computing Machinery, 3, [HOL 75] J.H. Holland, "Adaptation in Natural and Artificial Systems", Ann Arbor, University of Michigan Press, [HOU 11a] A. Houacine, K. Belkadi, " Système immunitaire artificiel appliqué aux systèmes de type Flow Shop Hybride ", 1 st International Conference on Information Systems and Technologies (ICIST 11), Tébessa-Algérie, Avril [HOU 11b] A. Houacine, K. Belkadi, " Artificial immune system applied to Hybrid Flow Shop scheduling problem ", 2011 SREE Conference on Engineering Modelling and Simulation (CEMS 2011), Hongkong-Chine, August 11-12, [HOU 11c] A. Houacine, K. Belkadi, Parallel Artificial Immune System with migration For the Hybrid Flow Shop scheduling problem, IADIS International Conference IADIS Applied Computing 2011, Rio de Janeiro-Brazil, November 06-08, [HUN 91] C. L. Huntley et D.E. Brown, A Parallel Heuristic for Quadratic Assignment Problems, Computers and Operations Research, 18, p , [IBA 87a] T. Ibaraki, Enumerative Approaches to Combinatorial Optimization, Part I, Annals of Operations Research, 10, 1987.

101 Bibliographie 83 [IBA 87b] T. Ibaraki, Enumerative Approaches to Combinatorial Optimization, Part II, Annals of Operation Research, 11, [KAR 02] N. Karonis, MPICH-G2: A Grid-Enabled Implementation of the Message Passing Interface, Department of Computer Science, Northern Illinois University, Avril [KEM 06] S. Kemmoé, M. Gourgand, A. Quilliot et L. Deroussi, Proposition de métaheuristiques hybrides efficaces pour le Flow-Shop de permutation, LIMOS CNRS UMR Campus des cézeaux, Aubière Cedex, [KEN 99] J. Kennedy, Small Worlds and Mega-Minds : Effects of Neighborhood Topology on Particle Swarm Performance, In IEEE Congress on Evolutionary Computation, volume III, pages , [KHE 08] Hiba KHELIL, Abdelkader BENYETTOU, Abdel BELAÏD, Application du système immunitaire artificiel pour la reconnaissance des chiffres, Manuscrit auteur publié dans "Maghrebian Conference on Software Engineering and Artificial Intelligence - MCSEAI'08", Laboratoire SIMPA, Université des Sciences et Technologie d Oran Mohammed BOUDIAF [LAS 93] S. Lash, Genetic Algorithms for Weighted Tardiness Scheduling on Parallel Machines, Technical Report 93-01, Department of Industrial Engineering and Management Science, North Western University, [LAY 09] Abdesslem Layeb, Introduction aux métaheuristiques, A. working thesis, [LAW 85] E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, et D.B. Shmoys, The Traveling Salesman Problem: A guided Tour of Combinatorial Optimization, John Wiley and Sons, New York, [LEI 79] F. Leighton, A graph coloring algorithm for large scheduling problems, Journal of Research of the National Bureau of Standards, 84, p , 1979 [LEO 01] Leopold, C. (2001). Parallel and Distributed Computing: A Survey of Models, Paradigms and Approaches, Wiley-Interscience. [LIN 65] S. Lin, Computer Solutions of the Traveling Salesman Problem, Bell System Technical Journal, 44, p , [MIC 96] Z. Michalewicz, Genetic algorithms + data structures = evolution programs (3rd ed.), Springer-Verlag, [MLA 97] N. Mladenovic et P. Hansen, Variable neighbourhood decomposition search. Computers and Operations Research, [MOS 89] P. Moscato, "On evolution, search, optimization, genetic algorithms and martial arts: Towards memetic algorithms", Technical Report C3P 826, Caltech Concurrent Computation Program, 1989.

102 Bibliographie 84 [MUH 88] H. Muhlenbein, M. Gorges-Schleuter et O. Kramer, «Evolution Algorithms in Combinatorial Optimization», Parallel Computing, 7, p , [NEL 90] R. Nelson et R.J. Wilson, «Graph Colourings», Pitman Research Notes in Mathematics Series, Volume 218, Longman Scientific and Technical, Harlow, Essex, UK, [NER 05] Emmanuel Neron, Du Flow-Shop Hybride au Problème Cumulatif, Thèse de Doctorat Spécialité Contrôle des Systèmes, Université de Technologie de Compiègne, Laboratoire HEUDIASYC, UMR CNRS 6599, Juillet [OSM 96] I.H. Osman et G. Laporte, Metaheuristics: a bibliography, Annales de recherche opérationnelle Research, [PAR 94] P.M. Pardalos et H. Wolkowicz, Quadratic Assignment and Related Problems, DIMACS Series in Mathematics and Theoretical Computer Science, Volume 16, édité par l American Mathematical Society, [PIE 02] Pierre Delisle, Parallélisation d un algorithme d Optimisation par Colonies de Fourmis pour la résolution d un problème d ordonnancement industriel, mémoire présenté à l Université du Québec a Chicoutimi comme exigence partielle de la maîtrise en informatique. juin [PRU 06] J. Pruyne, M. Livny, Providing resource management services to parallel applications, Workshop on Job Scheduling Strategies for Parallel Processing. Proceedings of the International Parallel Processing Symposium (IPPS 95) [ROM 03] D. Romaric, Une grille de calcul pour la recherche, Université Louis Pasteur, Strasbourg, OCT [RUI 09] Rubén Ruiz, José Antonio ÁZQUEZ-RODRÍGUEZ, The Hybrid Flow Shop Scheduling Problem, School of Computer Science, University of Nottingham Jubilee Campus Wollaton Road, Nottingham, NG8 1BB, U.K, Mars [SAH 02] M. Sahraoui,"Etude comparative des méthodes d'optimisation appliquées aux Systèmes de type Flow Shop Hybride", Mémoire de magister encadrée par K.Belkadi, Université USTO Oran, [SCH 95] H.P. Schwefel et G. Rudolph, "Contemporary evolution strategies", In European Conference on Artificial Life, pages , [SEV 04]: M. Sevaux, K. Sörensen, et Y. Le Quéré, "Flexibilité et robustesse en ordonnancement, chapitre Métaheuristiques pour la planification et l'ordonnancement robuste", Hermes, pp , [SMA 09] K. Smail,"Parallélisation des Métaheuristiques (PSO et EM) appliquées aux systèmes de type Flow Shop Hybride ", Mémoire de magister encadrée par K.Belkadi, Université USTO Oran, 2009.

103 Bibliographie 85 [SOU 03] T. Soueid, «Grilles de calcul: Etat de l art», Ecole nationale supérieure des télécommunications. Diplôme d études approfondies Informatique. ENST, Juin2003. [TAL 02] E.G. Talbi, "A taxonomy of hybrid metaheuristics", Journal of Heuristics, 8: pp , [TAL 04] E.G. Talbi, "Sélection et réglage de paramètres pour l optimisation de logiciels d ordonnancement industriel", Thèse de doctorat, Institut National Polytechnique de Toulouse, Novembre [VIG 97] A. Vignier, " Contribution à la résolution des problèmes d ordonnancement de type monogamme, multi-machines (Flow Shop Hybride)", thèse de doctorat, Université de Tours, [VOU 95] C. Voudouris et E. Tsang, Guided local search, Technical Report TR CSM- 247, University of Essex, UK, [WAT 07] Andrew Watkins, Xintong BI, And Amit Phadke, Parallelizing An Immune- Inspired Algorithm For Efficient Pattern Recognition, Department of Computer Science and Engineering, Mississippi State University, USA, [YAN 00] B. yann, Etudes et développement d une bibliothèque d adaptation du parallélisme neuronale au parallélisme MIMD, thèse de doctorat, département de formation doctorale en informatique, URF STMIA, Université de Henri Poincaré Nancy, [ZAN 06] M. Zandieh, S.M.T. Fatemi Ghomi, S.M. Moattar Husseini, "An immune algorithm approach to hybrid flow shops scheduling with sequence-dependent setup times ",Applied Mathematics and Computation , Department of Industrial Engineering, Amirkabir University of Technology, 424 Hafez Avenue, Tehran, Iran [ZER 09] K. Zerrouki,"Parallélisation des Métaheuristiques Avancées pour le problème d'ordonnancement des systèmes de production de type Flow Shop Hybride (FSH)", Mémoire de magister encadrée par K.Belkadi, Université USTO Oran, 2009.

104

Système immunitaire artificiel

Système immunitaire artificiel République Algérienne Démocratique et Populaire Ministère de l Enseignement Supérieure Université des Sciences et de la Technologie D Oran Mohammed Boudiaf (USTO) Faculté des Sciences Département d Informatique

Plus en détail

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments Recherche Opérationnelle Optimisation combinatoire : Applications et compléments Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 17 février 2014 Plan de

Plus en détail

Ordonnancement en temps réel d un jobshop par métaheuristique hybride : étude comparative

Ordonnancement en temps réel d un jobshop par métaheuristique hybride : étude comparative Ordonnancement en temps réel d un jobshop par métaheuristique hybride : étude comparative Y. Houbad, M. Souier, A. Hassam, Z.Sari Laboratoire d automatique Tlemcen Faculté de technologie, Université Abou

Plus en détail

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques Université Mohammed V, Faculté des Sciences de Rabat Laboratoire de Recherche Mathématiques, Informatique et Applications Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques MASTER

Plus en détail

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris 12 20 Mars 2003

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris 12 20 Mars 2003 Problèmes d ordonnancement dans les systèmes de production Michel Gourgand Université Blaise Pascal Clermont Ferrand LIMOS CNRS UMR 6158 1 Le LIMOS Laboratoire d Informatique, de Modélisation et d Optimisation

Plus en détail

Hela Boukef. To cite this version: HAL Id: tel-00577101 https://tel.archives-ouvertes.fr/tel-00577101

Hela Boukef. To cite this version: HAL Id: tel-00577101 https://tel.archives-ouvertes.fr/tel-00577101 Sur l ordonnancement d ateliers job-shop flexibles et flow-shop en industries pharmaceutiques : optimisation par algorithmes génétiques et essaims particulaires Hela Boukef To cite this version: Hela Boukef.

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

Annexe 6. Notions d ordonnancement.

Annexe 6. Notions d ordonnancement. Annexe 6. Notions d ordonnancement. APP3 Optimisation Combinatoire: problèmes sur-contraints et ordonnancement. Mines-Nantes, option GIPAD, 2011-2012. [email protected] Résumé Ce document

Plus en détail

La programmation à mémoire adaptative ou l évolution des algorithmes évolutifs

La programmation à mémoire adaptative ou l évolution des algorithmes évolutifs La programmation à mémoire adaptative ou l évolution des algorithmes évolutifs Éric D. Taillard 1 Luca M. Gambardella 1 Michel Gendreau 2 Jean-Yves Potvin 2 1 IDSIA, Corso Elvezia 36, CH-6900 Lugano. E-mail

Plus en détail

ALGORITHME GENETIQUE ET MODELE DE SIMULATION POUR L'ORDONNANCEMENT D'UN ATELIER DISCONTINU DE CHIMIE

ALGORITHME GENETIQUE ET MODELE DE SIMULATION POUR L'ORDONNANCEMENT D'UN ATELIER DISCONTINU DE CHIMIE ALGORITHME GENETIQUE ET MODELE DE SIMULATION POUR L'ORDONNANCEMENT D'UN ATELIER DISCONTINU DE CHIMIE P. Baudet, C. Azzaro-Pantel, S. Domenech et L. Pibouleau Laboratoire de Génie Chimique - URA 192 du

Plus en détail

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes. Introduction L'objectif de mon TIPE est la reconnaissance de sons ou de notes de musique à l'aide d'un réseau de neurones. Ce réseau doit être capable d'apprendre à distinguer les exemples présentés puis

Plus en détail

Problème à résoudre. min f(s) s.c. s S

Problème à résoudre. min f(s) s.c. s S Métaheuristiques Le mot métaheuristique 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

Plus en détail

Pourquoi l apprentissage?

Pourquoi l apprentissage? Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage

Plus en détail

Une application des algorithmes génétiques à l ordonnancement d atelier

Une application des algorithmes génétiques à l ordonnancement d atelier Une application des algorithmes génétiques à l ordonnancement d atelier VACHER Jean-Philippe - GALINHO Thierry - MAMMERI Zoubir Laboratoire d Informatique du Havre Université du Havre 25, Rue Philippe

Plus en détail

Principes d implémentation des métaheuristiques

Principes d implémentation des métaheuristiques Chapitre 2 Principes d implémentation des métaheuristiques Éric D. Taillard 1 2.1 Introduction Les métaheuristiques ont changé radicalement l élaboration d heuristiques : alors que l on commençait par

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

Algorithmes de recherche

Algorithmes de recherche Algorithmes de recherche 1 Résolution de problèmes par recherche On représente un problème par un espace d'états (arbre/graphe). Chaque état est une conguration possible du problème. Résoudre le problème

Plus en détail

Sommaire. Introduction.2. 1. Définition..2. 2. Historique.2. 3. Domaine d application.2. 4.Les Travaux réalisés sur les domaines d application.

Sommaire. Introduction.2. 1. Définition..2. 2. Historique.2. 3. Domaine d application.2. 4.Les Travaux réalisés sur les domaines d application. Sommaire Introduction.2 1. Définition..2 2. Historique.2 3. Domaine d application.2 4.Les Travaux réalisés sur les domaines d application.3 5.Algorithme 4 6.Exemple d application 5 7. Avantage et inconvénient..6

Plus en détail

Deux stratégies parallèles de l'optimisation par colonie de fourmis

Deux stratégies parallèles de l'optimisation par colonie de fourmis 4 th International Conference: Sciences of Electronic, Technologies of Information and Telecommunications March 25-29, 2007 TUNISIA Deux stratégies parallèles de l'optimisation par colonie de fourmis HERNANE

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

Plus en détail

LES MÉTA-HEURISTIQUES : quelques conseils pour en faire bon usage

LES MÉTA-HEURISTIQUES : quelques conseils pour en faire bon usage LES MÉTA-HEURISTIQUES : quelques conseils pour en faire bon usage Alain HERTZ Ecole Polytechnique - GERAD Département de mathématiques et de génie industriel CP 679, succ. Centre-ville, Montréal (QC) H3C

Plus en détail

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1 CHAPTER 1 Ordonnancement 1.1. Étude de cas Ordonnancement de tâches avec contraintes de précédences 1.1.1. Exemple : construction d'une maison. Exercice. On veut construire une maison, ce qui consiste

Plus en détail

Cours de Master Recherche

Cours de Master Recherche Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction

Plus en détail

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases) Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases) Heuristique Constructive Itérativement, ajoute de nouvelles composantes à une solution partielle candidate Espace

Plus en détail

Méthaheuristiques pour l optimisation combinatoire et l affectation sous contraintes

Méthaheuristiques pour l optimisation combinatoire et l affectation sous contraintes Méthaheuristiques pour l optimisation combinatoire et l affectation sous contraintes Jin-Kao Hao *, Philippe Galinier **, Michel Habib *** * LERIA, U.F.R. Sciences, Université d Angers, 2 bd Lavoisier,

Plus en détail

La classification automatique de données quantitatives

La classification automatique de données quantitatives La classification automatique de données quantitatives 1 Introduction Parmi les méthodes de statistique exploratoire multidimensionnelle, dont l objectif est d extraire d une masse de données des informations

Plus en détail

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS AVERTISSEMENT Ce document est le fruit d'un long travail approuvé par le jury de soutenance et mis à disposition de l'ensemble de la communauté universitaire élargie. Il est soumis à la propriété intellectuelle

Plus en détail

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1 Exemples de problèmes et d applications INF6953 Exemples de problèmes Sommaire Quelques domaines d application Quelques problèmes réels Allocation de fréquences dans les réseaux radio-mobiles Affectation

Plus en détail

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante

Plus en détail

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux Colonies de fourmis Comment procèdent les colonies de fourmi pour déterminer un chemin presque géodésique de la fourmilière à un stock de nourriture? Les premières fourmis se déplacent au hasard. Les fourmis

Plus en détail

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2) Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Proposition d un modèle pour Ordonnancement d un Système Automatisé de Production Applications des algorithmes génétiques hybrides

Proposition d un modèle pour Ordonnancement d un Système Automatisé de Production Applications des algorithmes génétiques hybrides Proposition d un modèle pour Ordonnancement d un Système Automatisé de Production Applications des algorithmes génétiques hybrides Djamila Bouhalouan 1, Nassima Aissani 1, Bouziane Beldjilali 2 1 Département

Plus en détail

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information

Plus en détail

Ministère de l Enseignement Supérieur et de la Recherche Scientifique. Mémoire de fin d études. Thème

Ministère de l Enseignement Supérieur et de la Recherche Scientifique. Mémoire de fin d études. Thème Ministère de l Enseignement Supérieur et de la Recherche Scientifique Institut National de formation en Informatique (I.N.I.) Oued-Smar Alger Mémoire de fin d études Pour l obtention du diplôme d ingénieur

Plus en détail

MS PROJECT 2000. Prise en main. Date: Mars 2003. Anère MSI. 12, rue Chabanais 75 002 PARIS E mail : [email protected] Site : www.anere.

MS PROJECT 2000. Prise en main. Date: Mars 2003. Anère MSI. 12, rue Chabanais 75 002 PARIS E mail : jcrussier@anere.com Site : www.anere. DOCUMENTATION MS PROJECT 2000 Prise en main Date: Mars 2003 Anère MSI 12, rue Chabanais 75 002 PARIS E mail : [email protected] Site : www.anere.com Le présent document est la propriété exclusive d'anère

Plus en détail

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL J. TICHON(1) (2), J.-M. TOULOTTE(1), G. TREHOU (1), H. DE ROP (2) 1. INTRODUCTION Notre objectif est de réaliser des systèmes de communication

Plus en détail

LE DIPLOME DE MAGISTER

LE DIPLOME DE MAGISTER Département d Informatique MEMOIRE Présenté par DEDDOUCHE Yamina Pour obtenir LE DIPLOME DE MAGISTER Spécialité : Informatique Option : Informatique et Automatique Intitulé : Contribution à l Ordonnancement

Plus en détail

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes Loris MARCHAL Laboratoire de l Informatique du Parallélisme Équipe Graal Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes Thèse réalisée sous la direction

Plus en détail

Christophe CANDILLIER Cours de DataMining mars 2004 Page 1

Christophe CANDILLIER Cours de DataMining mars 2004 Page 1 Christophe CANDILLIER Cours de DataMining mars 2004 age 1 1. Introduction 2. rocessus du DataMining 3. Analyse des données en DataMining 4. Analyse en Ligne OLA 5. Logiciels 6. Bibliographie Christophe

Plus en détail

Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) IFT702 Planification en intelligence artificielle

Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) IFT702 Planification en intelligence artificielle Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) PLANIFICATION DE TÂCHES DANS MS PROJECT IFT702 Planification en intelligence artificielle Présenté à M. Froduald KABANZA

Plus en détail

DES FOURMIS POUR LIVRER DU MAZOUT

DES FOURMIS POUR LIVRER DU MAZOUT DES FOURMIS POUR LIVRER DU MAZOUT É. D. Taillard (1), G. Agazzi (2), L.-M. Gambardella (3) Résumé La livraison de certains biens peut engendrer des coûts non négligeables par rapport à la valeur de la

Plus en détail

DATE DU CONCOURS: SAMEDI 18 OCTOBRE

DATE DU CONCOURS: SAMEDI 18 OCTOBRE République Algérienne Démocratique et Populaire Ministère de l Enseignement Supérieur et de la Recherche Scientifique Université des Sciences et de la Technologie d Oran BOUDIAF Vice-Rectorat chargé de

Plus en détail

Analyse hiérarchique de tâches (AHT)

Analyse hiérarchique de tâches (AHT) (AHT) Définition Cette méthode consiste à décomposer la tâche principale (ou le but) de l'opérateur en sous-tâches (ou sous-buts), puis chacune de ces sous-tâches en plusieurs sous-sous-tâches, et ainsi

Plus en détail

LES DECIMALES DE π BERNARD EGGER

LES DECIMALES DE π BERNARD EGGER LES DECIMALES DE π BERNARD EGGER La génération de suites de nombres pseudo aléatoires est un enjeu essentiel pour la simulation. Si comme le dit B Ycard dans le cours écrit pour le logiciel SEL, «Paradoxalement,

Plus en détail

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

Modélisation multi-agents - Agents réactifs

Modélisation multi-agents - Agents réactifs Modélisation multi-agents - Agents réactifs Syma cursus CSI / SCIA Julien Saunier - [email protected] Sources www-lih.univlehavre.fr/~olivier/enseignement/masterrecherche/cours/ support/algofourmis.pdf

Plus en détail

Apprentissage par renforcement (1a/3)

Apprentissage par renforcement (1a/3) Apprentissage par renforcement (1a/3) Bruno Bouzy 23 septembre 2014 Ce document est le chapitre «Apprentissage par renforcement» du cours d apprentissage automatique donné aux étudiants de Master MI, parcours

Plus en détail

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires Julien Jorge, Xavier Gandibleux Laboratoire d Informatique de Nantes Atlantique

Plus en détail

VIII- Circuits séquentiels. Mémoires

VIII- Circuits séquentiels. Mémoires 1 VIII- Circuits séquentiels. Mémoires Maintenant le temps va intervenir. Nous avions déjà indiqué que la traversée d une porte ne se faisait pas instantanément et qu il fallait en tenir compte, notamment

Plus en détail

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall L utilisation d un réseau de neurones pour optimiser la gestion d un firewall Réza Assadi et Karim Khattar École Polytechnique de Montréal Le 1 mai 2002 Résumé Les réseaux de neurones sont utilisés dans

Plus en détail

Statistiques Descriptives à une dimension

Statistiques Descriptives à une dimension I. Introduction et Définitions 1. Introduction La statistique est une science qui a pour objectif de recueillir et de traiter les informations, souvent en très grand nombre. Elle regroupe l ensemble des

Plus en détail

Ebauche Rapport finale

Ebauche Rapport finale Ebauche Rapport finale Sommaire : 1 - Introduction au C.D.N. 2 - Définition de la problématique 3 - Etat de l'art : Présentatio de 3 Topologies streaming p2p 1) INTRODUCTION au C.D.N. La croissance rapide

Plus en détail

Centre de tournage. et de fraisage CNC TNX65/42

Centre de tournage. et de fraisage CNC TNX65/42 Centre de tournage et de fraisage CNC TNX65/42 Le tour TRAUB TNX65/42 pose de nouveaux jalons dans l'usinage à haute performance. Le concept de machine futuriste avec l'incomparable nouvelle unité de fraisage

Plus en détail

Les indices à surplus constant

Les indices à surplus constant Les indices à surplus constant Une tentative de généralisation des indices à utilité constante On cherche ici en s inspirant des indices à utilité constante à définir un indice de prix de référence adapté

Plus en détail

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet. [email protected]

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet. pierre.chauvet@uco.fr Atelier Transversal AT11 Activité «Fourmis» Pierre Chauvet [email protected] Ant : un algorithme inspiré de l éthologie L éthologie Etude scientifique des comportements animaux, avec une perspective

Plus en détail

Métriques de performance pour les algorithmes et programmes parallèles

Métriques de performance pour les algorithmes et programmes parallèles Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and

Plus en détail

Optimisation Combinatoire et Colonies de Fourmis Nicolas Monmarche April 21, 1999 Sommaire Inspiration biologiques Ant Colony Optimization Applications TSP QAP Flow Shop Problemes dynamiques 1 Historique

Plus en détail

Préparation des données d entrée pour la définition d un plan de validation

Préparation des données d entrée pour la définition d un plan de validation L ingénierie des systèmes complexes Préparation des données d entrée pour la définition d un plan de validation Référence Internet 22745.010 Saisissez la Référence Internet 22745.010 dans le moteur de

Plus en détail

2. Activités et Modèles de développement en Génie Logiciel

2. Activités et Modèles de développement en Génie Logiciel 2. Activités et Modèles de développement en Génie Logiciel Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Les Activités du GL Analyse des besoins Spécification globale Conceptions architecturale

Plus en détail

COMMENT MAITRISER LA GESTION DES APPROVISIONNEMENTS ET DES STOCKS DE MEDICAMENTS

COMMENT MAITRISER LA GESTION DES APPROVISIONNEMENTS ET DES STOCKS DE MEDICAMENTS 1 sur 9 COMMENT MAITRISER LA GESTION DES APPROVISIONNEMENTS ET DES STOCKS DE MEDICAMENTS (L'article intégral est paru dans Gestions Hospitalières n 357 de juin-juillet 1996) Pour plus d'informations concernant

Plus en détail

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET Glossaire La terminologie propre au projet, ainsi que les abréviations et sigles utilisés sont définis dans le Glossaire. Approbation Décision formelle, donnée

Plus en détail

Séparation et Evaluation pour le problème d ordonnancement avec blocage.

Séparation et Evaluation pour le problème d ordonnancement avec blocage. Séparation et Evaluation pour le problème d ordonnancement avec blocage. Abdelhakim Ait Zai 1, Abdelkader Bentahar 1, Hamza Bennoui 1, Mourad Boudhar 2 et Yazid Mati 3 1 Faculté d Electronique et d Informatique,

Plus en détail

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

Plus en détail

modélisation solide et dessin technique

modélisation solide et dessin technique CHAPITRE 1 modélisation solide et dessin technique Les sciences graphiques regroupent un ensemble de techniques graphiques utilisées quotidiennement par les ingénieurs pour exprimer des idées, concevoir

Plus en détail

Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université

Plus en détail

En vue de l'obtention du. Présentée et soutenue par Abir BEN HMIDA SAKLY Le 12/12/2009

En vue de l'obtention du. Présentée et soutenue par Abir BEN HMIDA SAKLY Le 12/12/2009 THÈSE En vue de l'obtention du DOCTORAT DE L UNIVERSITÉ DE TOULOUSE Délivré par l'institut National des Sciences Appliquées de Toulouse Discipline ou spécialité : Systèmes Informatiques Présentée et soutenue

Plus en détail

Développement itératif, évolutif et agile

Développement itératif, évolutif et agile Document Développement itératif, évolutif et agile Auteur Nicoleta SERGI Version 1.0 Date de sortie 23/11/2007 1. Processus Unifié Développement itératif, évolutif et agile Contrairement au cycle de vie

Plus en détail

Stratégie de recherche adaptative en programmation par contrainte

Stratégie de recherche adaptative en programmation par contrainte Université Paul Sabatier École Nationale de l Aviation Civile Master 2 Recherche Informatique et Télécommunication parcours Intelligence Artificielle Simon Marchal Stratégie de recherche adaptative en

Plus en détail

CHAPITRE VIII : Les circuits avec résistances ohmiques

CHAPITRE VIII : Les circuits avec résistances ohmiques CHAPITRE VIII : Les circuits avec résistances ohmiques VIII. 1 Ce chapitre porte sur les courants et les différences de potentiel dans les circuits. VIII.1 : Les résistances en série et en parallèle On

Plus en détail

Item 169 : Évaluation thérapeutique et niveau de preuve

Item 169 : Évaluation thérapeutique et niveau de preuve Item 169 : Évaluation thérapeutique et niveau de preuve COFER, Collège Français des Enseignants en Rhumatologie Date de création du document 2010-2011 Table des matières ENC :...3 SPECIFIQUE :...3 I Différentes

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

Perrothon Sandrine UV Visible. Spectrophotométrie d'absorption moléculaire Étude et dosage de la vitamine B 6

Perrothon Sandrine UV Visible. Spectrophotométrie d'absorption moléculaire Étude et dosage de la vitamine B 6 Spectrophotométrie d'absorption moléculaire Étude et dosage de la vitamine B 6 1 1.But et théorie: Le but de cette expérience est de comprendre l'intérêt de la spectrophotométrie d'absorption moléculaire

Plus en détail

Approche d'évaluation pour les problèmes d'ordonnancement multicritères : Méthode d'agrégation avec direction de recherche dynamique

Approche d'évaluation pour les problèmes d'ordonnancement multicritères : Méthode d'agrégation avec direction de recherche dynamique Approche d'évaluation pour les problèmes d'ordonnancement multicritères : Méthode d'agrégation avec direction de recherche dynamiue D. BERKOUNE 2, K. MESGHOUNI, B. RABENASOLO 2 LAGIS UMR CNRS 846, Ecole

Plus en détail

THÈSE. présentée à l Université d Avignon et des Pays de Vaucluse pour obtenir le diplôme de DOCTORAT

THÈSE. présentée à l Université d Avignon et des Pays de Vaucluse pour obtenir le diplôme de DOCTORAT ACADÉMIE D AIX-MARSEILLE UNIVERSITÉ D AVIGNON ET DES PAYS DE VAUCLUSE THÈSE présentée à l Université d Avignon et des Pays de Vaucluse pour obtenir le diplôme de DOCTORAT SPÉCIALITÉ : Informatique École

Plus en détail

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION DES NOMBRES par Jean-Luc BREGEON professeur formateur à l IUFM d Auvergne LE PROBLÈME DE LA REPRÉSENTATION DES NOMBRES On ne conçoit pas un premier enseignement

Plus en détail

Etude d Algorithmes Parallèles de Data Mining

Etude d Algorithmes Parallèles de Data Mining REPUBLIQUE TUNISIENNE MINISTERE DE L ENSEIGNEMENT SUPERIEUR, DE LA TECHNOLOGIE ET DE LA RECHERCHE SCIENTIFIQUE UNIVERSITE DE TUNIS ELMANAR FACULTE DES SCIENCES DE TUNIS DEPARTEMENT DES SCIENCES DE L INFORMATIQUE

Plus en détail

Modélisation aléatoire en fiabilité des logiciels

Modélisation aléatoire en fiabilité des logiciels collection Méthodes stochastiques appliquées dirigée par Nikolaos Limnios et Jacques Janssen La sûreté de fonctionnement des systèmes informatiques est aujourd hui un enjeu économique et sociétal majeur.

Plus en détail

Minimisation de la somme des retards dans un jobshop flexible

Minimisation de la somme des retards dans un jobshop flexible Minimisation de la somme des retards dans un jobshop flexible Nozha ZRIBI, Imed KACEM, Abdelkader EL KAMEL, Pierre BORNE LAGIS Ecole Centrale de Lille, BP 48, 5965 Villeneuve d Ascq Cedex, France ISTIT

Plus en détail

Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image

Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image IN52-IN54 A2008 Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image Etudiants : Nicolas MONNERET Alexandre HAFFNER Sébastien DE MELO Responsable : Franck GECHTER Sommaire

Plus en détail

Concevoir et déployer un data warehouse

Concevoir et déployer un data warehouse Concevoir et déployer un data warehouse Ralph Kimball Éditions Eyrolles ISBN : 2-212-09165-6 2000 2 Le cycle de vie dimensionnel Avant d étudier de plus près les spécificités de la conception, du développement

Plus en détail

Classe de première L

Classe de première L Classe de première L Orientations générales Pour bon nombre d élèves qui s orientent en série L, la classe de première sera une fin d étude en mathématiques au lycée. On a donc voulu ici assurer à tous

Plus en détail

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Julien Jorge [email protected] Laboratoire d Informatique de Nantes Atlantique,

Plus en détail

Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci http://liris.cnrs.fr/hamamache.kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de

Plus en détail

L apprentissage automatique

L apprentissage automatique L apprentissage automatique L apprentissage automatique L'apprentissage automatique fait référence au développement, à l analyse et à l implémentation de méthodes qui permettent à une machine d évoluer

Plus en détail

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar [email protected]

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar [email protected] Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines

Plus en détail

OPTIMISATION À UNE VARIABLE

OPTIMISATION À UNE VARIABLE OPTIMISATION À UNE VARIABLE Sommaire 1. Optimum locaux d'une fonction... 1 1.1. Maximum local... 1 1.2. Minimum local... 1 1.3. Points stationnaires et points critiques... 2 1.4. Recherche d'un optimum

Plus en détail

Les 10 grands principes de l utilisation du data mining pour une gestion de la relation client réussie

Les 10 grands principes de l utilisation du data mining pour une gestion de la relation client réussie Les 10 grands principes de l utilisation du data mining pour une gestion de la relation client réussie Découvrir les stratégies ayant fait leurs preuves et les meilleures pratiques Points clés : Planifier

Plus en détail

ELEC2753 Electrotechnique examen du 11/06/2012

ELEC2753 Electrotechnique examen du 11/06/2012 ELEC2753 Electrotechnique examen du 11/06/2012 Pour faciliter la correction et la surveillance, merci de répondre aux 3 questions sur des feuilles différentes et d'écrire immédiatement votre nom sur toutes

Plus en détail

CHAPITRE IX : Les appareils de mesures électriques

CHAPITRE IX : Les appareils de mesures électriques CHAPITRE IX : Les appareils de mesures électriques IX. 1 L'appareil de mesure qui permet de mesurer la différence de potentiel entre deux points d'un circuit est un voltmètre, celui qui mesure le courant

Plus en détail

Traitement des données avec Microsoft EXCEL 2010

Traitement des données avec Microsoft EXCEL 2010 Traitement des données avec Microsoft EXCEL 2010 Vincent Jalby Septembre 2012 1 Saisie des données Les données collectées sont saisies dans une feuille Excel. Chaque ligne correspond à une observation

Plus en détail

Ordonnancement robuste et décision dans l'incertain

Ordonnancement robuste et décision dans l'incertain Ordonnancement robuste et décision dans l'incertain 4 ème Conférence Annuelle d Ingénierie Système «Efficacité des entreprises et satisfaction des clients» Centre de Congrès Pierre Baudis,TOULOUSE, 2-4

Plus en détail

UNIVERSITÉ DU QUÉBEC À CHICOUTIMI UNIVERSITÉ DU QUÉBEC À MONTRÉAL

UNIVERSITÉ DU QUÉBEC À CHICOUTIMI UNIVERSITÉ DU QUÉBEC À MONTRÉAL UNIVERSITÉ DU QUÉBEC À CHICOUTIMI UNIVERSITÉ DU QUÉBEC À MONTRÉAL MÉTAHEURISTIQUES HYBRIDES POUR LA RÉSOLUTION DU PROBLÈME D'ORDONNANCEMENT DE VOITURES DANS UNE CHAÎNE D'ASSEMBLAGE AUTOMOBILE MÉMOIRE PRÉSENTÉ

Plus en détail

LE CHEMINEMENT COMPLEXE D UN VACCIN

LE CHEMINEMENT COMPLEXE D UN VACCIN LE CHEMINEMENT COMPLEXE D UN VACCIN Chaîne de production, exigences réglementaires et accès aux vaccins International Federation of Pharmaceutical Manufacturers & Associations LE CHEMINEMENT COMPLEXE D

Plus en détail

Algorithmique avec Algobox

Algorithmique avec Algobox Algorithmique avec Algobox 1. Algorithme: Un algorithme est une suite d instructions qui, une fois exécutée correctement, conduit à un résultat donné Un algorithme doit contenir uniquement des instructions

Plus en détail

IMMUNOLOGIE. La spécificité des immunoglobulines et des récepteurs T. Informations scientifiques

IMMUNOLOGIE. La spécificité des immunoglobulines et des récepteurs T. Informations scientifiques IMMUNOLOGIE La spécificité des immunoglobulines et des récepteurs T Informations scientifiques L infection par le VIH entraîne des réactions immunitaires de l organisme qui se traduisent par la production

Plus en détail

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration Julien MATHEVET Alexandre BOISSY GSID 4 Rapport Load Balancing et migration Printemps 2001 SOMMAIRE INTRODUCTION... 3 SYNTHESE CONCERNANT LE LOAD BALANCING ET LA MIGRATION... 4 POURQUOI FAIRE DU LOAD BALANCING?...

Plus en détail