Ingénierie d’aide à la décision Maria Malek 1er septembre 2009 1 Objectifs et débouchés Nous proposons dans cette option deux grands axes pour l’aide à la décision : 1. La recherche opérationnelle ; 2. L’exploration de données. La Recherche Opérationnelle nous permet de proposer des méthodes scientifiques, combinant techniques de développement informatique, outils mathématiques, processus de modélisation et connaissance du Génie Industriel, afin de traiter des problèmes d’optimisation, d’aide à la décision et d’évaluation de performances liées aux organisations et procédés du monde réel. Les principales applications concernent les transports, l’aide à la mobilité, les télécommunications, les systèmes de production, les procédés industriels. Les outils et modèles associés sont ceux du développement informatique (technologies objet, systèmes d’information, outils de simulation, bibliothèques d’optimisation ou de gestion de contraintes, etc.), de l’optimisation continue ou combinatoire (graphes, ordonnancement, complexité algorithmique, approximation, etc.), de la programmation mathématique (programmation linéaire, entière, mixte, quadratique, convexe, etc.), du calcul stochastique (files d’attente, stratégies dans l’incertain, etc.), de l’aide à la décision (optimisation multi-critère, théorie des jeux, modélisation micro-économique, etc.). L’exploration de données a pour but la découverte d’informations intéressantes, utiles dans les très grandes bases de données. L’énorme croissance de la taille des bases de données scientifiques et commerciales actuellement disponibles, ainsi que la croissance aussi rapide des performances des ordinateurs nécessitent des outils de traitement adaptés et performants. Le domaine de la fouille de données proposent des méthodes et des techniques mathématiques adaptées pour la résolution de ces classes de problèmes. Elles permettent de définir la précision de l’énoncé de l’objectif poursuivi (e.g. le critère de classification ou la mesure de discrimination) ainsi que la formulation des contraintes imposées à la solution (e.g. trouver une partition, un recouvrement ou une hiérarchie). Nous mettons en œuvre ainsi, des outils mathématiques puissants pour construire des algorithmes très performants. 1 1.1 Débouchés Professionnels 1.1 Débouchés Professionnels L’objectif principal est de former des scientifiques possédant une connaissance solide sur les techniques avancées de l’exploration des données ainsi que la recherche opérationnelle. Les compétences de ces scientifiques, peuvent être utilisées tout à la fois en recherche et développement ou en étude dans de nombreux secteurs d’activités. Les diplômés peuvent être employés comme directeurs de projets, concepteurs d’outils logiciels spécialisés, ingénieurs de recherche et de développement, ou consultants dans certains secteurs : Aéronautique, Automobile, Énergie, Laboratoires, Banques, Assurances, Informatique d’applications et de services. 1.2 Métiers Les métiers pratiqués seront : – Ingénieurs employés par des éditeurs de logiciels, des SSII, et des services internes à de grandes entreprises. – Ingénieurs des entreprises, concepteurs ou utilisateurs d’outils de calcul, d’évaluation de performances, d’aide à la décision, de prévision. – Ingénieurs de recherche et de développement, directeurs de projets en informatique ou consultants. 1.3 Entreprises concernés – Entreprises Editeurs de logiciels : SAS,Ilog, BO, Oracle,etc. – SSII : Cap Gemini, Sopra, Unilog,etc. – Services internes de grandes entreprises : Secteur Manufacturier, Transports, Télécommunications, Secteur pétrolier, etc. – Entreprises françaises qui ont un pôle R&D en RO : – Airfrance – SNCF – EDF/GDF – France Telecom – Bouygues – Bouygues Telecom – Amadeus 2 La recherche opérationnelle Le Recherche Opérationnelle (RO) est la discipline des méthodes scientifiques utilisables pour élaborer de meilleures décisions. Elle permet de rationaliser, de simuler et d’optimiser l’architecture et le fonctionnement des systèmes de production ou d’organisation. La RO propose des modèles pour analyser des situations complexes et permet aux décideurs de faire les choix les plus efficaces grâce à : – une meilleure compréhension des problèmes, 2 2.1 Cours fondamentaux – une vision complète des données, – la considération de toutes les solutions possibles, – des prédictions prudentes de résultats incluant une évaluation des risques, – des outils et des méthodes modernes d’aide à la décision. Les apports de la RO très utiles dans les domaines les plus divers : de l’organisation des lignes de production de véhicules à la planification des missions spatiales, de l’optimisation des portefeuilles bancaires , etc. 2.1 Cours fondamentaux 1. Programmation linéaire - 20H. 2. Théorie de la complexité - 15H. 3. Modèles décisionnels - 20H. 4. Programmation par contraintes et ordonnancement - 30H. 5. Modélisation de préférences - aide multicritère à la décision - 30H. 6. Théorie de graphes et application - 30H. 2.1.1 Programmation linéaire - 20H Objectif Des problèmes concrets issus de domaines divers peuvent être formulés comme des programmes linéaires. Le but de ce cours est d’étudier la modélisation et les méthodes de résolution de ces problèmes, basées sur la programmation linéaire et la programmation en nombres entiers. Contenu 1. Méthode du simplexe, méthode révisée du simplexe. 2. Dualité, méthode duale du simplexe, interprétation économique. 3. Modèles de programmes en nombres entiers, méthode par séparation et évaluation. 4. Relations min-max, séparation et optimisation, méthode de coupes. 2.1.2 Théorie de la complexité - 15H Objectif Les différentes classes de complexité des problèmes d’optimisation combinatoire sont présentées. Les différents types d’algorithmes approchés pour résoudre les problèmes ainsi que les liens entre complexité et approximation seront également étudiés. Contenu 1. Performance d’un algorithme approché, algorithmes gourmands, schémas d’approximation, 2. Classes de problèmes. 3 2.2 Cours spécialisés & Applications 2.1.3 Modèles décisionnels - 20H Objectif Le modèles de comportement décisionnel, individuel et collectif de la RO et de l’lA sont présentés, ainsi que les outils d’analyse. 2.1.4 Programmation par contraintes et ordonnancement - 30H. Objectif Les modèles et Les méthodes utilisés en pratique pour résoudre des problèmes d’ordonnancement d’ateliers et de services sont étudiés. Contenu 1. Modélisation et résolution de problèmes à l’aide de la programmation par contraintes. 2. Types de contraintes, principaux algorithmes et heuristiques de résolution. 3. La fonction ordonnancement en entreprise 4. Procédures par séparation et évaluation : application au problème d’ordonnancement à cheminements multiples. 5. Modélisation mathématique et ordonnancement : application à des problèmes d’emploi du temps. 2.1.5 Modélisation de préférences - aide multicritère à la décision - 30H. Contenu 1. Concepts fondamentaux en modélisation des préférences et aide multicritère à la décision. 2. Théorie du choix social, procédures de vote , résultats fondamentaux. 3. Désagrégation dans le cadre du critère unique de synthèse et des méthodes de comparaison par paires. 4. Mesurage, théorie de la signifiance. 5. Prise en compte de données ordinales, qualitatives. 6. Optimisation combinatoire multicritère, approximation de l’ensemble des solutions efficaces. 2.1.6 Théorie de graphes et application - 30H Contenu 1. Graphes : concepts de théorie des graphes, 2. Etude approfondie de problèmes classiques de cheminement, arbre, flot, couplage,etc. 3. Extensions k-meilleures solutions et multi-objectifs de certains de ces problèmes. 4. etc. 2.2 Cours spécialisés & Applications 1. Prise de décision et incertitude - 20H 2. Méthodologies et application en décision - 20H 4 2.2.1 Prise de décision et incertitude - 20H Contenu 1. Rappel de la théorie des probabilités, Bayes, arbres de décision. 2. Modèles non classiques de l’incertain. 3. Théorie de la décision qualitative ; 4. Réseaux bayésiens. 5. Applications. 2.2.2 Méthodologies et application en décision - 20H Objectif Le but étant de se familiariser avec des outils (programmation et manipulation de logiciels) nécessaires à la résolution sur machine des problèmes de taille réelle. Ce module est également l’occasion de sensibiliser à la diversité des applications possibles. 3 L’exploration des données Nous nous intéressons aux classes de problèmes suivants : La discrimination ou classification supervisée : il s’agit de construire une fonction qui sépare au mieux les bonnes et les mauvaises entités d’un ensemble donné, et classifie aussi correctement que possible de nouvelles entités. La classification automatique ou classification non supervisée : il s’agit de trouver des sous-ensembles d’un ensemble d’entités donné qui soient homogènes (selon un critère de similarité) et bien séparés. Découvertes de relations : étant donné un ensemble d’entités et des mesures ou observations faites sur ces entités, il s’agit de trouver des relations satisfaites entre la plus grande part, d’entre elles. Analyse de réseaux sociaux : étant donné un ensemble d’acteurs ainsi que les relations entre eux, il s’agit de découvrir les rôles associés aux acteurs, d’établir les communautés au sein du réseau, etc. 3.1 Cours fondamentaux 1. Fouilles de données (Data Mining) & Application - 20H 2. Apprentissage statistique - 30H. 3. Réseaux de neurones - 30H. 4. Apprentissage automatique - 30H. 5 3.1 Cours fondamentaux 3.1.1 Analyse statistique des données - 30H Contenu 1. Description unidimensionnelle de données, Médiane, Moyenne, Mode, Étendue, Intervalle interquartile, Variance et écart-type ; 2. Description bi-dimensionnelle et mesures de liaison entre variables, Coefficient de corrélation, Matrice de corrélation ; 3. Description multi-dimensionnelle de données, Analyse en composantes principales, Analyse discriminante, Analyse des correspondances, Analyse des données temporelles et évolutives 3.1.2 Fouilles de données (Data Mining) - 20H Objectif L’objectif de ce cours est de présenter les algorithmes de fouille de données et d’extraction de connaissances. Une méthodologie de comparaison entre les différentes techniques est développée. Contenu 1. Introduction aux fouilles de données 2. Techniques de l’extraction de connaissances à partir de données (a) Apprentissage supervisé – Arbre de décision et régression. – Bayésien naif. – Réseaux bayésiens. (b) Apprentissage non supervisé – Règle d’associations et motifs fréquents. – Classification ascendante hiérarchique. 3. Application : Web Mining 3.1.3 Apprentissage statistique - 30H Contenu 1. Estimation à partir de données, 2. Minimisation du risque empirique (ERM), Consistance de l’approche ERM, Dimension VC, 3. Minimisation du risque structurel (SRM), 4. Machines à Vecteurs de Support (SVM), hyperplan séparateur optimal, cas non séparable, SVM comme classificateur, SVM multi-classes, SVM comme régresseur, 5. Modèles stochastiques, propriétés de Markov, modèles de Markov cachés (HMM), apprentissage. 6 3.2 Différents types de fouilles de données 3.1.4 Réseaux de neurones - 30H Contenu 1. Introduction aux Réseaux de Neurones et au logiciel SNNS. 2. Aspects Formel des Réseaux de Neurones. Régression Linéaire. 3. Perceptron : Perceptron multi-couches. 4. Les Réseaux RBF. 5. Adaline et Perceptron multi-couches. 6. Réseaux récurrents. 7. Adaptative Resonance Theorie. 8. Architecture de Hopfield. Architecture de Kohonen 9. Projet. Méthodes et moyens pédagogiques Cours magistraux, travaux dirigés, travaux pratiques et projet. Logiciel de simulation SNNS. 3.1.5 Apprentissage automatique - 30H Contenu 1. Méthodes symboliques : – Formulation d’un problème d’apprentissage symbolique, Les solutions dans un espace partiellement ordonné : l’espace des versions, Elimination des candidats, – Extension au cas des données incomplètes, Biais de langage, Critères de préférence d’une solution : recherche heuristique d’une meilleure solution. – Méthodes descendantes et opérateurs de spécialisation, Méthodes ascendantes et opérateurs de généralisation, – Utilisation de connaissances et réduction de l’espace de recherche. – Représentations en logique de prédicats : la programmation logique inductive, Apprentissage explicatif/descriptif, Apprentissage de prédicats (FOIL). 2. Méthodes sub-symboliques : – Les algorithmes génétiques. – Les systèmes classifieurs. – Apprentissage par renforcement et planification. 3.2 Différents types de fouilles de données 1. Fouille de données textuelles - 15H. 2. Fouille de données visuelles - 15H. 3. Analyse de réseaux sociaux - 30H. 7 3.3 Outils & Applications 3.2.1 Fouille de données textuelles - 20H Contenu 1. Choix des unités de décompte, segmentation et numérisation d’un texte, fréquence, 2. mesures de la richesse du vocabulaire, les segments répétés, recherche de co-occurrences, 3. classification des éléments d’un tableau lexical, classification des fichiers d’enquêtes, 4. typologies, visualisation, séries textuelles chronologiques, analyse des correspondances textuelle, analyse discriminante textuelle. 3.2.2 Fouille de données visuelles - 20H Contenu 1. Acquisition et restitution de données visuelles, 2. Méthodes de base du traitement de données visuelles statiques, échantillonnage bi-dimensionnel, quantification, transformation de Fourier, filtrage et pré-traitement, 3. Restauration , Réduction de redondance, compression, compactage, 4. Extraction de contour, Segmentation, Reconnaissance d’objets, Indexation et recherche par le contenu. 3.2.3 Analyse de réseaux sociaux - 30H Contenu 1. Fondements : Acteurs, Relations, Représentation par graphes et/ou matrices. 2. Exemple : le petit monde, les communautés sur internet, etc. 3. Calculs en analyse de réseaux sociaux : – Centralité de degré, Centralité d’intermédiarité, Centralité de Proximité. – Centralité de prestige, Centralisation de pouvoir. – Clustering coefficient, Degré de cohésion, Degré de densité. – Longueur du chemin, Radiality, Reach. – Équivalence structurale, Trou structural, Multiplexité. 3.3 Outils & Applications 1. Visualisation des données - 30H. 2. E-Commerce & CRM (Customer Relations Management)- 30H. 3.3.1 Visualisation des données - 30H Contenu 1. Outils élémentaires de visualisation en statistique descriptive, données numériques, données symboliques, données complexes ; 2. cartes factorielles, représentation de graphes, représentation tridimensionnelle ; 3. utilisation de techniques de réalité virtuelle pour la fouille de données. 8 3.3 Outils & Applications 3.3.2 E-Commerce & CRM (Customer Relations Management) - 30H Contenu 1. Cycle de vie du client : Prospect, Réactive, Client active, etc. 2. Techniques de Fouilles de données (analyse de logs) pour : – Déterminer le profil utilisateur pour un cycle de vie données. – Comparer les profils similaires afin d’en conclure des comportements similaires. – Intégration des techniques des réseaux sociaux pour la découverte de communautés. 9