lundi, juin 26, 2006

Bonnes vacances à tous ...

Un petit message pour terminer l'année scolaire ... avant de me "retirer" pour quelques mois pendant que j'écris mon prochain livre. Ce mail fait suite à une présentation faite au e-Lab, dont j'ai extrait les deux slides jointes.


La première slide montre le type de résultats que l'on obtient sur l'analyse simple des leviers stratégiques. Les résultats sont en k€, correspondant à la valeur produite par l'exécution des processus. Je reviendrai sur le type de données produite par la simulation lorsque j'aurais des résultats plus stables.







Ce qu'on peut retenir de ces premiers résultats:
  1. les leviers stratégiques ont un effet significatif sur la transmission d'information qui se voit sur les résultats économiques,
  2. l'optimisation est pertinente: il existe des optimum locaux
  3. Il reste du travail à faire pour produire des résultats convaincant d'un point de vue statistique !

Sur ce dernier point, j'évalue à un facteur mille l'augmentation de temps de calcul pour produire des expérimentations vraiment satisfaisante (cf. le message précédent)

En revanche, l'expérimentation avec les scénarios (ce qui permet de faire varier la charge de travail fournie à l'entreprise) produit des résultats logiques (plus il y a de charge, plus on crée de valeur), ce qui est une indication que le simulation est cohérente.



Il a fallu de gros efforts pour arriver là ! Un modèle un peu trop naïf d'ordonnancement produit facilement des résultats contre-intuitifs. En fait, la raison principale de la complexification du modèle SIFOA est la volonté d'obtenir un fonctionnement robuste de l'entreprise, qui repose sur une bonne réactivité et optimisation de l'allocation des ressources (agents & canaux).


Pour terminer ce message, je me suis amusé à simuler "un monde sans e-mail".
Ce type d’approche permet de donner une valeur (monétaire) au service de e-mail dans l’entreprise !
Dans cette première simulation, j'ai observé ce qui se passe si le canal email est remplacé par le courrier interne (essentiellement une augmentation de la latence):
  • on observe 10% de baisse du revenu, ce qui est significatif (2045 vs 2277)
  • Le canal ASYNC passe de 17% à 12%
  • Augmentation répartie des autres canaux

Ce type de simulation est très encourageant. Nous avons une façon de trancher le débat entre les deux positions excessives que l'on entend souvent ("Le mail ne sert à rien d'un point de vue économique" ou "sans email aujourd'hui, l'entreprise s'arrête"). Notons que ce peut être les mêmes qui tiennent les deux sortes de propos, lorsqu'il faut payer la maintenance des serveurs dans le premier cas et lorsqu'il y a un virus dans le seconde cas :) La prochaine étape sera de simuler l'introduction du canal "instant messenging".

A suivre donc, avec une reprise à la fin de l'année.

vendredi, juin 02, 2006

SIFOA 2006 : un point d’avancement

Le dernier message ayant plongé dans vision détaillée et technique de sujets pointus, je vais essayer de reprendre de la hauteur et de faire le point. Pour ce faire, j’ai écrit une synthèse de ce qui a été fait et je l’ai installée sur mon site . Cela permet une lecture plus facile que le « dépilement » des messages de ce blog. J’ai aussi installé un lien permanent sur le blog (« Synthèse »), puisque le fait d’écrire une synthèse m’a permis de corriger quelques erreurs et de préciser certains points (c’est donc un document utile même pour ceux qui ont suivi depuis le début).

SIFOA 2006 : de quoi s’agit-t-il ?

