Manuel du propriétaire | PALISADE RISKOPTIMIZER 5.5 Manuel utilisateur

Ajouter à Mes manuels
240 Des pages
Manuel du propriétaire | PALISADE RISKOPTIMIZER 5.5 Manuel utilisateur | Fixfr
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)
[email protected] (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 : [email protected]
•
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 : [email protected]
•
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 : [email protected]
•
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

Manuels associés