LE DIPLOME DE MAGISTER



Documents pareils
Annexe 6. Notions d ordonnancement.

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

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

Le module Supply Chain pour un fonctionnement en réseau

THESE. présentée. pour obtenir. le titre de Docteur de l'institut National Polytechnique de Toulouse. SPECIALITE : Systèmes Industriels.

Nom de l application

Introduction au Data-Mining

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Les diagrammes de modélisation

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

Gestion réactive des opérations de maintien et d actualisation réglementaire et technologique des systèmes complexes.

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

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

PLANIFICATION DE PROJET ET METHODES D ORDONNANCEMENT

EXAMEN CRITIQUE D UN DOSSIER TECHNIQUE

MS PROJECT Prise en main. Date: Mars Anère MSI. 12, rue Chabanais PARIS E mail : jcrussier@anere.com Site :

Partie 7 : Gestion de la mémoire

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

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

Exercice sur la planification de l élaboration d un programme TPMDidacticiel de MS Project pour la planification de projets

Gestion de projets. avec. Microsoft Office PROJECT 2003

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

Concevoir et déployer un data warehouse

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

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

FONCTION ORDONNANCEMENT AU SEIN

Architecture d'entreprise : Guide Pratique de l'architecture Logique

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

INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement. Bernard Fortz

Synthèse «Le Plus Grand Produit»

Excel Avancé. Plan. Outils de résolution. Interactivité dans les feuilles. Outils de simulation. La valeur cible Le solveur

Présentation livre Simulation for Supply Chain Management. Chapitre 1 - Supply Chain simulation: An Overview

Introduction au datamining

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

Pour obtenir le grade de. Spécialité : Sciences Pour l Ingénieur. Arrêté ministériel : 7 août 2006

Chapitre 1 : Introduction aux bases de données

4.2 Unités d enseignement du M1

GLOBAL SUPPLY CHAIN MANAGEMENT & STRATEGIE LOGISTIQUE

modélisation solide et dessin technique

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

MEGA Application Portfolio Management. Guide d utilisation

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

1220 Promenade du St-Laurent, Batiscan, QC, G0X1A0 Tél:

Gestion de projet- Indicateurs de performance

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

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

IBM Tivoli Monitoring, version 6.1

En vue de l'obtention du

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

Manage Yourself. Rapport de planification. Projet de 4ème année informatique. Equipe :

Modèle conceptuel : diagramme entité-association

Leçon 5. Systèmes de gestion à recomplétement périodique et stock de sécurité

Inspection Pédagogique Régionale de Technologie Académie de Reims juin /8

Ordonnancement robuste et décision dans l'incertain

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

LA GESTION DE PROJET INFORMATIQUE

LA GESTION DE PROJET INFORMATIQUE

Ordonnancement temps réel

Samuel Bassetto 04/2010

Hela Boukef. To cite this version: HAL Id: tel

Pourquoi l apprentissage?

Introduction au Data-Mining

Maintenir son cap en maîtrisant sa rentabilité.

Métiers de la Production/ Logistique

Apprentissage Automatique

Travaux pratiques avec RapidMiner

L apprentissage automatique

Modélisation et simulation du trafic. Christine BUISSON (LICIT) Journée Simulation dynamique du trafic routier ENPC, 9 Mars 2005

Gestion commerciale. Une réponse fonctionnelle quel que soit votre secteur d activité

Livre Blanc Oracle Novembre Le Bureau des Projets (PMO) : un levier stratégique de création de valeur pour l industrie

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

Paramétrage d une Gestion de Production

Techniques de l informatique 420.AC. DEC intensif en informatique, option gestion de réseaux informatiques

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

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

Systèmes d information et bases de données (niveau 1)

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Coup de Projecteur sur les Réseaux de Neurones

CONSEILS POUR LA REDACTION DU RAPPORT DE RECHERCHE. Information importante : Ces conseils ne sont pas exhaustifs!

FORMAT FORMA ION SUR LA ION SUR LA GESTION DE PROJET & MS PROJECT

PLAN DE COURS. GPA750 Ordonnancement des systèmes de production aéronautique

Stratégie de rémunération

Séminaire Business Process Management. Lausanne le 9 mai 2007

ITIL V3. Transition des services : Principes et politiques

Elaboration et Suivi des Budgets

Travailler avec les télécommunications

les outils de la gestion de projet

Introduction à la théorie des files d'attente. Claude Chaudet

Organisé par StatSoft France et animé par Dr Diego Kuonen, expert en techniques de data mining.

Conseils pour l évaluation et l attribution de la note

d évaluation Objectifs Processus d élaboration

Rappel sur les bases de données

TUTORIAL Microsoft Project 2010 Fonctionalités de base

Types de REA produites dans le cadre de la séquence pédagogique

Maîtriser les mutations

La gestion des contraintes pour modéliser les stratégies humaines d'ordonnancement et concevoir des interfaces homme-machine ergonomiques

UML (Paquetage) Unified Modeling Language

LE MÉTIER DE CONSULTANT Principes, méthodes, outils

LA METHODE DU COUT CIBLE (TARGET COSTING)

Transcription:

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 Réactif : Modélisation Booléenne Soutenue le : 16/02/2012 à la salle de conférences de la faculté des sciences Devant les membres du Jury : Dr B. KECHAR Maître de Conférences, Université d Oran, ES-Sénia (Président). Dr G. BELALEM, Dr L. SEKHRI, Dr B. ATMANI Dr. N. AISSANI Maître de Conférences, Université d Oran, ES-Sénia (Examinateur). Maître de Conférences, Université d Oran, ES-Sénia (Examinateur). Maître de Conférences, Université d Oran, ES-Sénia. (Encadreur). Maître Assistante, Université d Oran, ES-Sénia. (Co - Encadreur). 1

Remerciements Tout d abord, je remercie Allah le Tout Puissant de m avoir donné la santé, le courage, et la patience pour réaliser ce travail. Je remercie les personnes qui m'ont encadrée, encouragée et supportée tout au long de ce travail. Dr. Baghdad ATMANI, tout d'abord, mon encadreur, pour m'avoir initiée à la recherche en Ingéniorat et m'avoir accueillie en mémoire de magister par la suite ; sa disponibilité, sa bonne humeur et sa rigueur scientifique m'ont permis de réaliser ce travail. Dr. Nassima AISSANI ensuite ; sa gentillesse, sa patience, son aide, ses précieux conseils, et la confiance qu'elle m'a accordée m'ont accompagnée tout au long de cette étude. Je remercie également le docteur KECHAR Bouabdellah, du département d Informatique de l université des sciences d Oran, de m avoir fait l honneur de présider le jury de mon mémoire. Le Docteur G. BELALEM et le Docteur L. SEKHRI, du département d Informatique de l université des sciences d Oran, pour avoir accepté d être les examinateurs de mon mémoire. J'adresse également mes remerciements à tous les membres du Laboratoire d informatique et Automatique, Professeurs, Maîtres de Conférences, doctorants, post gradients et secrétaires, pour leur patience et leur bonne humeur, qui ont su faire régner dans le laboratoire une atmosphère studieuse et chaleureuse. Je remercie tous ceux qui ont aidé de loin ou de près dans la réalisation de ce mémoire. 2

Dédicace particulière Aux êtres les plus chers de l univers : A mes parents ; Qui n ont jamais cessé de m aimer, de veiller à mon bonheur et de m encourager pour accomplir mon devoir, qu ils trouvent aujourd hui dans ce travail le témoignage de mon profond attachement. A mes sœurs, mes frères et tous ceux qui me sont chers avec toute mon affection. A mes amis, Nesrine Djawida HAMDANI, merci de m avoir soutenu dans les moments difficiles. De m avoir beaucoup aidé, tu es un ange et je te souhaite beaucoup de réussite. Karima MENAD, tu as été une amie particulière pour moi. Je t en remercie. A tous ceux que j aime Je dédie ce mémoire 3