Le blog a été ouvert en tant que « blog-note » pour décrire, expliquer et discuter d’un projet de simulation et d’étude : SIFOA. Ce projet est né il y a trois ans, en 2004, et il est ambitieux à plusieurs titres. D’une part, je ne suis pas un expert des sujets tels que la théorie de la communication ou l’organisation des entreprises. J’ai commencé d’entreprendre mon éducation en 2004, et je suis preneur de tout commentaire, suggestion et proposition pour enrichir ma culture. D’autre part, il s’agit d’un sujet « risqué », puisque rien de garantit l’existence d’un modèle tractable et pertinent. Autrement dit, rien ne permet de penser que les couches successives de simplification nécessaires pour produire un modèle qui soit, d’une part, implémentable sur un ordinateur, et d’autre part analysable suivant un nombre raisonablement limité de dimensions, ne finissent pas par décorréler les résultats de la simulation de toute réalité. Pour finir, il s’agit d’un effort sur une très longue durée, probablement une dizaine d’année.

Le premier volet, SIFOA 2006, consiste à créer un outil de simulation. La première utilisation de l’outil est purement expérimentale, pour se forger une conviction. L’objectif des expériences qui sont réalisées en 2006 est simplement de stimuler la réflexion et de lancer des débats. En particulier, je caresse l’espoir que certaines des propriétés exhibées par le simulateur puisse être expliquée de façon directe, avec des raisonnement simple et sans avoir recours à l’artifice de la simulation.

L’étape suivante, consistant à développer des méthodes d’analyse pour exploiter et donner du sens aux résultats de ces simulations, sera l’objet du plan de travail 2007 :
  • impact des leviers les un sur les autres
  • espace de phase des environment par rapport aux leviers


Comme cela a été dit maintes fois, en particulier dans les messages sur la simulation par « Jeux & Apprentissage », c’est un sujet complexe, qui demande du temps.


Quelques nouvelles du front

Le simulateur représente approximativement 2000 lignes de CLAIRE, soit approximativement 8000 lignes de C++. Avec le recul des deux dernier mois, je suis surpris par la difficulté rencontrée à réaliser un simulateur stable et réaliste.

  1. réaliste : comme les messages précédents l’atteste, ce simulateur est plus complexe que prévu. La structure du programme (simulation à événement discrets, génération de processus, apprentissage) s’appuie sur des expériences précédentes. En revanche, la modélisation des tâches et les méthodes d’ordonnancement sont plus complexes et subtiles que ce à quoi je m’attendais.
  2. stable (et efficace) : pour traiter plusieurs milliards d’événements, il faut une programmation « un peu sérieuse » avec des structures de données optimisée et un soin (classique) porté à la gestion de la mémoire. La mise au point m’a pris quelques soirées et dimanches pour tracer et débugger, ce qui m’a fait rajeunir :)

A l’heure où j’écris ces lignes, le programme de simulation tourne depuis plus d’une semaine. Chaque fichier script contient entre 10 et 20 expériences à réaliser, et utilise le PC (moderne, bi-pro et 3.2 Ghz) en continu pendant plusieurs jours. En effet :
une itération de simulation consiste à simuler une année d’activité et à ordonnancer 25 000 tâches. Après optimisation, cela prend de 1 à 2 secondes.
une itération d’apprentissage nécessite, pour l’instant, 1000 simulations, soit 25 millions de tâches à ordonnancer
une expérience repose, pour l’instant, sur 10 instantiations Monte-Carlo (chiffre qui devra être porté à 100 par la suite). Faite le calcul, il faut plusieurs heures …

On voit qu’il s’agit d’expériences qui sont très consommatrices en temps de calcul.
Les premieres expériences servent à évaluer les influences des leviers et des scénarios. Il s’agit donc simplement de faire varier les paramètres et de remarquer les impacts (significatifs d’un point de vue statistique) de ces changements. Les statistiques produites par chaque expérience fournissent :

  • le revenu créé, sa répartition par processus et l’efficacité associée (quel pourcentage de la valeur théorique maximale a été obtenu)
  • L’utilisation des agents (U et H)
  • L’utilisation des canaux

Je posterai un message de résultats en Juin, et après je disparaitrai jusqu’en Octobre pour rédiger mon prochain bouquin.