Manuel du propriétaire | PALISADE RISKOPTIMIZER 5.5 Manuel utilisateur
Ajouter à Mes manuels240 Des pages
▼
Scroll to page 2
of
240
Guide d’utilisation RISKOptimizer Optimisation de simulation pour Microsoft Excel Version 5.5 mars, 2009 Palisade Corporation 798 Cascadilla St. Ithaca, NY USA 14850 +1-607-277-8000 +1-607-277-8001 (fax) http://www.palisade.com (site Web) sales@palisade.com (courriel) Avis de copyright Copyright © 2009, Palisade Corporation. Marques déposées Microsoft, Excel et Windows sont des marques déposées de Microsoft, Corporation IBM est une marque déposée d’International Business Machines, Inc. Palisade, RISKOptimizer, TopRank, BestFit et RISKview sont des marques déposées de Palisade Corporation. RISK est une marque commerciale de Parker Brothers, une division de Tonka Corporation, exploitée sous licence. Table des matières Chapitre 1 : Introduction 1 Introduction .........................................................................................3 Installation .........................................................................................11 Chapitre 2 : Principes 15 Qu’est-ce que RISKOptimizer ? ......................................................17 Optimisation conventionnelle vs optimisation par simulation ....27 Chapitre 3 : RISKOptimizer : Pas à pas 36 Introduction .......................................................................................38 Visite guidée......................................................................................40 Chapitre 4 : Applications types 64 Introduction .......................................................................................66 Allocation budgétaire .......................................................................68 Planification de capacité..................................................................70 Planificateur de classes ...................................................................72 Couverture sur contrats à terme.....................................................76 Ordonnancement multigamme........................................................78 Équilibrage de portefeuille...............................................................80 Composition de portefeuille ............................................................82 Risque de portefeuille ......................................................................84 Table des matières i Problème de voyageur de commerce ............................................ 86 Gestion du rendement ..................................................................... 88 Chapitre 5 : Guide de référence RISKOptimizer 90 Commande Définition du modèle ................................................... 92 Commande Paramètres d’optimisation – Onglet Général ......... 119 Commande Paramètres d’optimisation – Onglet Temps d’exécution .................................................................................. 123 Commande Paramètres d’optimisation – Onglet Affichage ...... 127 Commande Paramètres d’optimisation – Onglet Macros .......... 129 Commande Démarrer l'optimisation ............................................ 132 Commandes Utilitaires .................................................................. 134 Suivi RISKOptimizer....................................................................... 135 Chapitre 6 : Optimisation 150 Chapitre 7 : Algorithmes génétiques 165 Introduction .................................................................................... 167 Histoire ............................................................................................ 167 Exemple biologique ....................................................................... 171 Exemple numérique ....................................................................... 173 Chapitre 8 : Simulation et analyse de risque 177 Introduction .................................................................................... 179 Définition du risque........................................................................ 179 Modélisation de l’incertitude dans RISKOptimizer..................... 185 Analyse d’un modèle avec simulation ......................................... 189 ii Chapitre 9 : Et aussi… 191 Ajout de contraintes .......................................................................193 Accélération du processus............................................................203 Mode d’exécution de l’optimisation RISKOptimizer ...................205 Annexe A : Automatisation de RISKOptimizer 209 Annexe B : Dépannage / Questions-Réponses 211 Dépannage / Questions-Réponses ...............................................211 Table des matières Annexe C : Ressources complémentaires 215 Glossaire 221 Index 230 iii iv Chapitre 1 : Introduction Introduction .........................................................................................3 Pourquoi RISKOptimizer ? ....................................................................3 Problèmes d’optimisation conventionnels ............................3 Optimisation de modèles incertains .......................................4 Modéliser l’incertitude ..............................................................4 Optimisation par simulation ....................................................5 Résultats de la simulation.........................................................6 Applications personnalisées et RISKOptimizer...................6 Applications de l’optimisation par simulation sous RISKOptimizer ...........................................................................6 Avant de commencer ...............................................................................7 Éléments du progiciel..............................................................................7 À propos de cette version........................................................................7 Votre contexte d’exploitation.................................................................8 Si vous avez besoin d’aide......................................................................8 Avant d’appeler...........................................................................8 Contacter Palisade ......................................................................9 Versions étudiants....................................................................10 Configuration requise ...........................................................................10 Installation .........................................................................................11 Généralités ..............................................................................................11 Désinstallation de RISKOptimizer .......................................11 DecisionTools Suite...............................................................................12 Configuration des icônes ou raccourcis de RISKOptimizer ..........12 Messages d’avertissement de sécurité des macros au démarrage...........................................................................................13 Renseignements complémentaires .....................................................14 Fichier Lisezmoi de RISKOptimizer.....................................14 RISKOptimizer:Didacticiel ....................................................14 Apprendre RISKOptimizer..................................................................14 Chapitre 1 : Introduction 1 2 Introduction Introduction RISKOptimizer combine la simulation et l’optimisation pour permettre l’optimisation de modèles contenant des facteurs incertains. À travers les puissantes techniques d’optimisation par algorithmes génétiques et la simulation Monte Carlo, RISKOptimizer identifie les solutions optimales aux problèmes impossibles à résoudre pour les optimiseurs linéaires et non linéaires. RISKOptimizer combine la technologie de la simulation de @RISK, le compagnon Palisade d’analyse du risque, à celle d’Evolver, le solveur Palisade par algorithmes génétiques. Pour les utilisateurs de @RISK et d’Evolver ou du Solveur Excel, RISKOptimizer n’aura guère de secrets. Ce Guide de l’utilisateur RISKOptimizer présente une introduction au programme et aux principes qui le sous-tendent. Vous y trouverez aussi plusieurs exemples d’application des technologies d’algorithme génétique et de simulation uniques de RISKOptimizer. Ce manuel peut aussi servir de guide de référence complet et pleinement indexé, avec description et illustration de chaque fonctionnalité de RISKOptimizer. Pourquoi RISKOptimizer ? RISKOptimizer permet l’optimisation de tout un éventail de problèmes sinon exclus de la technique. Avec RISKOptimizer, il est possible de trouver des solutions optimales même aux problèmes qui présentent des variables incontrôlables dont les valeurs vous sont inconnues. Les optimiseurs actuels tels que Solveur (optimiseur linéaire et non linéaire intégré à Excel) et Evolver (optimiseur à algorithmes génétiques de Palisade Corporation) sont impuissants face aux plages de valeurs possibles entrées pour les facteurs incertains d’un modèle. Problèmes d’optimisation conventionnels Les problèmes d’optimisation Excel conventionnels analysés à l’aide de Solveur ou d’Evolver se composent des éléments suivants : • une cellule de sortie ou « cible » à minimiser ou maximiser • un ensemble de cellules en entrée ou « cellules ajustables » dont vous contrôlez les valeurs, • un ensemble de contraintes à respecter, souvent exprimées à l’aide d’expressions telles que COÛTS<100 ou A11>=0. Chapitre 1 : Introduction 3 Lors de l’optimisation par Solveur ou Evolver, les cellules ajustables changent de valeur selon les plages admises que vous précisez. Pour chaque ensemble possible de valeurs de cellules ajustables, le modèle se recalcule et une nouvelle valeur est générée pour la cellule cible. En fin d’optimisation, une solution (ou combinaison de valeurs de cellules ajustables) optimale est proposée. Cette solution représente la combinaison des valeurs de cellules ajustables qui produit la valeur optimale (minimum ou maximum) de la cellule cible tout en respectant les contraintes définies. Optimisation de modèles incertains Lorsqu’un modèle comporte des éléments incertains, toutefois, Solveur et Evolver sont impuissants. Dans le passé, beaucoup de modèles d’optimisation omettaient simplement l’incertitude. Optimisables, ces modèles perdaient cependant leur caractère réaliste. Le cas échéant, les tentatives de recherche des valeurs optimales par simulation s’effectuaient selon une approche de « force brute », avec recherche de toutes les valeurs de cellules ajustables possibles sur base itérative. Il fallait procéder à une simulation initiale, changer une ou plusieurs valeurs, réexécuter la simulation et répéter le processus jusqu’à trouver ce qui semblait être une solution optimale. Le processus est long, et la manière de changer les valeurs d’une simulation à la suivante n’est généralement pas claire. RISKOptimizer permet en revanche d’inclure l’incertitude présente dans un modèle et de produire des solutions optimales fiables qui en tiennent compte. RISKOptimizer fait appel à la simulation (de @RISK) pour gérer l’incertitude du modèle et aux algorithmes génétiques (d’Evolver) pour générer les valeurs possibles des cellules ajustables. Le résultat de cette « simulation-optimisation » est la combinaison des valeurs de cellules ajustables qui minimise ou maximise une statistique pour les résultats de simulation de la cellule cible. On peut, par exemple, trouver la combinaison de valeurs de cellules ajustables qui maximise la moyenne de la distribution de probabilités de la cellule cible, ou qui minimise l’écart type. Modéliser l’incertitude 4 Pour modéliser l’incertitude, RISKOptimizer permet de décrire les valeurs possibles de tout élément de tableur à l’aide de l’une quelconque des fonctions de distribution de probabilités disponibles sous @RISK. La valeur 10 d’une cellule pourrait par exemple être remplacée par la fonction @RISK =RiskNormal(10;2). Les valeurs possibles de la cellule seraient ainsi décrites par une distribution de probabilités caractérisée par une moyenne de 10 et un écart type de 2. Comme dans @RISK, les distributions de probabilités peuvent être corrélées à l’aide de fonctions @RISK telles que RiskCorrmat et DepC. Introduction Optimisation par simulation Lors de l’optimisation, RISKOptimizer exécute une simulation complète de chaque solution itérative possible générée par l’optimiseur AG. À chaque itération de la simulation, les fonctions de distribution de probabilités introduites dans le tableur sont échantillonnées et une nouvelle valeur est générée pour la cellule cible. En fin de simulation, le résultat de la solution itérative représente la statistique de la cellule cible à minimiser ou maximiser. Cette valeur est ensuite renvoyée à l’optimiseur et aux algorithmes génétiques pour la génération de meilleures solutions encore. Pour chaque nouvelle solution itérative, une nouvelle simulation s’exécute, avec génération d’une nouvelle valeur pour la statistique cible. À l’image des optimiseurs conventionnels, RISKOptimizer gère les contraintes. Les contraintes peuvent être évaluées à chaque itération d’une simulation (contraintes d’« itération ») ou à la fin de chaque simulation (contraintes de « simulation »). Les contraintes d’itération sont généralement des contraintes de style Solveur ou Evolver (A11>1000, par exemple). Celles de simulation font plutôt référence à une statistique de la distribution des résultats de simulation pour une cellule spécifiée du modèle. Une contrainte de simulation type serait, par exemple, « Moyenne de A11>1000 », indiquant que la moyenne de la distribution des résultats de simulation pour la cellule A11 doit être supérieure à 1000. Comme dans Evolver, les contraintes peuvent être fermes ou souples et la violation d’une contrainte ferme donne lieu au rejet d’une solution itérative. Pour faire face aux grands nombres de simulations exécutées, RISKOptimizer tire parti de deux techniques importantes pour minimiser les temps d’exécution et produire ses solutions optimales aussi rapidement que possible. En premier, RISKOptimizer applique la surveillance de convergence pour déterminer le moment où un nombre suffisant (non excessif) d’itérations a été exécuté. Cette technique assure la stabilité de la statistique résultant de la distribution de probabilités de la cellule cible, de même que celle des statistiques de distributions de sortie éventuellement référencées dans les contraintes. Ensuite, RISKOptimizer fait appel aux opérateurs génétiques d’Evolver pour générer des solutions itératives qui évoluent vers la solution optimale aussi rapidement que possible. Chapitre 1 : Introduction 5 Résultats de la simulation RISKOptimizer s’accompagne d’un ensemble de fonctions statistiques de simulation qui renvoient directement les résultats au tableur. Par exemple, la fonction RiskMean(réf. cell.) renverrait la moyenne de la distribution simulée pour la cellule entrée directement à une cellule ou formule de la feuille de calcul. Mieux encore, un modèle élaboré sous RISKOptimizer peut être simulé directement sous @RISK, le compagnon d’analyse du risque et de simulation pour Excel publié par Palisade Corporation, pour la production de graphiques et statistiques détaillés de la meilleure solution identifiée par RISKOptimizer. La simulation sous RISKOptimizer repose sur la méthodologie @RISK : aucune modification ne doit donc être apportée au modèle RISKOptimizer pour le simuler sous @RISK ! Applications personnalisées et RISKOptimizer RISKOptimizer est assorti d’un langage macro intégral qui permet l’élaboration d’applications personnalisées tirant parti de ses capacités. Les fonctions personnalisées de RISKOptimizer sont exploitables en VBA pour la configuration et l’exécution d’optimisations et l’affichage de leurs résultats. Pour plus de détails sur cette interface de programmation, voir le document d’aide Kit du développeur RISKOptimizer, accessible à travers le menu d’aide de RISKOptimizer. Applications de l’optimisation par simulation sous RISKOptimizer La capacité d’optimisation de modèles incertains apporte une solution à de nombreux problèmes jusque là considérés comme « inoptimisables ». En règle générale, la combinaison de la simulation et de l’optimisation permet d’optimiser tous les modèles sujets à l’incertitude. Notamment : 6 ♦ Sélection de niveaux de production et de capacité optimaux pour les nouveaux produits confrontés à des conditions de marché incertaines. ♦ Identification de niveaux de stocks optimaux face à une demande incertaine. ♦ Allocation de portefeuille propice à la minimisation du risque. ♦ Identification d’une gamme de production optimale en présence de marchés géographiquement distincts et de niveaux de demande incertains. ♦ Détermination des niveaux optimaux d’achat d’options dans les opérations financières de couverture. ♦ Gestion du rendement lorsqu’un même produit est vendu à prix différents sous restrictions distinctes. ♦ Planification en présence de durées de tâches incertaines. Introduction Avant de commencer Avant d’installer et de démarrer RISKOptimizer, vérifiez que votre progiciel contient bien tous les éléments nécessaires et que votre ordinateur satisfait aux exigences de configuration minimales requises. Éléments du progiciel RISKOptimizer accompagne la version @RISK Industrial, ainsi que la version DecisionTools Suite Industrial. Outre les fichiers de @RISK pour Excel, le CD-ROM @RISK Industrial contient le compagnon RISKOptimizer pour Excel, plusieurs exemples d’application de RISKOptimizer et un système d’aide RISKOptimizer en ligne indexé. La version DecisionTools Suite Industrial contient tous les éléments ci-dessus et d’autres applications encore. À propos de cette version Cette version de RISKOptimizer peut être installée en tant que programme 32 bits pour Microsoft Excel 2000 ou version ultérieure. Chapitre 1 : Introduction 7 Votre contexte d’exploitation Les descriptions contenues dans ce guide présupposent une connaissance générale du système d’exploitation Windows et du tableur Excel, notamment : ♦ familiarité avec l’ordinateur et la souris ♦ compréhension des termes icônes, cliquer, double-clic, menu, fenêtre, commande, objet, etc. ♦ notions élémentaires de structure de répertoires et désignation des fichiers Si vous avez besoin d’aide Un service d’assistance technique est proposé gratuitement à tous les utilisateurs enregistrés de RISKOptimizer dotés d’un plan de maintenance à jour, ou sur forfait à l’incident. Pour assurer que vous êtes bien un utilisateur enregistré de RISKOptimizer, enregistrezvous en ligne sur http://www.palisade.com/support/register.asp. Si vous nous contactez par téléphone, soyez prêt à nous communiquer le numéro de série de vos outils et gardez votre guide d’utilisation à portée de main. Nous pourrons vous être d’une meilleure assistance si vous vous trouvez face à votre ordinateur, prêt à exécuter les commandes du programme. Avant d’appeler 8 Avant d’appeler le service d’assistance technique, passez en revue la liste de contrôle suivante : • Avez-vous consulté l’aide en ligne ? • Avez-vous consulté ce manuel et passé en revue le didacticiel multimédia en ligne ? • Avez-vous consulté le fichier LISEZMOI.WRI ? Il contient des informations sur RISKOptimizer non disponibles lors de l’impression du manuel. • Pouvez-vous reproduire le problème de manière constante ? Pouvezvous reproduire le problème sur un autre ordinateur ou avec un autre modèle ? • Avez-vous consulté notre site Web, à l’adresse http://www.palisade.com ? Vous y trouverez notre dernier fichier FAQ (base de données consultable de questions et réponses techniques) et les correctifs RISKOptimizer dans la section de support technique. Il est utile de consulter régulièrement notre site pour obtenir les dernières informations publiées sur RISKOptimizer et sur les autres logiciels Palisade. Introduction Contacter Palisade Vos questions, commentaires ou suggestions relatifs à RISKOptimizer sont les bienvenus ! Vous pouvez prendre contact avec notre personnel d’assistance technique par l’une des méthodes suivantes : • Courriel : support@palisade.com • Téléphone : +1-607-277-8000, du lundi au vendredi, de 9 à 17 heures, heure de l’Est des États-Unis. Suivez les instructions données pour joindre l’Assistance technique (Technical Support). • Fax : +1-607-277-8001 • Adresse postale : Technical Support Palisade Corporation 798 Cascadilla St. Ithaca, NY 14850 USA Palisade Europe : • Courriel : support@palisade-europe.com • Téléphone : +44 1895 425050 (Royaume-Uni) • Fax : +44 1895 425051 (Royaume-Uni). • Adresse postale : Palisade Europe 31 The Green West Drayton Middlesex UB7 7PN Royaume-Uni Palisade Asie-Pacifique : • Courriel : support@palisade.com.au • Téléphone : +61 2 9929 9799 (Australie) • Fax : +61 2 9954 3882 (Australie) • Adresse postale : Palisade Asia-Pacific Pty Limited Suite 101, Level 1 8 Cliff Street Milsons Point NSW 2061 Australie Quelle que soit la méthode choisie, veillez à indiquer le nom de votre produit, sa version et son numéro de série. La version exacte de votre produit est indiquée sous la commande Aide, À propos de… du menu RISKOptimizer proposé dans Excel. Chapitre 1 : Introduction 9 Versions étudiants L’assistance téléphonique n’est pas disponible pour la version étudiants de RISKOptimizer. Si vous avez besoin d’aide, procédez de l’une des manières suivantes : ♦ Consultez votre professeur ou assistant. ♦ Consultez le fichier FAQ sur http://www.palisade.com. ♦ Adressez-vous au service d’assistance technique par courriel ou par fax. Configuration requise RISKOptimizer – Configuration requise 10 • PC Pentium ou mieux avec disque dur. • Microsoft Windows 2000 SP4 ou mieux. • Microsoft Excel, version 2000 ou ultérieure. Introduction Installation RISKOptimizer, compagnon de Microsoft Excel, enrichit la fonctionnalité du tableur moyennant l’ajout de commandes à ses barres de menus. Généralités Le programme d’installation copie les fichiers système RISKOptimizer dans un répertoire spécifié du disque dur. Sous Windows 2000 ou version ultérieure : 1) Insérez le CD-ROM de la version @RISK Industrial ou DecisionTools Suite Industrial dans le lecteur CD-ROM. 2) Cliquez sur le bouton Démarrer, puis sur Paramètres et enfin sur Panneau de configuration. 3) Cliquez deux fois sur l’icône Ajout/Suppression de programmes. 4) Cliquez sur le bouton Installer de l’onglet Installation/désinstallation. 5) Suivez les instructions d’installation affichées à l’écran. En cas de problème, vérifiez que vous disposez d’un espace suffisant sur le disque prévu pour l’installation. Après avoir libéré l’espace disque requis, essayez de réexécuter l’installation. Suppression de RISKOptimizer Pour désinstaller RISKOptimizer (avec le reste de la version @RISK Industrial ou DecisionTools Suite Industrial), utilisez l’utilitaire Ajout/Suppression de programmes du Panneau de configuration et sélectionnez l’entrée correspondant à @RISK ou DecisionTools Suite. Chapitre 1 : Introduction 11 DecisionTools Suite RISKOptimizer est compatible avec les outils d’analyse du risque et de décision DecisionTools Suite, de Palisade Corporation. L’installation par défaut de RISKOptimizer place le programme dans un sous-répertoire du répertoire principal « Program Files\Palisade », de la même manière qu’Excel s’installe généralement dans un sousrépertoire du répertoire « Microsoft Office ». Ce sous-répertoire de Program Files\Palisade devient le répertoire RISKOptimizer (appelé, par défaut, RISKOptimizer5). Ce répertoire contient le fichier programme du compagnon RISKOptimizer (RISKOPT.XLA), plus les modèles types et les autres fichiers nécessaires à l’exécution de RISKOptimizer . Un autre sous-répertoire de Program Files\Palisade, intitulé SYSTEM, reçoit les fichiers nécessaires à tous les programmes de la série DecisionTools Suite, y compris les fichiers d’aide et bibliothèques communs. Configuration des icônes ou raccourcis de RISKOptimizer Sous Windows, l’installation crée automatiquement une commande RISKOptimizer dans le menu Programmes de la barre des tâches. Si toutefois vous rencontrez des problèmes en cours d’installation ou que vous désirez exécuter cette opération ultérieurement, procédez comme suit : 1) Cliquez sur le bouton Démarrer et pointez sur Paramètres. 2) Cliquez sur Barre des tâches, puis sur l’onglet Programmes du menu Démarrer. 3) Cliquez sur Ajouter, puis sur Parcourir. 4) Repérez le fichier RISKOPT.EXE et cliquez deux fois dessus. 5) Cliquez une fois sur Suivant, puis deux fois sur le menu de votre choix. 6) Tapez le nom « RISKOptimizer » et cliquez sur Terminer. 12 Installation Messages d’avertissement de sécurité des macros au démarrage Microsoft Office propose plusieurs paramètres de sécurité pour éviter l’exécution de macros indésirables ou hostiles dans vos applications Office. Sauf sous le paramètre de sécurité le plus faible, un message d’avertissement s’affiche à chaque tentative de chargement d’un fichier assorti de macros. Pour éviter l’affichage de ce message à chaque exécution d’un compagnon Palisade, Palisade signe numériquement ses fichiers. Après avoir spécifié Palisade Corporation en tant que source fiable, vous pouvez dès lors ouvrir les compagnons Palisade sans message d’avertissement. Pour ce faire : • Chapitre 1 : Introduction Séléctionnez l’option Approuver tous les documents de cet éditeur lorsqu’une boîte de dialogue Options de sécurité (telle que celle illustrée ci-dessous) s’ouvre au démarrage de RISKOptimizer. 13 Renseignements complémentaires Les ressources suivantes peuvent contenir une information complémentaire relative à RISKOptimizer : Fichier Lisezmoi de RISKOptimizer Ce fichier contient une présentation rapide de RISKOptimizer, ainsi que, éventuellement, l’information de dernière minute publiée sur la dernière version du logiciel. Pour y accéder, choisissez Démarrer/ Programmes/ Palisade DecisionTools/ Readmes et cliquez sur RISKOptimizer 5.5 – Lisezmoi. Il est utile de lire ce fichier avant l’emploi de RISKOptimizer. RISKOptimizer:Di dacticiel Le didacticiel en ligne de RISKOptimizer apporte aux utilisateurs débutants une présentation rapide du logiciel et des algorithmes génétiques. La présentation se limite à quelques minutes seulement. Voir la rubrique Apprendre RISKOptimizer ci-dessous pour tous détails concernant l’accès au didacticiel. Apprendre RISKOptimizer Pour vous familiariser rapidement avec RISKOptimizer, suivez le didacticiel en ligne, où des experts du logiciel vous guident à travers différents modèles types en format cinéma. Ce didacticiel est une présentation multimédia des principales fonctionnalités de RISKOptimizer. Pour y accéder, choisissez la commande Didacticiel du menu Aide de RISKOptimizer. 14 Installation Chapitre 2 : Principes Qu’est-ce que RISKOptimizer ? ......................................................17 Principes fonctionnels de RISKOptimizer........................................18 Algorithmes génétiques ..........................................................18 Distributions de probabilités et simulation ........................18 Qu’est-ce que l’optimisation ? .............................................................19 Pourquoi bâtir des modèles Excel ? ....................................................21 Modélisation de l’incertitude dans les modèles Excel ....................22 Recours à la simulation pour gérer l’incertitude..............................23 Pourquoi choisir RISKOptimizer ?.....................................................23 Plus précis et plus utile ...........................................................24 Plus souple.................................................................................24 Plus convivial ............................................................................25 Optimisation conventionnelle vs optimisation par simulation ....27 Processus d’optimisation conventionnel ...........................................27 Processus d’optimisation par simulation...........................................28 Étapes individuelles de l’optimisation sous RISKOptimizer .......29 Entrée des distributions de probabilités ..............................29 Cellule cible et statistique.......................................................31 Cellules ajustables....................................................................32 Contraintes.................................................................................32 Options d’optimisation et de simulation .............................33 Exécution de l’optimisation ....................................................33 Chapitre 2 : Principes 15 16 Qu’est-ce que RISKOptimizer ? Le progiciel RISKOptimizer apporte à l’utilisateur une méthode simple de recherche de solutions optimales aux modèles empreints d’incertitude. En un mot, RISKOptimizer trouve les meilleures entrées pour la production d’une sortie de simulation désirée. Servez-vous-en pour rechercher la combinaison, l’ordre ou le groupement de variables qui produisent la plus haute valeur probable de bénéfices, le moindre risque (variance minimum) ou la plus grande valeur probable de produits au moyen de la plus faible quantité de matériaux. RISKOptimizer est un compagnon destiné au tableur Microsoft Excel : la configuration du problème s’effectue dans Excel, et sa résolution à l’aide de RISKOptimizer. Commencez par modéliser le problème dans Excel, avant de le décrire au compagnon RISKOptimizer. Excel apporte toutes les formules, fonctions, graphiques et capacités de macro dont la plupart des utilisateurs ont besoin pour créer des modèles réalistes de leurs problèmes. RISKOptimizer apporte l’interface de description de l’incertitude du modèle et de la cible recherchée, ainsi que les moteurs qui permettent de l’atteindre. Ensemble, ils découvrent les solutions optimales à pratiquement tous les problèmes modélisables. Chapitre 2 : Principes 17 Principes fonctionnels de RISKOptimizer RISKOptimizer recourt à un ensemble exclusif d’algorithmes génétiques pour rechercher les solutions optimales à un problème. Il fait aussi appel aux distributions de probabilités et à la simulation pour gérer l’incertitude présente dans le modèle. Algorithmes génétiques RISKOptimizer fait appel aux algorithmes génétiques pour rechercher la meilleure solution à un modèle Les algorithmes génétiques imitent les principes darwiniens de sélection naturelle en créant un environnement dans lequel des centaines de solutions possibles à un problème rivalisent les unes avec les autres, avec survie de « la plus apte ». Comme dans l’évolution biologique, chaque solution transmet ses bons « gènes » à ses solutions « descendantes », de sorte que la population de solutions tout entière continue à évoluer vers de meilleures solutions. Vous l’avez compris, la terminologie des algorithmes génétiques est souvent similaire à celle du domaine dont elle est inspirée. Les fonctions de « croisement » aident à concentrer la recherche de solutions ; les taux de « mutation » contribuent à la diversification du « capital génétique » ; et l’évaluation porte sur l’ensemble de la « population » de solutions ou « organismes ». Pour plus de détails sur le fonctionnement des algorithmes génétiques de RISKOptimizer, voir le chapitre 7 – Algorithmes génétiques. Distributions de probabilités et simulation 18 RISKOptimizer fait appel aux distributions de probabilités et à la simulation pour gérer l’incertitude présente dans les variables du modèle. Ces capacités sont extraites de @RISK, le compagnon d’analyse du risque pour Excel de Palisade Corporation. Les distributions de probabilités décrivent la plage de valeurs possibles des éléments incertains du modèle. Elle se définissent à l’aide de fonctions de distribution de probabilités telles que RiskTriang(10;20;30). Cette fonction spécifierait qu’une variable du modèle pourrait avoir une valeur minimum de 10, une valeur probable de 20 et une valeur maximum de 30. La simulation sert ensuite à générer une distribution des issues possibles pour chaque solution itérative possible générée par l’optimiseur. Qu’est-ce que RISKOptimizer ? Qu’est-ce que l’optimisation ? L’optimisation est le processus qui consiste à rechercher la meilleure solution à un problème présentant de nombreuses solutions possibles. La plupart des problèmes impliquent de nombreuses variables interdépendantes basées sur des formules et des contraintes données. Supposons par exemple une entreprise comptant trois usines, fabriquant chacune des différentes quantités de différents produits. Étant donné le coût de production de chaque produit par chaque usine, les coûts de livraison de chaque usine à chaque débouché des produits et les limitations de chaque usine, quelle est la formule optimale qui permettrait de répondre adéquatement à la demande des magasins de détail locaux tout en minimisant les coûts de transport ? Il s’agit là du type de question auquel les outils d’optimisation sont censés répondre. L’optimisation consiste souvent à rechercher la combinaison la plus rentable compte tenu de ressources données. Dans l’exemple ci-dessus, chaque solution proposée consisterait en une liste complète indiquant quels produits fabriqués par quelle usine sont expédiés dans quel camion vers quel magasin. D’autres problèmes d’optimisation pourraient chercher, par exemple, comment réaliser le plus grand bénéfice, le moindre coût, le plus grand nombre de vies sauvées, le moins de bruit dans un circuit, le chemin le plus court entre différentes villes, ou la combinaison la plus rentable d’achats de médias publicitaires. Un sous-ensemble important de problèmes d’optimisation concerne la planification d’horaires ou de programmes, le but étant de maximiser l’efficacité d’un poste de Chapitre 2 : Principes 19 travail ou de minimiser les conflits de rencontre de groupes. Pour plus de détails sur l’optimisation, voir le chapitre 6 – Optimisation. En présence d’incertitude, les solveurs classiques échouent car ils sont incapables de gérer cette incertitude. Dans la situation décrite plus haut, que se passerait-il, par exemple, si la demande des magasins de détail locaux était incertaine ? Sous un solveur conventionnel, il faudrait présumer une quantité demandée par chaque magasin. Le modèle pourrait ainsi être optimisé, mais la demande présumée en ferait une représentation inexacte de la réalité. Avec RISKOptimizer, il n’est plus nécessaire de présumer le niveau de la demande. Il suffit de décrire les valeurs possibles de la demande à l’aide d’une distribution de probabilités, puis de laisser les capacités de simulation intégrées de RISKOptimizer inclure toutes les valeurs possibles de la demande dans les résultats de l’optimisation. Sous RISKOptimizer, la meilleure solution générée par l’optimiseur n’est pas une simple valeur minimum ou maximum de la cellule cible du modèle, mais plutôt une statistique de simulation maximum ou minimum de l’objectif visé. Chaque simulation exécutée par RISKOptimizer génère une distribution des résultats possibles pour l’objectif. Cette distribution comporte différentes statistiques, telles que moyenne, écart type, minimum, etc. Dans l’exemple ci-dessus, on pourrait ainsi rechercher la combinaison d’entrées apte à maximiser la moyenne de la distribution pour le bénéfice ou à minimiser l’écart type. Pour plus de détails sur la simulation, voir le chapitre 8 – Simulation. 20 Qu’est-ce que RISKOptimizer ? Pourquoi bâtir des modèles Excel ? Si l’on veut accroître l’efficacité d’un système, il faut d’abord en comprendre le comportement. Là se trouve l’utilité de la construction d’un modèle fonctionnel du système. Les modèles sont les abstractions nécessaires à l’étude de systèmes complexes. Pour que les résultats restent applicables au « monde réel », le modèle doit cependant éviter de simplifier à l’excès les rapports de cause à effet entre ses variables. De meilleurs logiciels et des ordinateurs de plus en plus puissants permettent aux économistes de bâtir des modèles plus réalistes de la conjoncture ; aux scientifiques, d’améliorer leurs prédictions de réactions chimiques et aux gestionnaires, d’accroître la sensibilité de leurs modèles d’entreprise. Ces dernières années, le matériel informatique et les programmes logiciels tels que Microsoft Excel ont progressé à une telle allure qu’il suffit pour ainsi dire aujourd’hui de disposer d’un ordinateur personnel pour créer des modèles réalistes de systèmes complexes. Les fonctions intégrées d’Excel, ses capacités de macros et son interface rationnelle et intuitive permettent même aux débutants de modéliser et d’analyser des problèmes de haut niveau. Pour plus de détails sur l’élaboration d’un modèle, voir le chapitre 9 – Et aussi… Chapitre 2 : Principes 21 Modélisation de l’incertitude dans les modèles Excel Les variables sont les éléments de base des modèles Excel qu’on identifie comme les ingrédients importants de l’analyse. Pour une situation financière, les variables peuvent être, par exemple, le chiffre d’affaires, les coûts, les revenus ou le bénéfice. Pour une situation géologique, il peut s’agir de facteurs tels que la profondeur du gisement, l’épaisseur de la veine de charbon ou la porosité. À chaque situation ses variables propres, qu'il vous revient d'identifier. Dans les cas où on connaît les valeurs que prendront les variables dans le cadre temporel du modèle, on parle de variables certaines ou, dans le jargon des statisticiens, « déterministes ». Au contraire, si ces valeurs sont inconnues, les variables sont qualifiées d’incertaines, ou « stochastiques ». Il faut alors décrire la nature de leur incertitude. L’opération s’effectue à l’aide de distributions de probabilités, qui indiquent à la fois la plage des valeurs possibles de la variable (du minimum au maximum) et la probabilité de réalisation de chaque valeur. Dans RISKOptimizer, les variables incertaines et les valeurs des cellules se définissent sous forme de fonctions de distribution de probabilités. Par exemple : RiskNormal(100;10) RiskUniform(20;30) RiskExpon(A1+A2) RiskTriang(A3/2,01;A4;A5) Ces fonctions de « distribution » se configurent dans les cellules et les formules d’une feuille de calcul comme n’importe quelle autre fonction Excel. 22 Qu’est-ce que RISKOptimizer ? Recours à la simulation pour gérer l’incertitude RISKOptimizer recourt à la simulation, parfois appelée simulation Monte Carlo, pour effectuer une analyse de risque sur chaque solution possible générée en cours d’optimisation. En ce sens, la simulation désigne la méthode par laquelle la distribution des issues possibles résulte de l’exécution, par l’ordinateur, de calculs répétés de la feuille de calcul, sur la base, à chaque fois, d’un ensemble de valeurs différentes, sélectionnées au hasard dans les distributions de probabilités introduites dans les valeurs et formules des cellules. L'ordinateur essaie en somme toutes les combinaisons valables des variables en entrée pour simuler toutes les issues possibles, comme si on analysait tout à la fois des centaines ou même des milliers de scénarios hypothétiques ! À chaque itération de la simulation, les fonctions de distribution de probabilités introduites dans le modèle sont échantillonnées et une nouvelle valeur est générée pour la cellule cible. En fin de simulation, le résultat de la solution itérative représente la statistique à minimiser ou maximiser pour la distribution de la cellule cible. Cette valeur est ensuite renvoyée à l’optimiseur et aux algorithmes génétiques pour la génération de meilleures solutions encore. Pour chaque nouvelle solution itérative, une nouvelle simulation s’exécute, avec génération d’une nouvelle valeur pour la statistique cible. Pourquoi choisir RISKOptimizer ? En présence de nombreuses variables interactives, il peut être tentant, pour trouver la meilleure combinaison, le meilleur ordre ou le groupement optimal de ces variables, de procéder par « supposition éclairée ». Un nombre surprenant de personnes croient que toute forme de modélisation et d’analyse au-delà de la supposition exige une programmation compliquée ou le recours à de complexes statistiques ou algorithmes mathématiques. Une bonne solution optimisée peut pourtant épargner des millions d’euros, des milliers de litres de combustible rare, des mois de travail inutile, etc. Maintenant que de puissants ordinateurs et logiciels de bureau tels qu’Excel et RISKOptimizer sont à la portée de tous, la simple supposition, ou la perte de temps précieux à essayer différents scénarios, ne se justifient plus. Chapitre 2 : Principes 23 Plus précis et plus utile RISKOptimizer admet le recours à toutes les formules et distributions de probabilités, pour l’élaboration de modèles plus réalistes, quel que soit le système. Avec RISKOptimizer, le « compromis » n’est pas nécessaire, car l’algorithme choisi peut gérer les complexités du monde réel. Les « mini-solveurs » conventionnels (outils statistiques et de programmation linéaire) obligent l’utilisateur à supposer l’interaction entre les variables d’un problème, imposant dès lors la création de modèles par trop simplistes et peu réalistes. Ils exigent la supposition des valeurs des variables incertaines car l’optimiseur est impuissant à gérer les plages de valeurs possibles des composants incertains du modèle. Une fois le système suffisamment simplifié pour permettre l’usage de ces solveurs, la solution produite est souvent plus abstraite que pratique. Les problèmes présentant de nombreuses variables, fonctions non linéaires, tables de recherche, déclarations conditionnelles, interrogations de base de données ou éléments stochastiques (aléatoires) sont exclus de ces méthodes, quel que soit le degré de simplification du modèle. Plus souple Beaucoup d’algorithmes conviennent à la résolution de simples problèmes linéaires et non linéaires, qu’ils procèdent par escalade, mini-solveur ou autres approches mathématiques. Même proposés sous forme de compagnons de tableur, ces outils d’optimisation universels ne gèrent que l’optimisation numérique. Pour les problèmes plus vastes ou plus complexes, il est parfois possible de formuler des algorithmes personnalisés, au prix de longues opérations de recherche et développement toutefois. Dans cette éventualité même, le programme résultant doit être modifié à chaque changement de modèle ! RISKOptimizer gère en revanche les problèmes numériques et est le seul programme commercial au monde apte à résoudre la plupart des problèmes combinatoires. Ces problèmes sont ceux où les variables doivent être réorganisées (par permutation) ou combinées les unes avec les autres. Par exemple, choisir l’ordre des joueurs à la batte, pour une équipe de base-ball, est un problème de nature combinatoire, de même que les problèmes complexes de planification. Le seul et même RISKOptimizer peut résoudre tous ces types de problèmes et bien d’autres encore qu’aucun autre programme ne peut aborder. La technologie unique des algorithmes génétiques et de simulation proposée par RISKOptimizer permet d’optimiser pratiquement tous les types de modèles, aussi volumineux et complexes soient-ils. 24 Qu’est-ce que RISKOptimizer ? Plus convivial Malgré ses avantages de puissance et de souplesse manifestes, RISKOptimizer reste convivial et simple d’emploi, car il n’est pas nécessaire de comprendre les techniques complexes et les algorithmes génétiques sur lesquelles il repose. RISKOptimizer ne s’inquiète pas des menus détails du problème : il lui faut simplement un modèle apte à évaluer la qualité des différents scénarios. Il suffit donc de sélectionner les cellules qui contiennent les variables et d’indiquer à RISKOptimizer l’objectif recherché. RISKOptimizer masque intelligemment la difficulté de la technologie, présentant comme automatique l’analyse hypothétique du problème. Beaucoup de programmes commerciaux ont été développés pour la programmation mathématique et l’élaboration de modèles, mais les tableurs sont de loin les plus appréciés et se vendent, littéralement, comme des petits pains. Leur format intuitif en lignes et colonnes les rend plus faciles à configurer et à gérer que les autres progiciels spécialisés. Ils offrent également une meilleure compatibilité avec d’autres programmes, tels que traitements de texte et bases de données, et proposent plus de formules intégrées, options de formatage, capacités graphiques et de macros que les systèmes autonomes. Compagnon de Microsoft Excel, RISKOptimizer donne accès à toute la gamme de fonctions et outils de développement d’Excel, pour une modélisation plus simple et plus réaliste. Chapitre 2 : Principes 25 26 Optimisation conventionnelle vs optimisation par simulation RISKOptimizer combine la simulation et l’optimisation pour permettre l’optimisation de modèles contenant des facteurs incertains. L’optimiseur utilise les résultats d’exécutions successives du modèle de simulation pour guider sa recherche de meilleures solutions optimales. Les paragraphes qui suivent décrivent le contexte du travail combiné de la simulation et de l’optimisation dans RISKOptimizer. Processus d’optimisation conventionnel Le processus conventionnel d’optimisation d’une feuille de calcul à l’aide d’un compagnon tel que Solveur ou Evolver suit les étapes suivantes : 1) Une cellule de sortie ou « cible » à minimiser ou maximiser est identifiée. 2) Un ensemble de cellules en entrée, dites « ajustables », dont on contrôle les valeurs est identifié, et les plages de valeurs possibles de ces cellules sont décrites. 3) Un ensemble de contraintes à respecter, souvent exprimées à l’aide d’expressions telles que COÛTS<100 ou A11>=0, est défini. 4) L’optimisation s’exécute, par calculs successifs répétés sous les différentes valeurs possibles des cellules ajustables. 5) Durant ce processus : a) Chaque recalcul produit une nouvelle « réponse » ou valeur pour la cellule cible. b) L’optimiseur utilise cette nouvelle valeur cible pour sélectionner l’ensemble suivant de valeurs des cellules ajustables à essayer. c) Un nouveau recalcul s’exécute, produisant une nouvelle réponse encore dont l’optimiseur se sert pour identifier un nouvel ensemble de valeurs encore pour les cellules ajustables. L’étape 5) se répète encore et encore, tandis que l’optimiseur se rapproche de la solution optimale, soit l’ensemble de valeurs de Chapitre 2 : Principes 27 cellules ajustables qui minimise ou maximise la valeur de la cellule cible. Processus d’optimisation par simulation L’optimisation par simulation sous RISKOptimizer suit essentiellement les étapes du processus classique décrit ici, si ce n’est qu’elle 1) permet l’introduction de l’incertitude dans la feuille de calcul et 2) recourt à la simulation, plutôt qu’au simple recalcul de la feuille pour produire la nouvelle « réponse » de cellule cible renvoyée à l’optimiseur pour la sélection d’un nouvel ensemble de valeurs de cellules ajustables. Le nouveau processus d’optimisation par simulation sous RISKOptimizer est décrit ci-dessous. Les différences par rapport au processus conventionnel sont imprimées en caractères gras. 1) Des fonctions de distribution de probabilités décrivent la plage de valeurs possibles des éléments incertains du modèle. 2) Une cellule de sortie, « cible » est identifiée et la statistique de simulation (moyenne, écart type, etc.) de la cellule à minimiser ou maximiser est sélectionnée. 3) Un ensemble de cellules en entrée, dites « ajustables », dont on contrôle les valeurs est identifié, et les plages de valeurs possibles de ces cellules sont décrites. 4) Un ensemble de contraintes à respecter, souvent exprimées à l’aide d’expressions telles que COÛTS<100 ou A11>=0, est défini. D’autres contraintes, basées sur les statistiques de simulation (95e centile de A11>1000, par exemple), peuvent aussi être définies. 5) L’optimisation s’exécute par simulations successives, sous différentes valeurs possibles des cellules ajustables à chaque simulation. Durant ce processus : a) Chaque simulation produit une nouvelle distribution des valeurs possibles de la cellule cible. La statistique à minimiser ou maximiser se calcule au départ de cette distribution. b) L’optimiseur utilise cette nouvelle statistique de la valeur cible pour sélectionner l’ensemble suivant de valeurs de cellules ajustables à essayer. c) Une autre simulation s’effectue, produisant une nouvelle statistique encore dont l’optimiseur se sert pour identifier un nouvel ensemble de valeurs pour les cellules ajustables. 28 Optimisation conventionnelle vs optimisation par simulation L’étape 5) se répète encore et encore, tandis que l’optimiseur se rapproche d’une solution optimale, soit l’ensemble de valeurs de cellules ajustables qui minimise ou maximise la statistique des résultats de simulation de la cellule cible. Étapes individuelles de l’optimisation sous RISKOptimizer Les étapes individuelles du processus d’optimisation par simulation de RISKOptimizer sont décrites ci-dessous. Entrée des distributions de probabilités RISKOptimizer fait appel aux distributions de probabilités pour décrire l’incertitude présente dans les composants d’un modèle. Par exemple, la fonction RiskUniform(10;20), dans une cellule de feuille de calcul, spécifie que les valeurs de la cellule seront générées par une distribution uniforme à valeur minimum de 10 et valeur maximum de 20. Cette plage de valeurs remplace la simple valeur « fixe » requise par Excel. L’optimisation classique n’admet pas l’introduction d’incertitude dans un modèle, de sorte que les distributions de probabilités n’y figurent pas. Sous RISKOptimizer, une simulation du modèle s’exécute pour chaque combinaison possible de valeurs en entrée générées par l’optimiseur. RISKOptimizer utilise les fonctions de distribution lors de ces simulations pour échantillonner les ensembles de valeurs possibles. Chaque itération d’une simulation utilise un nouvel ensemble de valeurs échantillonnées dans chaque fonction de distribution de la feuille de calcul. Ces valeurs servent ensuite à recalculer la feuille de calcul et à générer une nouvelle valeur pour la cellule cible. À l’image des fonctions Excel, les fonctions de distribution se composent de deux éléments : le nom de la fonction et, entre parenthèses, les valeurs d’argument. Une fonction de distribution typique se présente comme suit : RiskNormal(100;10) Comme pour les fonctions Excel, les arguments des fonctions de distribution peuvent être des références de cellule ou des expressions. Par exemple : RiskTriang(B1;B2*1,5;B3) Dans ce cas, la valeur de la cellule serait spécifiée par une distribution triangulaire à valeur minimum prélevée dans la cellule B1, valeur Chapitre 2 : Principes 29 probable calculée sur la base de la valeur de la cellule B2 multipliée par 1,5 et valeur maximum prélevée dans la cellule B3. 30 Optimisation conventionnelle vs optimisation par simulation Les fonctions de distribution sont aussi admises dans les formules de cellule, comme les fonctions Excel. Par exemple : B2: 100+RiskUniform(10;20)+(1,5*RiskNormal(A1;A2)) Pour plus de détails sur l’entrée de distributions de probabilités, voir Références : Fonctions de distribution dans le manuel ou l’aide @RISK. Cellule cible et statistique Sous RISKOptimizer comme dans l’optimisation conventionnelle, une cellule cible doit être identifiée. Cette cellule est celle dont la valeur doit être minimisée ou maximisée, ou dont la valeur doit se rapprocher autant que possible d’une valeur prédéfinie. Il s’agit généralement, mais pas nécessairement, du « résultat » du modèle (le bénéfice, le total général du modèle, etc.). La cellule doit contenir la formule qui renverra différentes valeurs suivant la variation des valeurs des cellules ajustables. RISKOptimizer minimise ou maximise non pas la valeur réelle de la cellule cible, mais une « statistique » associée aux résultats de simulation de la cellule cible. Lors de l’optimisation, RISKOptimizer exécute des simulations successives avec, pour chacune, un ensemble différent de valeurs de cellules ajustables. Chaque simulation produit une distribution des issues possibles pour la cellule cible. L’optimisation recherche, par exemple, la combinaison de valeurs de cellules ajustables qui maximise la moyenne de la distribution de la cellule cible, ou qui minimise l’écart type. RISKOptimizer élargit les options de minimisation ou de maximisation (moyenne, écart type, minimum, etc.) car, pour chaque solution essayée par l’optimiseur, la simulation correspondante ne produit pas simplement une seule réponse. Elle génère une distribution complète des issues possibles de la cellule cible, avec une valeur minimum, maximum, moyenne, d’écart type, etc. L’optimisation conventionnelle se limite à produire une nouvelle valeur de cellule cible pour chaque solution essayée, et cette valeur devient la seule sélection possible pour la minimisation ou la maximisation. Chapitre 2 : Principes 31 Cellules ajustables Les cellules ajustables se définissent de la même manière dans l’optimisation classique ou de RISKOptimizer. Pour chaque cellule dont la valeur peut varier lors de l’optimisation, on entre une valeur minimum possible et une valeur maximum possible. Comme l’optimiseur de RISKOptimizer repose sur Evolver, les mêmes options sont possibles pour l’entrée des cellules ajustables : taux de mutation, méthode de résolution et opérateurs génétiques. Pour plus de détails sur la définition des cellules ajustables, voir le chapitre 5 : Guide de référence RISKOptimizer, sous le titre « Plages de cellules ajustables ». Contraintes À l’image de l’optimisation classique, RISKOptimizer gère les contraintes fermes, dont le respect est obligatoire. Les optimiseurs classiques testent ces contraintes pour chaque solution. Si les contraintes ne sont pas satisfaites, la solution est rejetée. Sous RISKOptimizer, une simulation complète s’exécute pour chaque solution itérative. Chaque simulation compte un certain nombre d’itérations, ou de recalculs individuels du tableur sur base de nouveaux échantillons issus des distributions de probabilités du modèle. Une contrainte ferme peut être testée : ♦ à chaque itération de chaque simulation (contrainte d'itération). Si une itération produit des valeurs contraires à la contrainte ferme, la simulation s’arrête (et la solution itérative est rejetée) et la recherche de solution itérative suivante, avec simulation correspondante, commence. ♦ en fin de simulation (contrainte de simulation). Ce type de contrainte se spécifie en tant que statistique de simulation pour une cellule de tableur : Moyenne de A11>1000, par exemple. Dans ce cas, la contrainte est évaluée en fin de simulation. Une contrainte de simulation, par opposition à une contrainte d’itération, ne cause jamais l’arrêt de la simulation avant son exécution complète. RISKOptimizer reconnaît par ailleurs une seconde forme de contraintes, appelées « contraintes souples ». Les pénalités qui résultent des contraintes souples se calculent en fin de simulation. La pénalité calculée s’ajoute à la statistique cible minimisée ou maximisée (ou s’y soustrait). Pour plus de détails sur la définition des contraintes, voir le chapitre 5 : Guide de référence RISKOptimizer, sous le titre « Contraintes ». 32 Optimisation conventionnelle vs optimisation par simulation Options d’optimisation et de simulation Sous RISKOptimizer, comme dans l’optimisation classique, plusieurs options sont admises pour gérer la durée de l’opération. RISKOptimizer propose en outre des options de configuration de la durée de chaque simulation pour chaque solution itérative. RISKOptimizer recherche de meilleures solutions et exécute ses simulations jusqu’à satisfaction des options d’arrêt d’optimisation sélectionnées, qu’il s’agisse du nombre de minutes spécifié, de la génération d’un nombre spécifiés de solutions itératives ou de l’accès à une statistique de simulation optimale de cellule cible inchangée sur une nombre donné d’essais. La durée de simulation de chaque solution itérative peut aussi être spécifiée, sous forme de nombre d’itérations donné ou selon la détermination automatique de RISKOptimizer. Sous cette dernière option, la simulation s’arrête lorsque les distributions générées pour 1) la cellule cible de l’optimisation et 2) les cellules référencées dans les contraintes de simulation sont stables et que les statistiques visées convergent. Exécution de l’optimisation RISKOptimizer exécute l’optimisation par simulations successives de la feuille de calcul, sous différentes valeurs possibles des cellules ajustables à chaque simulation. Durant ce processus : 1) L’optimiseur génère un ensemble de valeurs pour les cellules ajustables. 2) La feuille de calcul se simule en fonction des valeurs de cellules ajustables générées par l’optimiseur. À chaque itération de la simulation, toutes les fonctions de distribution de la feuille de calcul sont échantillonnées et la feuille se recalcule pour produire une nouvelle valeur pour la cellule cible. Si une contrainte d’itération n’est pas satisfaite à l’issue d’un recalcul d’itération, la simulation s’arrête et l’optimiseur génère la simulation d’une nouvelle solution itérative. 3) Chaque simulation produit une nouvelle distribution des valeurs possibles de la cellule cible. La statistique à minimiser ou maximiser se calcule d’après cette distribution. Si une contrainte de simulation n’est pas satisfaite, la solution itérative et les résultats de la simulation sont rejetés et l’optimiseur génère la simulation d’une nouvelle solution itérative. Chapitre 2 : Principes 33 4) L’optimiseur utilise la nouvelle statistique de la valeur cible calculée lors de la simulation pour sélectionner l’ensemble suivant de valeurs de cellules ajustables à essayer. 5) Une autre simulation s’effectue, produisant une nouvelle statistique encore dont l’optimiseur se sert pour identifier un nouvel ensemble de valeurs pour les cellules ajustables. Le processus se répète encore et encore, tandis que l’optimiseur se rapproche de la solution optimale, soit l’ensemble de valeurs de cellules ajustables qui minimise ou maximise la statistique de la cellule cible. 34 Optimisation conventionnelle vs optimisation par simulation Chapitre 2 : Principes 35 Chapitre 3 : RISKOptimizer : Pas à pas Introduction ...................................................................................... 38 Visite guidée ..................................................................................... 40 Démarrer RISKOptimizer ................................................................... 40 La barre d’outils RISKOptimizer.......................................... 40 Ouverture d’un modèle type ................................................. 40 Décrire l’incertitude dans le modèle ................................................. 42 La boîte de dialogue RISKOptimizer – Modèle .............................. 44 Sélectionner la statistique de la cellule cible ................................... 45 Ajouter les plages de cellules ajustables .......................................... 45 Plage Min-Max de cellules ajustables.................................. 45 Méthode de résolution............................................................ 47 Contraintes ............................................................................................. 48 Contraintes d’itération et de simulation.............................. 48 Ajout de contrainte.................................................................. 50 Simple plage de valeurs ou Formule.................................... 50 Autres options RISKOptimizer .......................................................... 53 Conditions d’arrêt d’optimisation ........................................ 53 Conditions d’arrêt de simulation.......................................... 55 Journal des données de simulation ...................................... 56 Exécuter l’optimisation......................................................................... 57 Suivi RISKOptimizer.............................................................. 58 Arrêt de l’optimisation............................................................ 59 Rapport de synthèse................................................................ 60 Placement des résultats dans le modèle .............................. 61 36 Optimisation conventionnelle vs optimisation par simulation Chapitre 3 : RISKOptimizer : Pas à pas 37 Introduction Ce chapitre suit, pas à pas, une optimisation complète sous RISKOptimizer. Si RISKOptimizer n’est pas installé sur votre disque dur, reportez-vous à la section du chapitre 1 : Introduction consacrée à l’installation et installez RISKOptimizer avant d’entreprendre ce didacticiel. Nous commencerons par ouvrir modèle de calcul prédéfini, pour définir le problème à RISKOptimizer à l’aide de distributions de probabilités et des boîtes de dialogue RISKOptimizer. Nous suivrons ensuite la progression de RISKOptimizer dans sa recherche de solutions et nous explorerons quelques-unes des nombreuses options de Suivi RISKOptimizer. Pour plus de détails sur une rubrique abordée ici, voir l’index en fin de manuel ou le chapitre 5 : Guide de référence RISKOptimizer. REMARQUE : Les écrans illustrés ci-dessous sont extraits d’Excel 2007. Les fenêtres d’autres versions d’Excel seront peut-être légèrement différentes. Le processus de résolution commence par l’élaboration d’un modèle qui représente précisément le problème. Ce modèle doit pouvoir évaluer un ensemble donné de valeurs en entrée (les cellules ajustables) et produire une cote numérique indicatrice de la qualité de la solution produite sous ces valeurs (évaluation ou fonction de « pertinence »). Le modèle doit aussi inclure des distributions de probabilités qui décrivent la plage de valeurs possibles de ses éléments incertains. Tandis que RISKOptimizer recherche les solutions possibles, la simulation de la fonction de pertinence lui renvoie une indication de la qualité ou non de chaque supposition, permettant ainsi à l’optimiseur d’améliorer en permanence ses suppositions. Lors de la création du modèle d’un problème, la fonction de pertinence revêt une extrême importance en ce RISKOptimizer n’a de cesse de maximiser (ou minimiser) les résultats de la simulation pour cette cellule. 38 Introduction Chapitre 3 : RISKOptimizer : Pas à pas 39 Visite guidée Démarrer RISKOptimizer Pour lancer RISKOptimizer : 1) cliquez sur l’icône RISKOptimizer sur le bureau Windows ou 2) choisissez Palisade DecisionTools puis RISKOptimizer 5.5 dans la liste des programmes listés sous le menu Démarrer de Windows. Ces deux méthodes démarrent chacune Microsoft Excel et RISKOptimizer. La barre d’outils RISKOptimizer Lorsque RISKOptimizer est chargé, une nouvelle barre d’outils s’affiche dans Excel. Cette barre contient les boutons de commande de RISKOptimizer, pour la spécification des paramètres et le démarrage, la pause et l’arrêt des optimisations. Ouverture d’un modèle type Pour passer en revue les fonctionnalités de RISKOptimizer, nous allons examiner un modèle type installé lors de l’installation du programme : 1) Ouvrez la feuille de calcul CIES AERIENNES.XLS proposée dans le répertoire RISKOPTIMIZER5\EXEMPLES. 40 Visite guidée Cet exemple présente un modèle de gestion de rendement identifiant le nombre optimal de places à tarif plein et tarif réduit à vendre sur un vol donné. Il identifie également le nombre optimal de réservations à accepter en plus du nombre de sièges disponibles – le problème classique de la surréservation. Le « hic », dans ce problème d’optimisation classique, est que certaines estimations du modèle sont incertaines ou « stochastiques » : le nombre de passagers qui se présenteront effectivement à l’embarquement, le nombre de réservations qui seront demandées dans chaque catégorie tarifaire et le coût de l’embarquement refusé d’un passager (un bon de voyage de 100 euros peut suffire, mais il faut parfois offrir un billet aller-retour gratuit). De simple estimations sont généralement utilisées pour ces facteurs, pour permettre une optimisation ordinaire. Que se passe-t-il pourtant si ces estimations sont erronées ? La compagnie risque d’accepter trop peu de réservations, d’avoir de nombreux sièges vides ou de surréserver à l’excès. Trop de places à tarif réduit pourraient aussi être vendues, au détriment du bénéfice réalisé. Ou bien trop de places seraient proposées à tarif plein, avec le risque d’avions à moitié remplis. Avec RISKOptimizer, il est possible de résoudre ce problème d’optimisation tout en tenant compte de l’incertitude inhérente au modèle ! Dans notre exemple Cies aériennes, nous allons donc commencer par décrire l’incertitude du modèle à l’aide de distributions de probabilités. On configurera ensuite le problème d’optimisation dans les boîtes de dialogue de RISKOptimizer. RISKOptimizer s’exécutera ensuite pour identifier le nombre optimal de réservations à tarif plein et tarif réduit qui permettra de maximiser le bénéfice tout en maintenant le risque dans des limites acceptables. Chapitre 3 : RISKOptimizer : Pas à pas 41 Décrire l’incertitude dans le modèle Dans RISKOptimizer, les distributions de probabilités décrivent la plage de valeurs possibles des éléments incertains du modèle. Une distribution de probabilités spécifie les valeurs minimum et maximum d’un facteur incertain et les probabilités relatives de valeurs comprises entre ces deux valeurs. Pour l’optimisation, ces distributions se définissent à l’aide de fonctions de distribution propres à RISKOptimizer, dans les cellules et formules de la feuille de calcul tout comme les fonctions Excel standard. Par exemple, la fonction ♦ RiskTriang(10;20;30) spécifie une distribution triangulaire à valeur minimum de 10, valeur probable de 20 et valeur maximum de 30. Notre modèle Cies aériennes comporte cinq facteurs incertains décrits, chacun, par une distribution de probabilités. La première : ♦ Demande de réservations à tarif plein (cellule C8), décrite par la distribution de probabilités RiskTriang(3;7;15). Cette fonction spécifie que le nombre de réservations à tarif plein demandées pourrait être compris entre un minimum de 3 et un maximum de 15, avec une valeur probable de 7. Pour entrer cette distribution de probabilités : 1) Sélectionnez la cellule C8. 2) Entrez-y la formule =ARRONDI(RiskTriang(3;7;15);0). La fonction ARRONDI d’Excel arrondit simplement l’échantillon renvoyé par la fonction RiskTriang à l’entier le plus proche. (La demande de 5,65 réservations serait en effet absurde !) 42 Visite guidée Les autres distributions du modèle, telles qu’énumérées ci-dessous, figurent déjà dans le fichier CiesAériennes.XLS. Si vous désirez les examiner de plus près, accédez à la cellule de chacune. ♦ % Passagers défaillants – Réservations tarif plein (cellule C7). Cette distribution est décrite par la fonction RiskNormal(0,2;0,03), indiquant qu’en moyenne, 20 % des passagers disposant de réservations faites à tarif plein ne se présentent pas à l’embarquement. Le pourcentage effectif de passagers défaillants varie aux alentours de 20 %, comme décrit par une distribution normale à moyenne de 0,2 et écart type de 0,03. ♦ % Passagers défaillants – Réservations tarif réduit (cellule C11). Cette distribution est décrite par la fonction RiskNormal(0,1;0,01), indiquant qu’en moyenne, 10% des passagers disposant de réservations faites à tarif réduit ne se présentent pas à l’embarquement. Le pourcentage effectif de passagers défaillants varie aux alentours de 10%, comme décrit par une distribution normale à moyenne de 0,1 et écart type de 0,01. Un plus grand nombre de passagers dotés de réservations à tarif réduit se présente à l’embarquement, leur billet étant sujet à une pénalité de changement de €75, alors que les billets à tarif plein sont totalement remboursables, sans pénalité de changement. ♦ Demande de réservations à tarif réduit (cellule C12), décrite par la distribution de probabilités RiskTrigen(12;20;40;10;90)). Cette fonction spécifie que le nombre de réservations à tarif réduit demandées est décrit par une distribution de probabilités triangulaire dont le 10e centile a une valeur de 12, la valeur probable est 20 et le 90e centile a une valeur de 40. ♦ Coût d’embarquement refusé (cellule C23), décrit par la distribution de probabilités RiskDiscrete({100;150;200;250};{0,1;0,4;0,4;0,1}). Cette fonction spécifie que le coût par passager refusé à l’embarquement peut être de €100, €150, €200 ou €250. Certains passagers se portent en effet volontaires pour quitter un vol surréservé moyennant bon de voyage de €100, alors que dans d’autres cas, une plus grande compensation est nécessaire. Pour plus de détails sur les distributions de probabilités, voir Références : Fonctions de distribution dans le manuel ou l’aide @RISK. Chapitre 3 : RISKOptimizer : Pas à pas 43 Les distributions de probabilités décrivant l’incertitude ainsi définies dans le modèle, il reste maintenant à configurer l’optimisation dans les boîtes de dialogue de RISKOptimizer. La boîte de dialogue RISKOptimizer – Modèle Pour configurer les options RISKOptimizer de notre feuille de calcul : 1) Cliquez sur l’icône Modèle de la barre d’outils RISKOptimizer (à l’extrême gauche). La boîte de dialogue RISKOptimizer – Modèle illustrée ci-dessous s’ouvre : Cette boîte est conçue pour permettre à l’utilisateur de décrire le problème de manière simple et directe. Nous cherchons, dans notre exemple, à déterminer le nombre de réservations à tarif plein et à tarif réduit qu’il convient d’accepter pour maximiser le bénéfice total global. 44 Visite guidée Sélectionner la statistique de la cellule cible La cellule C27, Bénéfice, du modèle CiesAériennes.XLS est la « cellule cible » : celle dont la statistique de simulation doit être minimisée ou maximisée, ou doit se rapprocher autant que possible d’une valeur prédéfinie. Pour définir la statistique de simulation de la cellule cible : 1) Pour « But d’optimisation », choisissez l’option « Maximum ». 2) Entrez la cellule cible, $C$27, dans le champ « Cellule ». 3) Choisissez « Moyenne » dans la liste déroulante « Statistique » pour sélectionner la moyenne comme statistique de simulation à maximiser. Les références de cellule peuvent être entrées dans les champs des boîtes de dialogue RISKOptimizer de deux manières : 1) Cliquez dans le champ et tapez-y directement la référence de la cellule, ou 2) curseur dans le champ sélectionné, cliquez sur l’icône d’entrée de référence pour sélectionner la ou les cellules voulues directement dans la feuille de calcul à l’aide de la souris. Ajouter les plages de cellules ajustables L’étape suivante consiste à spécifier l’emplacement des cellules qui contiennent les valeurs que RISKOptimizer peut faire varier, ou « ajuster », dans sa recherche de solutions. Ces variables s’ajoutent et se modifient, un bloc à la fois, dans la boîte de dialogue Cellules ajustables. Le nombre de cellules admis dépend de la version RISKOptimizer utilisée. 1) Cliquez sur le bouton « Ajouter » dans le volet « Plages de cellules ajustables ». 2) Sélectionnez C14 comme cellule Excel à ajouter comme cellule ajustable. Plage Min-Max de cellules ajustables Il convient, dans la plupart des cas, de restreindre les valeurs possibles d’une plage de cellules ajustables à une plage minimummaximum spécifique. Il s’agit là, en jargon RISKOptimizer, d’une contrainte de « plage ». Cette plage se définit rapidement lors de la sélection de l’ensemble de cellule à ajuster. Dans l’exemple qui nous occupe, la valeur minimum possible de réservations acceptées dans cette plage est 19 et la valeur maximum, 30. Pour définir cette contrainte de plage : 1) Entrez 19 dans la cellule Minimum et 30 dans la cellule Maximum. Chapitre 3 : RISKOptimizer : Pas à pas 45 2) Pour la cellule Valeurs, sélectionnez Entiers dans la liste déroulante. Entrez maintenant une deuxième cellule à ajuster : 1) Cliquez sur Ajouter. 2) Sélectionnez la cellule C15. 3) Entrez 0 comme Minimum et 1 comme Maximum. Il s’agit là de notre dernière cellule ajustable, C15, représentant le pourcentage du total de réservations qui sera affecté aux places à tarif plein. Si le problème comportait d’autres variables encore, on continuerait ainsi à ajouter des cellules ajustables. RISKOptimizer admet un nombre illimité de groupes de cellules ajustables. Il suffit, pour chacun, de cliquer sur le bouton « Ajouter ». Si vous décidez plus tard de vérifier les cellules ajustables ou d’en changer les paramètres, il suffit de modifier la plage min-max dans ce 46 Visite guidée tableau. Le bouton « Supprimer » permet aussi de supprimer un ensemble de cellules sélectionné. Méthode de résolution La méthode de résolution à utiliser peut être spécifiée lors de la définition des cellules ajustables. Différentes méthodes de résolution gèrent différents types de cellules ajustables. Les méthodes se définissent pour un Groupe de cellules ajustables et se modifient en cliquant sur le bouton « Groupe » pour afficher la boîte de dialogue Paramètres de groupe de cellules ajustables. La méthode par défaut « recette » convient généralement. Cette méthode permet le changement de valeur de chaque cellule indépendamment des autres. Cette méthode est sélectionnée par défaut. Il est donc inutile de la changer ici. Les méthodes de résolutions « recette » et « ordre » sont les plus courantes et peuvent être utilisées ensemble pour la résolution de problèmes combinatoires compliqués. Plus spécifiquement la méthode « recette » traite chaque variable comme s’il s’agissait d’un ingrédient d’une recette, essayant de trouver la « meilleure combinaison » en changeant indépendamment la valeur de chaque variable. En revanche, la méthode « ordre » permute les valeurs des variables, réorganisant les valeurs originales à la recherche du « meilleur ordre ». Chapitre 3 : RISKOptimizer : Pas à pas 47 Contraintes RISKOptimizer admet les contraintes, qui définissent les conditions à remplir pour qu’une solution soit valable. Dans notre exemple, deux autres contraintes doivent être satisfaites pour assurer la validité d’un ensemble possible de valeurs de nombre maximum de réservations acceptées et de % de places à tarif plein. Ces contraintes sont complémentaires à celles de plage définies plus haut pour les cellules ajustables. Elles se définissent comme suit : ♦ Le bénéfice doit toujours être >0. ♦ L’écart type des résultats de simulation du bénéfice doit être <400. À chaque génération de solution possible au modèle, RISKOptimizer exécute une simulation de cette solution. Chaque simulation implique des centaines ou même des milliers d’itérations ou de recalculs de la feuille de calcul. À chaque itération, une valeur est échantillonnée dans chaque distribution de probabilités introduite dans le modèle, le modèle est recalculé en fonction des valeurs échantillonnées et une nouvelle valeur est générée pour la cellule cible. La simulation d’une solution itérative produit une distribution de probabilités pour la cellule cible en fonction des valeurs cibles calculées à chaque itération. Contraintes d’itération et de simulation RISKOptimizer vérifie les contraintes ♦ après chaque itération de simulation (pour une contrainte dite « d’itération ») OU ♦ en fin de simulation (pour une contrainte « de simulation ») Dans notre modèle de compagnie aérienne, « Le bénéfice doit toujours être >0 » est une contrainte d’itération et « L’écart type des résultats de simulation du bénéfice doit être <400 », une contrainte de simulation. Autrement dit, RISKOptimizer vérifie après chaque itération d’une simulation si le bénéfice est supérieur à 0. S’il ne l’est pas, la solution itérative est rejetée. Si une simulation s’exécute avec succès (avec un bénéfice >0 pour toutes les itérations), l’écart type de la distribution de probabilités du bénéfice est vérifiée pour assurer qu’il est inférieur à 400, sous peine de rejet, aussi, de la solution itérative. 48 Visite guidée Les contraintes s’affichent au bas du volet Contraintes de la boîte de dialogue RISKOptimizer – Modèle. RISKOptimizer admet deux types de contraintes : ♦ Ferme. Les contraintes fermes sont les conditions qui doivent être satisfaites pour qu’une solution soit valable. Par exemple, une contrainte d’itération ferme pourrait être exprimée sous la forme C10<=A4, et si une solution générait une valeur C10 supérieure à celle de la cellule A4, la solution serait rejetée. ♦ Souple. Les contraintes souples sont les conditions que l’on veut respecter autant que possible, mais pour lesquelles on est prêt à accepter le compromis en vue d’une importante amélioration de pertinence ou de résultat de cellule cible. Par exemple, une contrainte souple pourrait être exprimée sous la forme C10<100. Dans ce cas, C10 pourrait dépasser la valeur 100, mais la valeur calculée de la cellule cible serait alors diminuée conformément à la fonction de pénalité définie. Chapitre 3 : RISKOptimizer : Pas à pas 49 Ajout de contrainte Pour ajouter une contrainte : 1) Cliquez sur le bouton Ajouter du volet Contraintes, dans la boîte de dialogue RISKOptimizer principale. La boîte de dialogue Paramètres de contrainte s’ouvre, pour la définition des contraintes du modèle. Simple plage de valeurs ou Formule Les formules peuvent être définies selon deux formats : Simple ou Formule. Le format Simple plage de valeurs permet la définition des contraintes selon de simples relations <,<=, >, >= ou =. Par exemple : 0<Valeur de A1<10, où A1 s’entre dans la case Plage, 0 dans la case Min et 10 dans la case Max. Les opérateurs désirés se sélectionnent dans les listes déroulantes. Sous une contrainte de format « Simple », on peut entrer une valeur Min, une valeur Max, ou les deux. Le format Formule permet en revanche l’entrée, pour la contrainte, d’une formule Excel correcte, telle que A19<(1,2*E7)+E8. Pour chaque solution possible, RISKOptimizer vérifie si la formule entrée est VRAIE ou FAUSSE, afin de déterminer le respect ou non de la contrainte. Pour utiliser une formule booléenne de cellule de feuille de travail comme contrainte, il suffit de faire référence à cette cellule dans le champ Formule de la boîte de dialogue Paramètres de contrainte. 50 Visite guidée Nous allons, pour notre modèle Cies aériennes, spécifier deux nouvelles contraintes. Commencez par configurer une contrainte ferme de style Simple pour Bénéfice Profit > 0 : 1) Entrez « Bénéfice > 0 » comme description. 2) Dans la case Plage sous contrainte, entrez C27. 3) Sélectionnez l’opérateur > à droite de Plage sous contrainte. 4) Acceptez la valeur par défaut 0 de la case Maximum. 5) À gauche de Plage sous contrainte, supprimez l’opérateur en sélectionnant l’option blanche dans la liste déroulante. 6) Sélectionnez « À chaque itération de chaque simulation » et cliquez sur OK. Vous avez ainsi spécifié que Bénéfice doit toujours être supérieur à 0, quel que soit le nombre de réservations acceptées. 7) Cliquez sur OK pour valider cette contrainte. Chapitre 3 : RISKOptimizer : Pas à pas 51 Définissons maintenant la contrainte de simulation : 1) Cliquez sur Ajouter pour rouvrir la boîte de dialogue Paramètres de contrainte. 2) Entrez « Écart type de bénéfice <400 » dans la zone de description. 3) Dans la case Plage sous contrainte, entrez C27. 4) Sélectionnez l’opérateur < à droite de Plage sous contrainte. 5) Entrez 400 dans la case Max. 6) À gauche de Plage sous contrainte, supprimez l’opérateur en sélectionnant l’option blanche dans la liste déroulante. 7) Dans la liste déroulante Statistique sous contrainte, sélectionnez « Écart type ». 8) Cliquez sur OK. La boîte de dialogue résultante doit se présenter comme suit : 52 Visite guidée Autres options RISKOptimizer Les options telles qu’Actualiser l’affichage, Racine de nombres aléatoires, Arrêt d’optimisation et Arrêt de simulation permettent de gérer le fonctionnement de RISKOptimizer en cours d’optimisation. Précisons donc quelques conditions d’arrêt et paramètres d’actualisation de l’affichage. Conditions d’arrêt d’optimisation RISKOptimizer exécute l’optimisation aussi longtemps que vous le désirez. Les conditions d’arrêt gèrent l’arrêt automatique de RISKOptimizer lorsque a) un certain nombre de scénarios ou d’« essais » a été examiné, b) un certain temps s’est écoulé, c) les n derniers scénarios n’ont produit aucune amélioration, d) la formule Excel entrée est VRAIE ou e) une valeur d’erreur est calculée pour la cellule cible. Pour afficher et modifier les conditions d’arrêt : 1) Cliquez sur l’icône Paramètres d’optimisation de la barre d’outils RISKOptimizer. 2) Cliquez sur l’onglet Temps d’exécution. Chapitre 3 : RISKOptimizer : Pas à pas 53 Dans la boîte de dialogue Paramètres d’optimisation, vous pouvez sélectionner une combinaison quelconque de conditions d’arrêt. Vous pouvez aussi choisir de n’en sélectionner aucune. Si vous sélectionnez plusieurs conditions d’arrêt, RISKOptimizer s’arrête lorsque l’une d’entre elles est remplie. Si vous ne sélectionnez aucune condition d’arrêt, RISKOptimizer s’exécute indéfiniment, jusqu’à ce que vous l’arrêtiez manuellement en cliquant sur le bouton Arrêter de la barre d’outils. Simulations Durée Progression Cette option définit le nombre de simulations à exécuter. RISKOptimizer exécute une simulation par ensemble complet de variables ou solution possible au problème. RISKOptimizer s’arrête au terme de la durée de temps spécifiée. Cette valeur peut être une fraction (4,25). Cette condition d’arrêt est la plus appréciée car elle suit l’amélioration du processus et permet à RISKOptimizer de continuer jusqu’à ce que le degré d’amélioration se réduise. Par exemple, RISKOptimizer pourrait s’arrêter au bout de 100 simulations si aucune nouvelle amélioration n’est apparue par rapport au dernier scénario optimal. La formule est vraie RISKOptimizer s’arrête si la formule Excel entrée s’avère VRAIE dans une simulation. 1) Paramétrez une durée de 5 minutes pour laisser RISKOptimizer tourner pendant cinq minutes. 54 Visite guidée Conditions d’arrêt de simulation RISKOptimizer exécute une simulation complète du modèle par solution itérative générée. Il est possible de limiter la durée de chaque simulation à l’aide des conditions d’arrêt de simulation. Vous pouvez fixer un nombre d’itérations par simulation ou laisser à RISKOptimizer le soin de déterminer le moment d’arrêter chaque simulation. Itérations Arrêt sur convergence réelle Arrêt sur convergence projetée Cette option vous permet de limiter chaque simulation à un nombre fixe d’itérations. RISKOptimizer exécute le nombre d’itérations spécifié pour chaque simulation de solution itérative (sauf arrêt prématuré en cas de violation de contrainte d’itération). Sous cette option, la simulation s’arrête lorsque les distributions générées pour 1) la cellule cible de l’optimisation et 2) les cellules référencées dans les contraintes de simulation sont stables et que les statistiques visées convergent. La quantité de variation admise dans une statistique « convergente » est régie par l’option Tolérance. Sous cette option, RISKOptimizer arrête la simulation lorsqu’il projette que les distributions générées pour 1) la cellule cible de l’optimisation et 2) les cellules référencées dans les contraintes de simulation sont stables. RISKOptimizer projette la convergence en fonction des résultats des simulations antérieures de l’optimisation. 1) Entrez 500 dans la case Itérations pour que RISKOptimizer exécute une simulation rapide pour chaque solution itérative. Chapitre 3 : RISKOptimizer : Pas à pas 55 Journal des données de simulation RISKOptimizer peut afficher une description continue de chaque exécution de simulation en cours d’optimisation, y compris la valeur de la statistique calculée, les statistiques de base de la distribution simulée des valeurs de la cellule cible, les valeurs des cellules ajustables et la satisfaction ou non des contraintes. Pour afficher ce journal en cours d’optimisation : 1) Cliquez sur l’onglet Affichage et sélectionnez « Tenir un journal de toutes les simulations » dans la boîte de dialogue Paramètres d’optimisation. 56 Visite guidée Exécuter l’optimisation Il ne reste maintenant plus qu’à optimiser notre modèle pour déterminer le nombre maximum de réservations, dans chaque catégorie tarifaire, qui nous permettra de maximiser notre bénéfice. Pour ce faire : 1) Cliquez sur OK pour fermer la boîte de dialogue Paramètres d’optimisation. 2) Cliquez sur l’icône Démarrer l’optimisation. Tandis que RISKOptimizer se met au travail, les valeurs optimales courantes de nos cellules ajustables – nombre total de réservations acceptées et % de réservations à tarif plein – s’affichent dans le tableur. La meilleure moyenne de Bénéfice figure en bleu, avec une flèche pointée sur la cellule cible. La fenêtre de progression suit l’exécution et affiche : 1) la meilleure solution trouvée jusque là, 2) la valeur originale de la statistique de simulation sélectionnée pour la cellule cible en début d’optimisation par RISKOptimizer, 3) le nombre de simulations du modèle exécutées et le nombre de celles valables (où toutes les contraintes ont été satisfaites) et 4) le temps d’optimisation écoulé. À tout moment pendant l’exécution, l’icône Afficher les options d’actualisation Excel permet de visualiser chaque simulation en direct à l’écran. Chapitre 3 : RISKOptimizer : Pas à pas 57 Suivi RISKOptimizer RISKOptimizer peut aussi afficher un journal courant des simulations effectuées pour chaque solution itérative. Ce journal s’affiche dans Suivi RISKOptimizer en cours d’optimisation. Le système Suivi RISKOptimizer vous permet d’explorer et de modifier de nombreux aspects de votre problème en cours d’exécution. Pour afficher le journal courant des simulations effectuées : 1) Cliquez sur l’icône Suivi (loupe) dans la fenêtre de progression. 2) Cliquez sur l’onglet Journal. Ce rapport présente les résultats de la simulation exécutée pour chaque solution itérative. La colonne Résultat indique, par simulation, la valeur de la statistique de la cellule cible à maximiser ou minimiser – en l’occurrence, la moyenne de Bénéfice dans $C$27. Les colonnes Moyenne sortie, Ec. Type sortie, Min sortie et Max sortie décrivent la distribution de probabilités de la cellule cible Bénéfice calculée à chaque simulation. Les colonnes $C$14 et $C$15 identifient les valeurs utilisées pour les cellules ajustables. Les colonnes Ec. Type Bénéfice<400 et Bénéfice>0 indiquent la satisfaction ou non des contraintes à chaque simulation. 58 Visite guidée Arrêt de l’optimisation Au bout de cinq minutes, RISKOptimizer arrête l’optimisation. Vous pouvez aussi arrêter l’optimisation en 1) cliquant sur l’icône Arrêter dans la fenêtre Suivi RISKOptimizer ou dans celle de progression. À l’arrêt du processus, RISKOptimizer affiche l’onglet Options d’arrêt. Les choix suivants y sont proposés : Ces mêmes options s’affichent automatiquement lorsqu’une condition d’arrêt quelconque de la boîte de dialogue Paramètres d’optimisation est remplie. Chapitre 3 : RISKOptimizer : Pas à pas 59 Rapport de synthèse RISKOptimizer peut créer un rapport de synthèse d’optimisation faisant état des date et heure de l’exécution, des paramètres d’optimisation utilisés, de la valeur calculée pour la cellule cible et de la valeur de chaque cellule ajustable. Ce rapport est utile à la comparaison des résultats d’optimisations successives. 60 Visite guidée Placement des résultats dans le modèle Pour placer la nouvelle combinaison optimisée de niveaux de production de Cies aériennes à chacune des 16 tâches de la feuille de calcul : 1) Cliquez sur le bouton « Arrêter ». 2) Sélectionnez l’option « Actualiser les valeurs de cellules ajustables affichées dans le classeur aux valeurs » « Meilleures ». La feuille de calcul CIES AERIENNES.XLS réapparaît, garnie de toutes les nouvelles valeurs variables à l’origine de la meilleure solution. N’oubliez pas que la meilleure solution représente la moyenne des résultats de simulation de Bénéfice, différente de la valeur indiquée pour un simple recalcul basé sur les meilleures valeurs variables. La meilleure moyenne figure dans la case bleue, avec la flèche pointée sur Bénéfice. Chapitre 3 : RISKOptimizer : Pas à pas 61 REMARQUE IMPORTANTE : Bien que notre exemple ait produit une solution présentant un bénéfice total de 2236,03, votre résultat pourra être supérieur ou inférieur à cette valeur. RISKOptimizer a peut-être identifié aussi une combinaison différente de Maximum de réservations acceptées et Pourcentage vendu au tarif plein ayant produit une même cote totale. Ces différences s’expliquent par l’importante distinction qui sépare RISKOptimizer de tous les autres algorithmes de résolution de problèmes : c’est la nature aléatoire du moteur d’algorithmes génétiques de RISKOptimizer qui lui permet de résoudre une plus grande variété de problèmes et d’y trouver de meilleures solutions. Lorsque vous enregistrez une feuille après l’exécution de RISKOptimizer (et même si vous en « rétablissez » les valeurs originales après cette exécution), tous les paramètres RISKOptimizer configurés dans les boîtes de dialogue du programme s’enregistrent avec cette feuille. À l’ouverture suivante de la feuille, tous les paramètres les plus récents de RISKOptimizer se chargent ainsi automatiquement. Tous les autres exemples de feuilles de calcul sont déjà dotés des paramètres RISKOptimizer et sont prêts à être optimisés. REMARQUE : Si vous désirez consulter le modèle Cies aériennes déjà assorti de tous ses paramètres d’optimisation, ouvrez le fichier d’exemple RENDAERIEN.XLS. 62 Visite guidée Chapitre 3 : RISKOptimizer : Pas à pas 63 Chapitre 4 : Applications types Introduction ...................................................................................... 66 Allocation budgétaire....................................................................... 68 Planification de capacité ................................................................. 70 Planificateur de classes .................................................................. 72 Couverture sur contrats à terme .................................................... 76 Ordonnancement multigamme ....................................................... 78 Équilibrage de portefeuille .............................................................. 80 Composition de portefeuille............................................................ 82 Risque de portefeuille...................................................................... 84 Problème de voyageur de commerce ............................................ 86 Gestion du rendement ..................................................................... 88 Chapitre 4 : Applications types 64 Chapitre 4 : Applications types 65 Introduction Dans ce chapitre, vous trouverez différentes applications de RISKOptimizer. Ces exemples ne couvrent pas nécessairement toutes les fonctionnalités qui vous intéressent. Leur but serait plutôt de servir de modèles et d’éveiller de nouvelles idées. Tous les exemples présentés illustrent la manière dont RISKOptimizer recherche ses solutions sur la base des relations existantes dans la feuille de calcul. Veillez par conséquent à ce que vos modèles représentent précisément le problème à résoudre. Tous les exemples de feuille de calcul présentés ici se trouvent dans le répertoire RISKOPTIMIZER5, sous-répertoire « EXEMPLES ». Tous les paramètres RISKOptimizer voulus sont présélectionnés dans chaque exemple : cellule cible, cellules ajustables, méthodes de résolution et contraintes. Ne manquez pas d’examiner ces paramètres dans leur boîte de dialogue avant de lancer l’optimisation. En examinant les formules et en essayant différents paramètres, vous comprendrez et maîtriserez mieux le fonctionnement de RISKOptimizer. Les modèles proposés vous permettent aussi de remplacer les données d’échantillon par vos propres données « utilisateur ». Si vous décidez de modifier ou d’adapter ces feuilles d’exemple, enregistrez-les sous un autre nom pour conserver les versions originales pour référence. 66 Introduction Chapitre 4 : Applications types 67 Allocation budgétaire Supposons qu’un haut cadre désire identifier le mode le plus efficace de distribution de fonds entre les différents services de son entreprise pour maximiser le bénéfice. Le modèle ci-dessous représente l’entreprise et son bénéfice projeté pour l’année prochaine. Le modèle estime ce bénéfice en examinant le budget annuel et en supposant, par exemple, la manière dont la publicité affecte les ventes. Les estimations de ventes incertaines incluent des distributions de probabilités reflétant les plages de valeurs possibles. Il s’agit ici d’un modèle simple, mais qui illustre la configuration d’un modèle et le recours à RISKOptimizer pour y identifier la sortie optimale. 68 Fichier de l’exemple : budget.xls But : Affecter le budget annuel entre cinq services pour maximiser le bénéfice de l’an prochain. Méthode de résolution : budget Problèmes similaires : Affecter des ressources précaires (telles que main-d’œuvre, argent, carburant, temps) à des postes susceptibles de les utiliser de différentes manières plus ou moins efficientes. Allocation budgétaire Modèle Le fichier « budget.xls » modélise les effets du budget d’une entreprise sur ses ventes et bénéfices à venir. Les cellules C4:C8 (les variables) représentent les montants à allouer à chacun des cinq services. La cellule C10 représente le total de ces valeurs, soit le budget annuel total de l’entreprise. Ce budget est défini par l’entreprise et est inchangeable. Les cellules F6:F10 calculent une estimation de la demande du produit de l’entreprise pour l’année prochaine, en fonction des budgets publicitaires et de marketing. Le montant de ventes réelles représente le minimum de la demande calculée et de l’offre. L’offre dépend des fonds alloués aux services de production et d’exploitation. Les estimations incertaines du modèle sont incluses dans les distributions de probabilités des calculs d’estimation des ventes dans les cellules F6 à F10. Résolution On maximise le bénéfice dans la cellule I16 en choisissant la méthode de résolution « budget » pour ajuster les valeurs des cellules C4 :C8. On fixe les plages indépendantes de chacune des cellules ajustables du budget de chaque service pour éviter que RISKOptimizer n’essaie de valeurs négatives ou de chiffres qui ne produiraient pas de solutions budgétaires pertinentes (toute publicité sans production, par exemple). La méthode de résolution « budget » opère de la même manière que « recette » en ce qu’elle recherche la bonne « combinaison » des variables choisies. La différence est que sous la méthode « budget », on ajoute la contrainte que le total de toutes les variables doit rester égal avant et après l’optimisation. Chapitre 4 : Applications types 69 Planification de capacité Ce modèle fait appel à RISKOptimizer pour sélectionner le niveau de capacité d’une nouvelle usine et maximiser les bénéfices. Dans le modèle , l’entreprise ZooCo envisage le lancement d’un nouveau médicament pour hippopotames. Un modèle de simulation ordinaire génère la distribution de VAN pour la production du nouveau médicament. Il faut cependant décider de la capacité de l’usine à construire. Quel est le niveau de capacité qui maximise la VAN ajustée en fonction du risque ? 70 Fichier de l’exemple : capacité.xls But : Maximiser la moyenne de la distribution simulée pour VAN par variation de la capacité d’usine. Méthode de résolution : recette Problèmes similaires : Analyses de gestion combinant des modèles de simulation conventionnels à des variables de décision contrôlées par l’utilisateur. Planification de capacité Modèle Résolution Au début de l’année courante, un million d’hippopotames sont susceptibles d’utiliser le produit, comme indiqué dans la cellule B34. Chaque hippopotame prendra le médicament (ou celui d’un concurrent), au plus, une fois par an. Selon les prévisions, la population d’hippopotames devrait s’accroître, en moyenne, de 5 % par an, et on est sûr, à 95 %, qu’elle s’accroîtra chaque année de 3 % à 7 % (comme modélisé à l’aide des distributions de probabilités des cellules B34 à F34). La consommation du médicament durant la première année est incertaine, mais on imagine qu’elle sera, au pire, de 20 %, le plus probablement, de 40 % et, au mieux, de 70 % (comme modélisé par distribution de probabilités dans la cellule B35). Pour les années suivantes, la proportion des hippopotames qui prendront le médicament (ou celui d’un concurrent) devrait rester la même, mais durant toute année suivant l’arrivée d’un concurrent sur le marché, l’entreprise perdra vraisemblablement 20 % de sa part par concurrent. Une unité de capacité annuelle coûte €3,50 à la construction et €0,30 par an à l’exploitation (que cette capacité soit utilisée ou non pour la production du médicament). Un niveau de capacité compris entre 100 000 et 500 000 unités peut être réalisé. On choisit la méthode de résolution recette pour la cellule I26. On maximise la moyenne simulée de B45. Chapitre 4 : Applications types 71 Planificateur de classes Une université doit affecter 25 classes différentes à 6 blocs temps prédéfinis. Comme le programme doit être élaboré avant l’inscription des étudiants, le nombre réel d’étudiants par classe est incertain. La durée de chaque classe est d’exactement un bloc temps. Cela permettrait ordinairement d’aborder le problème par la méthode de résolution « groupement ». La programmation des classes exige cependant la satisfaction de plusieurs contraintes. Par exemple, les cours de biologie et chimie ne doivent pas être programmés en même temps, pour que les étudiants de médicine puissent les suivre la même année. Pour satisfaire à ces contraintes, on choisira donc la méthode de résolution « programmation ». Cette méthode est comparable à celle de « groupement », si ce n’est que certaines tâches doivent (ou ne doivent pas) se produire avant (ou après ou pendant) d’autres. 72 Fichier de l’exemple : classes.xls But : Affecter 25 classes à 6 périodes de temps de manière à minimiser la moyenne de la distribution simulée pour le nombre d’étudiants qui devront être exclus de certaines classes. Satisfaire aux contraintes d’agencement des classes dans le temps. Méthode de résolution : programme Problèmes similaires : Tout problème de programmation où toutes les tâches sont de même longueur et peuvent être affectées à un bloc temps discret quelconque. Tout problème de groupement aussi soumis à des contraintes quant aux groupes auxquels certains éléments peuvent être affectés. Planificateur de classes Modèle Le fichier « classes.xls » contient un modèle de problème de programmation type soumis à de nombreuses contraintes. La plage des valeurs possibles de chaque classe est donnée par les distributions de probabilités entrées dans la plage D8:D32 libellée « Taille réelle ». Les cellules C8:C32 affectent les 25 classes aux 6 blocs temps. On ne dispose que de cinq salles de classe. L’affectation de plus de cinq classes par bloc temps impliquerait l’impossibilité de réunion d’au moins une classe. Les cellules L20:N28 définissent les contraintes. À gauche de ces contraintes figurent leurs descriptions littérales. Vous pouvez utiliser, au choix, le code numérique ou la description littérale de la contrainte. La liste des codes de contrainte des problèmes de programmation figure en détails dans la section du chapitre 5 : Guide de référence RISKOptimizer consacrée aux « Méthodes de résolution ». Chaque programme possible est évalué en calculant a) le nombre de classes exclues et b) le nombre d’étudiants exclus pour cause de classe saturée. Cette dernière contrainte évite la programmation simultanée de toutes les classes nombreuses. Si une ou deux classes nombreuses seulement se réunissent sur un bloc temps donné, les salles de classe plus vastes peuvent leur être réservées. Les cellules J11:M11 font appel à la fonction BDNB pour compter le nombre de classes affectées à chaque bloc temps. La section juste audessous des cellules J12:M12 calcule le nombre de classes non affectées à une salle de classe pour le bloc temps correspondant. Toutes les classes sans salle sont totalisées dans la cellule L13. Chapitre 4 : Applications types 73 Si le nombre de sièges requis pour une classe donnée dépasse le nombre de sièges disponibles, les cellules J15:M15 calculent l’excès et le nombre total d’étudiants sans siège est calculé dans la cellule L16. Dans la cellule G9, ce nombre total d’étudiants sans siège est ajouté à la taille de classe moyenne et multiplié par le nombre de classes sans salle. Une cellule combine ainsi toutes les pénalités, de sorte qu’un nombre inférieur, dans cette cellule, indique toujours un meilleur programme. Résolution 74 On minimise la moyenne de la distribution simulée pour les pénalités dans G9 par variation des cellules C8:C32. On choisit la méthode de résolution « programme ». Lorsque cette méthode est sélectionnée, ses options s’affichent dans le volet « options » inférieur de la boîte de dialogue. On fixe le nombre de blocs temps à 6 et les cellules sous contrainte à L20:N28. Planificateur de classes Chapitre 4 : Applications types 75 Couverture sur contrats à terme Nous sommes le 8 juin 2000. L’entreprise GlassCo doit acheter 500 000 litres de mazout le 8 novembre 2000. Le cours au comptant actuel est de $0,42 le litre. Le cours du carburant est censé suivre une variable aléatoire normale logarithmique à moyenne = 0,08 et écart type = 0,30. Le taux sans risque est de 6 %. On couvre le risque par un achat de contrats de carburant à terme expirant le 8 décembre 2000. Combien de contrats à terme faut-il acheter ? 76 Fichier de l’exemple : mazout.xls But : Déterminer le nombre de contrats à terme aptes à protéger contre les fluctuations de cours d’un achat futur. Méthode de résolution : recette Problèmes similaires : Modèles de minimisation du risque où l’objectif est de minimiser l’écart type de la cible. Couverture sur contrats à terme Modèle Le modèle cherche à assurer un coût d’achat, dans cinq mois, de 210 000 litres de mazout à un prix aussi prévisible que possible moyennant l’achat de contrats à terme pour se protéger contre les fluctuations des cours. Les facteurs incertains du modèle sont le prix comptant futur du mazout (cellule B13) et celui des contrats à terme futurs (cellule B15). Résolution On commence par choisir une cellule ajustable. Pour ce modèle, on ajustera la cellule B12 – Nbre de contrats à terme « long » ou achetés – pour minimiser l’écart type du coût total dans la cellule B23. Le nombre de contrats achetés peut être compris entre un minimum de 0 et un maximum de 600 000. Chapitre 4 : Applications types 77 Ordonnancement multigamme Un atelier de travail des métaux doit trouver le meilleur moyen de planifier un ensemble de projets à répartir par étapes réalisables sur différentes machines. Chaque projet compte cinq tâches, dont la réalisation doit s’effectuer dans un certain ordre. Chaque tâche doit être accomplie sur une machine particulière, mais sa durée d’exécution est incertaine. Il y a cinq projets et cinq machines. Le bouton Programme, en haut de la feuille de calcul, retrace le graphique à barres pour indiquer le moment d’exécution prévu de chaque tâche. 78 Fichier de l’exemple : atelier de travail.xls But : Affecter les éléments d’un projet (tâches) à des machines de manière à minimiser la durée totale de tous les projets. Méthode de résolution : ordre Problèmes similaires : Problèmes de planification ou gestion de projet Ordonnancement multigamme Modèle Résolution La durée incertaine de chaque tâche est décrite par les distributions de probabilités des cellules E11 à E35. La cellule D5 calcule le temps écoulé entre le début de la première tâche planifiée et la fin de la dernière tâche planifiée. Ce temps total est l’élément à minimiser. Les cellules G11:G35 contiennent les variables (les tâches) à organiser de différentes manières pour déterminer l’ordre optimal. Les équations calculent le moment auquel chaque tâche peut être exécutée sur la machine nécessaire à sa réalisation. On sélectionne l’ensemble de cellules ajustables G11:G35 et on choisit la méthode de résolution ordre. On minimise la moyenne des résultats de simulation de la cellule D5. Chapitre 4 : Applications types 79 Équilibrage de portefeuille Un courtier a une liste de 80 titres de différents types dont la valeur future sera différente et incertaine. Le courtier veut grouper ces titres en cinq ensembles (portefeuilles) dont les valeurs totales respectives seront aussi proches que possible dans un an. Il s’agit ici d’un exemple relevant d’une classe générale de problèmes dits d’emballage optimal. Le chargement des cales d’un cargo de manière à répartir uniformément de poids en est un autre exemple. S’il y a des millions de petits éléments à « emballer » dans quelques groupes seulement (des grains de blé dans les cales d’un navire, par exemple), une distribution plus ou moins égale peut être estimée sans grande différence de poids. En revanche, plusieurs douzaines de paquets de poids et/ou tailles différents peuvent être disposés de différentes manières, et un emballage efficace peut améliorer l’équilibre qu’on atteindrait manuellement. 80 Fichier de l’exemple : équilibrage de portefeuille.xls But : Répartir une liste de titres en cinq portefeuilles différents dont les valeurs futurs seront aussi proches que possible les unes des autres. Méthode de résolution : groupement Problèmes similaires : Formation d’équipes dotées de talents collectifs plus ou moins équivalents. Chargement de conteneurs dans les cales d’un bateau pour répartir uniformément la charge. Équilibrage de portefeuille Modèle Le fichier « équilport.xls » modélise une tâche de groupement typique. La colonne A contient les numéros d’identification de titres spécifiques, et la colonne B identifie la classe de chaque titre (la feuille de calcul TITRES documente chaque classe de titres). Les colonnes C, D et E indiquent la valeur courante en dollars de chaque titre et la moyenne et l’écart type du rapport de l’année suivante (en fonction de la classe du titre). La colonne F calcule la valeur du titre dans un an selon un taux de rendement échantillonné dans une distribution de probabilités utilisant la moyenne et l’écart type indiqués. La colonne G affecte chaque titre à l’un des cinq portefeuilles. Lors de la configuration d’une type de problème à groupement ou emballage optimal avec sélection de la méthode de résolution groupement, on veillera, avant de démarrer RISKOptimizer, à ce que chaque groupe (1-5) soit représenté au moins une fois dans le scénario. Les cellules J6:J10 utilisent les formules « BDSOMME() » pour calculer la valeur totale de chacun des cinq portefeuilles. Ainsi, par exemple, la cellule J6 calcule la BDSOMME de toutes les valeurs de la colonne F affectées au groupe 5 (dans la colonne G). La cellule J12 calcule l’écart type des valeurs de portefeuille totales au moyen de la fonction « ECARTYPE() ». On obtient ainsi une mesure de la proximité des valeurs de portefeuille les unes par rapport aux autres. Le graphique représente la valeur totale de chaque portefeuille, avec une ligne de référence marquant la valeur cible s’ils étaient tous égaux. Résolution On minimise la moyenne des résultats de simulation de la cellule J12 par variation des cellules G5:C84. On choisit la méthode « groupement » et on assure que les valeurs 1, 2, 3, 4 et 5 figurent chacune au moins une fois dans la colonne G. Sous la méthode de résolution « groupement », RISKOptimizer dispose les variables en x groupes, où x représente le nombre de valeurs différentes dans les cellules ajustables au début d’une optimisation. Chapitre 4 : Applications types 81 Composition de portefeuille Un jeune couple détient des valeurs dans plusieurs types d’investissement différents, présentant chacun leur propre rapport, croissance potentielle et risque. Le but est de sélectionner la combinaison d’investissements apte à maximiser le rapport total tout en maintenant le risque à un niveau acceptable. 82 Fichier de l’exemple : composition de portefeuille.xls But : Trouver la combinaison optimale d’investissements pour maximiser le bénéfice, compte tenu du rapport risque/besoin de rendement actuel. Méthode de résolution : budget Composition de portefeuille Modèle Résolution Cet exemple présente un modèle d’investissement classique cherchant à équilibrer le risque de perte par rapport au rendement. Chaque valeur listée dans la colonne B présente un % de croissance incertain et un rendement fixe. Le rapport total additionne la plus-value et le rendement. L’objectif consiste à maximiser le rendement total tout en gardant l’écart type de la rentabilité du portefeuille à moins de 9 %. Le rapport total, dans la cellule D33, reflète la somme de la plus-value totale et du rendement total. On maximise la moyenne de la distribution simulée pour cette cellule. Une contrainte de simulation ferme spécifie que l’écart type de la cellule D33 doit être inférieur à 0,09. Chapitre 4 : Applications types 83 Risque de portefeuille Un investisseur cherche à déterminer le moyen le plus sûr de structurer un portefeuille d’après plusieurs investissements. Les données historiques révèlent une corrélation entre les taux de rendement de l’investissement. L’objectif est de diviser le portefeuille total entre trois investissements disponibles de manière à atteindre le taux de rendement désiré de 12 % tout en minimisant le risque, ou l’écart type, du rendement de portefeuille. 84 Fichier de l’exemple : corrmat.xls But : Minimiser l’écart type du rendement de portefeuille tout en atteignant le rendement désiré. Méthode de résolution : budget Problèmes similaires : Tout modèle de minimisation du risque. Risque de portefeuille Modèle Chacun des trois investissements disponibles présente un rendement incertain modélisé à l’aide de distributions de probabilités dans les cellules E3 à E5. Pour corréler les rendements des trois investissement, la fonction RiskCorrmat est utilisée, avec matrice de corrélation dans les cellules J9:L11. RISKOptimizer va ajuster le pourcentage du portefeuille affecté à chaque investissement. La méthode de résolution « budget » assure que le % total affecté est toujours de 100 %. L’objectif est de minimiser l’écart type du rendement de portefeuille total tout en satisfaisant à la contrainte d’un rendement total égal ou supérieur à 12 %. Résolution On minimise l’écart type des résultats de simulation de la cellule G6. On définit une contrainte de simulation ferme selon laquelle la moyenne des résultats de la simulation de la cellule G6 doit être supérieure à 0,12. Chapitre 4 : Applications types 85 Problème de voyageur de commerce Un voyageur de commerce doit se rendre une fois dans chaque ville de son territoire. Quel est l’itinéraire le plus rapide qui lui permettra de couvrir chaque ville ? Il s’agit ici d’un problème d’optimisation classique présentant un aspect pointu (le temps de route entre chaque ville est incertain), particulièrement difficile à résoudre selon les techniques traditionnelles si le nombre de villes est grand (>50). La recherche du meilleur ordre d’exécution des tâches dans une usine présenterait un problème similaire. Ainsi, il pourrait être beaucoup plus simple d’appliquer la peinture noire après la blanche plutôt que l’inverse. Sous RISKOptimizer, ces types de problème se résolvent le mieux à l’aide de la méthode ordre. 86 Fichier de l’exemple : vendeur.xls But : Rechercher l’itinéraire le plus rapide entre n villes dont chacune doit être visitée une fois. Méthode de résolution : ordre Problèmes similaires : Planifier le perçage le plus rapide possible d’une carte de circuit imprimé. Problème de voyageur de commerce Modèle Le fichier « vendeur.xls » calcule le temps de route vers différentes villes en recherchant les durées de voyage sur un tableau. Les temps de route entre deux villes sont décrits par une distribution de probabilités (le tableau en compte 200). La colonne A contient les numéros d’identification des villes. La colonne B contient les noms correspondant à ces numéros (par fonction de recherche). L’ordre dans lequel les villes (et leurs numéros) figurent de haut en bas représentent l’ordre dans lequel elles sont visitées. Par exemple, si on entre « 9 » dans la cellule A3, Ottawa est la première ville visitée. « 6 » (Halifax) dans la cellule A4 désigne Halifax comme deuxième ville. Les temps de route entre les villes sont représentés par des distributions de probabilités à partir de C25. Ces distributions font référence au tableau des distances de route réelles entre les villes, présenté à partir de la cellule C48. Les distances indiquées dans le tableau sont symétriques (la distance de A à B est identique à celle de B à A). Les modèles plus réalistes peuvent cependant inclure des distances non symétriques pour représenter la difficulté accrue du voyage dans l’une ou l’autre des directions (à cause des péages, moyens de transport disponibles, direction des vents, relief, etc.) Une fonction doit maintenant être utilisée pour calculer la longueur du trajet entre ces villes. La longueur de route totale se stocke dans la cellule G2, qui représente la cellule à optimiser. On utilise ici la fonction « LongueurRoute ». Il s’agit d’une fonction VBA personnalisée dans Vendeur.xls. Résolution On minimise la valeur de la cellule G2 en ajustant les cellules A3:A22. On choisit la méthode « ordre » et on assure que les valeurs 1 à 20 figurent dans les cellules ajustables (A3:A22) avant de démarrer l’optimisation. Sous la méthode de résolution « ordre », RISKOptimizer réorganise les variables choisies, en essayant différentes permutations des variables existantes. Chapitre 4 : Applications types 87 Gestion du rendement Cet exemple présente un modèle de gestion de rendement identifiant le nombre optimal de places à tarif plein et tarif réduit à vendre sur un vol donné. Il identifie également le nombre optimal de réservations à accepter en plus du nombre de sièges disponibles – le problème classique de la surréservation. 88 Fichier de l’exemple : rendementoaérien.xls But : Identifier le nombre maximum de réservations à accepter dans différentes catégories tarifaires pour maximiser le bénéfice. Méthode de résolution : recette Problèmes similaires : Tout problème de gestion de rendement où un même produit est proposé à différents prix. Gestion du rendement Modèle Résolution Le fichier « rendaérien.xls » représente un modèle tout simple d’application de RISKOptimizer à la gestion du rendement. Des distributions de probabilités sont affectées à une série de facteurs incertains du modèle, y compris la Demande de réservations plein tarif (cellule C8), le % Passagers défaillants – Réservations tarif plein (cellule C7), le % Passagers défaillants – Réservations tarif réduit (cellule C11), la Demande de réservations à tarif réduit (cellule 12) et le Coût d’embarquement refusé (cellule C23). Le bénéfice brut du vol est déterminé en calculant le revenu total des réservations dans chaque catégorie, moins le coût des embarquements refusés sur vol surréservé. Dans ce modèle, les variables à ajuster occupent les cellules C14 et C15. Ces cellules contiennent les valeurs du nombre maximum de réservations acceptées et le pourcentage des réservations qui seront affectées aux places plein tarif. « Le bénéfice doit toujours être >0 » est une contrainte d’itération et « L’écart type des résultats de simulation du bénéfice doit être <400 », une contrainte de simulation. L’objectif est de maximiser la moyenne de la distribution simulée pour le bénéfice tout en minimisant le risque comme spécifié par les contraintes définies. Chapitre 4 : Applications types 89 Chapitre 5 : Guide de référence RISKOptimizer Commande Définition du modèle ................................................... 92 Plages de cellules ajustables ............................................................... 97 Groupes de cellules ajustables ........................................................... 99 Méthode de résolution « recette »....................................... 101 Méthode de résolution « ordre » ......................................... 102 Méthode de résolution « groupement »............................. 102 Méthode de résolution budget ............................................ 104 Méthode de résolution « projet » ........................................ 104 Méthode de résolution « programme ».............................. 106 Taux de croisement et de mutation ................................... 108 Nombre de blocs temps et cellules sous contrainte ........ 110 Tâches précédentes................................................................ 110 Opérateurs............................................................................... 110 Contraintes ........................................................................................... 113 Ajouter – Ajout de contraintes ........................................... 113 Type de contrainte ................................................................. 114 Contraintes de simulation.................................................... 115 Format de contrainte Simple ou Formule.......................... 115 Contraintes souples............................................................... 116 Commande Paramètres d’optimisation – Onglet Général ......... 119 Commande Paramètres d’optimisation – Onglet Temps d’exécution .................................................................................. 123 Optimisation........................................................................... 124 Simulation............................................................................... 125 Commande Paramètres d’optimisation – Onglet Affichage ...... 127 Commande Paramètres d’optimisation – Onglet Macros .......... 129 Commande Démarrer l'optimisation ............................................ 132 90 Gestion du rendement Commandes Utilitaires...................................................................134 Commande Paramètres d’application ..............................................134 Commande Solveur de contraintes...................................................135 Suivi RISKOptimizer .......................................................................138 Suivi RISKOptimizer – Onglet Progression ...................................139 Options graphiques................................................................140 Suivi RISKOptimizer – Onglet Synthèse ........................................141 Suivi RISKOptimizer – Onglet Journal ...........................................142 Suivi RISKOptimizer – Onglet Population ....................................144 Suivi RISKOptimizer – Onglet Diversité........................................145 Suivi RISKOptimizer – Onglet Options d’arrêt.............................146 Chapitre 5 : Guide de référence RISKOptimizer 91 Commande Définition du modèle Définit le but, les cellules ajustables et les contraintes d’un modèle. La commande Définition du modèle de RISKOptimizer (ou l’icône Modèle de la barre d’outils de RISKOptimizer) ouvre la boîte de dialogue Modèle. Boîte de dialogue RISKOptimizer – Modèle La boîte de dialogue RISKOptimizer – Modèle sert à spécifier ou décrire un problème d’optimisation à RISKOptimizer. Vide à chaque ouverture de nouveau classeur Excel, cette boîte de dialogue enregistre cependant son information avec chaque classeur. À la réouverture de la feuille de calcul, elle se remplit donc de la même manière. Chaque composant de cette boîte de dialogue est décrit dans cette section. Chapitre 5 : Guide de référence RISKOptimizer 92 Options de la boîte de dialogue Modèle : • But d’optimisation. L’option But d’optimisation détermine le type de réponse que RISKOptimizer devra rechercher. Minimum configure la recherche de valeurs variables qui produisent la plus petite valeur possible pour la statistique sélectionnée des résultats de simulation de la cellule cible (jusqu’à –1e300). Maximum configure la recherche de valeurs variables qui produisent la plus grande valeur possible pour la statistique sélectionnée des résultats (jusqu’à +1e300). Valeur cible configure la recherche de valeurs variables qui produisent pour la statistique sélectionnée une valeur aussi proche que possible de la valeur spécifiée. L’optimisation s’arrête automatiquement lorsque RISKOptimizer trouve une solution qui produit le résultat désiré. Par exemple, si vous configurez la recherche de la moyenne de la distribution de résultats de simulation la plus proche de 14, RISKOptimizer trouvera peutêtre des scénarios produisant une moyenne de 13,7 ou 14,5. Remarquez que 13,7 est plus proche de 14 que 14,5. Peu importe que la valeur de la statistique soit supérieure ou inférieure à celle que vous spécifiez : RISKOptimizer considère strictement la proximité de la valeur. • Cellule. La cellule ou cellule cible contient la sortie du modèle. Une distribution de valeurs possibles pour cette cellule cible sera générée (par simulation) pour chaque « solution itérative » produite par RISKOptimizer (c.-à-d. chaque combinaison de valeurs possibles de cellules ajustables). La cellule cible doit contenir une formule qui dépend (directement ou à travers une série de calculs) des cellules ajustables. Cette formule peut faire appel aux formules Excel standard telles que SOMME() ou aux macro-fonctions VBA définies par l’utilisateur. Ces dernières permettent l’évaluation par RISKOptimizer de modèles extrêmement complexes. Pendant la recherche, RISKOptimizer se réfère à la statistique des résultats de simulation de la cellule cible comme cote ou « fonction de pertinence » pour évaluer la qualité de chaque scénario possible et déterminer les valeurs variables dont il convient de poursuivre le croisement et celles destinées à « mourir ». Dans l’évolution biologique, la mort est la « fonction de pertinence » qui détermine les gènes appelés à survivre et prospérer dans la population. Lors de l’élaboration d’un modèle, la cellule cible doit refléter la pertinence ou la « qualité » d’un Chapitre 5 : Guide de référence RISKOptimizer 93 scénario donné, de sorte que RISKOptimizer puisse mesurer précisément le progrès de ses calculs. 94 Commande Définition du modèle • Statistique. On indique ici la statistique des résultats de simulation de la cellule cible à minimiser, maximiser ou régler sur une valeur spécifique. Cette statistique se sélectionne dans la liste déroulante. Sélectionnez simplement la statistique de la cellule cible à minimiser, maximiser ou régler sur une valeur spécifique dans la liste déroulante. Pour sélectionner un centile ou une cible pour la distribution de la cellule cible : 1) Sélectionnez Centile (X pour P donné) ou Cible (P pour X donné). 2) Pour Centile (X pour P donné), entrez la valeur « P » désirée entre 0 et 100 dans le champ %. La valeur minimisée ou maximisée sera celle associée au centile indiqué. Ainsi, sous Centile (99%), RISKOptimizer identifiera la combinaison de valeurs de cellules ajustables qui minimise ou maximise le 99e centile de la distribution des résultats de simulation de la cellule cible. 3) Pour Cible (P pour X donné), entrez la valeur « X » désirée. La valeur minimisée ou maximisée sera la probabilité cumulative associée à la valeur entrée. Ainsi, sous Cible (1000), RISKOptimizer identifiera la combinaison de valeurs de cellules ajustables qui minimise ou maximise la probabilité cumulative de la valeur 1000 (telle que calculée selon la distribution des résultats de simulation de la cellule cible). Chapitre 5 : Guide de référence RISKOptimizer 95 L’utilisateur peut choisir de collecter des statistiques dans ses modèles, à travers les fonctions statistiques @RISK/RISKOptimizer telles que RiskMean. Pour optimiser la valeur d’une telle cellule, la statistique à optimiser ne doit pas être précisée, puisque la cellule même contient l’information nécessaire. Dans ce cas, sélectionnez l’option Valeur dans la liste déroulante Statistique, pour que RISKOptimizer optimise la valeur d’une cellule donnée à la fin d’une simulation. Par exemple, pour optimiser la moyenne de la cellule C5, on taperait =RiskMean(C5) dans la cellule C6, on préciserait C6 comme cellule à optimiser dans la boîte de dialogue Modèle et on sélectionnerait Valeur dans la liste déroulante Statistique. Cela revient à spécifier C5 comme cellule à optimiser et à sélectionner Moyenne dans la liste déroulante Statistique. 96 Commande Définition du modèle Plages de cellules ajustables Le tableau des Plages de cellules ajustables affiche chaque plage contenant les cellules ou valeurs que RISKOptimizer peut ajuster, ainsi que la description entrée pour ces cellules. Chaque ensemble de cellules ajustables figure sur une ligne horizontale. Une ou plusieurs plages de cellules ajustables peuvent être incluses dans un Groupe de cellules ajustables. Toutes les plages de cellules d’un groupe ont en commun leur méthode de résolution, leur taux de croisement, leur taux de mutation et leurs opérateurs. Comme les cellules ajustables contiennent les variables du problème, il faut définir au moins un groupe de cellules ajustables pour utiliser RISKOptimizer. Un groupe de cellules ajustables suffit à décrire la plupart des problèmes. Ceux plus complexes peuvent cependant requérir différents blocs de variables à résoudre simultanément sous plusieurs méthodes de résolution. Cette architecture permet l’élaboration et la description de problèmes complexes sous la forme de groupes divers de cellules ajustables. Les options suivantes sont proposées pour la définition des plages de cellules ajustables : • Ajouter. Pour ajouter de nouvelles cellules ajustables, cliquez sur le bouton « Ajouter » en regard de la zone de liste de cellules ajustables. Sélectionnez la cellule ou la plage de cellules à ajouter. Une nouvelle ligne s’affiche dans le tableau des Plages de cellules ajustables. Ce tableau admet l’entrée de valeurs Minimum et Maximum pour les cellules de la plage, de même que du type de valeurs à tester – entières sur toute la plage, ou quelconques. • Minimum et Maximum. Après la spécification de l’emplacement des cellules ajustables, les entrées Minimum et Maximum définissent la plage de valeurs acceptables pour chaque cellule. Par défaut, chaque cellule ajustable reçoit une valeur de nombre réel (virgule flottante double précision) entre l’infini négatif (infini-) et l’infini positif (infini+). Chapitre 5 : Guide de référence RISKOptimizer 97 Les paramètres de plage sont des contraintes strictement appliquées. RISKOptimizer n’admet aucune variable de valeur extérieure aux plages définies. La définition de plages spécifiques de variables est recommandée, dans la mesure du possible, pour améliorer les performances de RISKOptimizer : par exemple, quand vous savez que le nombre ne peut pas être négatif ou que RISKOptimizer ne doit essayer que les valeurs comprises entre 50 et 70 pour une variable donnée. • Plage. La référence de la ou des cellules à ajuster s’inscrit dans le champ Plage. Cette référence se saisit par sélection de la région concernée de la feuille de calcul à l’aide de la souris, par l’entrée d’un nom de plage ou par la saisie d’une référence Excel valable telle que Feuille1!A1:B8. Le champ Plage est disponible pour toutes les méthodes de résolution. Pour les méthodes recette et budget, toutefois, les options Minimum, Maximum et Valeurs peuvent être ajoutées pour permettre l’entrée d’une plage pour les cellules ajustables. REMARQUE : Affecter des plages étroites aux variables limite l’étendue de la recherche et accélère la convergence de RISKOptimizer vers une solution. Attention cependant à ne pas limiter excessivement les plages de variables : RISKOptimizer risquerait de ne pas trouver de solution optimale. • Valeurs. L’entrée Valeurs permet de préciser que RISKOptimizer doit traiter toutes les variables de la plage spécifiée en tant que valeurs entières (par exemple, 22), plutôt que de nombres réels (22,395). Cette option n’est disponible que pour les méthodes de résolution « recette » et « budget ». Par défaut, les variables sont traitées en tant que nombres réels. Veillez à activer le paramètre Entières pour les modèles dont les variables recherchent des éléments de table (RECHERCHEH(), RECHERCHEV(), INDEX(), DECALER(), etc.) Remarquez que le paramètre Entières affecte toutes les variables de la plage sélectionnée. Pour traiter certaines variables comme nombres réels et d’autres comme valeurs entières, on créera deux groupes de cellules ajustables plutôt qu’un et on choisira Entières pour un bloc et Quelconques pour l’autre : on « ajoute » un groupe recette de cellules ajustables et on garde le paramètre de valeurs « Quelconques ». On « ajoute » ensuite une deuxième plages de cellules, en sélectionnant cette fois le paramètre de valeurs « Entières » pour les cellules ajustables concernées. 98 Commande Définition du modèle Groupes de cellules ajustables Chaque groupe de cellules ajustables peut contenir plusieurs plages de cellules. On peut ainsi créer une « hiérarchie » de groupes de plages de cellules apparentées les unes aux autres. Au sein de chaque groupe, chaque plage de cellules peut avoir sa propre contrainte de plage Min-Max. Toutes les plages de cellules d’un groupe de cellules ajustables ont en commun leur méthode de résolution, leur taux de croisement, leur taux de mutation et leurs opérateurs, spécifiés dans la boîte de dialogue Paramètres de groupe de cellules ajustables. Pour accéder à cette boîte de dialogue, cliquez sur le bouton Groupe, en regard du tableau Plages de cellules ajustables. Vous pouvez ainsi créer un nouveau Groupe et y ajouter des plages de cellules ajustables ou modifier les paramètres d’un groupe existant. Chapitre 5 : Guide de référence RISKOptimizer 99 L’onglet Général de la boîte de dialogue Paramètres de groupe de cellules ajustables propose les options suivantes : • Description. Décrit le groupe des plages de cellules ajustables dans les boîtes de dialogue et les rapports. • Méthode de résolution. Détermine la méthode de résolution à utiliser pour chaque plage de cellules ajustables comprise dans le groupe. Lors de la sélection d’une plage de cellules à ajuster, on précise aussi la « méthode de résolution » à appliquer lors de l’ajustage de ces cellules par RISKOptimizer. Chaque méthode de résolution représente essentiellement un algorithme génétique différent, doté de ses propres routines de sélection optimisée, croisement et mutation. Chaque méthode de résolution jongle avec les valeurs des variables de manières différentes. La méthode de résolution « recette », par exemple, traite chaque variable sélectionnée comme un ingrédient d’une recette : la valeur de chaque variable peut changer indépendamment de celle des autres. En revanche, la méthode « ordre » permute les valeurs des cellules ajustables, par réorganisation des valeurs originales. RISKOptimizer propose six méthodes de résolution. Trois d’entre elles (recette, ordre et groupement) reposent sur des algorithmes totalement différents. Les trois autres sont les descendantes des trois premières, auxquelles elles ajoutent des contraintes. 100 Commande Définition du modèle La fonction de chaque méthode de résolution est décrite dans les paragraphes qui suivent. Pour mieux comprendre l’emploi de chaque méthode, ne manquez pas d’explorer les fichiers d’exemple joints au logiciel (voir le chapitre 4 : Applications types). Méthode de résolution « recette » La méthode de résolution « recette » est la plus simple et la plus courante. Choisissez-la quand les variables à ajuster peuvent varier indépendamment les unes des autres. Pensez à chaque variable comme s’il s’agissait de la quantité d’un ingrédient dans un gâteau : en choisissant la méthode de résolution « recette », on dit à RISKOptimizer de générer pour ces variables des valeurs devant mener au meilleur mélange possible. La seule contrainte imposée sous la méthode recette est celle de la plage (valeur supérieure et valeur inférieure) dans laquelle les valeurs doivent être comprises. Cette plage se définit dans les champs Min et Max de la boîte de dialogue Cellules ajustables (1 à 100, par exemple). On y indiquera aussi si RISKOptimizer doit essayer des nombres entiers (1, 2, 7) ou réels (1,4230024 ; 63,72442). Les exemples ci-dessous illustrent un ensemble de valeurs de variables telles qu’elles pourraient figurer dans une feuille de calcul avant l’invocation de RISKOptimizer, puis selon deux nouveaux scénarios résultant de la méthode de résolution recette. Ensemble initial de valeurs de variables Ensemble de valeurs de recette possibles Autre ensemble de valeurs de recette possibles 23,472 15,344 37,452 145 101 190 9 32,44 7,073 65 664 14 021 93 572 Chapitre 5 : Guide de référence RISKOptimizer 101 Méthode de résolution « ordre » La méthode de résolution « ordre » est la seconde méthode la plus utilisée, après « recette ». Elle repose sur la permutation d’une liste d’éléments, dans un effort de recherche du meilleur ordre d’un ensemble de valeurs données. Contrairement aux méthodes de résolution « recette » et « budget », sous lesquelles RISKOptimizer doit générer des valeurs pour les variables choisies, cette méthode utilise les valeurs existantes du modèle. La méthode peut être choisie pour déterminer l’ordre dans lequel différentes tâches doivent être accomplies. Par exemple, pour déterminer l’ordre dans lequel il convient d’accomplir les tâches 1,2,3,4 et 5, la méthode « ordre » mélange ces valeurs, produisant par exemple le scénario 3,5,2,4,1. Comme RISKOptimizer se limite à essayer les valeurs variables de la feuille de calcul initiale, il n’est pas nécessaire de définir de plage Min – Max pour les cellules ajustables sous la méthode « ordre ». Les exemples ci-dessous illustrent un ensemble de valeurs de variables telles qu’elles pourraient figurer dans une feuille de calcul avant l’invocation de RISKOptimizer, puis selon deux nouveaux scénarios résultant de la méthode de résolution ordre. Méthode de résolution « groupement » 102 Ensemble initial de valeurs de variables Ensemble de valeurs d’ordre possibles Autre ensemble de valeurs d’ordre possibles 23,472 145 65 664 145 23,472 9 9 65 664 145 65 664 9 23,472 La méthode de résolution « groupement » est utile quand le problème implique plusieurs variables à regrouper en ensembles. Le nombre de groupements créés par RISKOptimizer correspond à celui de valeurs uniques présentes dans les cellules ajustables en début d’optimisation. Lors de l’élaboration d’un modèle, on veillera donc à ce que chaque groupe soit représenté au moins une fois. Commande Définition du modèle Supposons, par exemple, une plage de 50 cellules contenant seulement les valeurs 2, 3,5 et 17. Si on sélectionne ces 50 cellules et qu’on ajuste les valeurs selon la méthode de résolution « groupement », RISKOptimizer affecte chacune des 50 cellules à l’un de trois groupes : 2, 3,5 et 17. Tous les groupes sont représentés par au moins une des cellules ajustables, comme si on jetait chacune des 50 variables dans un casier, en veillant à ce qu’il y ait au moins une variable dans chaque casier. On pourrait aussi, par exemple, affecter les valeurs 1, 0 et –1 à un système d’opérations boursières, pour indiquer l’achat, la vente et le maintien. Comme dans la méthode « ordre », RISKOptimizer organise les valeurs existantes. Il n’y a donc pas de plage min-max ni d’option de nombres entiers ou réels à définir. REMARQUE : Si vous choisissez la méthode « groupement », ne laissez aucune cellule blanche, à moins que vous ne désiriez que la valeur 0,0 soit considérée comme l’un des groupes. Remarquez que la méthode « recette » sous option « Entier » activée et plage de 1 à 3 (ou autre nombre applicable) se rapprocherait de la méthode « groupement ». La différence tient à la manière dont les méthodes « recette » et « groupement » exécutent leur recherche. Les routines de sélection, mutation et croisement sont différentes : le groupement considère davantage les valeurs de toutes les variables, car il peut permuter les ensembles de variables entre les différents groupes. Les exemples ci-dessous illustrent un ensemble de valeurs de variables telles qu’elles pourraient figurer dans une feuille de calcul avant l’invocation de RISKOptimizer, puis selon deux nouveaux scénarios résultant de la méthode de résolution groupement. Ensemble initial de valeurs de variables Ensemble de valeurs de groupement possibles Autre ensemble de valeurs de groupement possibles 6 6 8 7 6 7 8 8 6 8 7 7 Chapitre 5 : Guide de référence RISKOptimizer 103 Méthode de résolution budget Un « budget » est comparable à une « recette » si ce n’est que toutes les valeurs des variables doivent représenter un certain total. Ce nombre représente le total des valeurs des variables au moment du démarrage d’une optimisation. Par exemple, pour trouver le meilleur moyen de répartir un budget entre plusieurs services, la méthode de résolution « budget » prend le total des valeurs actuelles des services et utilise cette somme comme budget total à distribuer de manière optimale. Les exemples cidessous illustrent deux nouveaux scénarios résultant de la méthode de résolution budget. Ensemble initial de valeurs de budget Ensemble de valeurs de budget possibles Autre ensemble de valeurs de budget possibles 200 93,1 223,5 3,5 30 0 10 100 -67 10 0,4 67 Différentes valeurs sont essayées, mais leur somme demeure 223,5. Méthode de résolution « projet » La méthode de résolution « projet » est similaire à la méthode « ordre », si ce n’est que certains éléments (tâches) doivent en précéder d’autres. Elle est utile à la gestion de projet, pour réorganiser l’ordre d’exécution des tâches, tout en respectant toujours la préséance des contraintes. Un problème modélisé sous la méthode de résolution Projet est beaucoup plus facile à gérer et à comprendre si les cellules ajustables contenant l’ordre des tâches sont présentées en une seule colonne, plutôt que sur une ligne. La méthode de résolution attend en effet une organisation verticale des cellules de tâches précédentes ; il est du reste plus facile d’examiner la feuille de calcul sont présentation verticale des cellules ajustables. 104 Commande Définition du modèle Après avoir spécifié l’emplacement des cellules ajustables, on précise celui des cellules de tâches précédentes dans le volet Tâches précédentes de la boîte de dialogue. Il s’agit ici d’un tableau de cellules décrivant l’ordre de précédence des tâches. La méthode de résolution se réfère à ce tableau pour réorganiser les variables d’un scénario jusqu’à ce que les contraintes de précédence soient satisfaites. Il doit y avoir une ligne dans la plage de tâches précédentes pour chaque tâche comprise dans les cellules ajustables. À partir de la première colonne de la plage des tâches précédentes, le numéro d’identification de chaque tâche dont la tâche de cette ligne dépend doit être indiqué dans des colonnes différentes. Exemple de configuration de l’ordre de précédence pour la méthode de résolution Projet. La plage des tâches précédentes doit être spécifiée sur n lignes sur m colonnes, où n représente le nombre de tâches comprises dans le projet (cellules ajustables) et m le plus grand nombre de tâches précédentes possible pour une tâche. Les exemples ci-dessous illustrent un ensemble de valeurs de variables telles qu’elles pourraient figurer dans une feuille de calcul avant l’invocation de RISKOptimizer, puis selon deux nouveaux scénarios résultant de la méthode de résolution projet, compte tenu de la contrainte que 2 doit toujours suivre 1 et 4 doit toujours suivre 2. Ensemble initial de valeurs de variables Ensemble de valeurs de projet possibles Autre ensemble de valeurs de projet possibles 1 1 1 2 3 2 3 2 4 4 4 3 Chapitre 5 : Guide de référence RISKOptimizer 105 Méthode de résolution « programme » Un programme est similaire à un groupement : il s’agit d’une affectation de tâches dans le temps. Chaque tâche est censée être de même durée, à l’image des classes d’un établissement scolaire. Contrairement au groupement, toutefois, la boîte de dialogue Paramètres de groupe de cellules ajustables de la méthode de résolution « programme » permet de spécifier directement le nombre de blocs temps (ou groupes) à utiliser. Lorsque cette méthode est sélectionnée, ses options s’affichent dans le volet inférieur de la boîte de dialogue. Dans le volet Paramètres d’optimisation, remarquez qu’une plage de cellules de contrainte peut être définie pour cette méthode. La longueur de cette plage est illimitée, mais sa largeur doit être d’exactement trois colonnes. Huit types de contraintes sont reconnus : 1) (avec) Les tâches de la 1ère et de la 3e colonnes doivent avoir lieu dans le même bloc temps. 2) (pas avec) Les tâches de la 1ère et de la 3e colonnes ne doivent pas avoir lieu dans même bloc temps. 3) (avant) La tâche de la 1ère colonne doit avoir lieu avant celle de la 3e colonne. 4) (à) La tâche de la 1ère colonne doit figurer dans le bloc temps de la 3e colonne. 5) (pas après) La tâche de la 1ère colonne doit avoir lieu en même temps que celle de la 3e colonne ou avant. 6) (pas avant) La tâche de la 1ère colonne doit avoir lieu en même temps que celle de la 3e colonne ou après. 7) (pas à) La tâche de la 1ère colonne ne doit pas figurer dans le bloc temps de la 3e colonne. 8) (après) La tâche de la 1ère colonne doit avoir lieu après celle de la 3e colonne. 106 Commande Définition du modèle Une contrainte peut être désignée par son code numérique (1 à 8) ou sa description textuelle (après, pas à, etc.) (Remarque : Toutes les versions traduites de RiskOptimizer reconnaissent la description de contrainte entrée en anglais (after, not at, etc.) aussi bien que sous dans la langue traduite.) Toutes les contraintes définies dans le problème doivent être satisfaites. Pour définir les contraintes, recherchez un espace vide sur la feuille de calcul et créez-y un tableau dont les colonnes de gauche et de droite représentent les tâches, et celle du milieu indique le type de contrainte. Un chiffre de 1 à 8 représente le type de contrainte correspondant décrit ci-dessus. Les cellules de la plage de contrainte doivent contenir les données de contrainte applicables avant le lancement de l’optimisation. Cette tâche Contrainte Cette tâche 5 4 2 12 2 8 2 3 1 7 1 5 6 2 4 9 3 1 Les exemples ci-dessous illustrent un ensemble de valeurs de variables telles qu’elles pourraient figurer dans une feuille de calcul avant l’invocation de RISKOptimizer, puis selon deux nouveaux scénarios résultant de la méthode de résolution programme. Ensemble initial de valeurs de variables Ensemble de valeurs de programme possibles Autre ensemble de valeurs de programme possibles 1 1 1 2 1 3 3 3 1 1 1 2 2 2 2 3 3 2 REMARQUE : La méthode de résolution « programme » utilise toujours des nombres entiers, à partir de 1 (1, 2, 3, etc.), indépendamment des valeurs originales des cellules ajustables. Chapitre 5 : Guide de référence RISKOptimizer 107 Taux de croisement et de mutation L’une des plus grandes difficultés de la recherche de solutions optimales, quand le problème semble présenter des possibilités infinies, consiste à déterminer le point de concentration. Autrement dit, combien de temps de calcul faut-il consacrer à la recherche dans de nouvelles zones de « l’espace de résolution » et combien au raffinement des solutions, dans la population testée, qui se sont déjà révélées plutôt bonnes ? Une bonne partie du succès de l’algorithme génétique a été attribuée à sa capacité de préserver cet équilibre inhérent. La structure de l’AG permet aux bonnes solutions de « se reproduire », tout en gardant toutefois des organismes « moins aptes » pour entretenir la diversité dans l’espoir que, peut-être, un « gène » latent se révèle important dans la solution finale. Le croisement et la mutation sont deux paramètres qui affectent l’envergure de la recherche. RISKOptimizer permet à l’utilisateur de les changer avant, mais aussi pendant le processus évolutif. Ainsi, un utilisateur informé peut aider l’AG en décidant de l’endroit où il doit concentrer son énergie. Il est inutile, dans la plupart des cas, d’ajuster les paramètres de croisement et de mutation par défaut (0,5 et 0,1, respectivement). Au cas où vous désireriez affiner l’algorithme de résolution d’un problème, comparer ou, simplement, faire d’expérience de différents réglages, les paragraphes qui suivent présentent une brève introduction à ces deux paramètres. • Croisement. Le taux de croisement peut être réglé entre 0,01 et 1,0. Il reflète la probabilité que de futurs scénarios ou « organismes » contiennent un mélange d’information de la génération précédente d’organismes parents. Les utilisateurs expérimentés peuvent changer ce taux pour raffiner la performance de RISKOptimizer face à un problème complexe. Ainsi, un taux de 0,5 veut dire qu’un organisme descendant tirera environ 50 % de ses valeurs variables d’un parent et les valeurs restantes de l’autre parent. Un taux de 0,9 veut dire qu’environ 90 % des valeurs de l’organisme descendant viendront du premier parent et les 10 % restants de l’autre parent. Au taux de croisement 1, aucun croisement n’intervient et seuls des clones des parents sont évalués. RISKOptimizer utilise par défaut un taux de croisement de 0,5. Il est possible de changer le taux de croisement après le lancement d’une optimisation, à travers l’utilitaire Suivi RISKOptimizer (voir plus loin dans ce chapitre). .i).Taux de croisement; 108 Commande Définition du modèle • Taux de mutation. Le taux de mutation peut être réglé entre 0,0 et 1,0. Il reflète la probabilité que les scénarios futurs contiennent des valeurs aléatoires. Un taux de mutation supérieur veut simplement dire qu’un plus grand nombre de mutations ou valeurs de « gène » aléatoires sera introduit dans la population. Comme la mutation intervient après le croisement, un taux de mutation réglé sur 1 (100 % de valeurs aléatoires) empêche effectivement le croisement de produire le moindre effet et RISKOptimizer ne produira que des scénarios totalement aléatoires. Si toutes les données de la solution optimale se trouvaient quelque part dans la population, l’opérateur de croisement seul suffirait à composer, en fin de compte, la solution. La mutation s’est révélée une force puissante dans le monde biologique, pour beaucoup des raisons qui la rendent utiles aussi dans un algorithme génétique : il est essentiel d’entretenir la diversité d’une population d’organismes individuels et d’éviter ainsi qu’elle ne devienne trop rigide et inapte à s’adapter à un environnement dynamique. Comme dans un algorithme génétique, les mutations génétiques, chez les animaux, sont souvent la cause ultime du développement de nouvelles fonctions critiques. Il est inutile, dans la plupart des cas, d’ajuster le paramètre de mutation par défaut. Les utilisateurs expérimentés peuvent cependant l’ajuster pour raffiner la performance de RISKOptimizer face à un problème complexe : lorsque, par exemple, l’utilisateur désire renforcer les mutations si la population est plutôt homogène et qu’aucune nouvelle solution n’a été produite depuis quelques centaines d’essais. La variation de ce paramètre s’effectue généralement entre 0,06 et 0,2. Il est possible de changer dynamiquement le taux de mutation après le lancement d’une optimisation, à travers l’utilitaire Suivi RISKOptimizer (voir plus loin dans ce chapitre). L’option Auto, dans la liste déroulante du champ Taux de mutation, active l’ajustement automatique du taux. Cette option permet à RISKOptimizer d’accroître automatiquement le taux de mutation lorsqu’un organisme « vieillit » significativement (c.-à-d. qu’il ne change pas sur un nombre considérable d’essais). Pour de nombreux modèles, surtout lorsque le taux de mutation optimal est inconnu, l’option Auto produit plus rapidement de meilleurs résultats. Chapitre 5 : Guide de référence RISKOptimizer 109 Nombre de blocs temps et cellules sous contrainte Pour plus de détails concernant ces options, voir la méthode de résolution Programme dans la section de ce chapitre consacrée aux Méthodes de résolution. Tâches précédentes Pour plus de détails concernant ces options, voir la méthode de résolution Projet dans la section de ce chapitre consacrée aux Méthodes de résolution. Opérateurs Pour la méthode de résolution Recette, RISKOptimizer inclut des opérateurs génétiques sélectionnables. L’onglet Opérateurs de la boîte de dialogue Paramètres de groupe de cellules ajustables permet de sélectionner l’opérateur génétique (tel que croisement heuristique ou mutation limitrophe) à utiliser lors de la génération des valeurs possibles d’un ensemble de cellules ajustables. RISKOptimizer peut même tester automatiquement tous les opérateurs disponibles et identifier le plus performant pour le problème considéré. Les algorithmes génétiques emploient les opérateurs génétiques pour créer de nouveaux membres dans la population de membres actuels. Deux des types d’opérateurs génétiques utilisés par RISKOptimizer sont la mutation et le croisement. L’opérateur de mutation détermine si des changements aléatoires vont se produire au niveau des « gènes » (les variables) et comment. L’opérateur de croisement détermine comment les paires de membres d’une population échangent leurs gènes pour produire une « descendance » susceptible de présenter une meilleure solution que l’un ou l’autre des « parents ». 110 Commande Définition du modèle RISKOptimizer gère les opérateurs génétiques spécialisés suivants : ♦ Opérateurs linéaires – Conçus pour résoudre les problèmes pour lesquels la solution optimale se trouve à la limite de l’espace de recherche défini par les contraintes. Cette paire d’opérateurs de mutation et de croisement convient particulièrement bien à la résolution des problèmes d’optimisation linéaire. ♦ Mutation limitrophe – Conçu pour optimiser rapidement les variables qui affectent le résultat de manière monotone et qui peuvent être portées aux extrêmes de leur plage sans violer les contraintes. ♦ Mutation de Cauchy – Conçu pour produire, la plupart du temps, de faibles variations de variables mais capable aussi de produire, occasionnellement, de fortes variations. ♦ Mutation non uniforme – Produit des mutations de plus en plus faibles à mesure que le nombre d’essais calculés augmente. RISKOptimizer peut ainsi « raffiner » ses réponses. ♦ Croisement arithmétique – Crée un nouveau descendant par combinaison arithmétique des deux parents (par opposition à l’échange de gènes). ♦ Croisement heuristique – Utilise les valeurs produites par les parents pour déterminer le mode de production du descendant. Mène la recherche dans la direction la plus prometteuse et raffine au niveau local. Suivant le type de problème d’optimisation considéré, différentes combinaisons d’opérateurs de mutation et de croisement peuvent produire de meilleurs résultats que d’autres. Pour la méthode de résolution Recette, un nombre quelconque d’opérateurs peut être sélectionné sous l’onglet Opérateurs de la boîte de dialogue Paramètres de groupe de cellules ajustables. En présence de sélections multiples, RISKOptimizer teste les combinaisons valables des opérateurs sélectionnés pour identifier les plus performants pour le modèle. Après une exécution, la feuille de synthèse d’optimisation classe chaque opérateur sélectionné en fonction de sa performance durant l’exécution. Pour les exécutions ultérieures du même modèle, la sélection des quelques opérateurs les plus performants peut favoriser un processus d’optimisation plus rapide et plus performant. Chapitre 5 : Guide de référence RISKOptimizer 111 REMARQUE : Lors de la création de groupes multiples de cellules ajustables, vérifiez qu’aucune cellule de la feuille de calcul ne figure dans plusieurs groupes différents. Chaque groupe de cellules ajustables doit contenir des cellules ajustables uniques car les valeurs du premier groupe seraient sinon omises et remplacées par celles du second groupe. S’il vous paraît qu’un problème doit être représenté par plus d’une méthode de résolution, considérez la répartition des variables en au moins deux groupes. 112 Commande Définition du modèle Contraintes RISKOptimizer admet les contraintes, qui définissent les conditions à remplir pour qu’une solution soit valable. Les contraintes définies figurent dans le tableau Contraintes de la boîte de dialogue de Définition du modèle. Ajouter – Ajout de contraintes Cliquez sur le bouton Ajouter, en regard du tableau Contraintes, pour afficher la boîte de dialogue Paramètres de contrainte et y définir les contraintes voulues. La description, le type, la définition et le moment d’évaluation de la contrainte désirée se définissent dans cette boîte de dialogue. Chapitre 5 : Guide de référence RISKOptimizer 113 Type de contrainte Évaluation 114 RISKOptimizer admet deux types de contraintes : • Ferme – Les contraintes fermes sont les conditions qui doivent être satisfaites pour qu’une solution soit valable (par exemple, une contrainte ferme pourrait être exprimée sous la forme C10<=A4, et si une solution générait une valeur C10 supérieure à celle de la cellule A4, la solution serait rejetée). • Souple- Les contraintes souples sont les conditions que l’on veut respecter autant que possible, mais pour lesquelles on est prêt à accepter le compromis en vue d’une importante amélioration de pertinence ou de résultat de cellule cible. (Par exemple, une contrainte souple pourrait être exprimée sous la forme C10<100 : C10 pourrait dépasser la valeur 100, mais la valeur calculée de la cellule cible serait alors diminuée conformément à la fonction de pénalité définie.) Les contraintes fermes peuvent être évaluées 1) à chaque itération d’une simulation pour une solution itérative (contrainte d’« itération ») ou 2) en fin de simulation (contrainte de « simulation »). ♦ Une contrainte d’itération est une contrainte évaluée à chaque itération d’une simulation exécutée pour une solution itérative donnée. Si une itération produit des valeurs contraires à la contrainte ferme, la simulation s’arrête (et la solution itérative est rejetée) et la recherche de solution itérative suivante et sa simulation correspondante commencent. • Une contrainte de simulation se spécifie en tant que statistique de simulation pour une cellule de tableur : Moyenne de A11>1000, par exemple. Dans ce cas, la contrainte est évaluée en fin de simulation. Une contrainte de simulation, par opposition à une contrainte d’itération, ne cause jamais l’arrêt de la simulation avant son exécution complète. Commande Définition du modèle Contraintes de simulation Une contrainte de simulation se spécifie en tant que statistique de simulation pour une cellule de tableur : Moyenne de A11>1000, par exemple. La statistique à utiliser dans la contrainte se sélectionne dans la liste déroulante proposée : Lorsqu’une contrainte de simulation est utilisée, une distribution des valeurs possibles de la Plage sous contrainte est générée à chaque simulation de solution itérative. Au terme de chaque simulation, la satisfaction de la contrainte est évaluée. Si la contrainte est ferme et non satisfaite, la solution itérative est rejetée. Si la contrainte est souple et non satisfaite, la statistique de la cellule cible minimisée ou maximisée est pénalisée conformément à la fonction de pénalité entrée (voir plus bas, sous le titre Contraintes souples). Format de contrainte Simple ou Formule Les formules peuvent être définies selon deux formats : Simple ou Formule. Le type d’information admis pour une contrainte dépend du format sélectionné. • Simple – Le format Simple permet la définition des contraintes selon de simples relations <,<=, >, >= ou =, où une cellule est comparée à la valeur numérique entrée. Par exemple : 0<Valeur de A1<10 où A1 s’entre dans la case Plage de cellules, 0 dans la case Min et 10 dans la case Max. Les opérateurs désirés se sélectionnent dans les listes déroulantes. Sous une contrainte de format « Simple », on peut entrer une valeur Min, une valeur Max, ou les deux. Les valeurs Min et Max entrées doivent être numériques. • Formule – Le format Formule permet l’entrée, pour la contrainte, d’une formule Excel valable, telle que A19<(1,2*E7)+E8. RISKOptimizer vérifie si la formule entrée est VRAIE ou FAUSSE, afin de déterminer le respect ou non de la contrainte. Chapitre 5 : Guide de référence RISKOptimizer 115 Contraintes souples Les contraintes souples sont les conditions que l’on veut respecter autant que possible, mais pour lesquelles on est prêt à accepter le compromis en vue d’une importante amélioration de pertinence ou de résultat de cellule cible. Lorsqu’une contrainte souple n’est pas satisfaite, il en résulte un changement de résultat pour la cellule cible, plus éloigné de sa valeur optimale. L’importance du changement imputable à une contrainte souple non satisfaite se calcule d’après une fonction de pénalité définie au moment de la configuration de la contrainte souple. Concernant les fonctions de pénalité : • 116 Définition d’une fonction de pénalité. RISKOptimizer propose une fonction de pénalité, affichée dès les premières étapes de définition d’une contrainte souple. Une formule Excel valable quelconque peut cependant être utilisée pour calculer l’importance de la pénalité à appliquer lorsque la contrainte souple n’est pas satisfaite. Une fonction de pénalité ainsi entrée doit inclure le mot-clé écart, pour représenter le dépassement absolu de la limite de la contrainte. Au terme de chaque simulation de solution itérative, RISKOptimizer vérifie si la contrainte souple a été respectée. Si non, la valeur de l’écart est introduite dans la formule de pénalité pour calcul de la pénalité à appliquer à la statistique de la cellule cible. Commande Définition du modèle La pénalité s’ajoute à la statistique calculée pour la cellule cible ou s’en soustrait, de manière à la rendre « moins optimale ». Ainsi, si Maximum est sélectionné dans le champ But d’optimisation de la boîte de dialogue Modèle RISKOptimizer, la pénalité est déduite de la statistique calculée pour la cellule cible. • Visualisation des effets d’une fonction de pénalité entrée. RISKOptimizer s’accompagne d’une feuille de calcul Excel intitulée PENALITE.XLS, utile à l’évaluation des effets de différentes fonctions de pénalité sur les contraintes souples et les résultats de cellule cible. Cette feuille de calcul permet la sélection, dans un modèle, d’une contrainte souple dont on désire analyser les effets. On peut ensuite changer la fonction de pénalité pour voir comment elle mappera une valeur spécifique pour une contrainte souple non satisfaite dans une valeur cible particulière pénalisée. Par exemple, si la contrainte souple est A10<100, on pourrait consulter PENALITE.XLS pour voir ce que serait la valeur cible si une valeur de 105 était calculée pour la cellule A10. • Visualisation des pénalités appliquées. Lorsqu’une pénalité est appliquée à la cellule cible sous l’effet d’une contrainte souple non satisfaite, Suivi RISKOptimizer permet de visualiser l’importance de cette pénalité. Les valeurs des pénalités figurent aussi dans le Journal d’optimisation créé, facultativement, après l’optimisation. Chapitre 5 : Guide de référence RISKOptimizer 117 REMARQUE : Si vous placez une solution dans votre feuille de calcul sous les options Actualiser les valeurs de cellules ajustables de la boîte de dialogue Arrêt, le résultat calculé pour la cellule cible affiché dans le tableur n’inclut pas les pénalités appliquées pour cause de contraintes souples non respectées. Consultez la feuille de synthèse d’optimisation de RISKOptimizer pour obtenir le résultat pénalisé et l’importance de la pénalité imposée sous l’effet de chaque contrainte souple non satisfaite. • 118 Contraintes souples dans les formules de calcul. Les fonctions de pénalité peuvent être appliquées directement dans les formules de la feuille de calcul. Les contraintes souples appliquées directement dans la feuille de calcul ne doivent pas être définies dans la boîte de dialogue principale de RISKOptimizer. Pour plus de détails sur l’application directe des fonctions de pénalité dans la feuille de calcul, voir le chapitre 9 : Et aussi…, sous le titre Contraintes souples. Commande Définition du modèle Commande Paramètres d’optimisation – Onglet Général Définit les paramètres généraux d’une optimisation. L’onglet Général de la boîte de dialogue Paramètres d’optimisation affiche les paramètres de population, d’actualisation de l’affichage et de racine de nombres aléatoires. Les options Paramètres d’optimisation suivantes sont proposées : • Population. Ce paramètre indique à RISKOptimizer le nombre d’organismes (ou ensembles complets de variables) devant être stockés en mémoire à tout moment. La question de la population optimale à utiliser pour différents problèmes continue à faire l’objet de nombreux débats et d’une intense recherche, mais nous recommandons généralement 30 à 100 organismes, suivant l’envergure du problème (population proportionnelle au problème). L’opinion générale est qu’une population plus vaste demande plus de temps pour produire une solution mais est plus susceptible de trouver une réponse globale car elle dispose d’un capital génétique plus diversifié. Chapitre 5 : Guide de référence RISKOptimizer 119 • Racine de nombres aléatoires. Cette option permet de régler la valeur de départ du générateur de nombres aléatoires de RISKOptimizer. Lorsqu’une même valeur de départ est utilisée, l’optimisation génère des réponses identiques pour un même modèle pour autant qu’il ne soit pas modifié et que l’option Utiliser la même racine de nombres aléatoires à chaque simulation soit sélectionnée. Cette option doit être sélectionnée pour éviter l’introduction dans les résultats d’optimisation d’un caractère aléatoire inutile de simulation en simulation. La racine doit être un nombre entier compris entre 1 et 2147483647. Les options Échantillonnage suivantes sont proposées sous l’onglet Général : 120 • Type d’échantillonnage. Ces options déterminent le type d’échantillonnage utilisé à chaque simulation lors d’une optimisation. Les types d’échantillonnage varient dans la manière dont les échantillons sont prélevés sur la plage d’une distribution. L’échantillonnage Hypercube latin recrée avec précision les distributions de probabilités spécifiées par les fonctions de distribution en moins d’itérations que l’échantillonnage Monte Carlo. Nous recommandons le type Hypercube latin (proposé par défaut) sauf si la situation de modélisation requiert spécifiquement l’échantillonnage Monte Carlo. • Utiliser la même racine de nombres aléatoires à chaque simulation. Sous cette option, RISKOptimizer utilise un flux de nombres aléatoires reproductible à chaque simulation, pour assurer que les distributions renvoient les mêmes échantillons à chaque simulation itérative de l’optimisation. Commande Paramètres d’optimisation – Onglet Général Les options « En l’absence de simulation, les distributions renvoient » régissent ce qui s’affiche en réponse à la touche <F9>, après recalcul Excel standard. Les options suivantes sont proposées : • Valeurs aléatoires (Monte Carlo). Sous cette option, les fonctions de distribution renvoient un échantillon Monte Carlo aléatoire lors d’un recalcul ordinaire. Ce paramètre présente les valeurs de la feuille de calcul telles qu’elles apparaîtraient à l’exécution d’une simulation, avec prélèvement de nouveaux échantillons à chaque recalcul. • Valeurs statiques. Sous cette option, les fonctions de distribution renvoient les valeurs statiques entrées dans une fonction de propriété RiskStatic lors d’un recalcul ordinaire. Si une valeur statique n’est pas définie pour une fonction, elle renvoie : - Valeur probable – la valeur probable ou moyenne d’une distribution. Pour les distributions discrètes, le paramètre Valeur probable « corrigée » renvoie comme valeur permutée la valeur discrète de la distribution la plus proche de la vraie valeur probable. - Vraie valeur probable. Les valeurs permutées sont identiques à celles de l’option Valeur probable « corrigée », sauf dans le cas des distributions discrètes telles que DISCRETE, POISSON, etc. Pour ces distributions, la vraie valeur probable est renvoyée comme valeur permutée même si la valeur probable est impossible pour la distribution entrée (s’il ne s’agit pas de l’un des points discrets de la distribution, notamment). - Mode – la valeur modale d’une distribution. - Centile – la valeur de centile entrée pour chaque distribution. Chapitre 5 : Guide de référence RISKOptimizer 121 122 Commande Paramètres d’optimisation – Onglet Temps d’exécution Définit les paramètres de temps d’exécution d’une optimisation. Cet onglet de la boîte de dialogue Paramètres d’optimisation affiche les paramètres de temps d’exécution de l’optimisation RISKOptimizer. Les conditions paramétrées ici spécifient la manière et le moment d’arrêt d’une optimisation RISKOptimizer. Une fois l’optimisation démarrée, RISKOptimizer s’exécute en continu, à la recherche de meilleures solutions, de simulation en simulation, jusqu’à ce que les critères d’arrêt soient satisfaits. Un nombre quelconque de ces conditions peut être activé – ou même aucune si l’on veut que RISKOptimizer poursuive indéfiniment la recherche (ou jusqu’au moment où l’utilisateur l’arrête manuellement). Lorsque plusieurs conditions sont activées, RISKOptimizer arrête l’optimisation dès que l’une d’entre elles est remplie. Indépendamment de ces sélections, il est possible d’arrêter RISKOptimizer manuellement, à tout moment, en cliquant sur le bouton d’arrêt de la fenêtre de progression ou de Suivi RISKOptimizer. Chapitre 5 : Guide de référence RISKOptimizer 123 Optimisation Les options de temps d’exécution d’Optimisation suivantes sont proposées : • Simulations – Sous cette option, RISKOptimizer s’arrête après exécution du nombre de simulations indiqué. Une simulation s’exécute pour chaque solution itérative générée par RISKOptimizer. Le paramètre Simulation est particulièrement utile à la comparaison d’efficacité de RISKOptimizer lors de l’essai de différentes méthodes de modélisation. La manière dont on modélise un problème, ou le choix d’une méthode de résolution différente, peut accroître l’efficacité de RISKOptimizer. Exécuter un modèle un nombre donné de simulations indique l’efficacité de convergence de RISKOptimizer sur une solution, indépendamment des différences de nombre de variables choisies, de la vitesse de traitement de l’ordinateur ou des délais de régénération de l’écran. La feuille de synthèse d’optimisation RISKOptimizer est également utile à la comparaison des résultats d’une simulation à l’autre. Pour plus de détails sur les feuilles de synthèse d’optimisation, voir la section Suivi RISKOptimizer – Options d’arrêt, plus loin dans ce chapitre. • Durée – Sous cette option, RISKOptimizer arrête de simuler ses scénarios après écoulement du nombre indiqué d’heures, minutes ou secondes. Un nombre réel positif quelconque peut être entré pour ce paramètre (600, 5,2, etc.) • Progression – Sous cette option, RISKOptimizer arrête la simulation de scénarios lorsque l’amélioration de la cellule cible est inférieur à la valeur indiquée (critère de changement). Le nombre (entier) de simulations à considérer peut être indiqué. Un pourcentage (1 %, par exemple) peut être défini comme valeur de changement maximum. Supposons par exemple que l’on essaie de maximiser la moyenne de la cellule cible et que, après 500 simulations, la meilleure réponse trouvée jusque là est 354,8. Si l’option Progression est la seule condition d’arrêt sélectionnée, RISKOptimizer s’interrompra à la 600e simulation et ne continuera que s’il trouve une réponse égale à au moins 345,9 dans les 100 dernières simulations. Autrement dit, si les réponses de RISKOptimizer ne se sont pas améliorées d’au moins 0,1 au cours des 100 dernières simulations, la recherche s’arrête. Pour les problèmes plus complexes, il peut être utile de porter le nombre de simulations à 500 avant de déterminer si l’amélioration est suffisante pour justifier la poursuite de l’optimisation. 124 Commande Paramètres d’optimisation – Onglet Temps d’exécution Cette option représente la condition d’arrêt la plus courante, car elle apporte à l’utilisateur un moyen efficace d’arrêter l’optimisation après le ralentissement du taux d’amélioration, quand RISKOptimizer ne semble plus trouver de meilleures solutions. Sur les graphiques des meilleurs résultats de l’onglet Progression de Suivi RISKOptimizer, les graphiques atteignent un plateau ou leurs courbes s’aplanissent pendant un moment avant que cette condition ne soit remplie et que RISKOptimizer s’arrête. La progression représente ainsi un mode automatique d’arrêt lorsque les niveaux d’amélioration se nivellent. • La formule est vraie. Cette condition arrête l’optimisation lorsque la formule entrée (ou référencée) s’avère (VRAIE). • Arrêt sur erreur. Cette condition arrête l’optimisation lorsqu’une valeur erronée est calculée pour la cellule cible. REMARQUE : La sélection de conditions d’arrêt n’est pas obligatoire. En leur absence, RISKOptimizer s’exécute indéfiniment, jusqu’à arrêt manuel commandé depuis la fenêtre Suivi RISKOptimizer. Simulation Les options de temps d’exécution Simulation régissent la manière dont RISKOptimizer détermine le moment d’arrêter chaque simulation exécutée. On peut fixer un nombre d’itérations par simulation ou laisser à RISKOptimizer le soin de déterminer le moment d’arrêter chaque simulation. Les options de temps d’exécution de Simulation suivantes sont proposées : • Itérations – Cette option permet de limiter chaque simulation à un nombre fixe d’itérations. RISKOptimizer exécute le nombre d’itérations spécifié pour chaque simulation de solution itérative (sauf arrêt prématuré en cas de violation de contrainte d’itération). • Convergence – La convergence, réelle ou projetée, peut être paramétrée comme condition d’arrêt : - Sous l’option Réelle, la simulation s’arrête lorsque les distributions générées pour 1) la cellule cible de l’optimisation et 2) les cellules référencées dans les contraintes de simulation sont stables et que les statistiques visées convergent. La quantité de variation admise dans une statistique « convergente » est régie par l’option Tolérance. Chapitre 5 : Guide de référence RISKOptimizer 125 - Sous l’option Projetée, RISKOptimizer arrête la simulation lorsqu’il projette que les distributions générées pour 1) la cellule cible de l’optimisation et 2) les cellules référencées dans les contraintes de simulations sont stables. RISKOptimizer projette la convergence en fonction des résultats des simulations antérieures de l’optimisation. Il est recommandé de laisser RISKOptimizer déterminer le moment de l’arrêt pour assurer l’exécution d’un nombre suffisant d’itérations (sans verser dans l’excès contraire !) et le renvoi de statistiques de sortie stables. Rien n’empêche cependant de limiter les itérations exécutées à un nombre fixe pour accélérer l’optimisation. L’approche peut être utile en présence de modèles particulièrement volumineux ou de recalculs Excel particulièrement longs. L’option Tolérance admet une valeur de 1 à 100 (ou auto). Elle règle la quantité de changement admise lorsque la statistique visée « converge ». Une valeur faible exige un très faible degré de variation de la statistique pour reconnaître la convergence, tandis qu’une valeur proche de 100 admet une très grande variation au niveau des statistiques convergentes. L’avantage de l’une par rapport à l’autre dépend du temps nécessaire à l’exécution de l’optimisation. Un beaucoup plus grand nombre d’itérations est requis, par simulation, pour atteindre la convergence sous faible critère de tolérance, souvent sans amélioration nette des résultats globaux de l’optimisation. Sous l’option Auto, RISKOptimizer définit lui-même la tolérance. 126 Commande Paramètres d’optimisation – Onglet Temps d’exécution Commande Paramètres d’optimisation – Onglet Affichage Définit les paramètres d’affichage d’une optimisation. Cet onglet de la boîte de dialogue Paramètres d’optimisation définit les paramètres de l’affichage en cours d’optimisation. Les options suivantes sont proposées : • Réduire Excel au démarrage. Sous cette option, Excel se réduit au démarrage d’une optimisation. • Afficher les recalculs Excel. Sous cette option, Excel s’actualise à chaque meilleure solution ou à la fin de chaque simulation. Remarquez que dans certaines situations, l’écran s’actualise indépendamment de ces paramètres : en cas de pause de l’optimisation, par exemple. • Tenir un journal des simulations. Sous cette option, RISKOptimizer tient un journal courant de chaque nouvelle simulation exécutée. Ce journal peut être consulté dans la fenêtre de Suivi RISKOptimizer. Chapitre 5 : Guide de référence RISKOptimizer 127 128 Commande Paramètres d’optimisation – Onglet Macros Définit les macros à exécuter en cours d’optimisation. Des macros VBA peuvent être exécutées à différemment moments d’une optimisation ainsi que pendant la simulation de chaque solution itérative. Il est ainsi possible de développer des calculs personnalisés à invoquer en cours d’optimisation. Les macros peuvent être exécutées aux moments suivants de l’optimisation : • En début d’optimisation – La macro s’exécute après invocation de l’icône Exécuter, avant la génération de la première solution itérative. • Avant chaque simulation – La macro s’exécute avant chaque simulation exécutée (une simulation par solution itérative générée par l’optimiseur). • Avant le recalcul de chaque itération – La macro s’exécute après l’échantillonnage mais avant le recalcul de chaque itération de simulation exécutée. Elle s’exécute après le prélèvement Chapitre 5 : Guide de référence RISKOptimizer 129 d’échantillons dans les fonctions de distribution de probabilités pour l’itération, mais avant le recalcul ultérieur du modèle. 130 Commande Paramètres d’optimisation – Onglet Macros • Après le recalcul de chaque itération – La macro s’exécute après chaque itération de chaque simulation exécutée. Elle s’exécute après le prélèvement des échantillons dans les fonctions de distribution de probabilités pour l’itération et le recalcul du modèle en fonction de ces échantillons, mais avant la collecte de la valeur de la cellule cible. • Après chaque simulation – La macro s’exécute après chaque simulation exécutée, mais avant le stockage de la statistique optimisée pour la distribution de la cellule cible. • Après le stockage de la sortie – La macro s’exécute après chaque simulation exécutée et après le stockage de la statistique optimisée pour la distribution de la cellule cible. • En fin d’optimisation – La macro s’exécute en fin d’optimisation. Cette fonction permet d’exécuter des calculs tributaires d’une macro au cours d’une optimisation. Les calculs de « bouclage » itératif et calculs nécessitant de nouvelles données provenant de sources externes en sont quelques exemples. Nom de la macro définit la macro à exécuter. Chapitre 5 : Guide de référence RISKOptimizer 131 Commande Démarrer l'optimisation Démarre une optimisation. La commande ou l’icône Démarrer l’optimisation lance l’exécution d’une optimisation du modèle et du classeur actifs. Dès le démarrage, RISKOptimizer affiche cette fenêtre de progression : Cette fenêtre affiche l’information suivante : • Itération : numéro, par rapport au nombre total, de l’itération exécutée dans la simulation en cours. • Simulations : nombre total de simulations exécutées ; x valables indique le nombre de ces simulations pour lesquelles toutes les contraintes ont été satisfaites. • Durée : temps écoulé de l’exécution. • Originale : valeur originale de la statistique pour la cellule cible telle que calculée lors d’une simulation initiale d’après les valeurs existantes des cellules ajustables dans la feuille de calcul. • Meilleure : meilleure valeur actuelle de la statistique de la cellule cible à minimiser ou maximiser. En cours d’optimisation, la barre d’état d’Excel affiche aussi la progression de l’analyse. 132 Commande Démarrer l'optimisation La barre d’outils RISKOptimizer de la fenêtre de progression propose les options suivantes : • Afficher les options d’actualisation Excel. L’affichage Excel peut être actualisé à chaque simulation, à chaque meilleure solution ou jamais. Remarquez que dans certaines situations, l’écran s’actualise indépendamment de ces paramètres : en cas de pause de l’optimisation, par exemple. • Afficher Suivi RISKOptimizer. Affiche la pleine fenêtre de Suivi RISKOptimizer. • Exécuter. Cette icône lance la recherche RISKOptimizer d’une solution basée sur la description actuelle de la boîte de dialogue Modèle RISKOptimizer. Après pause, l’icône Exécuter permet de relancer la recherche de meilleures solutions. • Pause. Pour suspendre ou « figer » momentanément le processus RISKOptimizer, cliquez sur l’icône Pause. La pause permet d’ouvrir et d’explorer les données de Suivi RISKOptimizer, de changer les paramètres, d’examiner la population au complet, d’afficher un rapport d’état ou de copier un graphique. • Arrêt. Arrête l’optimisation. Chapitre 5 : Guide de référence RISKOptimizer 133 Commandes Utilitaires Commande Paramètres d’application Affiche la boîte de dialogue Paramètres d’application, où se définissent les paramètres par défaut. De nombreux paramètres RISKOptimizer peuvent être configurés par défaut et appliqués à chaque exécution du programme. Notamment : les paramètres d’arrêt par défaut, les taux de croisement et de mutation par défaut, etc. 134 Commandes Utilitaires Commande Solveur de contraintes Exécute le Solveur de contraintes Le Solveur de contraintes améliore la capacité de traitement des contraintes de modèle de RISKOptimizer. Lorsque RISKOptimizer exécute une optimisation, les valeurs de cellules ajustables de départ sont censées satisfaire à toutes les contraintes fermes – ce qui veut dire que la solution originale est censée être valable. Si tel n’est pas le cas, l’algorithme peut exécuter un très grand nombre de simulations avant de trouver une première solution valable. Cependant, si un modèle contient plusieurs contraintes, les valeurs de cellules ajustables qui seront conformes à toutes ne sont pas nécessairement évidentes. Si un modèle RISKOptimizer contient plusieurs contraintes fermes et que les optimisations échouent (aucune solution valable), vous en êtes avisé et le Solveur de contraintes peut être exécuté. Le Solveur de contraintes exécute l’optimisation en mode spécial, dans le but d'identifier une solution conforme à toutes les contraintes fermes. L’utilisateur peut suivre la progression de l’opération comme s’il s’agissait d’une optimisation ordinaire. La fenêtre de progression affiche le nombre de contraintes satisfaites dans la solution originale et dans la meilleure. Chapitre 5 : Guide de référence RISKOptimizer 135 Un bouton de la fenêtre donne accès au Suivi RISKOptimizer. En mode Solveur de contraintes, les détails de progression de l’optimisation peuvent être consultés comme en mode d’optimisation ordinaire, sous les onglets Progression, Synthèse, Journal, Population et Diversité. En mode Solveur de contraintes, l’écran de suivi propose un autre onglet encore, intitulé Solveur de contraintes. Cet onglet affiche l’état de chaque contrainte ferme (Satisfaite ou Non satisfaite) pour les solutions Meilleure, Originale et Dernière. L’optimisation du Solveur de contraintes s’arrête automatiquement lorsqu’une solution conforme à toutes les contraintes fermes est identifiée. Elle peut aussi être interrompue d’un clic sur le bouton d’arrêt de la fenêtre de progression ou de Suivi RISKOptimizer. En fin d’exécution du Solveur de contraintes, vous pouvez choisir, sous l’onglet Options d’arrêt du Suivi RISKOptimizer, la meilleure solution, la solution originale ou la dernière solution, comme pour les optimisations réalisées en mode ordinaire. Remarquez qu’il n’est pas nécessaire de configurer le Solveur de contraintes avant l’exécution : les paramètres spécifiés dans le modèle sont utilisés, à la seule différence que l’objectif d’optimisation est de trouver une solution conforme à toutes les contraintes fermes. 136 Commandes Utilitaires L’option Régler la racine sur la valeur utilisée dans cette optimisation est recommandée sous l’onglet Options d’arrêt. Cette option est proposée car si la racine de nombres aléatoires n’est pas fixée, les contraintes satisfaites lors d’une exécution du Solveur de contraintes risqueraient de ne pas l’être en mode d’exécution ordinaire, même si les valeurs des cellules ajustables étaient identiques (puisque les résultats de la simulation dépendent de la racine). L’option est grisée si la racine est fixée dans la boîte de dialogue Paramètres d’optimisation avant l’exécution du Solveur de contraintes. Chapitre 5 : Guide de référence RISKOptimizer 137 Suivi RISKOptimizer L’icône loupe, sur la barre d’outils de la fenêtre de progression de RISKOptimizer, affiche l’utilitaire Suivi RISKOptimizer. Suivi RISKOptimizer régit et rapporte toute l’activité de RISKOptimizer. Il permet le changement des paramètres et l’analyse de progression de l’optimisation. On peut aussi y suivre l’information en temps réel du problème et la progression de RISKOptimizer sur la barre d’état, au bas de la fenêtre. 138 Suivi RISKOptimizer Suivi RISKOptimizer – Onglet Progression Affiche les graphiques de progression de la valeur de la cellule cible Cet onglet de Suivi RISKOptimizer représente graphiquement l’évolution des résultats obtenus, par simulation, pour la cellule cible sélectionnée. Ces graphiques de progression indiquent le nombre de simulations sur l’axe X et la valeur de la cellule cible sur l’axe Y. Pour en changer l’échelle, cliquez sur les limites des axes et ramenez-les à la nouvelle valeur d’échelle désirée. Un clic droit sur le graphique de progression ouvre la boîte de dialogue Options graphiques, pour une personnalisation accrue des graphiques. Chapitre 5 : Guide de référence RISKOptimizer 139 Options graphiques 140 La boîte de dialogue Options graphiques affiche les paramètres de titres, légendes, échelle et polices du graphique affiché. Suivi RISKOptimizer Suivi RISKOptimizer – Onglet Synthèse Affiche les détails des valeurs des cellules ajustables. Cet onglet de Suivi RISKOptimizer affiche un tableau récapitulatif des valeurs des cellules ajustables testées pendant l’optimisation, ainsi que les outils de réglage des taux de croisement et de mutation de chaque groupe de cellules ajustables du modèle. Sous le titre Paramètres de groupe de cellules ajustables, on peut changer les taux de croisement et de mutation de l’algorithme génétique en cours de résolution du problème. Les changements apportés ici l’emportent sur les valeurs initiales de ces paramètres et deviennent immédiatement applicables. Ils affectent la population (le groupe de cellules ajustables) sélectionnée dans le champ Groupe affiché. Chapitre 5 : Guide de référence RISKOptimizer 141 Le taux de croisement par défaut de 0,5 est presque toujours recommandé. Pour la mutation, beaucoup de modèles admettent jusqu’à 0,4, si l’on veut trouver la meilleure solution et qu’on est prêt à consacrer plus de temps à la recherche. Une valeur de mutation de 1 (maximum) donne lieu à une recherche totalement aléatoire. RISKOptimizer effectue en effet la mutation après le croisement. En d’autres termes, après que les deux parents sélectionnés ont été croisés pour créer une solution descendante, 100 % des « gènes » de cette solution passent par mutation à des valeurs aléatoires, annulant effectivement le rôle du croisement (voir « taux de croisement, fonction » et « taux de mutation, fonction » dans l’index pour plus de détails). Suivi RISKOptimizer – Onglet Journal Affiche un journal de chaque exécution de simulation pendant l’optimisation. Cet onglet de Suivi RISKOptimizer affiche un tableau récapitulatif de chaque simulation exécutée pendant l’optimisation. Ce journal inclut les résultats relatifs à la cellule cible, à chaque cellule ajustable et aux contraintes définies. Il n’est disponible que si l’option Tenir un journal de toutes les simulations est sélectionnée sous l’onglet Affichage de la boîte de dialogue Paramètres d’optimisation. 142 Suivi RISKOptimizer Les options « Afficher » régissent l’affichage du journal de toutes les simulations ou de celles pour lesquelles il y a eu progression seulement (amélioration du résultat d’optimisation). Données consignées dans le journal : 1) Temps écoulé : point de départ de la simulation. 2) Itér. : nombre d’itérations exécutées. 3) Résultat : valeur de la statistique de la cellule cible à maximiser ou minimiser, pénalités de contraintes souples comprises. 4) Moyenne sortie, Ec. Type sortie, Min sortie et Max sortie : statistiques de la distribution de probabilités de la cellule cible calculée. 5) Colonnes d’entrée : valeurs utilisées pour les cellules ajustables. 6) Colonnes de contrainte : indiquent si les contraintes ont été satisfaites. Chapitre 5 : Guide de référence RISKOptimizer 143 Suivi RISKOptimizer – Onglet Population Liste toutes les variables de chaque organisme (chaque solution possible) de la population actuelle. Ce tableau présente une grille listant toutes les variables de chaque organisme (chaque solution possible) de la population actuelle. Ces organismes (« Org n ») sont classés dans l’ordre allant du pire au meilleur. Comme ce tableau liste tous les organismes de la population, le paramètre « Population » de la boîte de dialogue Paramètres de RISKOptimizer en détermine le nombre (50 par défaut). De plus, la première colonne du tableau affiche la valeur résultante de la cellule cible pour chaque organisme. 144 Suivi RISKOptimizer Suivi RISKOptimizer – Onglet Diversité Affiche un tracé couleurs de toutes les variables de la population actuelle. Le tracé de l’onglet Diversité attribue des couleurs aux valeurs des cellules ajustables en fonction de la variation de la valeur d’une cellule donnée à travers la population d’organismes (solutions) stockés en mémoire en un point donné. (En termes d’optimisation génétique, il s’agit ici d’une indication de la diversité du capital génétique.) Chaque barre verticale du tracé correspond à une cellule ajustable. Les lignes horizontales de chaque barre représentent les valeurs de la cellule concernée dans différents organismes (solutions). Les couleurs de ces lignes sont attribuées par division de la plage entre la valeur minimum et maximum d’une cellule ajustable donnée en 16 intervalles de longueur égale représentés, chacun, par une couleur différente. Ainsi, sur l’image illustrée, le fait que la barre verticale représentant la deuxième cellule ajustable ne comporte qu’une seule couleur veut dire que la cellule a la même valeur dans chaque solution en mémoire. Chapitre 5 : Guide de référence RISKOptimizer 145 Suivi RISKOptimizer – Onglet Options d’arrêt Affiche les options d’arrêt de l’optimisation. Un clic sur le bouton Arrêter fait apparaître l’onglet Options d’arrêt de Suivi RISKOptimizer. Ces options régissent l’actualisation de la feuille de calcul en fonction des meilleures valeurs calculées pour les cellules ajustables, le rétablissement des valeurs originales et la production d’un rapport de synthèse d’optimisation. OK détruit la population de solution de RISKOptimizer et place les valeurs sélectionnées dans le tableur. Pour enregistrer l’information relative à la session RISKOptimizer (valeurs de population, durée et nombre d’essais exécutés), on veillera à sélectionner la création d’un rapport de synthèse d’optimisation. Cette boîte de dialogue s’ouvre aussi lorsqu’un condition d’arrêt spécifiée par l’utilisateur est remplie (fin d’évaluation du nombre d’essais demandés, durée d’optimisation écoulée, etc.) L’alerte d’arrêt propose trois choix pour l’actualisation des valeurs des cellules ajustables dans le tableur : Meilleures, Originales et Dernières. • 146 Meilleures. Cette option accepte les résultats de RISKOptimizer et met fin à la recherche de meilleures solutions. Les valeurs du meilleur scénario identifié par la recherche de RISKOptimizer s’inscrivent dans les cellules ajustables du tableur. Suivi RISKOptimizer • Originales. Cette option rétablit les valeurs originales des cellules ajustables, avant l’exécution de RISKOptimizer et met fin à la recherche de meilleures solutions. • Dernières. Sous cette option, RISKOptimizer place les dernières valeurs calculées de l’optimisation dans la feuille de calcul. Cette option est particulièrement utile au débogage des modèles. Les options Rapports à générer peuvent produire des feuilles de synthèse d’optimisation utiles au rapport des résultats d’une exécution et à la comparaison des résultats d’une exécution à l’autre. Les options de rapport suivantes sont proposées : • Synthèse d'optimisation. Ce rapport de synthèse d’optimisation fait état des date et heure de l’exécution, des paramètres d’optimisation utilisés, de la valeur calculée pour la cellule cible et de la valeur de chaque cellule ajustable. Ce rapport est utile à la comparaison des résultats d’optimisations successives. Chapitre 5 : Guide de référence RISKOptimizer 147 148 • Journal de toutes les simulations. Ce rapport consigne les résultats de toutes les simulations itératives effectuées. • Journal de progression. Ce rapport consigne les résultats de toutes les simulations itératives ayant amélioré le résultat de la cellule cible. Suivi RISKOptimizer Chapitre 5 : Guide de référence RISKOptimizer 149 Chapitre 6 : Optimisation Introduction.......................................................................................... 152 Méthodes d’optimisation................................................................... 152 Algorithmes par escalade................................................................... 155 Solveur Excel ........................................................................................ 158 Types de problèmes............................................................................ 159 Problèmes linéaires ............................................................... 159 Problèmes non linéaires ...................................................... 159 Problèmes à base de tables .................................................. 162 Problèmes combinatoires ..................................................... 162 150 Chapitre 6 : Optimisation 151 Introduction RISKOptimizer combine l’optimisation et la simulation pour permettre l’optimisation de problèmes contenant des éléments incertains. Les trois chapitres qui suivent décrivent les techniques d’analyse dont RISKOptimizer tire parti : 1) l’optimisation, 2) les algorithmes génétiques et 3) la simulation. Méthodes d’optimisation Les problèmes d’optimisation Excel classiques analysés à l’aide de Solveur ou d’Evolver (compagnons d’optimisation Excel) se composent des éléments suivants : • une sortie ou cellule « cible » à minimiser ou maximiser, • un ensemble de cellules en entrée ou « cellules ajustables » dont on contrôle les valeurs, • un ensemble de contraintes à respecter, souvent exprimées à l’aide d’expressions telles que COÛTS<100 ou A11>=0. Lors de l’optimisation par Solveur ou Evolver, les cellules ajustables changent de valeur selon les plages admises que vous précisez. Pour chaque ensemble possible de valeurs de cellules ajustables, le modèle se recalcule et une nouvelle valeur est générée pour la cellule cible. En fin d’optimisation, une solution (ou combinaison de valeurs de cellules ajustables) optimale est proposée. Cette solution représente la combinaison des valeurs de cellules ajustables qui produit la meilleure valeur (minimum ou maximum) de la cellule cible tout en satisfaisant aux contraintes définies. Certains problèmes d’optimisation sont beaucoup plus difficiles que d’autres à résoudre. Pour les problèmes complexes, tels qu’un modèle Excel de recherche de l’itinéraire le plus court entre 1000 villes, il n’est pas réaliste d’examiner chaque solution possible. L’approche exigerait en effet plusieurs années de calculs sur les ordinateurs les plus performants. Pour résoudre ce type de problème, il faut effectuer la recherche dans un sous-ensemble de solutions possibles. L’examen de ces solutions peut indiquer la manière d’en trouver de meilleures, par le biais d’un algorithme. Un algorithme représente, tout simplement, une description, pas à pas, de l’approche d’un problème. Tous les programmes informatiques, par exemple, reposent sur la combinaison de nombreux algorithmes. Chapitre 6 : Optimisation 152 Chapitre 6 : Optimisation 153 Commençons donc par explorer la manière dont la plupart des algorithmes de résolution représentent un problème. Les problèmes se répartissent pour la plupart en trois composants fondamentaux : des entrées, une fonction et une sortie résultante. Recherche de étant donné pour obtenir le/la meilleur/e Composants du problème Optimisation dans Excel Entrées Fonction Sortie Variables Modèle But Supposons que notre problème d’optimisation implique deux variables, X et Y. En équation, ces deux variables produisent le résultat =Z. Notre problème consiste à identifier la valeur de X et de Y qui produit la plus grande valeur Z. Z est, en quelque sorte, la « cote » qui indique la qualité d’une association particulière de X et Y. Recherche de étant donné pour obtenir le meilleur Dans cet exemple X et Y Équation Z Un tracé de chaque ensemble de X, Y et des Z résultants produirait un graphique de surface tridimensionnel tel que celui illustré ci-dessous. « Paysage » de scénarios ou solutions possibles. 154 Chaque intersection d’une valeur X et d’une valeur Y produit une hauteur Z. Les sommets et les vallées de ce « paysage » représentent de bonnes et de mauvaises solutions, respectivement. La recherche du maximum ou du plus haut point de cette fonction à travers l’examen de chaque solution prendrait beaucoup trop de temps, même sur un ordinateur puissant doté du plus rapide des logiciels* . N’oublions pas que nous ne donnons à Excel que la fonction en soi, pas un graphique de la fonction, et que nous pourrions tout aussi bien nous trouver face à un problème à 200 dimensions plutôt qu’à celui-ci, à deux dimensions. Il nous faut donc une méthode qui nous permette d’effectuer moins de calculs et de trouver malgré tout une productivité maximale. Algorithmes par escalade Considérons donc un simple algorithme, dit « d’escalade ». Cet algorithme procède comme suit : 1) On part d’un point aléatoire du paysage (supposition aléatoire). 2) On progresse d’une faible distance dans une direction arbitraire. 3) Si on aboutit à un nouveau point plus élevé, on y reste et on répète la deuxième étape. Si le nouveau point est moins élevé, on revient au point d’origine et on recommence. L’escalade n’essaie qu’une solution, ou un scénario, à la fois. Nous allons utiliser un point noir (•) pour représenter une solution possible (un ensemble des valeurs X, Y et Z). En plaçant ce point au point de départ aléatoire, on espère que la méthode par escalade l’amènera au plus haut point du graphique. * Dans notre diagramme, la fonction est représentée tel un paysage lisse. Dans les rares cas où les fonctions sont simples et lisses (différenciables), il est possible de recourir au calcul pour trouver les minima et les maxima. Les problèmes réalistes ne se décrivent cependant pas, pour la plupart, par des fonctions lisses. Chapitre 6 : Optimisation 155 Le diagramme ci-dessus illustre bien que la direction désirée est vers la droite. Nous ne le savons cependant que parce que nous avons déjà vu l’ensemble du paysage. Tandis que l’algorithme s’exécute, il perçoit le paysage avoisinant, mais pas sa totalité : il voit l’arbre, mais pas la forêt. Dans la plupart des problèmes réels, le paysage n’est pas aussi lisse et il faudrait des années pour procéder au calcul complet. On ne calcule donc que le scénario actuel et ceux de son environnement immédiat. Imaginez que notre point noir est un homme aux yeux bandés planté au beau milieu d’un paysage vallonné. Selon l’algorithme de l’escalade, cet homme dirigerait le pied dans chaque direction mais ne le poserait que s’il sentait une élévation du terrain. Il progresserait ainsi vers le haut et finirait par arriver au sommet de la colline, où le sol, dans chaque direction, serait maintenant plus bas. L’approche paraît simple, mais le problème est grave si l’homme part d’un autre endroit … et escalade la mauvaise colline (voir le diagramme cidessous) ! Même si la fonction est lisse, l’escalade peut échouer si l’on part d’un endroit moins idéal (image de droite). L’escalade n’identifie ainsi que le sommet le plus proche, ou le maximum local. Ainsi, si le problème considéré présente un paysage de solutions extrêmement accidenté, comme la plupart des modèles réalistes, il n’est guère probable que l’escalade trouve le sommet le plus élevé, ou même l’un des plus élevés seulement. 156 L’escalade présente un autre problème : comment trouve-t-on effectivement le terrain voisin de l’emplacement où l’on se trouve ? Si le paysage est décrit par une fonction lisse, la différenciation (une technique de calcul) peut permettre d’identifier la direction de la côte la plus raide. Si le paysage est discontinu ou non différenciable (comme il l’est plus généralement dans la réalité), il faut calculer la « pertinence » des scénarios avoisinants. Supposons par exemple qu’une banque engage un agent de sécurité de 9 à 17 heures pour garder la banque, mais qu’elle doive lui accorder deux (2) pauses d’une demi-heure. Le problème consiste à identifier les heures de pause optimales, compte tenu des règles générales de rapports de performance/fatigue et les différents niveaux d’activité de clientèle pendant la journée. On peut commencer par essayer différentes combinaisons de pauses et par les évaluer. Si le programme actuel prévoit les pauses à 11 et 15 heures, on pourrait calculer la productivité des scénarios avoisinants suivants : Direction Pause 1 (x) Pause 2 (y) « Cote » (z) Solution actuelle 11 heures 15 heures = 46,5 Scénario Ouest 10 h 45 15 heures = 44,67 Scénario Est 11 h 15 15 heures = 40,08 Scénario Nord 11 heures 15 h 15 = 49,227 Scénario Sud 11 heures 14 h 45 = 43,97 Si le nombre de cellules ajustables (pauses) était de trois au lieu de deux, on aurait à considérer huit directions différentes. En fait, pour 50 variables seulement (hypothèse parfaitement réaliste pour un problème d’envergure moyenne), on devrait calculer la productivité de 250, soit plus de mille billions de scénarios, pour un simple agent de sécurité ! Certaines modifications peuvent être apportées à la méthode de l’escalade pour améliorer sa capacité de produire des maxima globaux (les collines les plus hautes de l’ensemble du paysage). L’escalade convient le mieux à la résolution de problèmes unimodaux (à un seul sommet), d’où le recours à cette technique par certains programmes d’analyse. Son utilité est cependant très limitée face aux problèmes complexes et/ou volumineux. Chapitre 6 : Optimisation 157 Solveur Excel Excel s’accompagne d’un utilitaire d’optimisation appelé Solveur. Solveur peut résoudre deux types de problèmes : linéaires et simples non linéaires. La résolution des problèmes linéaires s’effectue selon une routine de programmation linéaire. Cette technique mathématique classique, parfois appelée méthode « Simplexe », trouve toujours la réponse parfaite aux petits problèmes purement linéaires. Comme la plupart des autres mini-solveurs, le solveur Microsoft résout également les problèmes non linéaires, selon une routine d’escalade (dite « GRG2 »). Une routine d’escalade part des valeurs de variable courantes et les ajuste lentement jusqu’à ce que la sortie du modèle ne s’améliore plus. Ainsi, les problèmes qui présentent plus d’une solution possible peuvent être impossibles à résoudre adéquatement, car Solveur aboutit à une solution locale, sans pouvoir accéder à la solution globale (voir la figure ci-dessous). Paysage de solutions possibles (solution locale perçue / solution globale réelle) Solveur exige en outre que la fonction représentée par le modèle soit continue. Autrement dit, la sortie doit évoluer de manière lisse sous l’effet de l’ajustement des entrées. Si le modèle utilise des tables de recherche, acquiert des données bruyantes en temps réel d’un autre programme, contient des éléments aléatoires ou implique des règles de type « si, alors », il sera irrégulier et discontinu et Solveur ne pourra pas le résoudre. Solveur impose par ailleurs une limite au nombre de variables et à celui de contraintes du problème (200), au-delà duquel une technique plus puissante doit être utilisée. 158 Types de problèmes Plusieurs types de problèmes se prêtent généralement à l’optimisation. Problèmes linéaires Dans les problèmes linéaires, toutes les sorties sont de simples fonctions linéaires des entrées, comme dans y=mx+b. Quand les problèmes font appel à de simples opérations arithmétiques telles que l’addition, la soustraction et les fonctions Excel telles que TENDANCE() et PREVISION(), les relations entre les variables sont purement linéaires. Depuis l’avènement de l’ordinateur et l’invention de la méthode Simplexe par George Dantzig, les problèmes linéaires sont assez faciles à résoudre. Un utilitaire de programmation linéaire convient le mieux à la résolution rapide et précise d’un simple problème linéaire. L’utilitaire Solveur d’Excel devient un outil de programmation linéaire lorsque la case « Modèle supposé linéaire » est cochée*. Solveur utilise dans ce cas une routine de programmation linéaire pour trouver rapidement la solution idéale. Si un problème peut être exprimé en termes purement linéaires, la programmation linéaire est le choix de prédilection. Dans la réalité, la plupart des problèmes ne sont malheureusement pas linéaires. Problèmes non linéaires Si le coût de production et de livraison de 5 000 objets était de €5 000, cela voudrait-il dire que la production et la livraison d’un objet coûteraient €1 ? Probablement pas. La chaîne de production de l’usine consomme toujours de l’énergie, le travail de bureau est identique, les matières premières doivent toujours être achetées en vrac, les camions consomment la même quantité de carburant pour la livraison et les chauffeurs doivent toujours être payés pour leur journée quelle que soit l’importance du chargement. Dans la réalité, la plupart des problèmes n’impliquent pas de variables à simples relations linéaires. Ils impliquent des opérations de multiplication, division, des exposants et des fonctions Excel intégrées telles que RACINE() et CROISSANCE(). Quand les variables ont un rapport disproportionné les unes par rapport aux autres, le problème devient non linéaire. * Pour plus de détails sur l’utilitaire Solveur de Microsoft, voir le Guide de l’utilisateur Excel. Chapitre 6 : Optimisation 159 La gestion d’un processus de fabrication dans une usine de produits chimiques présente un parfait exemple de problème non linéaire. Supposons que nous voulions mélanger certains réactifs en vue de l’obtention, comme résultat, d’un produit chimique. La vitesse de la réaction peut varier de manière non linéaire suivant la quantité de réactifs disponible. À un moment donné, le catalyseur est saturé et l’excès de réactif devient encombrant. Le diagramme ci-dessous illustre cette relation : (vitesse de réaction / niveau de réactif) Si l’on cherche simplement à identifier le niveau minimum de réactif qui produira la plus grande vitesse de réaction, il suffit de partir d’un point quelconque du graphique et de suivre la courbe jusqu’au sommet, selon la méthode de l’escalade. L’escalade produit toujours la meilleure réponse quand (a) la fonction explorée est lisse et que (b) la valeur de départ est sur un versant du plus haut sommet. Si l’une de ces conditions n’est pas satisfaite, on risque d’aboutir à une solution locale plutôt que globale. 160 Pour les problèmes qui ne sont vraiment pas linéaires, comme on le voit souvent en pratique, beaucoup de solutions sont possibles sur un paysage particulièrement compliqué. Si le problème présente de nombreuses variables et/ou que les formules impliquées sont extrêmement bruyantes ou vallonnées, l’escalade ne trouvera probablement pas la meilleure réponse, même après des centaines d’essais au départ de points différents. Une solution sous-optimale et extrêmement locale sera plus vraisemblablement produite (voir la figure ci-dessous). L’escalade trouve le maximum local mais pas global. Données bruyantes : l’escalade n’est pas efficace, même après plusieurs essais. RISKOptimizer et Evolver (la source de l’optimiseur par algorithmes génétiques de RISKOptimizer) ne procèdent pas par escalade. Ils appliquent plutôt une technique de recherche stochastique dirigée, dite d’« algorithme génétique ». RISKOptimizer évolue ainsi dans tout l’espace de solution d’un problème, examinant de nombreuses combinaisons de valeurs en entrée sans se perdre dans les valeurs optimales locales. Mieux encore, RISKOptimizer favorise la « communication » entre les scénarios intéressants, afin d’obtenir une information précieuse sur le paysage de solution globale. Il utilise ensuite cette information pour mieux estimer les scénarios susceptibles de réussite. RISKOptimizer génère de nombreux scénarios possibles, puis raffine la recherche en fonction de l’information reçue. Chapitre 6 : Optimisation 161 Problèmes à base de tables Beaucoup de problèmes exigent le recours à des tables de recherche et bases de données. Ainsi, pour déterminer les quantités de différents matériaux à acquérir, il peut être nécessaire de rechercher le prix facturé pour différentes quantités. Les tables et les bases de données rendent les problèmes « discontinus » (non lisses). La recherche en devient difficile pour les routines d’escalade telles que Solveur. Indifférent à la continuité des fonctions qu’il évalue, RISKOptimizer peut trouver de bonnes solutions aux problèmes qui font appel aux tables, même nombreuses, vastes et interconnectées. Si un problème exige la recherche de valeurs dans une base de données ou une table de données Excel et que l’index de l’élément de table est une variable ou une fonction de variable, il convient d’utiliser Evolver ou RISKOptimizer. Si l’élément de table est simple et constant (le même enregistrement est extrait de la table indépendamment des valeurs des variables en entrée), il s’agit en fait simplement d’une constante et Solveur permet probablement de résoudre efficacement le problème. Problèmes combinatoires 162 Il existe une vaste catégorie de problèmes extrêmement différents des problèmes numériques examinés jusqu’ici. Les problèmes dont les sorties impliquent le changement d’ordre des variables en entrée existantes ou le groupement de sous-ensembles d’entrées sont qualifiés de problèmes combinatoires. Ces problèmes sont généralement très difficiles à résoudre, car ils exigent souvent un temps exponentiel. Autrement dit, la durée nécessaire à la résolution d’un problème à 4 variables pourrait être 4 x 3 x 2 x 1, et le redoublement du nombre de variables (8) ferait passer la durée de résolution à 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1, soit un facteur de 1 680. Le nombre de variables est double, mais celui des solutions possibles à vérifier augmente de 1 680 fois. Par exemple, le choix de l’ordre de jeu d’une équipe de base-ball est un problème combinatoire. Si l’on a 9 joueurs, on peut choisir l’un des 9 comme premier à la batte. Il faut ensuite choisir l’un des 8 joueurs restants en deuxième position, puis l’un des 7 joueurs restants en troisième position, etc. Il y a donc 9x8x7x6x5x4x3x2x1 possibilités d’organisation des 9 joueurs, soit environ 362 880 ordres différents. Si l’on double le nombre de joueurs, on se trouve face à 18 choix factoriels, soit 6 402 373 705 000 000 d’ordres possibles ! L’algorithme générique de RISKOptimizer et d’Evolver analyse intelligemment les permutations possibles. Il s’agit d’une méthode beaucoup plus pratique que la recherche de toutes les possibilités. L’approche est aussi beaucoup plus efficace que l’examen de permutations purement aléatoires : les sous-ordres des bons scénarios peuvent être conservés et utilisés pour produire de meilleurs scénarios encore. Chapitre 6 : Optimisation 163 164 Chapitre 7 : Algorithmes génétiques Introduction .....................................................................................167 Histoire.............................................................................................167 Exemple biologique........................................................................171 Exemple numérique........................................................................173 Chapitre 7 : Algorithmes génétiques 165 166 Introduction RISKOptimizer recourt aux algorithmes génétiques pour rechercher les réponses optimales aux modèles de simulation. Ces algorithmes sont adaptés d’Evolver, compagnon d’optimisation Excel de Palisade Corporation. Ce chapitre présente une introduction aux algorithmes génétiques pour aider à comprendre leur usage dans l’optimisation de modèles de simulation. Histoire Les premiers algorithmes génétiques ont été développés par John Holland, à l’University of Michigan, au début des années 1970 Holland était intrigué par la facilité avec laquelle les systèmes biologiques pouvaient exécuter des tâches qui échappaient même aux superordinateurs les plus puissants. Les animaux peuvent, sans erreur, reconnaître des objets, comprendre et traduire des sons et, généralement, naviguer à travers un environnement dynamique de manière presque instantanée. Depuis des dizaines d’années, les scientifiques promettent de reproduire ces capacités au niveau de la machine. On commence cependant à reconnaître combien la tâche est difficile. La plupart des scientifiques conviennent que tout système biologique complexe présentant ces qualités est le produit d’une évolution. Théorie de l’évolution D’après ce qu’en dit la théorie, l’évolution a produit des systèmes dotés d’étonnantes capacités par le biais de blocs de construction relativement simples autorépliqués selon quelques règles élémentaires : 1) L’évolution a lieu au niveau du chromosome. L’organisme n’évolue pas. Il ne sert que de véhicule au transport et au transfert des gènes. Ce sont les chromosomes qui changent dynamiquement à chaque réorganisation des gènes. 2) La nature tend a reproduire davantage les chromosomes qui produisent un organisme plus « apte ». Si un organisme survit suffisamment longtemps et qu’il est sain, ses gènes sont plus susceptibles d’être transmis à une nouvelle génération d’organismes, par la reproduction. Ce principe est souvent désigné sous l’expression de « survie du plus apte ». N’oublions pas que « le plus apte » est une expression relative : un organisme ne doit être pertinent que par rapport aux autres de la population courante pour « réussir ». Chapitre 7 : Algorithmes génétiques 167 3) La diversité doit être maintenue dans la population. Des mutations apparemment aléatoires se produisent fréquemment dans la nature pour assurer la variation des organismes. Ces mutations génétiques donnent souvent lieu à un trait utile, et parfois même essentiel à la survie de l’espèce. Dotée d’un plus large spectre de combinaisons possibles, une population est aussi moins vulnérable à une faiblesse commune qui risquerait de la détruire (virus, etc.) ou aux problèmes d’endogamie. Lorsqu’on décompose l’évolution en ses blocs élémentaires, il est plus facile d’appliquer ces techniques au monde de l’informatique et de progresser véritablement vers des machines plus fluides au comportement plus naturel. Holland s’est ainsi mis à appliquer ces propriétés de l’évolution à de simples chaînes de valeurs numériques représentant les chromosomes. Commençant par encoder son problème en chaînes binaires (lignes de chiffres « 1 » et « 0 ») chromosomiques, il a ensuite demandé à l’ordinateur de générer un grand nombre de ces chaînes de « bits » pour en former une vaste population. Une fonction de pertinence lui a permis d’évaluer et de classer chaque chaîne de bits. Celles jugées les plus « aptes » ont échangé leurs données avec d’autres à travers une routine de « croisement » pour créer des chaînes de bits « descendantes ». Holland a même soumis ses chromosomes numériques à un opérateur de « mutation » chargé d’injecter un certain caractère aléatoire dans les chromosomes « descendants » résultants, afin de conserver la diversité de la population. Cette fonction de pertinence a remplacé le rôle de la mort dans le monde biologique, en déterminant les chaînes suffisamment fortes pour continuer à se reproduire et celles à éliminer de la mémoire. « Chromosome » descendant 168 Histoire Le programme a gardé un nombre donné de ces « chromosomes » en mémoire, et cette « population » complète de chaînes a continué à évoluer jusqu’à maximisation de la fonction de pertinence. Le résultat a ensuite été décodé et réexprimé dans ses valeurs originales pour révéler la solution. John Holland demeure un pionnier actif dans son domaine. Des centaines de scientifiques et autres experts l’ont rejoint et consacrent la plus grande partie de leur temps à ce remplacement prometteur des techniques linéaires, mathématiques et statistiques conventionnelles. L’algorithme génétique original de John Holland était plutôt simple, mais remarquablement solide et apte à trouver les solutions optimales à une grande variété de problèmes. Bien des programmes personnalisés résolvent aujourd’hui des problèmes réels particulièrement complexes et imposants à l’aide de versions légèrement modifiées seulement de ce premier algorithme génétique. Adaptations modernes des algorithmes génétiques L’intérêt a grandi dans les milieux académiques et, tandis que la puissance informatique commençait a s’introduire dans les ordinateurs de bureau grand public, les normes telles que Microsoft Windows et Excel n’ont pas tardé à faciliter la conception et la maintenance de modèles complexes. L’usage de nombres réels plutôt que de représentations de chaînes binaires a éliminé la tâche difficile de l’encodage et du décodage des chromosomes. Le succès de l’algorithme génétique est aujourd’hui exponentiel, séminaires, guides, articles de magazine et conseils d’experts à l’appui. L’International Conference of Genetic Algorithms se concentre d’ores et déjà sur les applications pratiques, signe de maturité qui échappe aux autres technologies de l’« intelligence artificielle ». Les plus grandes entreprises recourent régulièrement aux algorithmes génétiques pour résoudre leurs problèmes, des sociétés de courtage aux centrales électriques, en passant par les compagnies de téléphone, les chaînes de restauration, les constructeurs automobiles et les réseaux de télévision. Il y a en fait de fortes chances que vous ayez vous-même déjà utilisé, indirectement, un algorithme génétique. Chapitre 7 : Algorithmes génétiques 169 170 Exemple biologique Considérons un simple exemple d’évolution (à faible échelle) dans le monde biologique. Par « évolution », on entend ici tout changement de la distribution ou fréquence de gènes dans une population. Bien sûr, l’aspect intéressant de l’évolution est qu’elle tend à donner lieu à des populations en adaptation permanente à leur environnement. Supposons donc que nous examinions une population de souris. Ces souris présentent deux tailles, petite et grande, et deux couleurs, gris clair et gris foncé. Notre population se compose des huit souris suivantes : Un jour, des chats arrivent dans les environs et se mettent à manger les souris. Il se révèle que les chats ont plus de difficulté à trouver les souris plus petites et plus foncées. Ainsi, différentes souris ont différentes chances d’éviter les chats pendant une période suffisamment longue pour pouvoir se reproduire. La nature de la génération suivante de souris en est affectée. Si l’on suppose que les vieilles souris meurent peu après s’être reproduites, la nouvelle génération peut se présenter comme suit : Remarquez que les grandes souris, celles de couleur claire et, tout particulièrement, les grandes souris gris clair ont du mal à survivre suffisamment longtemps pour se reproduire. La tendance se poursuit à la génération suivante. Chapitre 7 : Algorithmes génétiques 171 La population se compose désormais principalement de petites souris de couleur plus foncée, plus aptes à survivre dans cet environnement que les autres types. De même, tandis que les chats deviennent affamés par manque de souris, peut-être ceux qui préfèrent l’herbe seront-ils mieux adaptés et transmettront-ils leur gène herbivore à une nouvelle génération de chats. Tel est le principe fondamental de la « survie du plus apte ». Plus précisément, on pourrait parler de « survie jusqu’à la reproduction ». En termes d’évolution, être le célibataire en meilleure santé d’une population est sans intérêt, puisqu’il faut qu’un être se reproduise pour que ses gènes influencent les générations futures. 172 Exemple biologique Exemple numérique Imaginons un problème à deux variables, X et Y, produisant un résultat, Z. Le calcul et le tracé du résultat Z pour chaque valeur X et Y possible produirait un « paysage », comme nous l’avons déjà décrit au chapitre 6 : Optimisation. Si nous cherchons à identifier le « Z » maximum, les sommets de la fonction représentent de « bonnes » solutions et les creux, de « mauvaises » solutions. Lors de l’utilisation d’un algorithme génétique visant à maximiser la fonction, on commence par créer aléatoirement plusieurs solutions ou scénarios possibles (les points noirs), plutôt que de ne choisir qu’un point de départ. On calcule ensuite la sortie de la fonction pour chaque scénario et on marque chaque scénario d’un point noir. On classe ensuite tous les scénarios en fonction de leur hauteur, du meilleur au pire. On garde les scénarios de la moitié supérieure et on élimine les autres. On commence par créer une « population » complète des solutions possibles. Certaines seront meilleures (plus hautes) que d’autres. Chapitre 7 : Algorithmes génétiques On classe ensuite tous les points obtenus et on ne garde que les solutions qui présentent de meilleurs résultats. 173 Chacun des trois scénarios restants se redouble, pour ramener le nombre total à six. La partie intéressante de l’opération se produit ici : Chacun des six scénarios se compose de deux valeurs ajustables (tracées sous forme de coordonnées X et Y). Les scénarios s’associent aléatoirement en paires. Chaque scénario échange maintenant la première de ses deux valeurs ajustables avec la valeur correspondante de son partenaire. Par exemple : Avant Après Scénario 1 3,4, 5,0 2,6, 5,0 Scénario 2 2,6, 3,2 3,4, 3,2 Cette opération porte le nom de croisement. Après accouplement aléatoire et croisement de nos six scénarios, on peut obtenir un nouvel ensemble de scénarios tel que celui-ci : Dans l’exemple ci-dessus, on suppose que les trois scénarios originaux – a, b et c – se sont associés avec les doubles A, B et C pour former les paires aB, bC et cA. Ces paires ont ensuite échangé la valeur de leur première cellule ajustable – ce qui revient, dans notre diagramme, à échanger les coordonnées x et y entre les paires de points. La population de scénarios a ainsi vécu une génération, avec son cycle de « mort » et de « naissance ». 174 Exemple numérique Remarquez que certains des nouveaux scénarios produisent une sortie inférieure (hauteur moindre) à celle de la génération d’origine. Signe de progrès, un scénario a cependant progressé sur la colline la plus élevée. Si nous laissons la population évoluer pendant une génération encore, on obtiendra peut-être un paysage semblable à celui-ci : Il est clair que la performance moyenne de la population de scénarios s’est améliorée par rapport à la dernière génération. Dans cet exemple, il ne reste plus guère de place à l’amélioration. La raison en est qu’il n’y a que deux gènes par organisme, six organismes seulement et aucune possibilité de création de nouveaux gènes. En d’autres termes, le capital génétique est limité. Le capital génétique représente la somme de tous les gènes de tous les organismes de la population. Les algorithmes génétiques peuvent être rendus beaucoup plus puissants par réplication accrue de la force inhérente de l’évolution dans le monde biologique : en accroissant le nombre de gènes par organisme, en accroissant le nombre d’organismes d’une population et en admettant des mutations aléatoires occasionnelles. On peut de plus choisir les scénarios appelés à survivre et à se reproduire de manière plus proche de la réalité naturelle : avec un élément aléatoire favorisant légèrement les meilleures performances, plutôt que de ne retenir que les meilleures performances à la reproduction (même le plus grand et le plus fort des lions peut être frappé par la foudre !) Toutes ces techniques stimulent le raffinement génétique et contribuent au maintien de la diversité du capital génétique, en préservant toutes sortes de gènes au cas où ils s’avéreraient utiles dans d’autres combinaisons. RISKOptimizer applique automatiquement toutes ces techniques. Chapitre 7 : Algorithmes génétiques 175 176 Chapitre 8 : Simulation et analyse de risque Introduction .....................................................................................179 Définition du risque ........................................................................179 Caractéristiques du risque..................................................................180 Nécessité de l’analyse du risque .......................................................181 Évaluation et quantification du risque ............................................183 Description du risque avec une distribution de probabilités......184 Modélisation de l’incertitude dans RISKOptimizer .....................185 Variables ................................................................................................185 Certaines ou incertaines ........................................................186 Indépendantes ou dépendantes ...........................................186 Analyse d’un modèle avec simulation..........................................189 Simulation .............................................................................................189 Fonctionnement de la simulation......................................................190 Chapitre 8 : Simulation et analyse de risque 177 178 Introduction RISKOptimizer fait appel à la simulation pour gérer l’incertitude présente dans les modèles Excel qu’il optimise. Ses méthodes 1) de modélisation de l’incertitude présente dans une feuille de calcul et 2) d’exécution d’une simulation sur le modèle sont toutes deux extraites de @RISK, compagnon Excel de simulation et d’analyse du risque proposé par Palisade Corporation. Ce chapitre présente une introduction à l’analyse du risque et à la simulation pour aider le lecteur à mieux comprendre la configuration de modèles de simulation dans RISKOptimizer. Définition du risque Tout le monde sait que le « risque » affecte le joueur sur le point de jeter les dés, le foreur sur le point de forer un puits de pétrole, ou le funambule sur le point de poser le pied sur la corde. Hormis ces simples exemples, le concept de risque trouve sa raison d’être dans le fait que nous reconnaissons le caractère incertain de l’avenir, notre incapacité de connaître le lendemain d’une action exécutée aujourd’hui. Dans la notion du risque se reflète la multiplicité des résultats possibles d’une action donnée. En ce sens, toutes les actions sont « risquées », de la traversée d’une rue à la construction d’un barrage. Toutefois, le terme est généralement réservé à des situations dans lesquelles l’éventail des issues possibles d’une action donnée est significatif. Les actions courantes, comme traverser la rue, ne sont généralement pas risquées ; en revanche, la construction d’un barrage peut présenter un risque substantiel. Entre ces deux extrêmes, il existe divers degrés de risque. Bien que vague, cette distinction est importante. Si vous estimez une situation hasardeuse, le risque devient un critère de décision dans la ligne de conduite à adopter, et une forme d’analyse du risque devient alors viable. Chapitre 8 : Simulation et analyse de risque 179 Caractéristiques du risque Le risque découle de notre inaptitude à connaître l’avenir ; il indique un degré d’incertitude suffisant pour que nous le remarquions. Les caractéristiques importantes du risque permettent de mieux cerner cette définition un peu vague. En premier lieu, le risque peut être objectif ou subjectif. Jouer à pile ou face est un risque objectif car les chances sont connues. Bien que l’issue soit incertaine, la théorie, l’expérience ou le bon sens permettent de décrire en toute précision le risque objectif. Tout le monde s’accorde sur la description d’un risque objectif. En revanche, la description des chances qu’il pleuve jeudi prochain est moins évidente : il s’agit là d’un risque subjectif. À partir des mêmes informations, théories, ordinateurs, etc., un météorologue A peut déterminer un risque de pluie de 30 %, tandis que pour le météorologue B, ce risque est de 65 %. Aucun des deux n’a tort. La description d’un risque subjectif est laissée à la libre interprétation de l’auteur dans la mesure où il peut toujours raffiner son évaluation sur la base de nouvelles informations, d’une étude plus approfondie, ou en considérant l’opinion d’autrui. La plupart des risques étant subjectifs, il y a là des implications importantes pour toute personne responsable d’analyser le risque ou de prendre des décisions en fonction d’une analyse de risque. En deuxième lieu, décider qu’une opération est hasardeuse fait intervenir un jugement personnel, même en présence de risques objectifs. Supposons par exemple que vous gagniez 1 euro sur pile et que vous en perdiez 1 sur face. La marge comprise entre 1 et –1 euro est généralement considérée comme négligeable. Si l’enjeu était de 100 et –100 000 euros, par contre, la plupart des gens trouveraient la situation plutôt hasardeuse. Cependant, pour une minorité nantie, cette plage d’issues ne serait pas significative. En troisième lieu, les actions hasardeuses, et donc le risque, sont des situations que l’on peut souvent choisir ou éviter. La quantité de risque jugée acceptable varie d’un individu à l’autre. Par exemple, deux personnes disposant d’un actif net égal sont susceptibles de réagir tout à fait différemment au pari de 100 000 euros décrit cidessus : l’une peut l’accepter et l’autre, le refuser. Leurs préférences individuelles, en matière de risque, sont différentes. 180 Définition du risque Nécessité de l’analyse du risque La première étape de l’analyse du risque et de la modélisation consiste à en reconnaître la nécessité. La situation qui vous intéresse présente-t-elle un risque significatif ? Les quelques exemples qui suivent vous aideront peut-être à évaluer le caractère risqué ou non de vos propres situations : ♦ Risque lié à la création et à la commercialisation d’un nouveau produit — Le service de recherche et développement sera-t-il en mesure de résoudre les problèmes techniques qui se posent ? Estce qu’un concurrent vous devancera dans la commercialisation ou la qualité du produit ? Quel sera l’impact de la campagne publicitaire proposée sur les niveaux de vente ? Les coûts de production seront-ils conformes aux prévisions ? Le prix de vente proposé devra-t-il être modifié pour refléter des niveaux de demande non anticipés ? ♦ Risques liés à l’analyse de valeurs mobilières et de gestion d’actif — Dans quelle mesure une proposition d’achat affectera-t-elle la valeur d’un portefeuille ? Les nouveaux directeurs auront-ils une influence sur le cours du marché ? Une société acquise produira-telle les bénéfices prévus ? Quel sera l’impact d’un redressement du marché sur un secteur industriel donné ? ♦ Risques liés à la gestion d’entreprise et à la planification — Un niveau de stocks donné suffira-t-il à répondre aux niveaux imprévisibles de la demande ? Les négociations contractuelles syndicales imminentes vont-elles produire une hausse nette des coûts de la main-d’œuvre ? Quel sera l’impact de la législation écologique en cours sur les coûts de production ? Dans quelle mesure les événements politiques et commerciaux affecteront-ils les fournisseurs étrangers en termes de taux de change, de protectionnisme et de dates de livraison ? ♦ Risques liés à la conception et à la construction d’une structure (bâtiment, pont, barrage,...) — Les coûts des matériaux de construction et de main-d’œuvre seront-ils conformes aux prévisions ? Une grève du travail affectera-t-elle le calendrier de construction ? Les niveaux d’effort maximum dus à la foule et aux éléments correspondront-ils aux prévisions ? L’effort risque-t-il d’atteindre le point de rupture ? Chapitre 8 : Simulation et analyse de risque 181 182 ♦ Risques liés aux investissements dans l’exploration minière et pétrolière — L’exploration sera-t-elle productive ? Si un gisement est découvert, sera-t-il coûteux ? Les coûts de mise en exploitation du gisement seront-ils conformes aux prévisions ? Un événement politique tel qu’un embargo, une réforme fiscale ou de nouveaux règlements écologiques affectera-t-il la viabilité du projet ? ♦ Risques liés à la planification politique — Si la politique est sujette à la ratification législative, sera-t-elle approuvée ? Le niveau de conformité à une directive politique quelconque sera-til complet ou partiel ? Les coûts de mise en œuvre seront-ils conformes aux prévisions ? Le niveau de rentabilité sera-t-il conforme aux projections ? Définition du risque Évaluation et quantification du risque La prise de conscience du risque présenté par une situation ne constitue que la première étape. Comment quantifier le risque identifié pour une situation incertaine ? Quantifier le risque, c’est déterminer toutes les valeurs possibles d’une variable de risque et la vraisemblance relative de chacune. Supposons que la situation incertaine envisagée soit l’issue d’un jeu de pile ou face. Vous pouvez lancer la pièce autant de fois qu’il le faut pour établir l’égalité des probabilités des issues possibles. Vous pouvez aussi calculer ce résultat mathématiquement, par application de simples notions élémentaires de probabilités et statistiques. Dans la plupart des situations réelles, il n’est pas possible de recourir à l’expérience, comme dans le cas de pile ou face, pour calculer le risque. Comment calculer la courbe de formation probable associée à l’introduction d’un nouvel équipement ? Vous pouvez vous référer à vos expériences passées ; une fois le matériel sur le marché, l’incertitude disparaît. Il n’existe aucune formule mathématique apte à déterminer le risque associé aux issues possibles. Vous devez évaluer le risque sur la base des informations dont vous disposez. Si vous pouvez calculer le risque comme dans une situation de pile ou face, il s’agit d’un risque de nature objective. Personne ne niera l’exactitude de votre quantification. La plupart des quantifications de risque sont cependant une question de jugement personnel. Vous ne disposez pas nécessairement d’informations complètes sur la situation, elle ne peut être réitérée comme le jet d’une pièce de monnaie, ou elle peut être trop complexe pour produire une réponse sans équivoque. La quantification est alors subjective, et votre évaluation n’obtiendra pas nécessairement l’approbation de tous. Les évaluations subjectives sont susceptibles de varier en fonction des informations supplémentaires éventuellement obtenues sur la situation. Lorsque l’approche est subjective, vous devez toujours vous demander s’il existe d’autres informations utiles à votre évaluation. Si oui, que vous en coûterait-il de les obtenir ? Dans quelle mesure exigeraient-elles la modification de l’évaluation que vous avez déjà faite ? Dans quelle mesure cette modification affecterait-elle les résultats finaux de votre modèle ? Chapitre 8 : Simulation et analyse de risque 183 Description du risque avec une distribution de probabilités Si vous avez quantifié un risque, par détermination des issues possibles et de la probabilité associée à chacune, vous pouvez en faire la synthèse à l’aide d’une distribution de probabilités. Les distributions de probabilités offrent une méthode de présentation du risque quantifié d’une variable. RISKOptimizer et @RISK (le compagnon de simulation Excel utilisé par RISKOptimizer) y font appel pour décrire les valeurs incertaines de vos feuilles de calcul Excel et pour en présenter les résultats. Il existe plusieurs formes et types de distributions, décrivant chacune une plage de valeurs possibles et la probabilité de chacune. La forme de distribution normale (« courbe en cloche » traditionnelle) est généralement connue. Il en existe cependant toute une variété, des distributions uniformes et triangulaires aux formes plus complexes des distributions gamma et de Weibull. Tous les types de distribution font appel à un ensemble d’arguments pour spécifier une plage de valeurs réelles et distribution de probabilités. La distribution normale, par exemple, utilise une moyenne et un écart type comme arguments. La moyenne définit la valeur autour de laquelle la courbe en cloche sera centrée, et l’écart type, la plage de valeurs autour de la moyenne. RISKOptimizer propose plus de 30 types de distribution pour décrire les valeurs incertaines des feuilles de calcul Excel. 184 Définition du risque Modélisation de l’incertitude dans RISKOptimizer Vous seul êtes en mesure de bien comprendre les problèmes et situations que vous souhaitez analyser. S’ils sont sujets au risque, RISKOptimizer s’associe à Excel pour vous aider à en créer un modèle complet et logique. Un des plus grands avantages de RISKOptimizer est qu'il vous permet de travailler dans le contexte de création de modèle standard familier de Microsoft Excel. RISKOptimizer œuvre de concert avec votre modèle Excel, pour modéliser l’incertitude tout en conservant les fonctionnalités ordinaires du tableur. Si vous savez comment créer des modèles Excel, RISKOptimizer vous donne maintenant la possibilité de les modifier, en toute simplicité, pour y inclure l’incertitude. Variables Les variables sont les éléments de base de vos feuilles Excel que vous avez identifiés comme les ingrédients importants de votre analyse. La modélisation d’une situation financière, par exemple, peut faire intervenir les variables Ventes, Coûts, Revenus ou Bénéfices, tandis que celle d’une situation géologique impliquera plutôt des variables telles que Profondeur du gisement, Épaisseur du filon houiller, Porosité, etc. À chaque situation ses variables propres, qu'il vous revient d'identifier. Dans une feuille de calcul typique, les variables libellent les lignes ou les colonnes. Par exemple : Chapitre 8 : Simulation et analyse de risque 185 Certaines ou incertaines Si vous connaissez les valeurs que prendront vos variables dans le cadre temporel de votre modèle, il s’agit de variables certaines ou, dans le jargon des statisticiens, « déterministes ». Au contraire, si ces valeurs sont inconnues, les variables sont qualifiées d’incertaines, ou « stochastiques ». Il faut alors décrire la nature de leur incertitude. L’opération s’effectue à l’aide de distributions de probabilités, qui indiquent à la fois la plage des valeurs possibles de la variable (du minimum au maximum) et la probabilité de réalisation de chaque valeur. Dans RISKOptimizer, les variables et les valeurs des cellules incertaines se définissent sous forme de fonctions de distribution de probabilités. Par exemple : RiskNormal(100;10) RiskUniform(20;30) RiskExpon(A1+A2) RiskTriang(A3/2,01;A4;A5) Ces fonctions de « distribution » se configurent dans les cellules et les formules d’une feuille de calcul comme n’importe quelle autre fonction Excel. Indépendantes ou dépendantes Outre certaines ou incertaines, les variables d’un modèle peuvent être « indépendantes » ou « dépendantes ». Une variable indépendante est indifférente à toutes les autres variables du modèle. Par exemple, dans un modèle financier évaluant la profitabilité d’une récolte agricole, vous pourriez inclure une variable incertaine appelée Précipitations. On peut supposer sans trop d'incertitude que d’autres variables du modèle, telles que le prix de la récolte et le coût de l’engrais, seraient sans incidence sur les précipitations. La variable Précipitations est donc une variable indépendante. Par opposition, une variable dépendante est déterminée, en tout ou en partie, par une ou plusieurs autres variables du modèle. Par exemple, la variable Rendement du modèle considéré dépendrait probablement de la variable indépendante Précipitations. S’il pleut trop ou pas assez, le rendement est faible. S’il pleut à peu près normalement, le rendement peut se situer dans une fourchette comprise entre le dessous et le dessus de la moyenne. D’autres variables peuvent également affecter le rendement des cultures (Température, Pertes dues aux insectes, etc.) 186 Modélisation de l’incertitude dans RISKOptimizer Lors de l’identification des valeurs incertaines de votre feuille de calcul Excel, vous devez déterminer si vos variables sont indépendantes ou dépendantes. Les fonctions DEPC et INDEPC de RISKOptimizer permettent d’identifier les deux types. Il est extrêmement important d’identifier correctement les relations de dépendance entre les variables. Le modèle risquerait sinon de produire des résultats insensés. Si, par exemple, vous omettiez la relation entre les variables Précipitations et Rendement, RISKOptimizer pourrait très bien choisir une valeur basse pour les précipitations et une valeur élevée pour le rendement, ce qui serait naturellement absurde. Chapitre 8 : Simulation et analyse de risque 187 188 Analyse d’un modèle avec simulation Une fois introduites les valeurs incertaines dans les cellules de la feuille de calcul, vous disposez d’une feuille de calcul Excel que RISKOptimizer peut analyser. Simulation RISKOptimizer recourt à la simulation, parfois appelée simulation Monte Carlo, pour rendre compte de l’incertitude en cours d’optimisation. En ce sens, la simulation désigne la méthode par laquelle la distribution des issues possibles résulte de l’exécution, par l’ordinateur, de calculs répétés de la feuille de calcul, sur la base, à chaque fois, d’un ensemble de valeurs différentes, sélectionnées au hasard dans les distributions de probabilités introduites dans les valeurs et formules des cellules. L'ordinateur essaie en somme toutes les combinaisons valables des variables en entrée pour simuler toutes les issues possibles, comme si on analysait tout à la fois des centaines ou même des milliers de scénarios hypothétiques ! Qu’entend-on par « la simulation essaie toutes les combinaisons valables des valeurs de variables d’entrée » ? Imaginons un modèle limité à deux variables en entrée. Si ces variables ne présentent aucun degré d’incertitude, une valeur possible unique peut être identifiée pour chacune. Les deux valeurs déterminées peuvent être combinées par les formules de la feuille pour calculer les résultats recherchés (valeur certaine ou déterministe). Par exemple, si les variables en entrée certaines sont les suivantes : Revenus = 100 Coûts = 90 alors le résultat Bénéfices = 10 est calculé par Excel à partir de Bénéfices = 100 – 90 Il n’existe qu’une combinaison des valeurs de variable en entrée, car il n’existe qu’une valeur possible pour chaque variable. Chapitre 8 : Simulation et analyse de risque 189 Considérons maintenant une situation présentant un certain degré d’incertitude dans les deux variables en entrée. Par exemple : Revenus = 100 ou 120 Coûts = 90 ou 80 donne deux valeurs pour chaque variable d’entrée. Lors de la simulation, RISKOptimizer considère toutes les combinaisons possibles de ces valeurs afin de calculer les valeurs possibles du résultat, Bénéfices. Les quatre combinaisons suivantes sont possibles : Bénéfices = Revenus – Coûts 10 = 100 – 90 20 = 100 – 80 30 = 120 – 90 40 = 120 – 80 Étant calculée à partir de variables incertaines, la variable Bénéfices l’est aussi. Fonctionnement de la simulation Dans RISKOptimizer, la simulation exécute deux opérations distinctes : ♦ sélection d’ensembles de valeurs pour les fonctions de distribution de probabilités introduites dans les cellules et les formules de la feuille de calcul ♦ recalcul de la feuille de calcul Excel en fonction des nouvelles valeurs La sélection des valeurs est appelée « échantillonnage », et chaque calcul de la feuille de calcul, « itération ». RISKOptimizer génère les distributions de sortie par consolidation des résultats à valeur unique de toutes les itérations. 190 Analyse d’un modèle avec simulation Chapitre 9 : Et aussi… Ajout de contraintes .......................................................................193 Contraintes plages................................................................................194 Contraintes fermes – personnalisées ................................................195 Contraintes d’itération ou de simulation.........................................196 Contraintes souples .............................................................................196 Fonctions de pénalité .............................................................197 Entrée d’une fonction de pénalité .......................................197 Visualisation des effets d’une fonction de pénalité entrée.........................................................................198 Visualisation des pénalités appliquées..............................199 Entrée de contraintes souples dans la feuille de calcul....................................................................................199 Autres exemples de fonctions de pénalité .........................200 Utilisation des fonctions de pénalité ..................................201 Problèmes à buts multiples................................................................202 Accélération du processus............................................................203 Mode d’exécution de l’optimisation RISKOptimizer ...................205 Sélection ...................................................................................205 Croisement...............................................................................205 Mutation...................................................................................207 Remplacement.........................................................................207 Contraintes...............................................................................207 Chapitre 9 : Et aussi… 191 192 Ajout de contraintes Les problèmes réalistes présentent souvent des contraintes à respecter dans la recherche de solutions optimales. Ainsi, dans l’exemple du didacticiel relatif à la recherche de conception du transformateur le moins onéreux, l’une des contraintes est que le transformateur doit rester froid et ne doit pas émettre plus de 0,16 watts/cm². Un scénario qui satisfait à toutes les contraintes d’un modèle est qualifié de solution viable ou « valable ». Il est parfois difficile de trouver de solutions viables pour un modèle, et encore plus de solution optimale viable : dans les cas, notamment, où le problème est particulièrement complexe et où il n’existe que quelques solutions viables, ou dans ceux où le problème est spécifié à outrance (trop de contraintes, ou contraintes en conflit les unes avec les autres) et où il n’existe donc aucune solution viable. Il existe trois grands types de contraintes : les contraintes plages, ou plages min-max imposées aux cellules ajustables, les contraintes fermes, dont le respect est obligatoire, et les contraintes souples que l’on désire respecter autant que possible mais pour lesquelles on est prêt à accepter le compromis en vue d’une importante amélioration de pertinence. Chapitre 9 : Et aussi… 193 Contraintes plages Les contraintes fermes les plus simples sont celles imposées aux variables elles-mêmes. En fixant une certaine plage pour chaque variable, on limite le nombre global de solutions possibles, au bénéfice d’une recherche plus efficace. Les valeurs Min et Max se définissent dans le volet Plages de cellules ajustables de la fenêtre Modèle. Elles indiquent à RISKOptimizer la plage de valeurs acceptables pour chaque variable. RISKOptimizer n’essaie que les valeurs comprises entre 0 et 100 000 pour les cellules spécifiées. Un second type de contrainte ferme imposée aux variables est intégré dans chacune des méthodes de résolution de RISKOptimizer (recette, ordre, groupement, etc.). Par exemple, si l’on ajuste les variables selon la méthode de résolution budget, RISKOptimizer est soumis à la contrainte ferme de n’essayer que les ensembles de valeurs dont le total représente une même somme. À l’image du paramètre de plage, cette contrainte ferme réduit le nombre de scénarios possibles à soumettre à la recherche. L’option entiers de la boîte de dialogue Modèle représente aussi une contrainte ferme, en ce qu’elle limite les essais de RISKOptimizer aux seules valeurs entières (1, 2, 3, etc.), à l’exclusion des nombres réels (1,34, 2,034, etc.) lors de l’ajustement des valeurs de variable. 194 Ajout de contraintes Contraintes fermes – personnalisées Les contraintes extérieures aux contraintes de variables RISKOptimizer se définissent dans la boîte de dialogue Paramètres de contrainte. REMARQUE : Comme l’évolution dans la nature, la puissance de résolution d’un algorithme génétique tient principalement à sa capacité d’exploration libre de nombreuses combinaisons de solutions vraisemblables, avec prédilection naturelle à l’égard des meilleures. Interdire à RISKOptimizer ne fût-ce que de regarder les solutions non conformes à nos exigences, c’est handicaper, potentiellement, le processus d’optimisation de l’algorithme génétique. Il est toujours plus simple pour RISKOptimizer de trouver des solutions conformes aux contraintes fermes si le scénario initial de la feuille de calcul satisfait lui-même à ces contraintes. RISKOptimizer dispose ainsi d’un point de départ dans l’espace des solutions valables. En l’absence de scénario conforme aux contraintes, RISKOptimizer devra être exécuté au départ d’un scénario initial quelconque et il fera de son mieux pour identifier ceux qui satisfont aux contraintes. Chapitre 9 : Et aussi… 195 Contraintes d’itération ou de simulation Les contraintes fermes imposées à RISKOptimizer peuvent être évaluées 1) à chaque itération d’une simulation pour une solution itérative (contrainte d’« itération ») ou 2) en fin de simulation (contrainte de « simulation »). ♦ Une contrainte d’itération est une contrainte évaluée à chaque itération d’une simulation exécutée pour une solution itérative donnée. Si une itération produit des valeurs contraires à la contrainte ferme, la simulation s’arrête (et la solution itérative est rejetée) et la recherche de solution itérative suivante et sa simulation correspondante commencent. ♦ Une contrainte de simulation se spécifie en tant que statistique de simulation pour une cellule de tableur : Moyenne de A11>1000, par exemple. Dans ce cas, la contrainte est évaluée en fin de simulation. Une contrainte de simulation, par opposition à une contrainte d’itération, ne cause jamais l’arrêt de la simulation avant son exécution complète. Contraintes souples Forcer un programme à ne rechercher que les solutions conformes à toutes les contraintes peut aboutir à l’absence de solutions viables. Il est souvent plus utile de disposer d’une solution approximativement viable, ou les contraintes ne sont pas nécessairement toutes satisfaites à la perfection. Plutôt que d’imposer des « contraintes fermes » dont le respect doit être assuré, la configuration de « contraintes souples » définit les contraintes que RISKOptimizer s’efforcera de satisfaire. Les contraintes souples sont plus réalistes et elles permettent à RISKOptimizer d’essayer beaucoup plus d’options. Dans le cas d’un problème soumis à de nombreuses contraintes (où il n’existe pas beaucoup de solutions possibles qui satisferaient à toutes les exigences), l’algorithme génétique de RISKOptimizer est beaucoup plus susceptibles de trouver la meilleure solution possible s’il lui est possible d’évaluer les solutions presque conformes aux contraintes. 196 Ajout de contraintes Quand les contraintes concernent des buts conceptuels, tels que « produire deux fois plus de fourchettes que de couteaux », il est rarement important d’y satisfaire en toute précision : surtout si l’obtention d’un programme de production parfaitement équilibré imposait un processus d’optimisation exigeant toute une journée ! En l’occurrence, une bonne solution au problème, presque conforme à la contrainte (40 % de fourchettes, 23 % de couteaux et 37 % de cuillers, par exemple), serait plus acceptable que le gaspillage de toute une journée pour arriver, peut-être, à la conclusion qu’il n’y a pas de solution parce qu’il est impossible de satisfaire à toutes les contraintes. Fonctions de pénalité Les fonctions de pénalité facilitent la mise en œuvre de contraintes souples dans Excel. Plutôt que d’interdire strictement à RISKOptimizer la considération de certaines valeurs dans la recherche de solutions, on permet l’exploration de ces valeurs « incorrectes » mais on pénalise en conséquence les solutions qu’elles produisent. Par exemple, un problème peut impliquer la recherche du moyen de distribution de biens le plus efficace, compte tenu du fait qu’on ne dispose que de trois camions. Un modèle plus précis inclurait une fonction de pénalité qui reconnaîtrait un plus grand nombre de camions mais qui augmenterait substantiellement le coût du résultat. Les fonctions de pénalité se définissent dans la boîte de dialogue Paramètres de contrainte, ou directement dans le modèle moyennant l’ajout de formules qui les représentent. Entrée d’une fonction de pénalité Chapitre 9 : Et aussi… 197 RISKOptimizer propose une fonction de pénalité par défaut, affichée dès les premières étapes de définition d’une contrainte souple. Une formule Excel valable quelconque peut cependant être utilisée pour calculer l’importance de la pénalité à appliquer lorsque la contrainte souple n’est pas satisfaite. Une fonction de pénalité ainsi entrée doit inclure le mot-clé écart, pour représenter le dépassement absolu de la limite de la contrainte. Au terme d’une simulation de solution itérative, RISKOptimizer vérifie si la contrainte souple a été respectée. Si non, la valeur de l’écart est introduite dans la formule de pénalité pour calculer la pénalité à appliquer à la statistique de simulation de la cellule cible minimisée ou maximisée. La pénalité s’ajoute à la statistique calculée pour la cellule cible ou s’en soustrait, de manière à la rendre moins « optimale ». Ainsi, si Maximum est sélectionné dans le champ But d’optimisation de la boîte de dialogue Modèle RISKOptimizer, la pénalité est déduite de la statistique calculée pour la cellule cible. Visualisation des effets d’une fonction de pénalité entrée 198 RISKOptimizer s’accompagne d’une feuille de calcul Excel intitulée PENALITE.XLS, utile à l’évaluation des effets de différentes fonctions de pénalité sur les contraintes souples et les résultats de cellule cible. Ajout de contraintes Cette feuille de calcul permet la sélection, dans un modèle, d’une contrainte souple dont on désire analyser les effets. On peut ensuite changer la fonction de pénalité pour voir comment elle mappera une valeur spécifique pour la contrainte souple non satisfaite dans une statistique pénalisée particulière de la cellule cible. Par exemple, si la contrainte souple est A10<100, on pourrait consulter PENALITE.XLS pour voir ce que serait la valeur cible si une valeur de 105 était calculée pour la cellule A10. Visualisation des pénalités appliquées Lorsqu’une pénalité est appliquée à la cellule cible sous l’effet d’une contrainte souple non satisfaite, Suivi RISKOptimizer permet de visualiser l’importance de cette pénalité. Les valeurs des pénalités figurent aussi dans le Journal d’optimisation créé, facultativement, après l’optimisation. Entrée de contraintes souples dans la feuille de calcul Les fonctions de pénalité peuvent aussi être introduites directement dans la feuille de calcul. Une fonction de pénalité booléenne affecte une pénalité définie à tout scénario non conforme à la contrainte spécifiée. Par exemple, si la valeur de la cellule B1 (offre) doit être au moins égale à celle de la cellule A1 (demande), on pourrait définir cette fonction de pénalité dans une autre cellule : =SI(A1>B1; -1000; 0). Si le résultat de cette cellule était ajouté à la statistique de la cellule cible, chaque fois que RISKOptimizer produirait une solution non conforme à la contrainte (offre non conforme à la demande), la statistique de la cellule cible maximisée serait réduite d’une valeur de 1 000 par rapport au résultat réel. Toute solution contraire à la contrainte produirait une valeur inférieure pour la statistique de la cellule cible, au point que RISKOptimizer finirait par éliminer naturellement ces organismes. Un autre type de fonction, à échelle de pénalité, pénalise plus exactement la solution en fonction de son degré de non conformité par rapport à la contrainte. Cette fonction convient généralement mieux à la réalité des choses, car une solution où l’offre ne répond pas tout à fait à la demande vaudrait mieux qu’une solution où elle y serait vraiment très inférieure. Une simple fonction d’échelle de pénalité calcule la différence absolue entre la valeur cible de la contrainte et sa valeur réelle. Par exemple, dans ce même exemple où A1 (la demande) ne doit pas dépasser B1 (l’offre), on pourrait appliquer la fonction de pénalité suivante : =SI(A1>B1; (A1-B1)^2; 0). Ce type de fonction de pénalité mesure la proximité de satisfaction d’une contrainte et exagère la différence en l’élevant au carré. La pénalité varie ainsi en fonction de la gravité de la violation de la contrainte. Chapitre 9 : Et aussi… 199 Autres exemples de fonctions de pénalité Supposons par exemple un modèle de production où l’une des contraintes est que la quantité de bois utilisée doit être égale à celle de plastique. Cette contrainte est satisfaite lorsque « QtéBois » = « QtéPlastique ». Pour rechercher les solutions qui incluent une même quantité des deux matériaux, on crée une fonction de pénalité défavorable aux solutions éloignées du but. La formule « =ABS(QtéBois-QtéPlastique) » calcule la différence absolue (non négative) entre la quantité de bois et celle de plastique utilisée. La fonction ABS() produit la même valeur de pénalité si QtéBois est supérieure de 20 unités à QtéPlastique ou que QtéPlastique est inférieure de 20 unités à QtéBois. Lors de l’optimisation du modèle, le but est de minimiser la moyenne des résultats de simulation pour cette différence absolue. Supposons que nous imposions plutôt, comme contrainte, que la quantité de bois doit être deux fois supérieure à celle de plastique. La fonction de pénalité deviendrait alors : =ABS(QtéBois-QtéPlastique*2) Une autre contrainte possible serait que la quantité de bois doive être au moins deux fois supérieure à celle de plastique. Là où l’exemple précédent produisait une pénalité s’il y avait trop de bois, celui-ci ne s’intéresse qu’à la quantité minimale de bois : si QtéBois est 10 fois supérieure à QtéPlastique, aucune pénalité ne doit être appliquée. La fonction de pénalité applicable s’exprimerait ainsi : =SI(QtéBois<QtéPlastique*2; ABS(QtéPlastique*2QtéBois);0) Si QtéBois est au moins deux fois supérieure à QtéPlastique, la fonction de pénalité renvoie 0. Sinon, elle indique de combien la valeur QtéBois est inférieure à deux fois QtéPlastique. 200 Ajout de contraintes Utilisation des fonctions de pénalité Une fois définies, les fonctions de pénalité appelées à décrire les contraintes souples du modèle peuvent être combinées à la formule de cellule cible ordinaire pour obtenir une formule de cellule cible sous contrainte. Dans l’exemple illustré ci-dessous, si la cellule C8 calcule le coût total d’un projet et les cellules E3:E6 contiennent cinq fonctions de pénalité, on peut introduire dans la cellule C10 une formule telle que =SOMME(C8; E3:E6). On crée une cellule qui ajoute les contraintes au total et on minimise la moyenne des résultats de la simulation pour cette cellule. On ajoute ainsi les pénalités de la colonne E au coût de C8 pour obtenir une fonction de coût sous contrainte ou pénalité dans C10. Remarquez que s’il s’agissait d’un problème de maximisation, on soustrairait, plutôt que d’additionner, les pénalités de la cellule cible originale. Lors de l’utilisation de RISKOptimizer, on sélectionne simplement cette cellule sous contrainte, C10, comme cellule cible dont la statistique de simulation doit être optimisée. Lorsque RISKOptimizer essaie d’optimiser une statistique sous contrainte pour la cellule cible, les fonctions de pénalité tendent à forcer la recherche vers les scénarios conformes aux contraintes. RISKOptimizer finit ainsi par produire des solutions qui apportent de bonnes solutions au problème et qui satisfont ou presque à toutes les contraintes (valeurs de pénalité proches de 0). Chapitre 9 : Et aussi… 201 Problèmes à buts multiples Le champ de cellule cible de RISKOptimizer n’admet qu’une cellule. Il n’en est pas moins possible de résoudre le problème pour plusieurs en créant une formule qui combine deux buts en un. Considérons, par exemple, un expert en polymère à la recherche d’une matière à la fois souple et robuste. Son modèle calcule la résistance, la souplesse et le poids qui résulteraient d’une formule donnée de combinaisons chimiques. Les quantités de chaque ingrédient sont les variables ajustables du problème. Comme on cherche à maximiser la robustesse de la matière (cellule S3) mais aussi sa souplesse (cellule F3), on peut définir dans une nouvelle cellule la formule =(S3+F3). Cette cellule devient la nouvelle cellule cible. Plus sa valeur est élevée, plus la solution globale est bonne. Si la souplesse est plus importante que la robustesse, la formule de la cellule cible pourrait devenir =(S3+(F3*2)). De cette façon, les scénarios qui accroissent la souplesse d’une certaine valeur seront mieux vus (meilleure « cote » de pertinence) que ceux qui augmentent la robustesse de la même valeur. Pour maximiser la robustesse d’une matière (cellule S5) tout en minimisant son poids (cellule W5), on créerait une nouvelle cellule dotée de la formule suivante : =(S5^2)-(W5^2). Cette formule produirait une valeur supérieure pour les structures à la fois robustes et légères, moindre pour les structures faibles et lourdes et également moyenne pour les scénarios de structures faibles mais légères ou robustes mais lourdes. Cette nouvelle cellule servirait de cible, avec maximisation de la moyenne pour satisfaire les deux objectifs. 202 Ajout de contraintes Accélération du processus L’utilisation de RISKOptimizer pour la résolution d’un problème fait appel, à la fois, à la bibliothèque RISKOptimizer de routines compilées pour gérer le processus et à la fonction d’évaluation de feuille de calcul d’Excel pour examiner les différents scénarios. Une grande partie du temps consacré à l’opération tient en fait au recalcul de la feuille par Excel. Différentes approches permettent d’accélérer le processus d’optimisation RISKOptimizer et celui du recalcul d’Excel. Chapitre 9 : Et aussi… ♦ La vitesse de RISKOptimizer est directement liée à celle du processeur de l’ordinateur. Ainsi, un Pentium/200 est environ deux fois plus rapide qu’un Pentium/100. Autrement dit, RISKOptimizer peut évaluer deux fois plus d’essais pendant une même période de temps. ♦ Différentes conditions d’arrêt de simulation peuvent aussi influencer les choses. Il vaut toujours mieux procéder aux premiers tests d’un modèle sous un faible nombre fixe d’itérations par simulation. Une fois établie la bonne performance du modèle et de ses contraintes, on choisira de laisser RISKOptimizer déterminer le nombre optimal d’itérations à chaque simulation en configurant l’option Arrêt sur convergence réelle ou Arrêt sur convergence projetée. L’arrêt sur convergence projetée produit des optimisations plus rapides que l’arrêt sur convergence réelle. ♦ Sous la condition d’arrêt de simulation sur convergence réelle ou projetée, une valeur de paramètre Tolérance plus élevée évite l’exécution d’itérations inutiles sans affecter significativement les statistiques de la simulation. Attention, cependant, à ne pas régler la tolérance trop haut : les résultats de la simulation en seraient instables. ♦ Évitez de retracer la fenêtre. Le tracé de graphiques et l’affichage de chiffres à l’écran prend du temps, parfois même plus de la moitié du temps nécessaire à l’optimisation ! Les diagrammes ou les graphiques présents sur la feuille de calcul ralentissent considérablement le temps de recalcul. Pour éviter le traçage Excel en cours de résolution d’un problème par RISKOptimizer, on désactivera l’option Actualiser l’affichage dans la boîte de dialogue Modèle de l’optimiseur ou on réduira la feuille Excel. L’accélération du processus sera évidente sur la barre d’état. 203 204 ♦ Dès le moment où RISKOptimizer a plus ou moins convergé sur une solution et que la meilleure solution n’est plus améliorée depuis un certain temps (1 000 derniers essais, par exemple), l’accroissement du taux de mutation peut permettre à RISKOptimizer d’élargir sa recherche plutôt que de continuer à raffiner ses solutions dans la population actuelle à l’aide, principalement, du croisement. L’utilitaire Suivi RISKOptimizer permet d’accroître ce taux de mutation, à travers la commande Paramètres de population. ♦ Les plages de cellules ajustables plus étroites réduisent la zone de recherche de RISKOptimizer et peuvent par conséquent accélérer le processus. On veillera cependant à prévoir suffisamment d’espace pour assurer l’exploration de toutes les solutions réalistes. Accélération du processus Mode d’exécution de l’optimisation RISKOptimizer Cette section décrit plus spécifiquement la manière dont les algorithmes d’optimisation de RISKOptimizer s’exécutent. REMARQUE : Il n’est pas nécessaire de maîtriser cette information pour utiliser RISKOptimizer. La technologie des algorithmes génétiques de RISKOptimizer (méthodes de résolutions recette et ordre, etc.) repose pour la plupart sur les travaux académiques réalisés ces 10 dernières années dans le domaine des algorithmes génétiques. La plupart des méthodes de résolution descendantes incluses dans RISKOptimizer et les fonctionnalités de groupes multiples de cellules ajustables, de recul, de stratégie et de probabilité sont toutefois uniques à RISKOptimizer. RISKOptimizer repose sur une approche de régime permanent. Cela veut dire qu’un seul organisme est remplacé à la fois, plutôt que toute une « génération ». Cette technique s’est avérée équivalente ou même supérieure à la méthode de remplacement générationnel. Pour déterminer le nombre équivalent de « générations » exécutées par RISKOptimizer, il suffit de diviser le nombre d’essais individuels explorés par la taille de la population. Sélection Lorsqu’un nouvel organisme doit être créé, deux parents sont choisis dans la population actuelle. Les organismes dont les cotes de pertinence sont plus élevées ont plus de chances d’être choisies comme parents. Dans RISKOptimizer, le choix des parents s’effectue selon un mécanisme de rang. Contrairement à certains systèmes d’algorithmes génétiques, où la probabilité qu’un parent soit sélectionné à la reproduction est directement proportionnelle à sa pertinence, l’approche par rang présente une courbe de probabilité de sélection plus lisse. On évite ainsi que les bons organismes ne dominent complètement l’évolution dès le début du processus. Croisement Chapitre 9 : Et aussi… Comme chaque méthode de résolution ajuste les variables de différentes manières, RISKOptimizer applique une routine de croisement différente optimisée selon le type de problème considéré. 205 La méthode recette fondamentale exécute le croisement selon une routine de croisement uniforme : plutôt que de couper la liste de variables en un scénario donné à un certain point et de traiter chacun des deux blocs ainsi formés (croisement à « un point » ou « double point »), deux groupes sont formés par sélection aléatoire d’éléments . Les croisements conventionnels à x points risquent d’influencer la recherche en raison de la position étrangère des variables, alors que la méthode de croisement uniforme préserve vraisemblablement mieux le schéma et peut produire n’importe quel schéma au départ des deux parents. La méthode de résolution ordre effectue le croisement selon un algorithme similaire à l’opérateur décrit dans le guide Handbook of Genetic Algorithms de L. Davis* : elle sélectionne aléatoirement les éléments d’un parent, trouve leur place dans l’autre parent et copie les éléments restants dans le second parent, dans le même ordre que celui dans lequel ils figuraient dans le premier. On préserve ainsi une partie des sous-ordres des parents originaux tout en en créant quelques nouveaux. * Davis, Lawrence (1991). Handbook of Genetic Algorithms. New York: Van Nostrand Reinhold. 206 Mode d’exécution de l’optimisation RISKOptimizer Mutation À l’image du croisement, les méthodes de mutation sont adaptées à chacune des méthodes de résolution. La méthode recette fondamentale exécute la mutation par considération individuelle de chaque variable. Un nombre aléatoire compris entre 0 et 1 est généré pour chacune des variables de l’organisme et, si une variable reçoit un nombre inférieur ou égal au taux de mutation (0,06, par exemple), elle est mutée. Un algorithme exclusif détermine automatiquement l’importance et la nature de la mutation. La mutation d’une variable implique son remplacement par une valeur aléatoire (comprise dans la plage min-max applicable). Pour préserver toutes les valeurs originales, la méthode de résolution ordre effectue la mutation par permutation des positions de certaines variables dans l’organisme. Le nombre de permutations augmente ou diminue proportionnellement à l’accroissement ou à la réduction du taux de mutation (de 0 à 1). Remplacement Comme RISKOptimizer applique une méthode de remplacement par rang plutôt que de remplacement générationnel, les organismes les moins performants sont toujours remplacés par le nouvel organisme créé par sélection, croisement et mutation, indépendamment de sa « cote » de pertinence. Contraintes Les contraintes fermes sont exécutées selon la technologie de « recul » exclusive de Palisade. Si un nouveau descendant est contraire à certaines contraintes imposées de l’extérieur, RISKOptimizer revient à l’un des parents et change l’enfant jusqu’à ce qu’il soit conforme à l’espace de solution admis. croisement / recul organismes (solutions) admis organisme « descendant » non admis Chapitre 9 : Et aussi… 207 208 Annexe A : Automatisation de RISKOptimizer RISKOptimizer est assorti d’un langage macro intégral qui permet l’élaboration d’applications personnalisées tirant parti de ses capacités. Les fonctions personnalisées de RISKOptimizer sont exploitables en VBA pour la configuration et l’exécution d’optimisations et l’affichage de leurs résultats. Pour plus de détails sur cette interface de programmation, voir le document d’aide Kit du développeur RISKOptimizer, accessible à travers le menu d’aide de RISKOptimizer. Annexe A : Automatisation de RISKOptimizer 209 210 Annexe B : Dépannage / Questions-Réponses Dépannage / Questions-Réponses Vous trouverez dans cette section la réponse aux questions souvent posées au sujet de RISKOptimizer. Après l’avoir consultée, si vous n’y trouvez pas la question, le problème ou la suggestion appropriée, prenez contact avec le service d’assistance Palisade à l’un des numéros indiqués au premier chapitre de ce manuel. Q : Pourquoi m’est-il difficile d’obtenir une réponse valable de RISKOptimizer ? R : Vérifiez que votre boîte de dialogue RISKOptimizer est bien configurée. La plupart des problèmes rencontrés tiennent à la définition des variables. Chaque groupe de cellules ajustables doit être exclusif : aucune cellule ou plage de cellules ne peut être traitée sous plus d’une méthode de résolution. Q : RISKOptimizer peut-il gérer des concepts ou des catégories plutôt que de simples valeurs numériques ? R : RISKOptimizer gère, indirectement, toutes les formes de données : les nombres n’en sont que les symboles. Employez une table de recherche dans Excel pour traduire vos entiers en chaînes de texte et vice-versa. RISKOptimizer (comme tous les autres programmes informatiques) ne traite, en soi, que des valeurs numériques, mais votre interface peut utiliser ces valeurs pour représenter et afficher n’importe quelles chaînes. Annexe B : Dépannage / Questions-Réponses 211 Q : Alors que je configure mes boîtes de dialogue de la même manière et que je laisse RISKOptimizer tourner pendant la même durée, j’obtiens parfois des solutions différentes. Pourquoi ? R : Comme dans la sélection naturelle du monde biologique, l’algorithme génétique de RISKOptimizer ne suit pas toujours la même voie lors de la recherche de solutions (à moins que vous n’utilisiez une racine de nombres aléatoires fixe). Ironiquement, c’est cette « imprévisibilité » qui permet à RISKOptimizer de résoudre plus de types de problèmes et, souvent, de produire de meilleures solutions que les techniques conventionnelles. Le moteur d’algorithmes génétiques de RISKOptimizer ne se limite pas à exécuter une série de commandes préprogrammées, ou à insérer des valeurs dans une formule mathématique. Il essaie efficacement de nombreux scénarios hypothétiques aléatoires simultanés, pour raffiner ensuite la recherche au moyen de nombreux opérateurs de « survie du plus apte » également porteur d’éléments aléatoires. Q : Pourquoi la meilleure solution trouvée ne change-t-elle pas ? R : Vous avez peut-être spécifié une mauvaise cellule cible dans la boîte de dialogue Modèle de RISKOptimizer. RISKOptimizer considère cette cellule vierge et la valeur ne change pas, faute de formule. Pour remédier à ce problème, ouvrez la boîte de dialogue Modèle de RISKOptimizer et sélectionnez une cellule cible appropriée, qui reflète adéquatement la qualité ou non de chaque solution possible. Une cellule cible appropriée contient une formule qui dépend (directement ou indirectement) des variables que RISKOptimizer ajuste (les cellules ajustables). Q : Certaines cellules de mon modèle de feuille de calcul contiennent les symboles « #### ». R : Si la cellule est trop petite pour afficher son contenu intégral, elle affiche plusieurs signes ####. Accroissez la taille de la cellule. 212 Dépannage / Questions-Réponses Q : RISKOptimizer fonctionne bien mais n’existe-t-il pas de moyen simple d’obtenir de meilleurs résultats ? R : Pouvez-vous assouplir les contraintes de votre problème, y compris les plages de variables ? Remplacez certaines de vos contraintes fermes par des contraintes souples, avec fonctions de pénalité (voir Ajout de contraintes au chapitre 9 : Et aussi…) Trop de restrictions à la liberté de RISKOptimizer peuvent l’empêcher d’explorer certains espaces de possibilités susceptibles de produire de meilleurs résultats. N’oubliez pas que plus RISKOptimizer explore de possibilités, plus il aura de chances de trouver la solution optimale. Pour d’autres idées sur la manière d’affiner RISKOptimizer, voir le chapitre 9 : Et aussi... Plus RISKOptimizer peut examiner de scénarios, plus il est apte à produire de bons résultats. Pour accélérer le traitement, désactivez l’option d’actualisation de l’affichage « à chaque recalcul ». Annexe B : Dépannage / Questions-Réponses 213 214 Annexe C : Ressources complémentaires Ressources complémentaires La liste présentée ci-dessous propose une sélection de documentation relative aux algorithmes génétiques et à la vie artificielle [en anglais]. L’astérisque (*) identifie les ouvrages préférés de Palisade. Livres • Bolles, R.C., & Beecher, M.D. (Eds.). (1988). Evolution and Learning. Lawrence Erlbaum. • Beer, R.D. (1990). Intelligence as Adaptive Behavior: An Experiment in Computational Neuroethology. Academic Press. • Davis, Lawrence (1987). Genetic Algorithms and Simulated Annealing. Palo Alto, CA: Morgan Kaufman. * Davis, Lawrence (1991). Handbook of Genetic Algorithms. New York: Van Nostrand Reinhold. • Darwin, Charles (1985). On The Origin of Species. London: Penguin Classics. (Publication originale en 1859) * Dawkins, Richard. (1976). The Selfish Gene. Oxford University Press. • Eldredge, N. (1989). Macroevolutionary Dynamics: Species, Niches, and Adaptive Peaks. McGraw-Hill. • Fogel, L., Owens, J., and Walsh, J. (1966). Artificial Intelligence through Simulated Evolution. New York: John Wiley and Sons. • Goldberg, David (1989). Genetic Algorithms in Search, Optimization, and Machine Learning. Reading, MA: Addison-Wesley Publishing. • Holland, J.H. (1975). Adaptation in Natural and Artificial Systems. Ann Arbor, MI: University of Michigan Press. • Koza, John (1992). Genetic Programming. Cambridge, MA: MIT Press. * Langton, C.L. (1989). Artificial Life. MIT Press. [ALife I] • Levy, Steven (1992). Artificial Life. New York: Pantheon. Annexe C : Ressources complémentaires 215 • Meyer, J.-A., & S.W. Wilson (Eds.). (1991). Proceedings of the First International Conference on Simulation of Adaptive Behavior: From Animals to Animats. MIT Press/Bradford Books. * Proceedings of the Sixth International Conference (ICGA) on Genetic Algorithms (1995). San Mateo, CA: Morgan Kaufman Publishing. (Also available; the first five ICGA proceedings). • Proceedings of the Workshop on Artificial Life (1990). Christopher G. Langton, Senior Editor. Reading, MA: Addison-Wesley Publishing. • Rawlins, Gregory (1991). Foundations of Genetic Algorithms. San Mateo, CA: Morgan Kaufman Publishing. • Richards, R.J. (1987). Darwin and the Emergence of Evolutionary Theories of Mind and Behavior. U. Chicago Press. • Williams, G.C. (1966). Adaptation and Natural Selection. Princeton U. Press. Articles * Antonoff, Michael (October, 1991). Software by Natural Selection. Popular Science, p. 70-74. • Arifovic, Jasmina (January, 1994). Genetic Algorithm Learning and the Cobweb Model. Dans Journal of Economic Dynamics & Control v18 p.3 * Begley, S (May 8, 1995). “Software au Naturel” Dans Newsweek p. 70 • Celko, Joe (April, 1993). Genetic Algorithms and Database Indexing. Dans Dr. Dobb’s Journal p.30 • Ditlea, Steve (November, 1994). Imitation of Life. Dans Upside Magazine p.48 • Gordon, Michael (June, 1991). User-based Document Clustering by Redescribing Subject Descriptions with a Genetic Algorithm. Dans Journal of the American Society for Information Science v42 p.311 • Hedberg, Sara (September, 1994). Emerging Genetic Algorithms. Dans AI Expert, p. 25-29. • Hinton, G.E., & Nowlan, S.J. (1987). How Learning Can Guide Evolution. Dans Complex Systems 1: p.495-502. * Kennedy, Scott (June, 1995). Genetic Algorithms: Digital Darwinism. Dans Hitchhicker’s Guide to Artificial Intelligence Miller Freeman Publishers • Kennedy, Scott (December, 1993). Five Ways to a Better GA. Dans AI Expert, p. 35-38 • Lane, A (June, 1995). The GA Edge in Analyzing Data. Dans AI Expert p.11 • Lee, Y.C. (Ed.). (1988). Evolution, learning, and cognition. Dans World Scientific. 216 Ressources complémentaires • Levitin, G and Rubinovitz, J (August, 1993). Genetic Algorithm for Linear and Cyclic Assignment Problem. Dans Computers & Operations Research v20 p.575 • Marler, P., & H.S. Terrace. (Eds.). (1984). The Biology of Learning. SpringerVerlag. • Mendelsohn, L. (December, 1994) Evolver Review dans Technical Analysis of Stocks and Commodities. p.33 • Maynard Smith, J. (1987). When Learning Guides Evolution. Dans Nature 329: p.761-762. • Murray, Dan (June, 1994). Tuning Neural Networks with Genetic Algorithms. Dans AI Expert p.27 • Wayner, Peter (January, 1991). Genetic Algorithms: Programming Takes a Valuable Tip from Nature. Dans Byte Magazine v16 p.361 Magazines et bulletins d’information • Advanced Technology for Developers (monthly newsletter). Jane Klimasauskas, Ed., High-Tech Communications, 103 Buckskin Court, Sewickley, PA 15143 (412) 741-7699 • AI Expert (monthly magazine). Larry O’Brien, Ed., 600 Harrison St., San Francisco, CA 94107 (415) 905-2234. *Bien que AI Expert ne soit plus publié depuis le printemps 1995, ses anciens numéros contiennent de nombreux articles intéressants. Miller-Freeman, San Francisco. • Applied Intelligent Systems (bimonthly newsletter). New Science Associates, Inc. 167 Old Post Rd., Southport, CT 06490 (203) 259-1661 • Intelligence (monthly newsletter). Edward Rosenfeld, Ed., PO Box 20008, New York, NY 10025-1510 (212) 222-1123 • PC AI Magazine (monthly magazine). Joseph Schmuller, Ed., 3310 West Bell Rd., Suite 119, Phoenix, AZ 85023 (602) 971-1869 • Release 1.0 (monthly newsletter). Esther Dyson, Ed., 375 Park Avenue, New York, NY 10152 (212) 758-3434 • Sixth Generation Systems (monthly newsletter). Derek Stubbs, Ed., PO Box 155, Vicksburg, MI, 49097 (616) 649-3592 Annexe C : Ressources complémentaires 217 Introduction à la simulation Si vous découvrez la simulation ou que vous souhaitez approfondir vos connaissances, les ouvrages et articles suivants peuvent se révéler utiles : * Baird, Bruce F. Managerial Decisions Under Uncertainty: John Wiley & Sons, Inc. 1989. * Clemen, Robert T. Making Hard Decisions: Duxbury Press, 1990. • Hertz, D.B. "Risk Analysis in Capital Investment": HBR Classic, Harvard Business Review, September/October 1979, pp. 169-182. • Hertz, D.B. and Thomas, H. Risk Analysis and Its Applications: John Wiley et Sons, New York, NY, 1983. • Megill, R.E. (Editor). Evaluating and Managing Risk: PennWell Books, Tulsa, OK, 1984. • Megill, R.E. An Introduction to Risk Analysis, 2nd Ed.: PennWell Books, Tulsa, OK, 1985. • Morgan, M. Granger and Henrion, Max, with a chapter by Mitchell Small, Uncertainty: Cambridge University Press, 1990. • Newendorp, P.D. Decision Analysis for Petroleum Exploration: Petroleum Publishing Company, Tulsa, Okla., 1975. • Raiffa, H. Decision Analysis: Addison-Wesley, Reading, Mass., 1968. 218 Ressources complémentaires Références techniques à la simulation et aux techniques Monte Carlo Si vous souhaitez approfondir vos connaissances en matière de simulation, techniques d’échantillonnage et théorie statistique, les ouvrages suivants peuvent se révéler utiles : • Iman, R. L., Conover, W.J. "A Distribution-Free Approach To Inducing Rank Correlation Among Input Variables": Commun. Statist.-Simula. Computa.(1982) 11(3), 311-334 * Law, A.M. et Kelton, W.D. Simulation Modeling and Analysis: McGrawHill, New York, NY, 1991,1982. Rubinstein, R.Y. Simulation and the Monte Carlo Method: John Wiley et Sons, New York, NY, 1981. Références techniques aux techniques d’échantillonnage Hypercube latin Si vous souhaitez obtenir des informations sur la technique relativement nouvelle de l’échantillonnage Hypercube latin, les sources suivantes peuvent se révéler utiles : • Iman, R.L., Davenport, J.M., and Zeigler, D.K. "Latin Hypercube Sampling (A Program Users Guide)": Technical Report SAND79-1473, Sandia Laboratories, Albuquerque (1980). • Iman, R.L. and Conover, W.J. "Risk Methodology for Geologic Displosal of Radioactive Waste: A Distribution – Free Approach to Inducing Correlations Among Input Variables for Simulation Studies »: Technical Report NUREG CR 0390, Sandia Laboratories, Albuquerque (1980). • McKay, M.D, Conover, W.J., and Beckman, R.J. "A Comparison of Three Methods for Selecting Values of Input Variables in the Analysis of Output from a Computer Code": Technometrics (1979) 211, 239-245. • Startzman, R. A. and Wattenbarger, R.A. "An Improved Computation Procedure for Risk Analysis Problems With Unusual Probability Functions": SPE Hydrocarbon Economics and Evaluation Symposium Proceedings, Dallas (1985). Annexe C : Ressources complémentaires 219 Exemples et études de cas faisant appel à la simulation Si vous souhaitez examiner des études de cas démontrant l’utilisation de la simulation dans le cadre de situations réelles, consultez les ouvrages suivants : Hertz, D.B. et Thomas, H. Practical Risk Analysis – An Approach Through Case Histories: John Wiley et Sons, New York, NY, 1984. * Murtha, James A. Decisions Involving Uncertainty, An @RISK Tutorial for the Petroleum Industry: James A. Murtha, Houston, Texas, 1993 • Newendorp, P.D. Decision Analysis for Petroleum Exploration: Petroleum Publishing Company, Tulsa, Okla., 1975. • Pouliquen, L.Y. Risk Analysis in Project Appraisal: World Bank Staff Occasional Papers Number Eleven. John Hopkins Press, Baltimore, MD, 1970. * Trippi, Robert R. and Truban, Efraim, Neural Networks: In Finance et Investing: Probus Publishing Co., 1993 220 Ressources complémentaires Glossaire Pour tous autres détails concernant un terme particulier, voir l’index RISKOptimizer au chapitre suivant. Algorithme Méthode mathématique de résolution pas à pas d’un certain type de problème. Tous les programmes informatiques reposent sur la combinaison de nombreux algorithmes. Algorithme génétique Procédure d’amélioration des résultats d’une opération par essai répété de plusieurs solutions possibles et reproduction et mélange des éléments des meilleures solutions. Le processus est inspiré de celui de l’évolution biologique naturelle, avec survie et reproduction du plus apte. Il ressemble d’ailleurs très fort à ce processus. Algorithme par escalade Procédure d’optimisation partant d’un scénario donné et procédant par répétition, à petits pas, dans la direction qui l’améliore le plus. Les algorithmes par escalade sont rapides et simples, mais ils présentent deux inconvénients. Le premier est qu’il n’est pas toujours facile de trouver la direction de la meilleure amélioration. Ensuite, les algorithmes escaladent généralement la colline la plus proche, ou maximum local. La technique échoue ainsi dans la recherche du maximum global d’un problème difficile. Aplatissement Mesure de la forme d’une distribution, plate ou culminante. Plus la valeur d’aplatissement est élevée, plus la distribution est culminante. Voir Asymétrie Asymétrie Mesure de la forme d’une distribution. L’asymétrie indique le degré de dissymétrie dans une distribution. Les distributions asymétriques comportent un plus grand nombre de valeurs d’un côté de la valeur culminante ou valeur probable : une queue est beaucoup plus longue que l’autre. Une asymétrie nulle (0) indique une distribution symétrique, tandis qu’une asymétrie négative révèle une distribution désaxée vers la gauche et une asymétrie positive, une dissymétrie vers la droite. Voir Aplatissement Barre d’état Barre figurant au bas de la fenêtre Excel, indicatrice de l’activité courante de RISKOptimizer. Glossaire 221 Boîte de dialogue Fenêtre d’un écran d’ordinateur dans laquelle l’utilisateur est invité à fournir l’information demandée. RISKOptimizer présente deux grandes boîtes de dialogue : Modèle et Cellules ajustables. Cellule La cellule est l’unité élémentaire de la feuille de calcul, dans laquelle les données sont stockées. Chaque feuille de calcul Excel peut compter jusqu’à 256 colonnes et 16 000 lignes, pour un total de plus de 4 millions de cellules. Cellule ajustable Cellule de tableur dont la valeur peut être ajustée par RISKOptimizer dans le but d’optimiser la valeur de la cellule cible. Une cellule ajustable est une valeur variable. Elle doit toujours contenir une valeur numérique simple, plutôt qu’une équation. Cellule cible Cellule de la feuille de calcul dont on veut minimiser ou maximiser la valeur. Cette cellule est identifiée dans la boîte de dialogue Modèle de RISKOptimizer (commande Définition du modèle ou icône Modèle de RISKOptimizer). Centile Incrément des valeurs dans un groupe de données. Les centiles divisent les données en 100 parts égales, contenant chacune un pour cent des valeurs totales. Le 60e centile, par exemple, est la valeur de l’ensemble par rapport à laquelle 60 % des valeurs sont inférieures et 40 %, supérieures. Champ Unité élémentaire destinée à l’entrée de données. Suivant son type, un champ peut recevoir du texte, des images ou des valeurs numériques. La plupart des champs des boîtes de dialogue de RISKOptimizer invitent l’utilisateur à indiquer l’emplacement de cellules de tableur ou à préciser les options de comportement de RISKOptimizer. Croisement Dans le contexte génétique, le croisement est un échange de matériel génétique équivalent entre chromatides homologues lors de la méiose. Dans RISKOptimizer, le terme croisement désigne l’équivalent informatique de ce concept, où l’échange entre les variables produit de nouvelles combinaisons de scénarios. Contraintes Les contraintes sont les conditions qui devraient (contraintes souples) ou doivent (contraintes fermes) être satisfaites pour qu’un scénario soit jugé valable. Contraintes fermes Contraintes obligatoires. Par exemple, les plages des variables d’un problème de type recette sont des contraintes fermes. Une variable de plage comprise entre 10 et 20 ne peut jamais représenter une valeur inférieure à 10 ou supérieure à 20. Voir aussi contraintes souples. 222 Contraintes souples Les contraintes qui ne doivent pas obligatoirement être respectées de manière rigoureuse peuvent être définies comme contraintes souples plutôt que fermes. On spécifie alors une fonction de pénalité dans RISKOptimizer ou on ajoute cette fonction à la fonction de pertinence de la cellule cible. Il vaut généralement mieux que les contraintes soient souples. La raison en est que : 1) RISKOptimizer résout généralement plus rapidement les problèmes sous contraintes souples et 2) un modèle sous contraintes souples trouve souvent une très bonne solution presque parfaitement conforme aux contraintes souples et donc plus intéressante qu’une solution moins bonne même si conforme aux contraintes fermes. Déterministe Terme indiquant l’absence d’incertitude dans une valeur ou variable donnée. Distribution continue Distribution de probabilités dans laquelle n’importe quelle valeur comprise entre le minimum et le maximum est possible (probabilité finie). Voir Distribution discrète Distribution cumulative Ensemble de points dont chacun représente une distribution de probabilités intégrale commençant à la valeur minimale et aboutissant à la valeur associée de la variable aléatoire. Voir Distribution cumulative de fréquences, Distribution de probabilités Distribution cumulative de fréquences Terme désignant les distributions cumulatives en entrée et de sortie de RISKOptimizer. Une distribution cumulative se construit par cumul de la fréquence (ajout progressif de hauteurs de barres) sur la plage d’une distribution de fréquence. Une distribution cumulative peut être une courbe « à pente inclinée vers le haut », dans laquelle la distribution décrit la probabilité d’une valeur inférieure ou égale à une valeur variable quelconque. Elle peut aussi être « inclinée vers le bas », lorsque la distribution décrit la probabilité d’une valeur supérieure ou égale à une valeur variable quelconque. Voir Distribution cumulative Terme correct désignant les distributions de probabilités de sortie et les histogrammes en entrée (HISTOGRM) de RISKOptimizer. Une distribution de fréquence se construit à partir des données, moyennant l’organisation des valeurs en classes et la représentation de la fréquence de réalisation dans une classe quelconque par la hauteur de la barre. Cette fréquence correspond à la probabilité. Distribution de fréquence Distribution de probabilités Glossaire Distribution de probabilités ou fonction de densité de probabilité est le terme statistique correct désignant une distribution de fréquence construite à partir d’un ensemble de valeurs infiniment grand, où la 223 taille des classes est infinitésimale. Voir Distribution de fréquence 224 Distribution discrète Distribution de probabilités dans laquelle seul est possible un nombre fini de valeurs discrètes compris entre le minimum et le maximum. Voir Distribution continue Écart type Mesure de la dispersion des valeurs d’une distribution, égale à la racine carrée de la variance. Voir Variance Échantillon aléatoire Valeur choisie dans une distribution de probabilités décrivant une variable aléatoire. Cet échantillon est prélevé au hasard selon un « algorithme » d’échantillonnage. La distribution de fréquence construite à partir d’un grand nombre d’échantillons aléatoires prélevés par un tel algorithme se rapproche étroitement de la distribution de probabilités pour laquelle l’algorithme a été conçu. Essais Processus par lequel RISKOptimizer génère une valeur pour chaque variable du problème, puis recalcule le scénario en vue de son évaluation. Fonctions Dans Excel, une fonction est une formule prédéfinie qui prend une valeur, effectue une opération et renvoie une valeur. Excel propose des centaines de formules intégrées (« SOMME », par exemple), pour une économie de temps et d’espace. Par exemple, plutôt que de taper A1+ A2+ A3+ A4+ A5+ A6, on tapera SOMME(A1:A6) et on obtiendra, rapidement, le même résultat. Fonction de pénalité Équation de feuille de calcul que RISKOptimizer peut utiliser pour pénaliser les scénarios non conformes à certains critères. Les fonctions de pénalité servent à minimiser les effets secondaires des scénarios ou à atteindre de multiples objectifs. Contrairement à une contrainte ferme, une fonction de pénalité admet l’exploration de solutions non conformes : elle « pénalise » simplement ces solutions pour que l’évolution de la population s’en écarte. Les pénalités booléennes sont de type « oui » ou « non » : elles imposent la même pénalité à toutes les solutions non conformes. Les échelles de pénalité sont plus souples, en ce que leur action est proportionnelle à l’importance de la violation. Fonction de pertinence Formule de calcul de la qualité ou non d’une solution proposée à un problème donné. L’expression désigne souvent le champ de l’algorithme génétique par analogie à la sélection biologique. La conception exacte d’une fonction de pertinence est essentielle à l’utilisation d’un algorithme génétique pour la résolution d’un problème. Un résultat de simulation de cette fonction de pertinence devient le but ou la valeur cible à optimiser. Glossaire 225 Génération Dans le domaine des algorithmes génétiques, chaque population totalement nouvelle de solutions « descendantes » est une nouvelle « génération ». Certaines routines d’algorithme génétique accouplent tous les membres d’une population en même temps, pour créer une toute nouvelle « génération » d’organismes descendants venant remplacer la population précédente. RISKOptimizer évalue et remplace plutôt un organisme à la fois (par rang). Le terme « génération » n’est donc pas utilisé dans sa documentation. L’approche de RISKOptimizer, dite de régime permanent, est tout aussi efficace que le remplacement générationnel. Génotype En biologie, constitution génétique d’un individu. Le terme fait généralement référence à la somme totale des gènes de l’individu. Dans l’étude des AG, le génotype sert à décrire le « chromosome » artificiel évalué comme solution possible au problème. Groupe de cellules ajustables Chaque ensemble de variables, assorti de la manière dont il doit être traité, constitue un groupe de cellules ajustables. RISKOptimizer liste tous les groupes de cellules ajustables dans le volet réservé aux variables de la boîte de dialogue Modèle. Cette architecture permet l’élaboration et la description de problèmes complexes sous la forme de groupes divers de cellules ajustables. Hypercube latin Technique d’échantillonnage stratifié relativement neuve utilisée dans la modélisation par simulation. Contrairement aux techniques de type Monte Carlo, les techniques d’échantillonnage stratifié tendent à forcer la convergence d’une distribution échantillonnée en moins d’échantillons. Voir Monte Carlo Itération Désigne un recalcul du modèle de l’utilisateur durant une simulation. Une simulation comprend de nombreux recalculs ou itérations. À chaque itération, toutes les variables incertaines sont échantillonnées une fois selon leur distribution de probabilités, et le modèle est recalculé sur la base des valeurs échantillonnées. Aussi connu sous le terme d’essai de simulation. Maximum global Plus grande valeur possible d’une fonction donnée. Les fonctions ou les modèles complexes peuvent avoir de nombreux maxima locaux mais un seul maximum global. Plus grande valeur possible d’une fonction donnée dans une plage donnée de valeurs. Un maximum local existe à un ensemble de valeurs de variables d’une fonction si une légère variation de la valeur d’une variable ou de toutes produit un moindre résultat de la fonction. (Comparer avec maximum global). Maximum local 226 Méthode de résolution RISKOptimizer propose six méthodes de résolution, reposant chacune sur un algorithme adapté au type de problème considéré. Pour chaque ensemble de variables sélectionnées dans un problème, l’utilisateur doit choisir la méthode de résolution à utiliser. Les six méthodes proposées sont les suivantes : groupement, ordre, recette, budget, projet et programme. Mini-solveur jargon Programme logiciel peu élaboré de recherche des entrées qui produisent une sortie désirée par une combinaison de techniques de programmation linéaire ou d’algorithmes élémentaires d’escalade. Les mini-solveurs procèdent souvent « au pifomètre », puis raffinent leur réponse pour arriver à une solution « locale » plutôt que « globale ». Modèle Aux fins de ce manuel, un modèle est une représentation numérique, dans Excel, d’une situation réelle. Moments élevés Les moments élevés sont des statistiques de distribution de probabilités. Le terme désigne généralement l’asymétrie et l’aplatissement, soit le troisième et le quatrième moment, respectivement. Les premier et deuxième moments sont, respectivement, la moyenne et l’écart type. Voir Asymétrie, Aplatissement, Moyenne, Écart type Désigne la méthode traditionnelle d’échantillonnage de variables aléatoires dans la modélisation par simulation. Les échantillons sont sélectionnés au hasard sur la plage de la distribution, nécessitant dès lors de nombreux échantillons pour la convergence des distributions hautement asymétriques ou à queue étalée. Voir Hypercube latin Monte Carlo Moyenne La moyenne d’un ensemble de valeurs est la somme de toutes les valeurs de l’ensemble, divisée par le nombre total des valeurs qu’il contient. Synonyme : valeur probable Mutation Dans le monde biologique, la mutation génétique est la source de variation nécessaire à une sélection naturelle efficace. De même, un algorithme génétique recourt aux techniques de mutation pour maintenir la diversité d’une population de scénarios possibles. Glossaire 227 Optimisation Processus de recherche de valeurs de variables en vue de la maximisation (valeur la plus grande possible) ou de la minimisation (valeur la plus petite possible) de la sortie. L’optimisation par résolution d’équation est simple pour les fonctions à variation lisse et variables peu nombreuses. Elle est cependant extrêmement difficile dans le cas de nombreux problèmes réels. Ces problèmes complexes exigent généralement un mécanisme de recherche. RISKOptimizer utilise un mécanisme de recherche par optimisation basé sur un algorithme génétique. Organisme Bloc de mémoire d’une population qui stocke un ensemble de valeurs de variables (scénario). Phénotypes En biologie, trait observable d’un individu, issu de l’interaction des gènes et de l’interaction entre les gènes et le milieu. Dans l’étude des AG, le phénotyme sert à décrire les variables ou « gènes » individuels dont se compose une solution complète ou un « chromosome ». Voir Génotype Plages Dans RISKOptimizer : L’utilisateur définit la plage, soit la valeur la plus et la moins élevée que RISKOptimizer peut essayer lors de l’ajustement d’une certaine variable. Bien qu’une plage ne soit pas nécessaire à la résolution d’un problème, sa définition limite les possibilités et concentre donc la recherche effectuée par RISKOptimizer. Dans Excel : Bloc de cellules contiguës d’une feuille de calcul, défini par la cellule supérieure gauche et la cellule inférieure droite (A5:C9 décrit par exemple une plage de 15 cellules). Population Ensemble complet de scénarios que RISKOptimizer garde en mémoire pour la génération de nouveaux scénarios. RISKOptimizer conserve une population de solutions possibles pour chaque groupe de cellules ajustables d’un système. Probabilité Grandeur par laquelle on mesure la vraisemblance de réalisation d’une valeur ou d’un événement. Elle peut être mesurée à partir de données de simulation, sous forme de fréquence, par le calcul du nombre de réalisations de la valeur ou de l’événement divisé par le nombre total de réalisations. Ce calcul renvoie une valeur comprise entre 0 et 1 qui, multipliée par 100, est alors convertie en pourcentage. Voir Distribution de fréquence, Distribution de probabilités 228 Racine / générateur de nombres aléatoires Scénario Algorithme régissant le choix des nombres aléatoires, généralement compris entre 0 et 1. Ces nombres aléatoires correspondent aux échantillons prélevés dans une distribution uniforme à valeur minimum de 0 et maximum de 1. Ils constituent la base d’autres routines les convertissant en échantillons prélevés des types de distribution spécifiques. Voir Échantillon aléatoire, Racine Ensemble de valeurs des variables d’un modèle de feuille de calcul. Chaque scénario représente le plus souvent une solution possible. Simulation Technique selon laquelle un modèle, tel qu’une feuille de calcul Excel, est calculé à de nombreuses reprises sur la base de différentes valeurs en entrée, dans le but d’obtenir une représentation complète de tous les scénarios susceptibles de se produire dans une situation incertaine. Solution Un système contient de nombreuses variables en entrée qui produisent une sortie. Dans RISKOptimizer, une « solution » représente plus souvent l’une des combinaisons possibles de variables plutôt que la meilleure combinaison. Stochastique Synonyme de risqué, incertain. Voir Risque, Déterministe Survie du plus apte Concept selon lequel les organismes mieux adaptés à leur milieu sont plus susceptibles de vivre suffisamment longtemps pour se reproduire et répandre leurs gènes dans la génération suivante d’une population. Variable dépendante Variable tributaire, dans une certaine mesure, des valeurs d’autres variables du modèle considéré. La valeur d’une variable dépendante incertaine peut être calculée dans une équation en tant que fonction d’autres variables incertaines du modèle. Elle peut aussi être tirée d’une distribution en fonction du nombre aléatoire corrélé à un nombre aléatoire utilisé pour prélever un échantillon de variable indépendante. Voir Variable indépendante Variable indépendante Variable non tributaire des valeurs d’aucune autre variable du modèle considéré. La valeur d’une variable indépendante incertaine est déterminée par le prélèvement d’un échantillon dans la distribution de probabilités appropriée. L’échantillon est prélevé indépendamment de tout autre échantillon aléatoire prélevé pour les autres variables du modèle. Voir Variable dépendante Valeur probable Glossaire La valeur ou le mode probable représente la valeur le plus fréquemment rencontrée dans un ensemble de valeurs. Dans un histogramme et une distribution de résultats, il s’agit de la valeur centrale de la classe ou barre indiquant la probabilité la plus élevée. 229 Index A Ajouter – Ajout de contraintes algorithme, définition Apprendre RISKOptimizer arrêt d’optimisation Arrêt sur convergence projetée Arrêt sur convergence réelle 111 149 14 52 124 123 B barre d’état bases de données boîte de dialogue Modèle Boîte de dialogue Modèle But d’optimisation 129, 135, 217 157 91 43 44, 92 C capital génétique cellule cible cellules ajustables Centile Cible Commande Paramètres d’application Commande Solveur de contraintes conditions arrêt de simulation conditions d’arrêt contrainte d’itération contrainte de simulation contrainte simulation contraintes mode d’exécution contraintes fermes contraintes souples croisement mode d’exécution 230 171 30, 44, 92, 218 44, 95 28, 93, 218 93 131 132 54 122 31, 32, 54, 112, 123, 192 32, 54, 112, 113, 123, 124, 192 31 203 48, 112 48, 112, 114, 192 201 D Désinstallation de RISKOptimizer didacticiel distributions de probabilités 11 14 18, 29 E entières escalade exemple utilisation Solveur exemple d’allocation budgétaire exemple d’alphabétisation exemple d’équilibrage de portefeuille exemple d’équilibre chimique exemple d’ordonnancement multigamme exemple de composition de portefeuille exemple de planificateur de classes exemple de sélection publicitaire exemple de voyageur de commerce 96 151 156 154 67 87 79 69 77 81 71 75 85 F fenêtre Progression Fichier Lisezmoi fonction de pertinence fonctions de pénalité description exemples utilisation 129 14 37, 92 193 196 197 G générations pourquoi pas ? graphiques 201 57, 136 J journal des données de simulation 55 M méthode de remplacement Index 203 231 méthode de résolution budget description exemple méthode de résolution groupement description exemple méthode de résolution ordre exemple méthode de résolution programme description exemple méthode de résolution recette description exemple Méthode Simplexe méthodes de résolution budget exemple en tant que contraintes groupement exemple ordre exemple programme exemple recette exemple minutes modèles continus modéliser l’incertitude 102 67, 75, 81 100 79 77, 85 104 71 99 69, 87 155 102 67, 75, 81 190 100 79 77, 85 104 71 99 69, 87 122 154 4 O opérateur génétique Opérateurs opérateurs génétiques optimisation définition méthodes options Optimisation options Simulation 108 108, 109 109 19 149 122 123 P Palisade Corporation paysage de solutions 232 9 151 problèmes combinatoires linéaires problèmes à buts multiples processus d’optimisation par simulation 159 155 198 28 R recul RISKOptimizer Didacticiel qu’est-ce que…? routine de sélection routines GRG 203 14 17 201 154 S solution globale vs solution locale solution locale vs solution globale Solveur Solveur Excel spécifications techniques Suivi onglet Diversité onglet Journal onglet Options d’arrêt onglet Population onglet Progression onglet Synthèse Suivi RISKOptimizer 154 154 154 154 201 57, 135 142 139 143 141 136 138 57, 135 T taux de croisement fonction taux de mutation fonction mode d’exécution 138, 170 106 138 107 203 U Utiliser la même racine de nombres aléatoires à chaque simulation Index 118 233 V Valeurs vitesse, amélioration 234 96 199