es tendances actuelles dans le domaine de la production industrielle indiquent que l un des rôles les plus importants du pilotage des systèmes de production consiste à réagir efficacement aux perturbations afin de maintenir les objectifs de performance assignés. Ces perturbations peuvent être internes survenant dans l atelier (pannes de ressources, absence de personnel, ) ou externes provenant de son environnement (retard d approvisionnement, arrivée imprévue d un ordre de fabrication, ). L'ordonnancement, considéré comme l'une des principales fonctions dans un système de pilotage, est un problème d optimisation d un certain objectif, tel que la durée totale de production, en allouant des ressources aux tâches. Lorsque l ordonnancement doit prendre en considération des événements imprévus pour proposer des solutions : c est un ordonnancement dynamique qui est constitué principalement de trois types : l ordonnancement proactif, l ordonnancement réactif et l ordonnancement hybride. Dans ce mémoire nous nous intéressons { l ordonnancement réactif qui n est basé sur aucun ordonnancement préventif, il s agit plutôt de faire des allocations des ressources aux tâches en temps-réel et au fur et à mesure. Lorsqu'une ressource se libère, une tâche parmi les tâches qui se trouvent dans sa file d'attente est choisie pour être exécutée, ce choix se fait selon des règles de priorité qui avoisine les 15 règles. Il s agit alors des approches souvent basée sur l intelligence artificielle pour développer une politique d action { chaque fois qu un problème d allocation se pose. Ce mémoire présente notre contribution qui concerne la modélisation booléenne du processus d ordonnancement réactif. Le but, après une modélisation booléenne, est double : d une part proposer une méthode cellulaire d extraction des règles de propriétés guidée par fouille de données, et, d autre part réduire la complexité de stockage, ainsi que le temps de calcul. Mots-clés : système de pilotage, système de production, ordonnancement réactif, apprentissage automatique, fouille de données machine cellulaire. 4

TABLES DES MATIERES Résumé.. 04 Introduction générale... 11 Chapitre I : introduction a l ordonnancement dans les systèmes de production... 17 1. Introduction... 18 2. Production et gestion de production... 19 2.1. Décomposition du système de production.. 19 2.2. Contexte productique de l Ordonnancement d atelier... 20 a. Le niveau stratégique... 20 b. Le niveau tactique. 20 c. Le niveau opérationnel.. 21 3. Présentation du problème d Ordonnancement... 22 3.1. Définition du problème d ordonnancement. 22 3.2. Éléments du problème d ordonnancement... 23 3.2.1. Les tâches 23 3.2.2. Les ressources. 25 a. Ressources renouvelables vs. Ressources consommables... 25 b. Ressources disjonctives vs. Ressources cumulatives... 25 3.2.3. Les contraintes.. 26 a. Les contraintes temporelles.. 26 b. Les contraintes de ressources.. 27 3.2.4. Les objectifs. 27 4. Modélisation et représentation des problèmes d ordonnancement.. 28 5. Classification des problèmes d ordonnancent... 29 5.1. Le type Job shop, Atelier à cheminement multiple. 30 5.2. Le type Flow shop, Atelier à cheminement unique.. 31 5

5.3. Le type Open shop, Atelier à cheminement libre... 31 6. Ordonnancement dans un atelier Job shop 32 6.1. Présentation du job shop.. 32 6.1.1. Les données 32 6.1.2 Les contraintes. 33 6.1.3. Les Objectifs. 33 6.2. Modélisation graphique du job shop.. 34 6.2.1. Modélisation par graphe disjonctif. 34 6.2.2. Représentation par le diagramme de Gantt 35 6.3. Complexité du job shop.. 36 7. Conclusion. 37 Chapitre II : Ordonnancement Réactif : Etat De l Art. 39 1. Introduction.. 40 2. Différentes Approches d Ordonnancement.. 41 2.1. Ordonnancement prévisionnel (hors ligne) 41 2.2. Ordonnancement dynamique (en ligne).. 41 2.2.1. Les Approches Proactives. 42 2.2.2. Les Approches Réactives.. 43 2.2.3. Les Approches hybrides. 44 a. Approches Proactives Réactives.. 44 b. Approches Prédictives- Réactives.. 44 3. Ordonnancement réactif. 45 3.1. Règles de priorité.. 45 3.2. Classification des Règles de Priorité. 47 3.2.1. Règles statiques / dynamiques 47 3.2.2. Règles locales / globales 48 3.2.3. Règles simples / complexes.. 48 4. État de l art... 49 4.1. Sélection des Règles de priorité par Simulation 49 6

4.2. Sélection des règles de priorités en utilisant une base de connaissances.. 50 4.3. Sélection des règles en utilisant des techniques distribuées 51 4.5. Synthèse 52 5. Conclusion 53 Chapitre III : Extraction des Règles de Priorité par Fouille de Données. 55 1. Introduction. 56 2. Travaux Connexes sur les Règles de Priorité et la Fouille de données 58 3. Fouille de données et extraction de règles. 59 3.1. Le Processus d apprentissage artificiel. 59 a. Phase de préparation de données... 60 b. Phase d induction du modèle et interprétation. 60 3.2. Exemple illustratif.. 61 3.3. Discussion.... 64 4. Conclusion... 64 Chapitre IV : Modélisation Booléenne 67 1. Introduction. 68 2. Modélisation Booléenne de l induction des règles de priorités. 68 2.1. La machine Cellulaire CASI. 69 2.2. Exemple d illustration de l induction des règles booléennes inductives.. 70 3. Description de notre approche.. 73 3.1. Modèle Test : atelier d application. 74 3.2. Transcription informatique du modèle par ARENA 10.1... 74 3.2.1. Modélisation de l entrée de l atelier.. 75 3.2.2. Modélisation d une ressource (machine).. 76 3.2.3. Modélisation de la sortie de l atelier. 77 3.3. Simulation du modèle. 77 7

3.3.1. Rappel sur la Simulation 77 3.3.2. Simulation des règles de priorités et construction de la population d apprentissage.... 78 3.3.3. Construction de l arbre de décision. 81 3.3.4. Expérimentation.. 82 3.3.5. Construction d un graphe d induction et génération des règles conjonctives. 84 3.4. Analyses et interprétation des résultats. 87 4. Conclusion. 87 Conclusion générale et Perspectives 90 Références bibliographique 92 8

Figure I.1 Organisation hiérarchique d'un système de gestion de production 21 Figure I.2 Caractéristiques d une tâche i. 24 Figure I.3 Atelier de type Job Shop 30 Figure I.4 Atelier de type Flow Shop. 31 Figure I.5 Le graphe disjonctif d un problème de Job Shop (3 3). 35 Figure I.6 Diagramme de Gantt (problème de job shop 6. 2. 1) 36 Figure II.1 Représentation graphique de la séquence calculée par la règle SPT 47 Figure II.2 Représentation graphique de la séquence calculée par la règle EDD. 47 Figure III.1 Processus d Extraction de Connaissances { partir de Données.. 56 Figure III.2 Processus général d apprentissage (adapté de [Sigurdur Olafsson, 2005]) 60 Figure III.3 Arbre de décision pour l ordonnancement illustré par le tableau 3.2 63 Figure IV.1 Intégration de la machine CASI dans le processus général d apprentissage de [Sigurdur, 2005].. 69 Figure IV.2 Base de Connaissances 71 Figure IV.3 Transcription informatique du modèle de l atelier par ARENA 10.1 75 Figure IV.4 Le bloc Create 75 Figure IV.5 Le bloc Assign.. 76 Figure IV.6 Le bloc Process 77 Figure IV.7 Le bloc Queue. 77 Figure IV.8 Scénario correspondant à la règle LIFO.. 79 Figure IV.9 Scénario correspondant { la règle FIFO 80 Figure IV.10 Arbre correspondant { l échantillon du tableau IV. 6 82 Figure IV.11 Construction de l arbre de décision par IGSS 85 Figure IV.12 Génération des règles conjonctives par IGSS.. 85 Figure IV.13 Génération d un autre ensemble règles conjonctives par IGSS.. 86 9

Tableau I.1 Quelques valeurs du champ α 1. 28 Tableau I.2 Quelques valeurs du champ β... 29 Tableau I.3 Quelques valeurs du champ γ. 29 Tableau II.1 Règles de priorité les plus utilisées. 46 Tableau II.2 Exemple (adapté d un exemple d Esquirol et lopez, 1999).. 46 Tableau III.1 Données des Jobs 61 Tableau III.2 Échantillon d Apprentissage. 61 Tableau IV.1 La Couche CELFACT.. 71 Tableau IV.2 La Couche CELRULE. 71 Tableau IV.3 Matrice d Entrée Re. 72 Tableau IV.4 Matrice de Sortie Rs 72 Tableau IV.5 Job shop de (3 2) 74 Tableau IV.6 Échantillon d apprentissage obtenu par simulation.... 81 Tableau IV.7 Échantillon d apprentissage codifié... 84 10

Introduction Générale ans le contexte industriel d'aujourd'hui, et dans le cadre d une compétition de plus en plus forte, l'entreprise doit faire preuve de vigilance pour assurer efficacement la commande et le pilotage de son système productif. Il est donc évident qu'elle ne peut se passer de moyens fiables pour ne pas s'écarter des objectifs qu'elle se fixe et des budgets qu'elle s'alloue. L ordonnancement occupe une place particulière et joue un rôle privilégié dans la gestion informatisée des flux de production au sein de l entreprise, s'inscrivant dans des niveaux de décision à la fois tactique et opérationnel [Esquirol & Lopez., 1999], [Giard, 1991]. C est généralement le point de rencontre entre un système hiérarchisé et informatisé de production et le système de production lui-même. La gestion de production crée les ordres de fabrication qui déterminent globalement ce que doit être fait dans un horizon de temps généralement imposé. Résoudre un problème d ordonnancement consiste { programmer dans le temps un ensemble de tâches, en respectant diverses contraintes (enchainement entre tâches, dates limites, ressources limitées), dans le but d optimiser un critère comme la durée totale, le nombre de tâches en retard, etc. Vu la diversité des systèmes, les problèmes étudiés en ordonnancement sont extrêmement divers. Théoriquement, la littérature a l habitude de distinguer : le Job Shop, le Flow Shop, l Open Shop, etc. En pratique, dans le contexte où se posent les problèmes d ordonnancement, les ateliers sont sujettes à des aléas internes (pannes de machines, rebuts, accidents) et externes (retards d approvisionnement, variation des prix, modification de plus en plus tardives et fréquentes des commandes des clients). 11

Introduction Générale Par conséquent, le caractère optimal d un ordonnancement calculé sur des données qui ne décrivent pas exactement la réalité peut être remis en question. Partant de ce constat, l entreprise doit réagir efficacement aux perturbations afin de maintenir les objectifs de performance assignés. Sachant que les perturbations sont des événements dont l'occurrence n'est pas planifiée, elles sont susceptibles de gêner le déroulement d'opérations de production et dans certains cas, de remettre en cause l'objectif même de production [Cauvin, 2005]. Ces perturbations peuvent être internes survenant dans l atelier (pannes, manque de ressources, absence de personnel, ) ou externes provenant de son environnement (retard d approvisionnement, arrivée imprévue d un ordre de fabrication, ). Il est donc, nécessaire de réagir sur le très court terme à ces imprévus. Pour pallier ce problème les chercheurs se sont alors orientés vers une classe particulière qui est l ordonnancement dynamique, qui prend en considération des événements incertains. Le principe d ordonnancement dynamique est de ne rien prévoir à l avance. Les décisions d allocation sont prises au fur et { mesure. L ordonnancement dynamique est constitué principalement de trois types: l ordonnancement proactif, l ordonnancement réactif et l ordonnancement hybride. Dans ce mémoire nous nous intéressons { la résolution d un problème d ordonnancement réactif dans un atelier job shop. Le problème de Job Shop est très représentatif du domaine général de production. Ce problème correspond, réellement, { la modélisation d une unité de production disposant de moyens polyvalents utilisés suivant des séquences différentes en fonction des produits [Duvivier, 2000]. Dans le modèle de job shop, chaque tâche doit passer sur l'ensemble des machines, pendant un temps connu à l'avance, et selon également un ordre donné. Le critère, que nous avons choisi pour évaluer la qualité d'une solution, est celui du makespan Cmax (la durée totale d'accomplissement des «tâches). 12

Introduction Générale Revenant sur l ordonnancement réactif qui n est basé sur aucun ordonnancement préventif, il s agit plutôt de faire des allocations des ressources aux tâches en temps-réel et au fur et à mesure. Lorsqu'une ressource se libère, une tâche parmi les tâches qui se trouvent dans sa file d'attente est choisie pour être exécutée, et ce choix se fait selon des règles de priorité qui avoisine les 15 règles. Il s agit alors d approches souvent basées sur l Intelligence Artificielle (IA) pour développer une politique d action { chaque fois qu un problème d allocation se pose. Selon la littérature, beaucoup de travaux se sont intéressés à l ordonnancement réactif en utilisant les règles de priorité : approche par simulation, approche basée sur des techniques distribuées et notamment des approches basées sur l apprentissage automatique. Nos recherches se sont orientées vers l apprentissage automatique. Ce dernier, qui est { l origine de nombreux algorithmes et méthodes utilisés [Dietterich, 1997], a suscité un engouement particulièrement développé au cours des dernières décennies. Ce domaine particulier de l IA consiste { reproduire la capacité de l homme { apprendre, c'est-àdire { se servir de l expérience passée, et { adapter son comportement afin d accomplir au mieux une tâche similaire dans l avenir. En effet, l extraction des règles de priorités par fouille de données a montré une grande performance. En connaissant les relations cachées dans l ensemble des attributs du système, l utilisateur peut concevoir des règles de priorités effectives [Sigurdur, 2005], [Sigurdur, 2010]. Cette classe de modèles utilise les situations passées pour aider la prise de décision actuelle. C est pourquoi nous avons choisi de nous y intéresser dans le cadre de ce mémoire. 13

Introduction Générale Le présent mémoire présente notre contribution qui concerne la modélisation booléenne du processus d ordonnancement réactif. Cette modélisation est basée sur la machine cellulaire CASI [Atmani & Beldjilali., 2007]. Le but, après une modélisation booléenne, est double: d une part proposer une méthode cellulaire d extraction des règles de priorité guidée par fouille de données, et, d autre part optimiser la gestion des règles, ainsi que le temps de réponse. Ce manuscrit est organisé, en quatre chapitres dont une brève description est donnée ci-dessous : Dans le premier chapitre, le contexte général de l ordonnancement et des problèmes d ordonnancement est décrit afin de replacer le sujet dans son cadre général. Le chapitre commence par une présentation des notions de base concernant la production et la gestion de production, en mettant l accent sur le rôle de l ordonnancement au sein de ces systèmes. La suite du chapitre est consacrée au cadrage de la problématique générale de l ordonnancement par présentation des points essentiels : définition, modélisation, classification, critères d optimisation et organisation des ateliers concernés. Le deuxième chapitre vise { circonscrire le problème d ordonnancement réactif, qui constitue l un des problèmes d ordonnancement les plus étudiés. Le chapitre commence par une présentation des différentes approches d ordonnancement; en exposant les approches proactives, réactives et les approches hybrides. Il présente ensuite, un état de l art sur les travaux réalisés pour sa résolution en s intéressant surtout aux Règles de priorité. Nous discutons par la suite ces travaux afin de justifier notre choix. Le troisième chapitre de ce mémoire décrit l approche proposé par [Sigurdur, 2005] où un formalisme du problème d extraction de règles de priorité par fouille de données est donné. Un tour d horizon des différentes travaux dans ce domaine est fait ensuite, où l'accent est mis sur un travail intéressent basé sur cette approche par lequel nous nous sommes inspirés pour notre contribution. 14

Introduction Générale Le chapitre quatre présente dans un premier temps la modélisation booléenne de la méthode de [Sigurdur, 2005] par la machine cellulaire CASI «Cellular Automata for Symbolic Induction» [Atmani & Beldjilali., 2007], en donnant un aperçu général sur cette machine, ainsi qu un exemple illustratif de l induction des règles booléennes inductives. Ceci nous a conduit dans un deuxième temps à proposer un modèle booléen pour l ordonnancement. Les différentes étapes de simulation, et les résultats expérimentaux obtenus sont décrits par la suite. Ce mémoire se termine par une conclusion et un ensemble de perspectives pour des futurs travaux. 15

1. Introduction... 18 2. Production et gestion de production... 19 2.1. Décomposition du système de production.. 19 2.2. Contexte productique de l Ordonnancement d atelier... 20 a. Le niveau stratégique... 20 b. Le niveau tactique 20 c. Le niveau opérationnel. 21 3. Présentation du problème d Ordonnancement... 22 3.1. Définition du problème d ordonnancement. 22 3.2. Éléments du problème d ordonnancement... 23 3.2.1. Les tâches. 23 3.2.2. Les ressources.. 25 a. Ressources renouvelables vs. Ressources consommables.. 25 b. Ressources disjonctives vs. Ressources cumulatives... 25 3.2.3. Les contraintes. 26 a. Les contraintes temporelles 26 b. Les contraintes de ressources. 27 3.2.4. Les objectifs 27 4. Modélisation et représentation des problèmes d ordonnancement. 28 5. Classification des problèmes d ordonnancent... 29 5.1. Le type Job shop, Atelier à cheminement multiple. 30 5.2. Le type Flow shop, Atelier à cheminement unique 31 5.3. Le type Open shop, Atelier à cheminement libre... 31 6. Ordonnancement dans un atelier Job shop 32 6.1. Présentation du job shop 32 6.1.1. Les données. 32 6.1.2 Les contraintes.. 33 6.1.3. Les Objectifs 33 6.2. Modélisation graphique du job shop.. 34 6.2.1. Modélisation par graphe disjonctif.. 34 6.2.2. Représentation par le diagramme de Gantt.. 35 6.3. Complexité du job shop. 36 7. Conclusion. 37

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production CHAPITRE I : INTRODUCTION A L ORDONNANCEMENT DANS LES SYSTEMES DE PRODUCTION Objectif de ce chapitre introductif aux problèmes d ordonnancement est de faire un cadrage de notre thème. Nous présentons alors, au travers ce chapitre les points essentiels concernant les problèmes d ordonnancement d une façon générale : la place de l ordonnancement en gestion de production, définition et modélisation du problème d ordonnancement, les critères d optimisation, un formalisme de classification de ces problèmes, les modèles d organisations importants (Flow Shop, Job Shop, Open Shop, ), et finalement l ordonnancement dans un atelier job shop. 17

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production 1. Introduction : Dans le monde actuel et dans le cadre d une compétition internationale de plus en plus forte entre les entreprises, la réduction des coûts est un objectif crucial. Celle-ci peut être obtenue par une meilleure utilisation des ressources. En particulier, la productivité peut être fortement affectée par l ordonnancement des opérations sur les machines. L ordonnancement occupe une place particulière et joue un rôle privilégié dans la gestion informatisée des flux de production au sein de l entreprise, s'inscrivant dans des niveaux de décision à la fois tactique et opérationnel [Esquirol & Lopez., 1999], [Giard, 1991]. C est généralement le point de rencontre entre un système hiérarchisé et informatisé de production et le système de production lui-même. La gestion de production crée les ordres de fabrication qui déterminent globalement ce que doit être fait dans un horizon de temps généralement imposé. Dans ce chapitre introductif, nous nous intéressons aux problèmes d ordonnancement dans les ateliers de production d une manière générale afin de situer la problématique de notre travail. Il s agit de présenter les concepts et les bases fondamentales du problème d ordonnancement, ainsi que les notions et les notations nécessaires à la compréhension de ce mémoire. Dans un premier temps, il est nécessaire de replacer l ordonnancement dans le cadre général des systèmes de production. Nous rappelons alors, dans la deuxième section, des notions de base concernant la production et la gestion de production, en mettant l accent sur le rôle de l ordonnancement au sein de ces systèmes. La troisième section vise { présenter le problème de l ordonnancement en précisant sa définition et les différents éléments qui le déterminent. La quatrième section du chapitre présente les techniques de modélisation des problèmes d ordonnancement. La cinquième section est consacrée { la description des différentes organisations d ateliers qui déterminent des problèmes d ordonnancement spécifiques. Le formalisme d ordonnancement dans un atelier job shop est évoqué dans la dernière section. 18

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production 2. Production et gestion de production : La production est le processus conduisant à la création de biens ou de services par l utilisation et la transformation de ressources (machines et matières) [Giard, 1988]. Le processus de production est alors, constitué d un ensemble d opérations qui sont les activités conduisant à la création des produits [Javel, 2004]. Le système de production, est l ensemble de ressources réalisant une activité de production. C est un ensemble de moyens divers : humains, matériels, informationnels et d autres, constituant un tout, dont l objectif est la réalisation de biens ou de services [Fon, 99]. Les systèmes de production industrielle se sont considérablement diversifiés et compliqués [Blondel, 2004] [Vacher, 2000]. En effet, ils peuvent se décomposer en plusieurs sous-systèmes, qui s intègrent en vue d assurer la pérennité et la compétitivité de l entreprise. 2.1. Décomposition du système de production : Un système de production peut se décomposer en trois sous-systèmes : le système physique de production, le système d'information et le système de décision [Doumeingts, 1984], [Roboam, 1988], [Letouzey, 2001], [Javel, 2004]. Cette décomposition est structurée en fonction de la nature des flux régulés qui parcourent le système de production. Tout d abord le flux physique ou de matière qui transforme la matière première et les composants en produits finis, puis le flux d information ou de suivi qui permet la circulation des informations nécessaires au contrôle et à la prise de décision. Enfin, le flux de décision ou ordre qui contrôle et pilote le système physique. Le système physique de production : Transforme les matières premières en produits finis. Il est constitué de ressources humaines et physiques; Le système de décision : Contrôle le système physique de production. Il en coordonne et organise les activités en prenant des décisions basées sur les données transmises par le système d information ; 19

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production Le système d information : Intervient { plusieurs niveaux : { l interface entre les systèmes de décision et de production ; { l intérieur du système de décision, pour la gestion des informations utilisées lors de prises de décisions ; et { l intérieur du système physique de production. Son rôle est de collecter, stocker et transmettre des informations de différents types [Fontanili, 1999]. 2.2. Contexte productique de l ordonnancement d atelier : L ordonnancement d atelier se fait dans un contexte particulier. Ce contexte est défini par la gestion de la production utilisée par l entreprise. La gestion de production est «un ensemble de processus qui permet de mener à bien la fabrication de produits à partir d un ensemble de données et de prévisions» [Vacher, 2000]. En fait, la gestion de production s occupe d un ensemble de problèmes liés { la production tels que la gestion des données, la planification, le contrôle (suivi) de la production, la gestion des stocks, la prévision, l ordonnancement etc. En général, les niveaux hiérarchiques de la gestion de production couramment retenus sont en nombre de trois : stratégique, tactique et opérationnel [Giard, 1988] [Vacher, 2000] [Fontanili, 1999] [Letouzey, 2001] : a. Le niveau stratégique : Il s agit de la formulation de la politique et la stratégie de l entreprise à long terme, qui porte essentiellement sur la gestion des ressources durables, afin que celles-ci soient en mesure d assurer la pérennité de l entreprise sur plusieurs années ; b. Le niveau tactique : Il s agit de décisions à moyen terme qui s effectuent sur plusieurs mois. Elles assurent la liaison entre le niveau stratégique et le niveau opérationnel. L objectif est de produire au moindre coût pour satisfaire la demande prévisible, en s inscrivant dans le cadre fixé par le plan stratégique de l entreprise ; 20

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production c. Le niveau opérationnel : C est le niveau d exécution du système qui sert { une gestion quotidienne pour faire face à la demande du jour le jour, dans le respect des décisions tactiques. Il génère des décisions à court et à très court terme qui déterminent l ordonnancement et le pilotage. Le schéma de la Figure I.1 présente l interaction qui existe entre les activités du système de gestion et les niveaux de planification de ces activités. Prévision de la demande Plan industriel Programme Directeur de Production Niveau stratégique Long Temps Planification détaillée de la capacité Plan directeur de production Planification Charge/Capacité Niveau Tactique Moyen Temps Approvisionnement Ordonnancement Prévisionnel Niveau Opérationnel Court Temps Décision Ordonnancement temps réel Remise en cause des décisions Information Pilotage Temps Réel Très court terme Figure I. 1. Organisation hiérarchique d'un système de gestion de production. Dans ce schéma pratique et classique, il est impossible de résoudre le problème d ordonnancement globalement (au niveau supérieur), donc la place de l ordonnancement varie entre le niveau tactique et le niveau opérationnel [Jeffrey & al., 2006] [Esquirol & Lopez., 1999]. 21

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production Nous situons nos travaux au niveau opérationnel (Figure. I.1 Très Court terme) pour générer un ordonnancement réactif. Cet ordonnancement est de nature dynamique, vu qu il prend en considération les aléas qui risquent de se produire, lors de son exécution en atelier. L ordonnancement réactif sera présenté avec plus de détails dans le deuxième chapitre de ce mémoire. En effet, le but schématique de la gestion de production est de répondre aux questions suivantes : que produire? Quand? Comment? Par qui? À quel coût? Les deux questions qui nous intéresseront plus particulièrement dans ce mémoire sont «quand?» et par «qui?» Et leur réponse est généralement donnée par la définition de l ordonnancement. 3. Présentation du problème d Ordonnancement : Dans le contexte actuel, l ordonnancement est l une des plus importantes fonctions de pilotage de production qui vise { améliorer l efficacité de l entreprise en termes de coût de production et de délai de livraison. C'est pour cette raison qu'il a fait et continuent de faire l'objet de nombreux travaux de recherche [Chrétienne, 1997]. 3.1. Définition du problème d ordonnancement : Les définitions proposées au problème d ordonnancement sont nombreuses. Dans ces définitions, on retrouve l aspect commun de l affectation de ressources aux tâches, en recherchant une certaine optimisation. Nous avons choisi de retenir de la littérature les deux définitions suivantes : Définition 1 : Étant donné un ensemble de tâches à accomplir, le problème d ordonnancement consiste à déterminer quelles opérations doivent être exécutées, et à assigner des dates et des ressources à ces opérations de façon à ce que les tâches soient, dans la mesure du possible, accomplies en temps utile, au moindre coût et dans les meilleures conditions [Vacher, 2000]. Définition 2 : Résoudre un problème d'ordonnancement consiste à ordonnancer i.e. à programmer ou à planifier, dans le temps l'exécution des tâches en leur attribuant les 22

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production ressources matérielles ou humaines nécessaires de manière à satisfaire un ou plusieurs critères préalablement définis, tout en respectant les contraintes de réalisation [Lopez & Roubellat., 2001]. L ordonnancement fournit donc un calendrier précis des tâches { réaliser. Il se décompose en trois étapes fondamentales [Tangour, 2007]: L'affectation qui consiste à allouer les ressources nécessaires à une tâche ; Le séquencement qui précise l'ordre de passage des tâches sur chaque ressource ; L affectation d une date de début et une date de fin pour chaque tâche. al., 2006] : D une façon générale, il y a problème d ordonnancement quand il existe [Jeffrey & Un ensemble de tâches (jobs ou lots) à réaliser ; Un ensemble de ressources à utiliser par ces tâches ; Un programme (calendrier) à déterminer, pour allouer convenablement les ressources aux tâches. 3.2. Éléments du problème d ordonnancement : Dans la définition du problème d ordonnancement, quatre éléments fondamentaux interviennent : les tâches, les ressources, les contraintes et les objectifs. Dans ce qui suit nous définissons ces quatre éléments dits «de base» [Hentous, 1999] et nous introduisons également le formalisme dont nous nous servirons dans la suite du mémoire. 3.2.1. Les tâches : «Une tâche est le processus le plus élémentaire. Elle est constituée d un ensemble d actions { accomplir, dans des conditions fixées, pour obtenir un résultat attendu et identifié, en termes de performances, de coûts et de délais» [Norme AFNOR NF X50-310]. 23

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production D une façon plus schématique : une tâche qu on note est une entité élémentaire de travail localisée dans le temps par une date de début et de fin, dont la réalisation nécessite une durée telle que, et qui utilise des ressources avec une intensité [Esquirol & Lopez., 1999]. Selon [T kindit & Billaut., 2006], trois paramètres caractérisent une tâche : La durée opératoire ou durée d exécution (processing time) de la tâche. La date de disponibilité ou date de début au plus tôt (release time). La date d échéance ou date de fin au plus tard (due date). En ordonnancement d atelier, nous remarquons que certains auteurs utilisent le terme de "tâche" pour indiquer une opération, et le terme de "travail" ou "job" pour l ensemble des opérations constituant le même travail. Dans ce mémoire, nous adoptons la terminologie courante, par l utilisation des termes job et opération, où un job est constitué d un ensemble d opérations liées entre elles par des contraintes technologiques. t i : début d exécution c i : début d exécution p i : durée opératoire r i : date de disponibilité d i : date de d échéance Figure I. 2. Caractéristiques d une tâche i. 24

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production 3.2.2. Les ressources : Une ressource est un moyen technique ou humain destiné à être utilisé pour la réalisation d une tâche, et disponible en quantités limitées, et sa capacité supposée constante [Esquirol & Lopez., 1999]. Dans le contexte industriel, les ressources peuvent être des machines, des ouvriers, des équipements, des locaux ou encore de l énergie, des budgets, etc. Dans un atelier, plusieurs types de ressources sont distinguées [Tangour, 2007] : a. Ressources renouvelables vs. Ressources consommables : Une ressource est dite renouvelable, si après avoir été allouée par une ou plusieurs tâches, elle est à nouveau disponible en même quantité comme : les hommes, les machines, l espace, l équipement en général, etc. La quantité de ressources utilisable à chaque instant est limitée [Esquirol & Lopez., 1999]. Par contre, une ressource est consommable, lorsqu elle est épuisée et devient non disponible après avoir été utilisée ; comme la matière première, budget, l énergie, etc. [Esquirol & Lopez., 1999]. La consommation globale (ou cumul) au cours du temps est limitée. Le terme machine est généralement utilisé à la place du terme ressource dans l ordonnancement d atelier. Dans notre problème, les ressources qui sont des machines, sont renouvelables et disjonctives. b. Ressources disjonctives vs. Ressources cumulatives : Une ressource est dite disjonctive (ou non partageable), si elle ne peut être affecté qu { une seule tâche { la fois (machine-outil, robot manipulateur). Ce type concerne surtout les ressources renouvelables. Dans le cas contraire, une ressource cumulative (partageable) peut être partagée et utilisée par plusieurs tâches simultanément (équipe d ouvriers, poste de travail, ) [Esquirol & Lopez., 1999]. La séquence sur une machine, détermine sur un horizon temporel la suite des tâches à être exécutées sur cette ressource. 25

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production 3.2.3. Les contraintes : Les contraintes expriment des restrictions sur les valeurs que peuvent prendre conjointement une ou plusieurs variables de décision [Esquirol & Lopez., 1999]. Donc les contraintes représentent les conditions imposées par l environnement dans la construction de l ordonnancement pour qu il soit réalisable, tandis que l objectif est le critère d optimisation. Ils existent notamment deux classifications possibles des contraintes. La première est classique, elle comporte les contraintes temporelles et celles liées à la disponibilité des ressources [Esquirol & Lopez., 1999]. La deuxième présentée par Kacem [Kacem, 2003] distingue les contraintes endogènes qui sont directement liées au système de production et à ses performances (par exemple : les capacités des machines et des moyens de transports, les dates de disponibilité des machines et des moyens de transport, etc.), des contraintes exogènes imposées extérieurement et indépendantes du système (par exemple celles relatives aux dates dues pour chaque produit imposées généralement par les commandes, aux priorités de quelques commandes et quelques clients, etc.). Nous adoptons la première classification pour décrire les différents types de contraintes qu un problème d ordonnancement peut avoir. a. Les contraintes temporelles : Les contraintes temporelles représentent des restrictions sur les valeurs que peuvent prendre certaines variables temporelles d'ordonnancement. Elles se répartissent en deux ensembles : Les contraintes de temps alloué, issues généralement d impératifs de gestion et relatives aux dates limites des tâches (délais de livraison, disponibilité des approvisionnements) ou { la durée totale d un projet ; Les contraintes d antériorité et plus généralement les contraintes de cohérence technologique (contraintes de gammes), qui décrivent le positionnement relatif de certaines tâches par rapport { d autres. 26

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production b. Les contraintes de ressources : Une contrainte de ressources représente le fait que les ressources sont disponibles en quantité limitée (contraintes d utilisation de machine, d équipe d ouvriers, etc.) [Esquirol & Lopez., 1999]. On distingue deux types de contraintes de ressources, celles liées à la nature disjonctive qui induit une contrainte de réalisation de tâches sur des intervalles temporels disjoints pour une même ressource, et celles liées à la nature cumulative qui implique généralement la limitation du nombre des tâches à réaliser en parallèle (voir section 3. 2. 2). 3.2.4. Les objectifs : En règle générale, un problème d ordonnancement est constitué d un ou plusieurs objectifs variés. Ces objectifs peuvent correspondre à des exigences quantitatives (valeurs { atteindre ou { ne pas dépasser), ou bien { des exigences qualitatives s exprimant sous forme de critères à optimiser [Akrout & Masmoudi., 2009]. Le but est alors de trouver l ordonnancement réalisable de meilleure qualité possible, c est-à-dire minimisant ou maximisant l objectif. On distingue plusieurs classes d'objectifs concernant un ordonnancement [Esquirol & Lopez., 1999] : Les objectifs liés au temps [Latouzey, 2001]: On trouve par exemple la minimisation du temps total d'exécution, du temps moyen d'achèvement, des durées totales de réglage ou des retards par rapport aux dates de livraison. La minimisation de la durée totale d exécution (Makespan : ) est le critère le plus souvent rencontré puisque ça conduit inévitablement à une utilisation efficace des ressources. Les objectifs liés aux ressources : Les objectifs de ce type correspondent à la Maximisation de la charge d'une ressource ou la minimisation du nombre de ressources nécessaires pour réaliser un ensemble de tâches. Les objectifs liés au coût : Ces objectifs sont généralement de minimiser les coûts de lancement, d encours, de production, de stockage, de transport, etc. 27

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production 4. Modélisation et représentation des problèmes d ordonnancement : En général, dans la résolution d un problème d ordonnancement, la modélisation est une étape très importante. C est une écriture simplifiée de toutes les données du problème permettant d en traduire tous les détails pour mieux représenter la réalité des choses. Cette modélisation passe par la spécification des tâches et leurs caractéristiques, des ressources et des critères à optimiser. Toutes ces données peuvent être représentées par la notation proposée dans [Graham & al., 1979] [Harrat, 2003] puis reprise dans [Blazewicz & al., 1996]. Cette notation qui s est rapidement imposée comme faisant référence consiste à représenter et à caractériser le problème sous forme de trois champs α / β / γ d une manière simple et précise. Le champ α décrit la structure du problème. Il se décompose généralement en deux champs α 1 et α 2. Le premier indiquant la nature du problème et le type d atelier (job shop, Flow shop, etc.), et le second précisant le nombre de machines disponibles. Le champ β décrit les types de contraintes prises en compte et les différentes hypothèses sur le mode d exécution des tâches (préemption, précédence, etc.), Enfin, le champ γ est dédié au(x) critère(s) à optimiser (la fonction objectif considérée). À titre indicatif, quelques valeurs classiques de α 1, β et γ sont décrites dans les tableaux suivants : Valeur Ф P Q R F J O FH JG OG Description machine unique machines parallèles identiques machines parallèles proportionnelles machines parallèles non reliées Flow shop Job shop Open shop Flow shop hybride Job shop généralisé Open shop généralisé Tableau I. 1. Quelques valeurs du champ α 1. 28

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production Valeur prec r i d i p i = 1 pmtn no- wait Description Il existe des contraintes de précédence générale entre les opérations une date de début au plus tôt r i est associée à chaque opération i une date d échéance préférentielle d i est associée à chaque opération i les durées opératoires sont unitaires la préemption des opérations est autorisée les opérations de chaque job doivent se succéder sans attente Tableau I. 2. Quelques valeurs du champ β. Valeur C max L max T max U i [w i ]C i [w i ]U i [w i ]T i Description la durée totale (makespan) le plus grand retard algébrique le plus grand retard vrai le nombre des jobs en retard la durée moyenne ou pondérée des jobs le nombre moyen ou pondéré des jobs en retard le retard moyen ou pondéré Tableau I. 3. Quelques valeurs du champ γ. Exemple : J, 10, J, 10, 6 Prec, ri C max Il s agit d un problème d ordonnancement d un atelier de type job-shop J, de dix jobs à six machines. Le deuxième champ montre que les jobs présentent une contrainte de précédence, Prec, et une contrainte r i de dates de début au plus tôt. En plus la préemption et interdite (n est pas mentionnée dans le champ pmtn). Le dernier champ indique que l objectif est de minimiser le makespan C max. 5. Classification des problèmes d ordonnancement : Dans le domaine de l'ordonnancement d'atelier, la notion structurante de gamme opératoire est souvent utilisée comme critère de classification. Rappelons que la gamme opératoire d'un produit est une liste d'opérations (tâches) qui doivent être effectuées pour réaliser ce produit. Elle impose un ordre de passage des produits sur les machines, et donc un ordre des opérations associées à chaque travail. En outre, cette gamme fournit des renseignements pratiques sur les ressources à utiliser, les temps opératoires, bref sur 29

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production les conditions de fabrication. En général elle induit des relations de précédence entre les opérations. En effet, les problèmes d ordonnancements d ateliers sont classés suivant le parcours des produits sur les différentes machines, c'est-à-dire suivant les caractéristiques des contraintes de précédences entre opérations. On distingue trois grandes classes d ateliers, qui ont une importance particulière, et qui sont les plus répondues dans le domaine de la production industrielle: le Job Shop, le Flow Shop et l Open Shop. 5.1. Le type Job shop, Atelier à cheminement multiple : Dans un atelier de type «job-shop» (Figure I.3), chaque job est constitué d un ensemble d opérations qui n est pas forcément le même. Chaque job emprunte un "chemin" qui lui est propre, c'est-à-dire chaque job a son propre ordre de passage sur les machines (contraintes de précédences propres à chaque job) [Tangour, 2007], [Saad, 2007]. Le job shop est notre cas d étude, nous allons détailler dans la section suivante de ce chapitre, son formalisme mathématique, sa complexité, ainsi que les différentes techniques de modélisation. Produit 1 Machine 1 Machine 2 Machine 3 Figure I. 3. Atelier de type Job Shop. Le type job-shop flexible : Le job-shop flexible est une extension du modèle job-shop classique. Sa particularité essentielle réside dans le fait que chaque opération peut être exécutée sur plusieurs machines. Il s'ensuit qu'il offre plus de flexibilité par rapport au job-shop classique grâce à la polyvalence des machines. Toutefois, cela induit une complexité supplémentaire due à 30

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production la nécessité de la détermination des affectations adéquates avant d'établir l'ordre de passage des différentes opérations sur les machines. 5.2. Le type Flow shop, Atelier à cheminement unique : Les ateliers de type «flow-shop» (Figure I. 4) pour lequel la ligne de fabrication est dédiée à la production de masse de peu de variété de produit, sont caractérisés par le fait que toutes les opérations de toutes les tâches passent par toutes les machines dans le même ordre (contraintes de précédences identiques pour tout travail) [Tangour, 2007], [Saad, 2007]. C'est-à-dire une machine peut exister en plusieurs exemplaires identiques et parallèles. Opération 1 Machine 1 Opération 2 Machine 2 Opération m Machine m Figure I. 4. Atelier de type Flow Shop. Le terme Flow Shop hybride est utilisé pour désigner des variantes de ce problème. C est le cas rencontré dans plusieurs situations : Pour au moins un des postes de travail on dispose de plus d un exemplaire de machine pour effectuer le même travail ou lorsque certaines machines sont capables de réaliser simultanément plusieurs travaux ou encore lorsque les temps de rejet sont pris en compte [Duvivier, 2000]. 5.3. Le type Open shop, Atelier à cheminement libre : Dans les ateliers de type Open Shop, les contraintes de précédence sont relâchées [Duvivier, 2000]. Autrement dit, l acheminement de toutes les opérations est multiple et libre. Ces opérations peuvent être exécutées dans n importe quel ordre (les gammes sont libres). Ce cas se présente lorsque chaque produit à fabriquer doit subir une séquence d opérations, mais dans un ordre totalement libre. Ce modèle d'atelier est moins 31

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production contraint que le Flow- shop et le job-shop [Tangour, 2007], [Saad, 2007], [Benbouzid, 2005], [Latouzey, 2001]. 6. Ordonnancement dans un atelier Job shop : Le problème de Job Shop constitue l un des problèmes d ordonnancement d atelier les plus étudiés. Les variations autour du problème de Job Shop sont nombreuses et il n est pas possible de trouver dans la littérature une formulation unique de celui-ci. Nous donnons ici la formulation la plus générale possible du problème de Job Shop simple, tout en précisant ensuite les restrictions qui caractérisent le cas du Job Shop traité dans ce mémoire. Le problème d ordonnancement de Job Shop consiste { réaliser un ensemble de n job sur un ensemble de m ressources (machines) en cherchant d atteindre certains objectifs. Chaque job J i est composé d une suite de n i opérations devant être exécutées sur les différentes ressources selon un ordre préalablement défini. Par ailleurs, un ensemble de contraintes concernant les ressources et les tâches doivent être respectées. Donc, la détermination du problème de Job Shop m n, constitué de n Job et m machines, se fait en définissant les données, les contraintes et les objectifs du problème. 6.1. Présentation du job shop : 6.1.1. Les données : les données du problème sont [French, 1982] [Vacher, 2000] : Un ensemble M de m machines : Une machine est notée M k avec k= 1,.., m. Chaque machine ne peut effectuer qu un seul type d opérations. Le nombre total d opérations exécutées par cette machine est noté m k. Un ensemble J de n Job (tâches) : Un Job est noté J i avec i = 1,, n. Chaque job est composé d une gamme opératoire, i.e. une séquence linéaire fixée de n i opérations. Cette séquence ne dépend que du job, et peut varier d un job { l autre. L opération O i,j est la Jéme opération dans la gamme opératoire de J i. Elle nécessite l utilisation de la machine M k. Le fait que la machine demandée par l'opération O i,j 32

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production soit M k s écrit : R(O i,j ) = M k. La durée de O i;j sur M k, appelée temps opératoire, est notée p i,j. 6.1.2. Les contraintes : Cet atelier, introduit précédemment, est soumis à des contraintes qui touchent à la fois les possibilités d utilisation des machines et les liens qui peuvent exister entre les opérations. En outre, les contraintes diffèrent d une formulation { l autre (selon le type du Job Shop). Mais, nous ne retiendrons ici que le cas du Job Shop simple, dont les contraintes sont les suivantes : Les machines sont indépendantes les unes des autres (pas d utilisation d outil commun, par exemple). Chaque machine est disponible pendant toute la période de l'ordonnancement. Une machine ne peut exécuter qu une seule opération à un instant donné. Les jobs sont indépendants les uns des autres. En particulier, il n existe aucun ordre de priorité attaché aux jobs. Une opération ne peut être en état d exécution que sur une seule machine { la fois. Deux opérations du même job ne peuvent être exécutées simultanément. Une opération en cours d exécution ne peut pas être interrompue (pas de préemption). Les opérations sont autorisées d attendre les ressources autant qu il faut. Il n y a pas de dates d échéance. Seulement le temps d exécution proprement dit, est pris en compte. Les temps de transport d une machine { l autre, de préparation, etc. ne sont pas considérés. 6.1.3. Les objectifs : L objectif du problème d ordonnancement est de fixer les dates de début des opérations. Pour cela, il faut déterminer l ordre de passage de l ensemble des opérations sur chaque machine, en respectant les contraintes du problème. Le but est de minimiser ou de maximiser une fonction objectif, pour trouver la ou les meilleure (s) solution (s). 33

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production Cette fonction objectif s appelle aussi dans ce contexte : critère de performance, critère d évaluation ou encore objectif de l ordonnancement [Duvivier & al., 1998]. Nous avons déjà vu à la section 4 (Tableau 1. 3) de ce chapitre, un nombre important de critères de performance concernant l ordonnancement des ateliers en général, et qui s appliquent, pour la plupart, au cas de Job Shop. Dans notre cas, et pour tous les problèmes traités, nous prendrons comme objectif, la durée totale de l ordonnancement Cmax, puisque d un côté, c est un critère simple et est le plus utilisé dans la littérature ; et d un autre côté, notre travail n exige pas des critères trop compliqués, un critère simple suffit à la réalisation de l étude. 6.2. Modélisation graphique du job shop : Traiter un problème d une telle complexité que celle du Job Shop nécessite une modélisation explicite et précise. Il existe plusieurs manières de modéliser ce problème, et qui conduisent à choisir un mode de représentation adéquat. La modélisation par graphe disjonctif est la plus classique et la plus répandue. Ils existent d autres modélisations en programmation mathématique qui sont les plus anciennes. 6.2.1. Modélisation par graphe disjonctif : La modélisation sous forme d un graphe disjonctif est la plus employée pour représenter les problèmes d'ordonnancement et en particulier le problème du job-shop. Un problème de Job Shop peut alors se modéliser par un graphe disjonctif G (X, C D) où : X : est l ensemble des sommets : chaque opération correspond { un sommet, avec deux opérations fictives S (source) et P (puits) désignant le début et la fin de l ordonnancement. C : est l ensemble des arcs conjonctifs représentant les contraintes d enchaînement des opérations d un même job (gammes opératoires). D : l ensemble des arcs disjonctifs associés aux conflits d utilisation d une machine. 34

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production La Figure I.5 correspond au graphe disjonctif d un atelier composé de trois jobs et trois machines, tels que : - X= { O1,1, O1,2, O1,3, O2,1, O2,2, O2,3, O3,1, O3,2, O3,3} - Le sommet S (début) précède tous les sommets du graphe G et P (fin) succède à tous, et tous les sommets correspondant à des opérations sont pondérés par leur temps opératoire. Rappelons que les arcs conjonctifs représentent les contraintes de précédence entre les opérations d'un même job (par exemple : O1,1, O1,2 et O1,3). De plus, la clique cyclique entre les sommet O1,1, O2,1 et O3,1signifie un conflit d utilisation d une même ressource. P 1.1 =4 P 1.2 =3 P 1.3 =3 O 1.1 O 1.2 O 1.3 P 2.1 =1 P 2.3 =5 P 2.2 =3 S O 2.1 O 2.3 O 2.2 P P 3.2 =1 P 3.1 =5 O 3.2 O 3.1 O 3.3 P 2.3 =3 Figure I. 5.Le graphe disjonctif d un problème de Job Shop (3 3). 6.2.2. Représentation par le diagramme de Gantt : Une autre technique de représentation de l ordonnancement est le diagramme de Gantt. Celui-ci représente une opération par un segment ou une barre horizontale, dont la longueur est proportionnelle à sa durée opératoire. Sur ce diagramme et sur une échelle temporelle sont indiqués : l occupation des machines par les différentes opérations, les temps morts et les éventuelles indisponibilités des machines dues aux changements entre produits [Jeffrey & al., 2006]. 35

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production Deux types de diagramme de Gantt sont utilisés : Gantt ressources et Gantt tâches (voir la Figure I.6) [Esquirol & Lopez., 1999] : M 1 M 2 M 3 J 1 J 2 J 3 J 1 M 1 J 2 J 3 M 2 M 3 1 2 3 4 5 6 7 8 9 10 11 12 (A) Gantt tâches (B) Gantt ressources Figure I. 6.Diagramme de Gantt (problème de job shop 6. 2. 1). Le diagramme de Gantt ressources, est composé d une ligne horizontale pour chaque ressource (machine). Sur cette ligne, sont visualisées les périodes d exécution des différentes opérations en séquence et les périodes de l inactivité de la ressource. Le diagramme de Gantt tâche, permet de visualiser les séquences des opérations des jobs, en représentant chaque job par une ligne sur laquelle sont visibles, les périodes d exécution des opérations et les périodes où le job est en attente des ressources. 6.3. Complexité du job shop : La théorie de complexité permet de classer les problèmes en deux classes P et NP. La classe P regroupe les problèmes résolubles par des algorithmes polynomiaux. Un algorithme est dit polynomial, lorsque son temps d exécution est borné par O (p(x)) où p est un polynôme et x est la longueur d entrée d une instance du problème [French, 1982]. Les algorithmes dont la complexité ne peut pas être bornée polynomiale- ment sont qualifiés d exponentiels et correspondent { la classe NP (Non -déterministe Polynomial) [French, 1982]. Les problèmes NP-complets ou NP-difficiles, représentent une large classe parmi la classe NP. Le problème de job shop appartient à cette classe. Pour un temps de calcul donné, il est possible de résoudre optimalement des problèmes de petite taille, 36

Chapitre I Introduction { l Ordonnancement Dans Les Systèmes De Production alors qu'il devient difficile de trouver une bonne solution admissible pour un grand problème. 7. Conclusion : Dans ce chapitre nous avons abordé l aspect commun des problèmes d ordonnancement en production, en exposant notamment les notions de base concernant ces problèmes. D abord, le cadre général de l ordonnancement comme fonction originale du système de gestion de production a été évoqué, en présentant succinctement les systèmes de production, la gestion de production et le rôle de l ordonnancement au sein de ces systèmes. Nous nous sommes intéressés ensuite à la caractérisation du problème d ordonnancement d atelier en présentant sa définition, et en précisant notamment les différents éléments qui le déterminent : les tâches, les ressources, les contraintes et les critères d optimisation ; ainsi que les approches de classification qui s appuient sur un ensemble de paramètres portant sur différentes caractéristiques du problème dont l organisation d ateliers (Job Shop, Flow Shop, Open Shop). Et enfin, nous avons notamment présenté en détail l ordonnancement dans les ateliers job shop. Comme nous l avons vu, l ordonnancement est décrit comme un problème aux données statiques, c'est-à-dire que toutes les données (nombre des jobs, durées opératoires, validité des contraintes, disponibilité des ressources, les objectifs à optimiser) sont supposées fixées et connues avec exactitude. En pratique, le contexte où se posent les problèmes d ordonnancement d ateliers ne vérifie pas ces hypothèses de travail, les ateliers sont sujettes à des aléas internes (pannes de machines, rebuts, accidents) et externes (retards d approvisionnement, variation des prix, modification de plus en plus tardives et fréquentes des commandes des clients). Par conséquent, le caractère optimal d un ordonnancement calculé sur des données qui ne décrivent pas exactement la réalité peut être remis en question. Il est donc, nécessaire de réagir sur le très court terme à ces imprévus. Pour pallier ce problème les chercheurs se sont alors orientés vers une classe particulière qui est l ordonnancement réactif, objet du chapitre suivant. 37

1. Introduction. 40 2. Différentes Approches d Ordonnancement 41 2.1. Ordonnancement prévisionnel (hors ligne). 41 2.2. Ordonnancement dynamique (en ligne). 41 2.2.1. Les Approches Proactives. 42 2.2.2. Les Approches Réactives. 43 2.2.3. Les Approches hybrides 44 a. Approches Proactives Réactives. 44 b. Approches Prédictives- Réactives.. 44 3. Ordonnancement réactif. 45 3.1. Règles de priorité.. 45 3.2. Classification des Règles de Priorité. 47 3.2.1. Règles statiques / dynamiques.. 47 3.2.2. Règles locales / globales 48 3.2.3. Règles simples / complexes.... 48 4. État de l art... 49 4.1. Sélection des Règles de priorité par Simulation.. 49 4.2. Sélection des règles de priorités en utilisant une base de connaissances.. 50 4.3. Sélection des règles en utilisant des techniques distribuées 51 4.5. Synthèse 52 5. Conclusion. 53

Chapitre II Ordonnancement Réactif : État De l Art CHAPITRE II : ORDONNANCEMENT REACTIF : ETAT DE L ART ous présentons dans ce chapitre les travaux réalisés dans le domaine d ordonnancement réactif. L ordonnancement réactif n est basé sur aucun ordonnancement préventif. Il s agit plutôt de faire des allocations des ressources aux tâches en temps-réel et au fur et à mesure. Lorsqu'une ressource se libère, une tâche parmi les tâches qui se trouvent dans sa file d'attente est choisie pour être exécutée, et ce choix se fait selon des règles de priorité qui avoisine les 15 règles. Il s agit alors des approches souvent basée sur l intelligence artificielle pour développer une politique d action à chaque fois qu un problème d allocation se pose. 39

Chapitre II Ordonnancement Réactif : État De l Art 1. Introduction : Dans le chapitre précédent, l ordonnancement est décrit comme un problème aux données statiques et exactes. En pratique, l environnement des ateliers dans lequel s'applique un ordonnancement réside dans son caractère incertain. Par exemple des pannes ou des retards peuvent avoir lieu durant l exécution de l ordonnancement. En effet, l'ordonnancement dépend des perturbations qui sont des événements dont l'occurrence n'est pas planifiée, et sont susceptibles de gêner le déroulement d'opérations d ordonnancement et dans certains cas, de remettre en cause l'objectif même de l ordonnancement [Cauvin, 2005]. Les perturbations sont principalement de deux types : Perturbations Internes : qui surviennent du système de production lui-même, par exemple : indisponibilité des ressources suite au pannes ou aux arrêts d entretiens. Perturbations externes : qui sont des perturbations externes au système de production mais qui agissent sur ce dernier, par exemple : changement dans la demande des clients, indisponibilité de la matière première, etc. La présence de ces perturbations de natures diverses altère considérablement le fonctionnement et l efficacité du système de production [Trentesaux, 1992]. La réactivité devient une caractéristique clef de la gestion de production. C'est cet aspect que nous étudions dans le cadre de l'ordonnancement des tâches. Le présent chapitre vise à circonscrire le problème d ordonnancement réactif, qui constitue l un des problèmes d ordonnancement les plus étudiés. Le chapitre commence par une présentation des différentes approches d ordonnancement; en exposant les approches proactives, réactives et les approches hybrides. Il présente ensuite, un état de l art sur les travaux réalisés pour sa résolution en s intéressant surtout aux règles de priorité. Nous discutons par la suite ces travaux afin de justifier notre choix. Nous terminons ce chapitre par une conclusion. 40

Chapitre II Ordonnancement Réactif : État De l Art 2. Différentes Approches d Ordonnancement: L ordonnancement est l une des principales fonctions dans un système de pilotage de production. C est un problème d optimisation d un certain objectif, tel que la durée totale de production en allouant des ressources aux tâches. De notre point de vue, l ordonnancement est en effet une fonction clé car elle touche les différentes activités de l entreprise. Elle présente { la fois une dimension prévisionnelle mais aussi dynamique/temps réel. Donc la résolution d'un problème d'ordonnancement doit concilier deux objectifs: l'aspect statique, qui consiste à générer un plan de réalisation des travaux sur la base de données prévisionnelles et l'aspect dynamique, qui consiste à prendre des décisions en temps réel compte tenu de l'état des ressources et de l'avancement dans le temps des différentes tâches [Duta, 2006]. Ainsi, selon la littérature, il existe deux types d ordonnancement : ordonnancement prévisionnel (horsligne) et celui dynamique (en- ligne) : 2.1. Ordonnancement prévisionnel (hors ligne) : Un ordonnancement hors-ligne «off-line» est effectué avant le lancement du système. Ceci implique que tous les paramètres des tâches soient connus a priori, et notamment les dates d activation. Cet ordonnancement permet une meilleure prédiction de la satisfaction ou non des contraintes temporelles. De même, la puissance de calcul disponible hors-ligne permet de calculer un ordonnancement optimal. 2.2. Ordonnancement dynamique (en ligne) : Lorsqu un problème d ordonnancement est résolu ou remis en question au fur et à mesure que le système de production est opérationnel, on dit que c est un ordonnancement dynamique «on-line» [Elkhyari, 2003]. L ordonnancement dynamique prend en considération les événements imprévus, les données incertaines et l incomplétude de l information. Le principe d ordonnancement dynamique est de ne rien prévoir { l avance. Les décisions d allocation sont prises en temps réel, sachant que : 41

Chapitre II Ordonnancement Réactif : État De l Art Définition 1: L imprécision est un problème qui est dû au formalisme de la connaissance. Il s agit surtout de la connaissance qui ne peut pas être formalisée comme la description de l état du système en langage naturel ou l utilisation d une marge de mesure [Chaari, 2010]. Deux cas de figures se présentent alors. Le premier : c est une imprécision sur les mesures, exemple : temps d exécution d une tâche est entre 8 et 10 unités. Le deuxième c est l utilisation de l informel dans la description d un événement, exemple : la distance est courte. Définition 2 : L incertitude est un doute qui concerne l exactitude d une donnée ou d une hypothèse [Dunne & Mu., 2008]. Exemple : la machine X est en fonctionnement { l instant T s il n y { aucune perturbation et si aucune tâche d entretien n est prévue. L incertitude est souvent due aux contraintes externes, telles que les prévisions des demandes clients, les variations du marché. Définition 3 : L incomplétude existe lorsqu une partie de l information est connue. [Chaari, 2010] Exemple : la tâche I s exécutera sur la ressource R pour une durée inconnue. Cependant, ces concepts sont en relation, car l incomplétude implique l incertitude et l imprécision peut être considérée comme une incomplétude. De ce fait, nous considérons dans un cadre général l incertitude des données dans la résolution des problèmes d ordonnancement dynamique. Une classification d ordonnancement dynamique a été proposée dans [Davenport & Beck., 2000], et reprise dans [Billaut & al., 2005], dans le domaine de l ordonnancement, et qui constitue une référence souvent utilisée. Cette classification distingue trois types d'approches : les approches proactives, les approches réactives et les approches hybrides [Aissani, 2010]. 2.2.1. Les Approches Proactives: Dans une approche proactive, l affectation des tâches sur les différentes ressources est fixée avant le lancement de l ordonnancement. Dans une telle approche le planning des ressources, les dates prévisionnelles de sortie des produits sont fixées avant le 42

Chapitre II Ordonnancement Réactif : État De l Art lancement de la production. Cette approche permet d optimiser sous contrainte l ordonnancement des tâches pour optimiser la fonction objectif assignée. Elle permet aussi une excellente visibilité de l évolution future du système, puisque toutes les décisions sont prédites { l avance. Les calculs étant réalisés à priori, leur temps n influe pas sur l exécution du système en production [Chové, 2010]. Étant donné que pour une approche proactive, il faut connaître à priori l'ensemble des tâches et leurs caractéristiques [Marmier, 2007], la proactivité est le fait d'anticiper les perturbations avant qu'elles n'apparaissent réellement. Les approches proactives tentent de prendre en compte l'incertain lors de la phase de réalisation de l ordonnancement initial [Davenport & al., 2000] pour que cet ordonnancement soit plus robuste, c est-à-dire que quelque soit les événements futurs, la solution ou les solutions construites initialement restent valides [Dupuy, 2005] [Billaut & al., 2005], [La hoang, 2005]. L approche proactive sous-entend, qu une partie des données du problème d ordonnancement doit être obligatoirement connue, ce qui n est pas toujours le cas en réalité. En revanche, si le degré d'incertitude est très élevé, ou si aucun modèle d'incertitudes n'est disponible à priori, ou encore si l'environnement de l'ordonnancement est très dynamique, un autre type d approches est développé. Ce sont les approches réactives. 2.2.2. Les Approches Réactives : Les approches réactives prennent en compte des variations importantes telles que des variations de durée, des variations sur les dates de début au plus tôt ou au plus tard, l'arrivée de nouvelles tâches. Elles ne sont basées sur aucun ordonnancement initial. En effet les décisions sont prises localement permettant de construire en temps réel une solution faisable [Dupuy, 2005]. De ce fait, l approche réactive ne prend pas en considération les données incertaines dans la réalisation d un ordonnancement initial qui peut être remis en cause si une perturbation inattendue se produit. 43

Chapitre II Ordonnancement Réactif : État De l Art L avantage principal des approches réactives est qu il est possible de réagir { des perturbations importantes ou { l occurrence d événements réels qui ont lieu dans l atelier [Davenport & al., 2000]. Durant cette phase, les décisions à réaliser par le système doivent être prises rapidement, avec généralement un temps de réaction imposé. Ces décisions sont généralement prises en utilisant des règles de priorité telle que LPT ou SPT (Longuest ou Shortest Processing Time),..., que l'on peut retrouver en détail dans [Pinedo, 1995]. Ces approches seront présentées dans la troisième section de ce chapitre. 2.2.3. Les Approches hybrides : De sorte que les décisions d ordonnancement soient de meilleure qualité, et produites en un temps plus court, les approches hybrides tentent de combiner avantageusement les deux techniques précédentes [Dupuy, 2005]. Nous distinguons deux classes : a. Approches Proactives Réactives : C est une classe qui combine les deux techniques précédentes. Elle est identifiée dans les travaux de [Elkhyari, 2003], où deux phases sont abordées pour la résolution d un problème d ordonnancement: une première pour construire un ordonnancement prévisionnel mais aussi robuste, c est-à-dire, qui tient compte de l aspect incertain de certaines données. Mais il est généralement impossible de prendre en considération toutes les perturbations possibles durant une phase statique d ordonnancement. Il est nécessaire de l adapter en fonction de l état du système lors de son exécution grâce { un algorithme dit dynamique [Davenport & al., 2000] [Marmier, 2007]. b. Approches Prédictives- Réactives: Ces approches sont basées sur un ordonnancement initial déterministe qui ne tient pas compte des futurs aléas et un algorithme réactif qui servira à guider les futures décisions grâce à des adaptations en temps réel pour tenir compte des perturbations pour le calcul de nouvelles solutions. Puisque l'ordonnancement initial peut être adapté, ce type d'approche pallie aux inconvénients des approches réactives. Une fois 44

Chapitre II Ordonnancement Réactif : État De l Art l ordonnancement initial est mis en place et en présence de perturbations, il est soit remplacé par un autre, voire modifié et réparé, soit recalculé à partir des nouvelles données. On parle alors de ré-ordonnancement [Marmier, 2007]. Revenant sur l approche réactive ou autrement dis l ordonnancement réactif qui produit un ensemble de décisions, en réaction à des événements incertains [Dupuy, 2005]. L avantage de cette réaction est la flexibilité, et l adaptabilité { l environnement que procure le calcul en ligne. L ordonnancement réactif ainsi qu un état de l art sur les travaux réalisés dans ce domaine, sera présenté de manière plus détaillée dans la section suivante. 3. Ordonnancement réactif : La problématique d ordonnancement réactif n a attiré que récemment l attention des chercheurs. Dans un ordonnancement réactif, il est plutôt question d établir une politique d allocation des ressources en temps réel [Pinedo, 1995]. L ordonnancement réactif n est basé sur aucun ordonnancement préventif. Il produit un ensemble de décisions d ordonnancement des opérations sur une machine en réaction à des événements attendus (par exemple la fin d une tâche, la libération d une ressource, ) ou contingents (par exemple la panne d'une ressource, un retard de livraison,...). Ces décisions sont prises une par une chaque fois qu'une machine se libère ou quand une opération devient disponible. Ainsi, l'ordonnancement est effectué petit à petit au cours du temps. Les règles de priorité sont les plus utilisées dans ce cas. Le principe est que lorsqu une machine devient disponible et qu il existe plusieurs opérations en attente d exécution sur cette machine, on doit choisir l opération { effectuer selon une règle dite de priorité [Mirdamadi, 2009]. 3.1. Règles de priorité : La définition que nous retenons dans ce mémoire est celle donnée par K. Bhaskaran et M. Pinedo (1992) : Une règle de priorité (dispatchnig rule, scheduling rule, sequencing rule, priority rule) est une procédure qui permet de déterminer de façon logique la valeur 45

Chapitre II Ordonnancement Réactif : État De l Art d un attribut de priorité afférant aux jobs, afin de sélectionner un job pour être réalisé sur une machine qui vient d être libérée. Cette valeur est généralement calculée sur les paramètres de l'opération [Boucon, 1991]. Le principe est le suivant: les opérations en attente d exécution sur une ressource sont placées par ordre chronologique selon leur ordre d arrivé, c'est-à-dire, lorsque une opération arrive sur une machine et si celle-ci n est pas disponible, la tâche est placée dans une fille d attente. Lorsque la ressource se libère, on doit choisir l opération { effectuer en utilisant une règle de priorité pour résoudre le conflit. Généralement ces règles sont basées sur des critères portant sur les délais, les durées opératoires, les dates d arrivées, la taille des files d attentes, le nombre d opérations restant, etc. [Latouzey, 2001]. Le tableau ci-dessous indique certaines règles de priorité parmi les plus citées. Abréviation SPT LPT EDD FCFS Règle La plus petite durée d abord (Shortest Processing Time) La plus longue durée d abord (Longest Processing Time) La date d échéance la plus proche (Earliest Due Date) Le premier arrivé est le premier servis (First Come First Serve) Tableau II. 1. Règles de priorité les plus utilisées. Il est possible d illustrer le mécanisme de ces règles ainsi. Le tableau II.2 présente un supermarché composé d une seule caisse pour cinq clients différents qui se présentent simultanément. Ces clients disposent d un nombre plus ou moins important de produits mais ces clients doivent être sortis à des heures différentes [Cegarra, 2004]. Clients A B C D E Quantité de produits 2 3 6 5 1 Heure de sortie 8 11 7 15 1 Tableau II. 2. Exemple (adapté à un exemple d Esquirol et lopez, 1999). 46

Chapitre II Ordonnancement Réactif : État De l Art La règle SPT «Shortest Processing Time» consiste à séquencer les opérations dans l ordre croissant des durées (ici la quantité de produits) et le résultat peut être représenté comme sur la Figure II.1. E C A B D E A B D C 0 1 3 6 11 17 Figure II. 1. Représentation graphique de la séquence calculée par la règle SPT. Les flèches indiquent les dates de sortie attendues. La règle EDD «Earliest Due Date» consiste cette fois { privilégier l ordre croissant des dates d échéance (ici l heure de sortie). Le résultat diffère alors de celui de la règle SPT et peut se représenter par la Figure II.2. E C A B D E C A B D 0 1 7 9 12 17 Figure II. 2. Représentation graphique de la séquence calculée par la règle EDD. Les flèches indiquent les dates de sortie attendues. 3.2. Classification des Règles de Priorité : Une étude générale sur les règles de priorité est présentée dans [Pinedo, 1995], [Boucon, 1991], [La hoang, 2005]. Celles-ci peuvent être classifiées de plusieurs manières. On trouve : 3.2.1. Règles statiques / dynamiques : Une règle est statique si la valeur de priorité affectée { l élément reste invariante pendant le séjour du travail dans la fille d attente (ex : FIFO, SPT), (elle est donc indépendante du temps), alors qu une règle dynamique fait évoluer cette priorité dans le temps, mais elle peut conserver l ordre relatif entre deux travaux, 47

Chapitre II Ordonnancement Réactif : État De l Art 3.2.2. Règles locales / globales : Une règle locale prend en considération des informations sur la file d attente dans laquelle se trouve l opération sur laquelle le calcul de priorité est effectué (ex : S PT), alors qu une règle globale prend en compte des informations concernant l ensemble du système de production, par exemple, la charge sur la machine suivante. 3.2.3. Règles simples / complexes : Une règle peut prendre en considération des informations basiques, comme les durées opératoires, les dates de fin au plus tard ou des informations plus élaborées (comme la charge prévisionnelle d une machine). Selon les paramètres de la règle : les règles de priorité peuvent prendre en compte des notions de durée, de délai, de coût et des combinaisons entre ces notions. La complexité peut être due à la combinaison pondérée des règles, utilisation de paramètres à régler, prise en compte des spécificités de l atelier, etc. Pour effectuer un choix des règles de priorité, il est nécessaire de faire référence à un ou plusieurs critères à satisfaire. Ces critères peuvent porter sur des notions relatives aux : En-cours : date de fin de la dernière opération (makespan), temps de cycle (moyen, maximum), temps opératoires des opérations non terminées (work remaining), temps opératoire des opérations terminées (work completed), temps de cycle moyen sur la somme des durées opératoires,, temps passé en file d attente (moyen, max...), nombre de pièce en attente, nombre moyen de pièces dans l atelier, etc. Dates au plus tard : retard algébrique (lateness) (moyen, max...), nombre de pièces en retard, taux de pièces en avance, taux de pièces achevées à temps, retard vrai (tardiness) (moyen, max...), retard vrai conditionnel, avance (earliness), etc. Coûts : somme des coûts des pièces, somme des coûts des retards, somme moyen de l encours financier, etc. 48

Chapitre II Ordonnancement Réactif : État De l Art Cette classification peut être intéressante pour mettre en évidence les difficultés d implantation des règles, Cependant l ordonnancement réactif a fait l objet d un grand nombre de travaux. De nombreuses approches ont été développées à base de règles de priorité. Nous allons faire le point sur ces réalisations dans la section suivante. 4. État de l art : Les règles de priorités ont fait l objet d un grand nombre de travaux d ordonnancement réactif parce qu elles sont relativement simples { mettre en œuvre. De ce fais plusieurs travaux ont été réalisés dans ce domaine. Dans cette section Nous passons en revue ces travaux antérieurs, sans prétendre être évidemment exhaustif. Nous en profitons aussi pour introduire et justifier notre choix d une approche guidée par fouille de donnée pour l extraction des règles de priorité dans la résolution d un problème d ordonnancement réactif dans un atelier Job Shop. 4.1. Sélection des Règles de priorité par Simulation: L approche par simulation est de loin la plus répandue dans les logiciels industriels. L'idée consiste { simuler l application d un ensemble de règles au moment d'une prise de décision, en se projetant éventuellement sur le futur proche, puis de sélectionner celle fournissant la meilleure performance, comme les travaux de [Kim & Kim., 1994],[Jeong & Kim., 1998],[Kutanoglu & Sabuncuoglu., 1999] et récemment les travaux de [Priore & al., 2001], [Chong & al. 2003] et [Lopez & Roubellat., 2008]. Dans [Chong & al., 2003] [La hoang, 2005], les auteurs proposent un mécanisme d'ordonnancement à base de simulations conforme à cette orientation. À l aide de simulation hors ligne les performances des différentes règles sont tout d'abord comparées, exécutées en tenant compte éventuellement des perturbations potentielles. Les résultats de ces simulations sont ensuite utilisés comme des indicateurs pour sélectionner en ligne les règles les plus prometteuses, étant donné un état du système et un contexte. Une simulation en ligne des règles les plus prometteuses peut aussi être réalisée pour déterminer celle la plus adaptée, le temps nécessaire à la simulation ralentissant évidemment la prise de décision. Mirdamadi, lui aussi a proposé l'utilisation d un outil de simulation enligne en phase 49

Chapitre II Ordonnancement Réactif : État De l Art d'exploitation pour identifier des événements critiques par rapport au planning prévu et l'anticipation des perturbations. Une méthode de filtrage de ces événements a été mise en place afin de retenir uniquement ceux qui doivent déclencher le simulateur enligne. La deuxième étape porte sur le mode d'acquisition des données et l'initialisation du simulateur [Mirdamadi, 2007]. Dans le même contexte un travail a été réalisé par [Karaouzene & Sari., 2008] où les règles de priorités ont été utilisées comme solution pour la gestion de la file d attente par une simulation sur un modèle job shop. Une classification a été faite selon différents objectifs pour déterminer si une règle de priorité peut être très performante sous certaines conditions de fonctionnement et très mauvaise sous d autres conditions. Une autre étude qui permettra de recenser les classements des règles par ordre d efficacité pour les critères les plus capitaux { l évaluation de la performance d un FMS a été proposée par [Hassam & al., 2007]. 4.2. Sélection des règles de priorités en utilisant une base de connaissances : Dans ce cas, des techniques issues de l'intelligence Artificielle sont utilisées [La hoang, 2005]. Le but ici est de construire un modèle de connaissances en hors-ligne, c està-dire dans une phase d apprentissage qui pourra être utilisé par la suite en enligne dans une phase d exploitation pour déterminer { tout instant la règle de priorité { utiliser. Dans [Priore & al., 1998], un processus de cinq phases a été proposé pour la construction d'un modèle à base de connaissances: la définition des paramètres de contrôle, génération des exemples d'apprentissage, et la définition des conditions d activation des règles. Une autre méthode à base de connaissances est présentée dans [Chen & Yih., 1996] où leur étude est basée sur la détermination des paramètres pertinents pour la sélection des règles, en utilisant une approche neuronale. Toujours dans le domaine d intelligence artificielle les systèmes experts en particulier sont utilisés pour améliorer les résultats [Talbi, 2004]. Le système expert utilise une base de connaissances composée de règles d ordonnancement, obtenues { partir de l expérience accumulée par certains individus clés [Toal & al., 1994]. Plusieurs projets ont été menés pour développer de tels systèmes : ESPRIT 418 [Milin, 1987], ESPRIT 809 [Van 50

Chapitre II Ordonnancement Réactif : État De l Art der Pluym, 1990], ESPRIT 6805 [ESPRIT 6805, 1995], et plusieurs prototypes ont été développés : OPAL/ORIGAN [Bensana & al., 1988], BOSS [Hynynen, 1988], OPIS [Smith & al., 1990]. On peut aussi classer dans cette catégorie les différents travaux dont le rôle du système expert est la sélection automatique des meilleures règles de priorité en fonction des paramètres de l'atelier considéré, par exemple dans [Boucon, 1991] : «ordonnancement job shop», [Pierreval & Mebarki., 1997] :«sélection dynamique», [Grabot & al., 1997] : «règles floues» ou [Subramaniam & al., 2000] : «sélection dynamique par Analytic Hierarchy Process» [Saaty, 1980]. D autres approches artificielles récentes, dites systèmes immunitaires artificiels, se sont inspirées des mécanismes que l immunité biologique met en œuvre pour réagir aux agressions et maintenir un état de bon fonctionnement dans les organismes vivants. Darmoul a s est inspiré de ces mécanismes pour la conception d un système d ordonnancement réactif et adaptatif [Dermoul & al., 2006], [Dermoul & al., 2007]. D autres auteurs ont proposé de mettre en place les deux types d apprentissage { savoir l apprentissage déductif [Latouzey, 2001], comme les systèmes expert basés sur la connaissance experte, traduite en règles qui sont appliquées par un moteur d inférence permettant un raisonnement déductif [Geneste & al., 1997], et l apprentissage inductif qui extrait la connaissance à partir des données simulées [Chebel & al., 2001].[Schneider & al., 1998] ont proposé une modélisation par un Processus Décisionnel Markovien (MDP) au problème d ordonnancement avec une modélisation stochastique des incertitudes de l environnement de production (perturbations de production, variation de la demande ). La résolution de ce MDP se fait par un algorithme de la programmation dynamique «Value Function» qui peut générer des solutions d ordonnancement optimal en enligne. Ces techniques proposent toujours des solutions en enligne. 4.3. Sélection des règles en utilisant des techniques distribuées : Des approches sont basées sur des systèmes multi agents, des systèmes hétérarchiques, des systèmes bioniques ou encore des systèmes holoniques [Monostori & al., 1998], [Pierreval, 1999], [Pujo & al., 2002b],[Shen & al., 1999, 2001, 2006]. Ces approches ont essayé de développer des systèmes intelligents pour le contrôle réactif de 51

Chapitre II Ordonnancement Réactif : État De l Art processus industriels de plus en plus critiqués comme insuffisamment flexibles [Shen & al., 2006].Ces travaux proposent des approches riches et intéressantes pour le développement de systèmes de pilotage d ateliers, comme le modèle de [Pujo & Brun- Picard, 2002]. Dans ce modèle, le système est constitué d'un ensemble d'agents autonomes dont chacun essaie d'optimiser localement sa fonction objectif, éventuellement différente dans chaque agent, en répondant aux sollicitations des autres agents. Dans [Lim & Zhang, 2002], les auteurs proposent un mécanisme d'attracteur itératif pour faciliter le processus d'affectation des tâches et manipuler la négociation entre agents [La hoang, 2005]. Des chercheurs ont pensé à hybrider différentes approches, les algorithmes génétiques à d'autres méthodes, tel que la fouilles de Données [Harrath, 2009]. L ordonnancement réactif a été aussi hybridé avec celui proactif comme était proposé par [Chové, 2006] pour l amélioration de la production d une ligne de traitement de surface. 4.4. Synthèse : Selon la littérature, beaucoup de travaux se sont intéressés { l ordonnancement réactif en utilisant les règles de priorité. Ces règles offrent l avantage d être très faciles { implémenter et d avoir le temps de calcul le plus faible, ce qui les rend bien adaptées aux problèmes de grandes tailles. L analyse des techniques évoquées précédemment, montre que ces méthodes présentent de nombreux avantages, mais aussi de nombreux inconvénients, sachant que : L approche par la simulation est souvent très envisagée comme une manière simple et rapide de concevoir des solutions intéressantes. Il suffit juste de tester un nombre convenable de scénarios afin de les comparer et de retenir le plus important. La principale difficulté réside dans la simulation de tels systèmes complexes (plusieurs milliers de tâches, ressources complexes et contraintes spécifiques). Pour l approche basée sur les techniques distribuées, les systèmes conçus sont composés d un ensemble d entités qui collaborent et interagissent entre eux pour la résolution d un problème global et la prise des décisions d ordonnancement. Le point 52

Chapitre II Ordonnancement Réactif : État De l Art sensible à considérer dans cette approche est la difficulté de coordination entre ces entités pour converger vers un but global. Revenant sur le choix des règles de priorité en utilisant une base de connaissance, où un ordonnancement de référence, de nature déterministe est déterminé hors ligne, et qui sera après utilisé dans une phase en ligne. L inconvénient majeur de cette approche consiste à la difficulté de calibrer le modèle, de sorte qu'il soit suffisamment intelligent pour déterminer en ligne quelle règle, ou qu il soit le plus générale pour prendre quelle décision, est la plus appropriée, étant donné un contexte. 5. Conclusion : L ordonnancement réactif présente l'avantage de construire en temps réel, et de façon très souple, une solution faisable en prenant en compte des perturbations de nature très variées. Cette solution est très difficile à accomplir car la décision d'affectation d'une tâche sur une machine doit être prise par une règle de priorité au moment où la machine se libère. En effet la détermination d une règle performante a suscité et suscité toujours une littérature très abondante. Dans ce chapitre nous avons survolé les différentes approches proposées dans la littérature et les plus adaptées dans ce contexte. Chacune de ces approches a ses avantages et ses inconvénients. Ainsi, la conclusion de cet état de l art est que nous ne pouvons pas définir à priori de règle de priorité adaptée à un problème donné. Vu que l ordonnancement en temps réel est très complexe à cause du nombre important d informations à traiter et l influence des aléas, il n est donc pas envisageable d utiliser des algorithmes très coûteux en temps de calcul. C est pour ces raisons que nous avons opté pour une technique guidée par expérience, qui soit réactive et adaptative aux évènements internes et/ou externes de l atelier. Le chapitre suivant de ce mémoire permet de justifier notre choix. 53

1. Introduction.. 56 2. Travaux Connexes sur les Règles de Priorité et la Fouille de données 58 3. Fouille de données et extraction de règles 59 3.1. Le Processus d apprentissage artificiel.. 59 a. Phase de préparation de données... 60 b. Phase d induction du modèle et interprétation.. 60 3.2. Exemple illustratif. 61 3.3. Discussion.... 64 4. Conclusion... 64

Chapitre III Extraction des Règles de Priorité par Fouille de Données CHAPITRE III : EXTRACTION DES RÈGLES DE PRIORITÉ PAR FOUILLE DE DONNÉES e troisième chapitre explicite la problématique d extraction de règles de priorité par fouille de données dans un cadre d apprentissage automatique. Nous donnons un bref aperçu sur cette approche qui a attiré l attention de beaucoup de chercheurs ces dernières années. Bien que notre étude se focalise sur une approche similaire, en illustrant la manière dont la fouille de données et l extraction des connaissances à partir des données sont utilisés pour générer des connaissances implicites sous forme de nouvelles règles qui peuvent être utilisées pour automatiser l ordonnancement. 55

Chapitre III Extraction des Règles de Priorité par Fouille de Données 1. Introduction : L extraction de connaissances { partir des données (ECD) est un domaine émergent qui a attiré, dés son apparition, l attention de beaucoup de chercheurs dans différentes disciplines. L essence même de l ECD est «la découverte non triviale, { partir de données, d une information «connaissance» implicite, précédemment inconnue et potentiellement intéressante». Par le terme d ECD, on désigne tout le cycle de découverte de la connaissance. Comme illustré par la Figure III.1, l ECD est un processus qui se déroule en cinq phases principales : la sélection des données, le pré traitement, transformation, la fouille des données et le post traitement. En dehors de la communauté des chercheurs en ECD, le terme fouille de données (ou data mining) est souvent employé pour désigner tout le processus d'ecd, et non plus la troisième étape. Cette phase revêt d une importance capitale, et constitue le cœur du processus, car c est durant cette phase que va s effectuer l extraction de connaissance proprement dite, { travers l application d une méthode de fouille de données, et la présenter sous forme d un modèle. Figure III. 1. Processus d Extraction de Connaissances à partir de Données. 56

Chapitre III Extraction des Règles de Priorité par Fouille de Données La définition que nous retenons dans ce mémoire est celle donnée par Fayyad [Fayyad, 1996]. La «La fouille de données» (Data Mining) est l analyse des observations de larges jeux de données dans le but d identifier des relations non soupçonnées et de résumer la connaissance incluse au sein de ces données sous de nouvelles formes à la fois compréhensibles et utiles pour l expert de ces données. D une façon générale, La fouille de données exploite les recherches dans plusieurs disciplines, tel que les statistiques, l analyse des données, la reconnaissance des formes, l intelligence artificielle et notamment l apprentissage automatique. Ce dernier, qui est { l origine de nombreux algorithmes et méthodes utilisés [Dietterich, 1997], a suscité un engouement particulièrement développé au cours des dernières décennies. Ce domaine particulier de l IA consiste { reproduire la capacité de l homme à apprendre, c'est-à-dire { se servir de l expérience passée, et { adapter son comportement afin d accomplir au mieux une tâche similaire dans l avenir. Dans les ateliers de production, de grandes masses de données sont générées pendant la résolution d un problème d ordonnancement, permettant de garder trace de tous les scénarios passés. Cette quantité augmente la complexité et provoque une certaine difficulté de représenter le système complet par un modèle mathématique. Ces données contiennent en effet, des informations implicites sur l atelier, et si ces informations peuvent être rendues explicites, elles peuvent contribuer à améliorer la fonction d ordonnancement. Alors les connaissances découvertes par fouille de données peuvent être généralisées et utilisées dans le futur pour produire des nouveaux scénarios d ordonnancement. Dans ce chapitre Nous présentons un formalisme du problème d extraction de règles de priorité par fouille de données. La deuxième section est consacrée à l exposition des travaux connexes dans ce domaine. L'accent est ensuite mise sur un travail intéressent basé sur approche guidée par fouille de données sur laquelle nous nous sommes basés pour notre contribution. Enfin, nous terminons par quelques conclusions. 57

Chapitre III Extraction des Règles de Priorité par Fouille de Données 2. Travaux Connexes sur les Règles de Priorité et la Fouille de données: Dans le domaine d ordonnancement, l apprentissage automatique a été premièrement consacré au choix de la meilleure règle par apprentissage des données simulées. Cela suppose que toutes les règles de priorité sont connues { l avance et que la performance de ces règles peut être simulée avec précision. Une exception remarquable de ceci, est le travail de [Geiger & al., 2006], où un algorithme génétique est utilisé pour la découverte de nouvelles règles de priorité dans un environnement Flow Shop. Un modèle hybride basé sur un arbre de décision et un réseau de neurones par rétro propagation est développé par [Wang & al., 2005] pour déterminer les règle de priorité les plus convenable en présence de bruit et prédire les performances de ces règles. [Chang & al., 2005] ont développé une règle floue évoluée (EFR), cette méthode basée sur l approche de [Wang & Mendel., 1992] pour les dates d échéance des tâches. Pour démontrer L efficacité de leur approche, Ils l ont comparé sa performance avec CBR et un perceptron multi couches. [Chen & al., 2005] ont basé leurs contribution sur la fouille de données et le domaine de connaissances, l état de la production, WIP et le débit afin de développer une méthodologie pour prédire le temps de cycle. [Huyet, 2006] a proposé une optimisation évolutionnaire et une approche basée sur la fouille de données pour produire les connaissances sur le comportement de système { l aide d un processus de simulation d un job shop. L affectation correcte des règles de priorité est trop importante pour renforcer les mesures de performance dans un système flexible de production (FMS). [Liu & al., 2005] a présenté SAMA (Supervised Attribute Mining Algorithm), qui est basé sur une approche floue et un algorithme génétique pour le problème de sélection des attributs associés aux règles de priorité. [Koonce & Tsai., 2000] ont appliqué la fouille de données pour explorer les motifs dans les données générées par un algorithme génétique en performant les opérations d ordonnancement et pour développer un ensemble de règle d ordonnancement approximatives. L approche d induction orientée des attributs été utilisé pour caractériser les relations entre les séquences des opérations et leurs attributs. La connaissance générée peut être utilisée pour analyser l effet des décisions prises { n importe quel stade. [Li & Olafsson., 2005] ont introduit 58

Chapitre III Extraction des Règles de Priorité par Fouille de Données une nouvelle méthodologie pour générer des règles d ordonnancement en utilisant la fouille de données. Cette approche inclut le prétraitement de l historique d ordonnancement et sa transformation en un ensemble d apprentissage approprié. Les connaissances extraites peuvent être utilisées par la suite pour l ordonnancement des nouvelles tâches. Plus récemment, plusieurs chercheurs ont utilisé des approches similaires pour l apprentissage des règles dans des environnements d ordonnancement spécifiques. Par exemple [Malik & al., 2008] et [Russell & al., 2009] ont utilisé un apprentissage inductif pour générer des nouvelles heuristiques afin d ordonnancer un block d instructions, et [Baykasoglu & al., 2008] ont utilisé un apprentissage inductif pour générer des nouvelles règles pour un problème d ordonnancement d un job shop. 3. Fouille de données et extraction de règles: Cette section est consacrée pour la démarche d ordonnancement guidée par fouille de données que nous avons retenu de la littérature et sur laquelle nous nous sommes basés dans notre recherche. C est le travail de [Sigurdur, 2005], [Sigurdur, 2010]. Sigurdur a montré comment utiliser la fouille de données pour générer des connaissances implicites sous forme de nouvelles règles qui peuvent être utilisées pour automatiser la fonction d ordonnancement. 3.1. Le Processus d apprentissage artificiel : Le but de l apprentissage artificiel est de déterminer quel job s exécute en premier sur une machine. La connaissance extraite permet d effectuer le choix entre deux jobs { n importe quel moment donné, ainsi que la création du séquencement des jobs de la file d attente. Le processus d apprentissage associé comporte deux phases principales (voir Figure III.2) : 59

Chapitre III Extraction des Règles de Priorité par Fouille de Données Figure III. 2. Processus général d apprentissage ([Sigurdur, 2005]). c. Phase de préparation de données : Cette phase permet d inclure l agrégation, la construction et la sélection des attributs afin de construire un échantillon d apprentissage approprié. La phase de préparation des données est trop significative car toute connaissance utile cachée au sein de ces données doit être considérablement transformée. Cette phase joue un rôle important pour l utilité des connaissances extraites. Donc, le choix des attributs les plus significatifs est trop nécessaire. La phase de construction et de sélection des attributs est trop cruciale pour l extraction d un modèle performant et elle fournit un aperçu important sur la façon d extraction du modèle. d. Phase d induction du modèle et interprétation : Elle est effectuée par l utilisation d un algorithme d apprentissage symbolique «arbre de décision» sur les données. Cet arbre peut être utilisé par la suite pour prédire une règle d ordonnancement. 60

Chapitre III Extraction des Règles de Priorité par Fouille de Données 3.2. Exemple illustratif : Pour illustrer l approche proposée dans [Sigurdur, 2005], un exemple simple composé de cinq jobs notés j 1,j 2, j 3, j 4 et j 5 sont traités sur une seule machine, chaque job a une date de sortie désignée par un temps d achèvement r j, un temps de début s j, une durée d exécution p j et une date de fin d exécution c j. Ces données sont présentées par le Tableau III.1. Au départ il est supposé que rien n est connu sur la façon d ordonnancer ces jobs mais il est souhaité de concevoir un système automatique qui ordonnance des nouveaux jobs selon la même logique. Le but est l induction de quelques règles qui peuvent être utilisées pour ordonnancer les jobs. La règle utilisée pour la transformation des données en un exemple est LPT, c est { dire le job qui s exécute en premier est celui qui est libéré et qui a la plus longue durée. Mais cette règle est supposée inconnue. Le Tableau III.2 présente l échantillon d apprentissage construit. Job ID Temps d achèvement r i Date Début s i Durée d exécution p i Date de Fin c i j 5 0 0 17 17 j 1 10 17 15 32 j 3 18 32 20 52 j 4 0 52 7 59 j 2 30 59 5 64 Tableau III. 1. Données des Jobs. Job 1 P1 r1 Job 1 P2 r2 Classe J1 15 10 J2 5 30 Oui J1 15 10 J3 20 18 Oui J1 15 10 J4 7 0 Oui J1 15 10 J5 17 0 Non J2 5 30 J3 20 18 Non J2 5 30 J4 7 0 Non J2 5 30 J5 17 0 Non J3 20 18 J4 7 0 Oui J3 20 18 J5 17 0 Non J4 7 0 J5 17 0 Non Tableau III. 2. Échantillon d Apprentissage. 61

Chapitre III Extraction des Règles de Priorité par Fouille de Données Le variable endogène «attribut classe» peut prendre deux valeurs possibles: «oui» qui indique que le job j j s exécute en premier et «non» pour le contraire. Les valeurs r j,p j présentent les variables exogènes. Sur cet ensemble d apprentissage un algorithme C4.5 de Quinlan., 1993 est utilisé pour générer un arbre de décision. Rappelons qu un arbre de décision représente une base de règle de classification. Une règle sous la forme «si. Alors..» est exprimée sous forme d'un chemin partant de la racine pour atteindre une feuille (nœud terminal) d'un arbre. Chaque nœud interne est associé à un attribut à tester et à autant de sous arbres que l'attribut comporte de valeurs. Chaque nœud terminal possède une classe assignée exprimant le résultat d'une règle de classification. L'idée de la construction d'arbres à partir d'un ensemble d'apprentissage a été proposée initialement dans [Hunt & al., 1996]. De nombreux travaux de recherche ont été menés dans le domaine d induction de règles, nous citerons parmi elles les plus connus CART [Breiman & al., 1984] et C4.5 [Quinlan & al., 1986] [Quinlan & al., 1993]. Un exemple de règles déduites à partir de cet arbre est: Si p1 7 Alors Classe = Non. Si p1 > 7 et p2 7 Alors Classe = Oui Si p1 > 7 et p2 > 7 alors Classe = Oui. Ces règles sont pas suffisantes pour ordonnancer tout les instances correctement, Alors deux autres attributs sont ajoutés pour améliorer la performance des règles extraites, notés : p d qui représente la différence entre les durées d exécution des deux jobs comparés. P j, et r d qui représente la différence entre les temps d achèvement des deux jobs, tel que : P d = p 1 p 2 ; et r d = r 1 r 2. L arbre de décision résultat est illustré par la Figure III.3. 62

Chapitre III Extraction des Règles de Priorité par Fouille de Données Figure III. 3. Arbre de décision pour l ordonnancement illustré par le Tableau 3.2 ([Sigurdur, 2005]). Un nœud feuille qui se termine par oui indique que le job associé doit s exécuter en premier, l arbre de décision ou les règles de décision correspondantes peuvent être utilisées directement pour ordonnancer n importe quels nouveaux jobs. Un exemple de règles déduites à partir de cet arbre est: Si un job1 s achève et il est plus long qu un autre job 2 alors le job1 doit être exécuté en premier. Un job qui s achève en premier doit attendre un job plus long seulement si : pd = 5 8 unités de temps. En comparant ces règles avec celles évoquées précédemment, nous remarquons qu elles représentent des connaissances plus structurées qui peuvent être utilisées pour améliorer l ordonnancement en réglant le problème de priorité entre deux jobs à tout instant. 63

Chapitre III Extraction des Règles de Priorité par Fouille de Données 3.3. Discussion : L exemple présenté dans cette section fournit un aperçu important sur l application directe de la fouille de données pour découvrir des nouvelles règles de priorité. Notons que l avantage de cette approche est la prise des décisions intelligentes en se basant sur ce modèle, qui est à la fois significatif, et explicatif, grâce { l utilisation d un arbre de décision qui est un outil très facile { comprendre. 4. Conclusion : Ce troisième chapitre de mémoire a pour objectif de présenter la manière dont la fouille de données est utilisée pour l extraction de règles de priorité. Cette approche prend appui sur un système d'apprentissage qui génère une base de connaissances sur le domaine considéré, qui sera exploité par le système d'aide à la décision. Les avantages principaux sont : Les connaissances implicites d un expert sont extraites peuvent être exploitées dans le futur sans participation de l expert du domaine. Les règles déduites seront appliquées pour résoudre des nouvelles situations. À partir des connaissances prédictives, des nouvelles règles sont générées pour améliorer les performances de l ordonnancement. En effet, l extraction des règles de priorités par fouille de données a montré une alternative pour l aide { l ordonnancement avec une grande performance. Ainsi, connaissant les relations cachées dans l ensemble des attributs du système, l utilisateur peut concevoir un système intelligent pour l extraction des règles de priorités effectives [Sigurdur, 2005], [ Sigurdur, 2010]. Cette classe de modèles utilise les situations passées pour l aide { la prise de décision actuelle et future. C est pourquoi nous avons opté pour ce type d acquisition automatique dans le cadre de ce mémoire. 64

Chapitre III Extraction des Règles de Priorité par Fouille de Données L inconvénient majeur que nous avons souligné est que [Sigurdur, 2005] a effectué le processus d apprentissage avec la comparaison entre deux jobs sur une seule machine, d où l inconvénient majeur de cette approche. Pour remédier à ce problème nous souhaitons suivre la même démarche de [Sigurdur, 2005] dans un atelier job shop avec plusieurs attributs et beaucoup d instance, mais il est évident que ceci nécessite un temps de calcul élevé, et pour remédier à cela nous proposons une modélisation booléenne qui permettra l extension de cette approche, Le chapitre suivant présente notre contribution qui concerne la modélisation booléenne du processus d ordonnancement réactif guidé par arbre de décision. Cette modélisation est basée sur la machine cellulaire CASI [Atmani & Beldjilali., 2007]. Le but, après une modélisation booléenne, est double : d une part de proposer une méthode cellulaire d extraction des règles de priorité guidée par induction d arbre, et, d autre part optimiser la gestion des règles, ainsi que le temps de réponse. 65

1. Introduction. 68 2. Modélisation Booléenne de l induction des règles de priorités... 68 2.1. La machine Cellulaire CASI.. 69 2.2. Exemple d illustration de l induction des règles booléennes inductives 70 3. Description de notre approche. 73 3.1. Modèle Test : atelier d application.. 74 3.2. Transcription informatique du modèle par ARENA 10.1... 74 3.2.1. Modélisation de l entrée de l atelier... 75 3.2.2. Modélisation d une ressource (machine). 76 3.2.3. Modélisation de la sortie de l atelier.. 77 3.3. Simulation du modèle.. 77 3.3.1. Rappel sur la Simulation. 77 3.3.2. Simulation des règles de priorités et construction de la population d apprentissage.. 78 3.3.3. Construction de l arbre de décision.. 81 3.3.4. Expérimentation 82 3.3.5. Construction d un graphe d induction et génération des règles conjonctives.. 84 3.4. Analyses et interprétation des résultats. 87 4. Conclusion... 87

Chapitre IV Modélisation Booléenne CHAPITRE IV : MODÉLISATION BOOLÈENNE e chapitre présente notre contribution qui concerne la modélisation booléenne du processus d ordonnancement réactif. Le but, après une modélisation booléenne, est double : d une part proposer une méthode cellulaire d extraction des règles de propriétés guidée par fouille de données, et, d autre part réduire la complexité de stockage, ainsi que le temps de calcul donc de réponse. 67

Chapitre IV Modélisation Booléenne 1. Introduction : Nos travaux se sont orientés vers l apprentissage symbolique inductif à partir d exemples, phase centrale du processus d extraction des connaissances { partir des données. Nous nous sommes inspirés du travail d Olafsson [Sigurdur, 2005] pour développer notre approche booléenne de ré-ordonnancement [Deddouche, 2011]. Ce chapitre est structuré autour de deux parties indépendantes. La première est une présentation de la modélisation booléenne de la méthode d Olafsson [Sigurdur, 2005] présentée dans le chapitre précédent, cette modélisation booléenne est inspirée de la machine cellulaire CASI «Cellular Automata for Symbolic Induction» [Atmani & Beldjilali., 2007]. Nous présentons l architecture et le principe de fonctionnement de CASI en donnant un exemple illustratif de l induction des règles booléennes inductives. La deuxième partie est consacrée à la construction du modèle booléen que nous avons utilisé pour l ordonnancement guidé par fouille de données. Enfin, nous terminons ce chapitre par les différents scénarios de simulation que nous avons expérimenté ainsi qu une discussion sur les résultats expérimentaux obtenus. 2. Modélisation Booléenne de l induction des règles de priorités : Pour notre contribution nous nous proposons une modélisation booléenne de la méthode de [Sigurdur, 2005] présentée dans le chapitre précédent, cette modélisation est effectuée par la machine cellulaire CASI «Cellular Automata for Symbolic Induction» [Atmani & Beldjilali., 2007]. Le placement de notre contribution dans le processus développé précédemment est illustré par la Figure IV.1. 68

Chapitre IV Modélisation Booléenne COG Cellular Optimisation and Generation CIE Cellular Inference Engine Knowledge Base Facts and Rule CV Cellular Validation CASI Figure IV. 1. Intégration de la machine CASI dans le processus général d apprentissage de [Sigurdur, 2005]. 2.1. La Machine Cellulaire CASI [Atmani & Beldjilali., 2007] : CASI (Induction Symbolique par Automate Cellulaire) est un automate cellulaire qui simule le fonctionnement du cycle de base d un moteur d inférence en utilisant deux couches finies d automates finis. La première couche, CELFACT, pour la base des faits et, la deuxième couche, CELRULE, pour la base de règles [Atmani & Beldjilali., 2007], [Benamina & Atmani., 2008]. Chaque cellule { l instant t+1 ne dépend que de l état des ses voisines et du sien { l instant t. Dans chaque couche, le contenu d une cellule détermine si et comment elle participe { chaque étape d inférence : { chaque étape, une cellule peut être active (1) ou passive (0), c est-à-dire participe ou non à l inférence. 69

Chapitre IV Modélisation Booléenne [Atmani & Beldjilali., 2007], [Benamina & Atmani., 2008], [Brahami & Atmani., 2009a] ont supposé qu il y a l cellules dans la couche CELFACT, et r cellules dans la couche CELRULE. Toute cellule i de la première couche CELFACT est considérée comme fait établi si sa valeur est 1, sinon, elle est considérée comme fait à établir. Toute cellule j de la deuxième couche CELRULE est considérée comme une règle candidate si sa valeur est 1, sinon, elle est considérée comme une règle qui ne doit pas participer { l inférence. Les états des cellules se composent de trois parties : EF, IF et SF, respectivement ER, IR et SR, sont l entrée, l état interne et la sortie d une cellule de CELFACT, respectivement d une cellule de CELRULE. L état interne, IF d une cellule de CELFACT indique le rôle du fait : dans le cas d un graphe d induction IF = 0 correspond à un fait du type sommet (si), IF = 1 correspond à un fait du type attribut=valeur (x 1 = valeur) Pour une cellule de CELRULE, l état interne IR peut être utilisé comme coefficient de probabilité que nous n aborderons pas dans cette section. 2.2. Exemple d illustration de l induction des règles booléennes inductives: Pour illustrer l architecture et le principe de fonctionnement de CASI, nous considérons l arbre présenté dans le chapitre précédent par la Figure III. 3, à partir des partitions s 0, s 1, s 2, s 3, s 4 et s 5, nous déduisons des règles sous la forme : Prémisse i Alors Conclusion i R i : Si Après une représentation cellulaire de ces règles: -- Les items de prémisse i et Conclusion i vont constituer les faits : FAITS -- Les R i vont constituer les règles : REGLES La Figure IV.2 montre la base de connaissance extraite à partir de cet arbre, cette base est représentée par les couches CELFACT et CELRULE. 70

Chapitre IV Modélisation Booléenne R 1 : Si {s 0 } Alors {Job1L=yes, s 1 } R 2 : Si {s 1 } Alors {Job1RF=yes, s 2 } R 3 : Si {s 1 } Alors {Job1RF=No, s 3 } R 4 : Si {s 3 } Alors {ProcessingTD < 5, s 4 } R 5 : Si {s 3 } Alors {ProcessingTD > 5, s 5 } Figure IV. 2. Base de Connaissances. Initialement, toutes les entrées des cellules dans la couche CELFACT sont passives (EF = 0), exceptée celles qui représentent la base des faits initiale (EF(1) = 1). Faits EF IF SF s 0 1 0 0 Job1L=yes 0 1 0 s 1 0 0 0 Job1RF=yes 0 1 0 s 2 0 0 0 Règles ER IR SR 0 1 1 0 1 1 0 1 1 R 4 0 1 1 R 5 0 1 1 Job1RF= No 0 1 0 s 3 0 0 0 processtd< 5 0 1 0 s 4 0 0 0 ProcessTD> 5 0 1 0 s 5 0 0 0 Tableau IV. 1. Couche CELFACT. Tableau IV.2 Couche CELRULE. Les Tableaux IV.1, IV.2 représentent la modélisation booléenne de la base de connaissances de la Figure IV.2, d où la configuration initiale de l automate cellulaire. 71

Chapitre IV Modélisation Booléenne Le voisinage est introduit par la notion de matrice d incidence. Dans les tableaux IV.3, IV.4 sont respectivement représentées les matrices d incidence d entrée Re et de sortie Rs de l automate cellulaire pour la BC de la Figure 4.1. La relation d entrée, notée ir E j, est formulée comme suit : i 1,..., l, j 1,..., r, si (le Fait i Є à la Prémisse de la règle j ) alors R E (i,j) 1. De même la relation de sortie, notée ir S j, est formulée comme suit : i 1,..., l, j 1,..., r, si (le Fait i Є { la Conclusion de la règle j ) alors R S (i,j) 1. R1 R2 R3 R4 R5 s 0 0 0 0 0 0 Job1L=yes 1 0 0 0 0 s 1 1 0 0 0 0 Job1RF=yes 0 1 0 0 0 s 2 0 1 0 0 0 Job1RF= No 0 0 1 0 0 s 3 0 0 1 0 0 processtd< 5 0 0 0 1 0 s 4 0 0 0 1 0 ProcessTD> 5 0 0 0 0 1 s 5 0 0 0 0 1 Tableau IV. 3. Matrice d Entrée Re. R1 R2 R3 R4 R5 s 0 1 0 0 0 0 Job1L=yes 0 0 0 0 0 s 1 0 1 1 0 0 Job1RF=yes 0 0 0 0 0 s 2 0 0 0 0 0 Job1RF= No 0 0 0 0 0 s 3 0 0 0 1 1 processtd< 5 0 0 0 0 0 s 4 0 0 0 0 0 ProcessTD> 5 0 0 0 0 0 s 5 0 0 0 0 0 Tableau IV.4 Matrice de Sortie Rs. La dynamique du moteur d inférence CIE de la machine cellulaire utilise deux fonctions de transitions et, où correspond { la phase d évaluation, de sélection et de filtrage, et correspond { la phase d exécution. La fonction de transition :. 72

Chapitre IV Modélisation Booléenne La fonction de transition :. Où la matrice désigne la transposé de la matrice. Le moteur d inférence exploite la base de connaissances et les couches CELFACT et CELRULE pour établir un fait en chaînage avant, Le cycle est répété jusqu { ce que le fait soit ajouté { la base des faits, ou s arrête lorsqu aucune règle n est applicable. Au terme de cette modélisation nous avons pu modéliser les règles d ordonnancement extraites par l approche de [Sigurdur, 2005]. Cette modélisation nous permet d enrichir la base de connaissances en rajoutant des nouveaux attributs qui peuvent être des nouveaux paramètres associées aux jobs [Deddouche, 2011]. 3. Description de notre approche : Comme nous l avons précisé dans les chapitres précédents, nous souhaitons résoudre un problème d ordonnancement réactif dans un atelier de production. La littérature prouve que la résolution de ce type de problèmes porte sur l utilisation des règles de priorité. A la lumière de nos recherches sur les travaux réalisés dans le domaine, nous avons déduit que la principale difficulté réside dans le choix de la règle de priorité à appliquer dans une situation donnée. Nous proposons de solutionner ce problème par l élaboration d un processus d apprentissage artificiel afin de déduire des règles de décision cellulaires permettant de faire ce choix. Nous présentons une méthodologie permettant d apprendre les spécificités de l atelier grâce { une phase de simulation. Cette étape permettra de générer une base de données liée à l ordonnancement de l atelier, qui sera exploitée ensuite par un processus d extraction des connaissances à partir des données (E.C.D.).Dans notre cas la collecte des données sera spécifique au problème étudié, et nécessitera une phase de simulation notamment faite { l aide du logiciel commercial ARENA, suivi d une phase d évaluation des résultats permettant de sélectionner un ensemble des scénarios d ordonnancement les mieux adaptés. Dans les sous sections suivantes, nous détaillerons cette démarche. 73

Chapitre IV Modélisation Booléenne 3.1. Modèle Test : Atelier d application : Dans notre étude nous avons utilisé un modèle très simple d un atelier job shop. Ce job shop est composé de deux machines identiques et trois pièces, le Tableau IV.5, présente les données correspondantes à cet atelier. Les jobs R(O i,j ),P i,j J 1 1, 3 2,1 J 2 1,2 2,3 J 3 2,3 1,1 Tableau IV.5 Job shop de (3 2). Comme il a été signalé dans le premier chapitre, nous prendrons comme objectif, la durée totale de l ordonnancement Cmax, puisque d un côté, c est un critère simple et le plus utilisé dans la littérature ; et d un autre côté, notre travail n exige pas des critères trop compliqués, un critère simple suffit { la réalisation de l étude. 3.2. Transcription informatique du modèle par ARENA 10.1 : Suivant la description précédente de l atelier étudié, nous avons conçu un programme sous Rockwell ARENA 10.1. ARENA (Modeling Corporation) de Rockwell est l un des outils de simulation les plus employés dans l industrie. Il fournit un ensemble de modules regroupés en panneaux et adaptés à diverses situations, ainsi qu une bibliothèque d objets prédéfinis, que l utilisateur peut ensuite utiliser pour construire son propre modèle. ARENA permet de construire un modèle en proposant des primitives de représentation (appelées par la suite, blocs ou modules) plus ou moins détaillées. Il permet également de créer des animations graphiques pour visualiser le comportement du modèle durant la simulation. Les blocs sont regroupés dans différentes bibliothèques (templates). Notre modèle est illustré par la Figure IV.3, nous allons décrire les principales entités par la suite. 74

Chapitre IV Modélisation Booléenne Figure IV. 3. Transcription informatique du modèle de l atelier par ARENA 10.1. 3.2.1. Modélisation de l entrée de l atelier : création des pièces et leurs entrées Nous avons utilisé trois combinaisons des modules Create-Assign afin de créer trois différents types de pièces. Ils représentent les trois jobs d atelier considérés: Pièce 1, Pièce 2 et Pièce 3. Figure IV. 4. Le bloc Create. Grâce au module Assign, nous avons affecté différents attributs aux entités créées. Durant l exécution d une simulation. Quand une entité entre dans un bloc Assign, l expression - logique ou mathématique - spécifiée dans le champ New Value 75

Chapitre IV Modélisation Booléenne est évaluée et assignée, selon le contenu du champ Type (Attribute, Variable, ), { un attribut (rattaché { l entité «activant» le bloc) ou une variable. Dans la Figure suivante, le bloc intitulé avec les attributs choisis. Figure IV. 5. Le bloc Assign. 3.2.2. Modélisation d une ressource (machine) : Nous avons utilisé un bloc Process pour simuler le comportement d une machine, sachant que différents modes de fonctionnement sont autorisés. À ce bloc est associé une file d attente qui est caractérisée (configurée) par le bloc Queue, voir les figures suivantes : 76

Chapitre IV Modélisation Booléenne Figure IV. 6. Le bloc Process. Figure IV. 7. Le bloc Queue. 3.2.3. Modélisation de la sortie de l atelier : À la fin d exécution d un job, le calcul de Cmax est effectué dans un bloc Assign. 3.3. Simulation du modèle: 3.3.1. Rappel sur la simulation : «La simulation consiste { faire évoluer une abstraction d un système au cours du temps afin d aider { comprendre le fonctionnement et le comportement de ce système 77

Chapitre IV Modélisation Booléenne et { appréhender certaines de ses caractéristiques dynamiques dans l objectif d évaluer différentes décisions» [Hill, 1993]. En effet, c est est un processus qui consiste { : Concevoir un modèle du système (réel) étudié, Mener des expérimentations sur ce modèle (et non pas des calculs), Interpréter les observations fournies par le déroulement du modèle et formuler des décisions relatives au système. Le but peut être de comprendre le comportement dynamique du système, de comparer de configurations, d évaluer différentes stratégies de pilotage, d évaluer et d optimiser des performances. La simulation permet de répondre à la question : «Qu'obtiendra-t-on si l'on fait ceci?» mais ne permet pas de répondre à la question : «Que faut-il faire pour obtenir cela?». Pour aboutir à une solution intéressante, il faut tester un nombre suffisant de scénarios afin de les comparer et de retenir le plus intéressant. Donc la simulation est une démarche par induction (étude de cas particuliers afin d'aboutir à une conclusion, la plus générale possible). 3.3.2. Simulation des règles de priorités et construction de la population d apprentissage: Les étapes de modélisation et de transcription, est sans doute, les plus critiques du processus de simulation. L'idée de base de la simulation dans notre cas est de simuler le comportement de l atelier en faisant avancer le temps et en chargeant les machines libres par un choix sur les opérations disponibles. Cette démarche implique donc la notion de règles de priorité. Précisons que la simulation a été effectuée sur une machine informatique équipée d un processeur Intel Core (TM) 2 Duo 2 Ghz, disposant de 1,99 Go de mémoire vive, et du système d exploitation Windows XP service pack 2. Nous avons testé un nombre importants d expériences pour chaque machine, et pour chaque expérience nous avons considéré : Les durées opératoires des opérations sur les deux machines ; 78

Chapitre IV Modélisation Booléenne Les dates d arrivée des opérations sur les machines; Les dates d attente des opérations ; Les règles de priorités, pour étudier l influence de ces règles sur le calcul de critère Cmax Après avoir testé quatre règles de priorités, qui sont FIFO «First In First out», LIFO «Last In First out», LAV «Lowest Attribute Value» et HAV «Highest Attribute Value», nous avons obtenu pour chaque règle un scénario dont le Cmax est indiqué, le terme «scénario» signifie un ensemble de valeurs numériques. il s agit d une instanciation complète du modèle de problème. Un exemple de scénario est présenté par les deux Figures IV.8 et IV.9. Figure IV. 8. Scénario correspondant à la règle LIFO. 79

Chapitre IV Modélisation Booléenne Figure IV. 9. Scénario correspondant à la règle FIFO. Le Tableau IV.6 représente un échantillon d apprentissage obtenu par simulation, sur lequel nous souhaitons appliquer un algorithme de fouille de données pour l induction des règles de classification. 80

Chapitre IV Modélisation Booléenne job1 durée entrée attente sortie job2 durée entrée attente sortie règle 1 6 1 3 10 2 4 0 0 4 Fifo 1 6 1 3 10 3 5 0 10 15 Fifo 2 4 0 0 4 3 5 0 10 15 Fifo 3 5 0 0 5 1 6 1 9 16 Fifo 3 5 0 0 5 2 4 0 5 9 Fifo 1 6 1 9 16 2 4 0 5 9 Fifo 1 6 1 3 10 2 4 0 0 4 Lifo 1 6 1 3 10 3 5 1 9 15 Lifo 2 4 0 0 4 3 5 1 9 15 Lifo 3 5 1 0 6 1 6 1 9 16 Lifo 3 5 1 0 6 2 4 0 6 10 Lifo 1 6 1 9 16 2 4 0 6 10 Lifo 1 6 2 2 10 2 4 0 0 4 Lav 1 6 2 2 10 3 5 0 10 15 Lav 2 4 0 0 4 3 5 0 10 15 Lav 3 5 0 0 5 1 6 2 8 16 Lav 3 5 0 0 5 2 4 0 5 9 Lav 1 6 2 8 16 2 4 0 5 9 Lav 1 6 1 3 10 2 4 0 0 4 Hav 1 6 1 3 10 3 5 0 10 15 Hav 2 4 0 0 4 3 5 0 10 15 Hav 3 5 0 0 5 1 6 1 9 16 Hav 3 5 0 0 5 2 4 0 5 9 Hav 1 6 1 9 16 2 4 0 5 9 Hav Tableau IV.6 échantillon d apprentissage obtenu par simulation. 3.3.3. Construction de l arbre de décisions: Plusieurs algorithmes ont été proposés dans la littérature pour la construction d un arbre de décision citons : CART dans les années 1980 par [Breiman & al., 1984], l algorithme ID3 de R. Quinlan proposé en 1986 qui a été raffiné par la suite (C4.5 puis C5) (cf. [Quinlan, 1993]). Ces algorithmes sont très performants : ils construisent rapidement des arbres de décision qui prédisent avec une assez grande fiabilité la classe de nouvelles données. Dans notre étude, dans un premier temps nous avons utilisé l algorithme C4.5 de la plate forme Weka pour la simple raison que cet algorithme prend en charge des attributs quantitatifs. 81

Chapitre IV Modélisation Booléenne Figure IV. 10. Arbre correspondant à l échantillon du tableau IV.6. Nous avons testé un nombre important des échantillons mais les arbres obtenus étaient non significatifs, c'est-à-dire qu ils ne nous offrent pas la solution souhaitée { notre problème. Un exemple d un arbre est illustré par la Figure IV.10. Dans un deuxième temps, nous avons utilisé le module IGSS qui a été développé1 1 afin d intégrer le principe cellulaire [Abdelouhab & Atmani., 2008] et enrichir l environnement graphiques de la plateforme Weka. Il prend en entrée notre échantillon d apprentissage afin de fournir en sortie une base en binaire en appliquant le principe booléen de la machine cellulaire CASI (Cellular Automata for Symbolic Induction). 3.3.4. Expérimentation: Soit Ώ = {w 1, w 2,.., w 25 } l ensemble des observations concernées par le problème de job shop présenté précédemment et X = {X 1, X 2, X 3 } un ensemble d attributs appelées descripteurs pour chaque observation avec : 1 Au sein de notre équipe de recherche SIF «Simulation, Intégration et Fouille de données». 82

Chapitre IV Modélisation Booléenne 1. X1 : Durée : durée opératoire d un job J i, qui prend les valeurs : D 1 : si la durée opératoire du job 1 est égale à la durée opératoire du job2 ; D 2 : si la durée opératoire du job 1 est supérieur à la durée opératoire du job2 ; D 3 : si la durée opératoire du job 1 est inférieur à la durée opératoire du job2. 2. X 2 : Entrée : le temps d entré d un job J i sur une machine, qui prend les valeurs : E 1 : si le temps d entré du job 1 est identique à celui du job2 ; E 2 : si le job 1 accède à la machine avant le job2 ; E 3 : si le job 2 accède à la machine avant le job1. 3. X 3 : Attente : le temps d attente d un job J i sur une machine, qui prend les valeurs : A 1 : si le temps d attente du job 1 est identique { celui du job2 ; A 2 : si le temps d attente du job 1 est supérieur à celui du job2 ; A 3 : si le temps d attente du job 1 est inférieur { celui du job2. La variable à prédire Y, est une règle de priorité qui prend ses valeurs dans l ensemble des règles C = {Fifo, Lifo, Lav, Hav}, avec : Y : Ώ C {Fifo, Lifo, Lav, Hav} W i Y(W i ) = c j Le Tableau IV.7 représente l échantillon d apprentissage après avoir appliqué cette codification. 83

Chapitre IV Modélisation Booléenne durée entrée attente règle D2 E3 A2 Fifo D2 E3 A3 Fifo D3 E1 A3 Fifo D3 E2 A3 Fifo D2 E1 A3 Fifo D2 E3 A2 Fifo D2 E3 A2 Lifo D2 E1 A3 Lifo D3 E2 A3 Lifo D3 E1 A2 Lifo D2 E3 A2 Lifo D2 E3 A3 Lifo D2 E3 A2 Lav D2 E3 A3 Lav D3 E1 A3 Lav D3 E2 A3 Lav D2 E1 A3 Lav D2 E3 A2 Lav D2 E3 A2 Hav D2 E3 A3 Hav D3 E1 A3 Hav D3 E2 A3 Hav D2 E1 A3 Hav D2 E3 A2 Hav Tableau IV.7 échantillon d apprentissage codifiée. 3.3.5. Construction d un graphe d induction et génération des règles conjonctives : Nous utilisons l outil IGSS, pour la partie arbre de décision et génération des règles. À partir de notre échantillon d apprentissage issu de la simulation de notre atelier, nous appliquons le principe de la machine cellulaire par le module IGSS. Ce dernier aide { l extraction des règles conjonctives, qui seront insérées dans la base de règles de la machine CASI [Atmani, & Beldjilali., 2007] (Cellular Automata for Symbolic Induction). 84

Chapitre IV Modélisation Booléenne Figure IV. 11. Construction de l arbre de décision par IGSS. Figure IV. 12. Génération des règles conjonctives par IGSS. 85

Chapitre IV Modélisation Booléenne L interprétation des règles est comme suit : R1: IF (Attente = A2 ) => Lifo Si si le temps d attente du job 1 est supérieur { celui du job2 alors la règle { appliquée est LIfo. R2: IF (Durée= D3 et Entrée= E1 et Attente = A3) => Fifo Si la durée opératoire du job 1 est supérieur à la durée opératoire du job2 Et si le temps d attente du job 1 est inférieur { celui du job2 Alors appliquer Fifo. R3: IF (Durée= D2 et Attente = A3) => Fifo. Si la durée opératoire du job 1 est supérieur à la durée opératoire du job2 Et si le temps d entré du job 1 est identique { celui du job2 Et si le temps d attente du job 1 est inférieur à celui du job2 Alors appliquer Fifo. En exploitant les différentes valeurs d attributs des jobs, nous avons réussi à extraire trois règles d ordonnancement utiles et porteuses d information qui n ont pas été implicite au préalable. Le Figure IV.13 représente un autre ensemble de règles conjonctives issu d un autre échantillon d apprentissage. Figure IV. 13. Génération d un autre ensemble de règles conjonctives par IGSS. 86