Combien de temps avez-vous ?

QUESTION-REPONSES

Illustrations

ACTUALITÉS

EXPERTISES

QUESTION

You have another question? Please challenge our team and we may add it to the FAQs

Your email
*

Your full name
*

Your question
*

* Required fields

how much time do you have?

VOUS AVEZ +10 MIN ?

PRENONS UN CAFÉ ENSEMBLE !

CONTACTEZ NOUS ICI

À quoi servent les environnements d'addactis® Modeling ?

Avec les environnements, les utilisateurs peuvent remplacer le chemin des fichiers d’entrée et de sortie d’addactis® Modeling par un alias afin de modifier dynamiquement les fichiers à utiliser, par exemple d’une fermeture à une autre.

Est-il possible d'automatiser les exécutions de modèles ?

Les exécutions de modèles peuvent être lancées manuellement à partir de l’interface d’addactis® Modeling, ou automatiquement depuis la ligne de commande, ou d’un outil externe. Grâce aux environnements et à nos différentes technologies d’appel, il est très facile de gérer l’alimentation des données et le retour des résultats.

Comment puis-je extraire les résultats d' addactis® Modeling pour en faire rapport au conseil ?

addactis® Modeling est déployé avec un Add-in Excel qui permet d’exécuter des modèles et de lire les résultats directement dans les feuilles de calcul. Ainsi, les utilisateurs peuvent définir leurs propres feuilles de calcul de reporting dans Microsoft Excel qui seront toujours à jour grâce au lien direct entre addactis® Modeling et Microsoft Excel.

Quelles sont les performances d'addactis® Modeling ?

Les temps d’exécution dépendent fortement du modèle, ils peuvent être de quelques secondes pour les modèles déterministes ou de quelques heures pour les plus grands modèles stochastiques. Notre expérience montre que nos performances de productions sont généralement bien meilleures que celles de nos concurrents sur le même périmètre. Ceci est dû au moteur de calcul très puissant, mais aussi aux fonctionnalités du profileur qui permettent de suivre facilement la formule dans le but d’optimiser et de réduire significativement le temps de fonctionnement.

Comment puis-je faciliter le développement et la maintenance des modèles ?

Durant la phase de mise en œuvre du modèle, il est essentiel de le structurer afin de le rendre facile à comprendre et facile à entretenir. Notre plateforme de modélisation addactis® Modeling offre plusieurs fonctionnalités pour aider les concepteurs de modèles dans ce contexte; par exemple, des fonctions utilisateurs, une bibliothèque de fonctions permettant de partager une fonction/algorithme entre plusieurs formules, plusieurs modèles ou instances de modèle pour reproduire des pièces de modèle et structurer de grands modèles avec des briques de flux de données identifiés.

Mon modèle renvoie des erreurs lors de la compilation, comment puis-je les corriger ?

Le journal d’exécution de la compilation comporte plusieurs onglets permettant de classer les différents problèmes identifiés lors de celle-ci. Chaque ligne détaille la formule et la ligne associée, afin que l’utilisateur puisse rapidement ouvrir la formule correspondante (un double clic dans le journal de compilation ouvre la formule) et la corriger. Notez que dans l’éditeur de formule, un bouton est disponible pour compiler la formule sans compiler le modèle complet. Il est très utile de vérifier la formule dès que vous l’avez implémentée.

Mon modèle renvoie des erreurs en cours d'exécution, comment puis-je les corriger ?

Le journal d’exécution détaille les erreurs rencontrées et la formule correspondante. L’utilisateur peut alors ouvrir la formule pour la corriger et, si nécessaire, ajouter un point d’arrêt puis relancer l’exécution en mode débogage. Le débogueur est un outil merveilleux permettant de comprendre ce qui se passe durant l’exécution.

Est-il possible de travailler en collaboration avec addactis® Modeling ?

Oui, addactis® Modeling intègre une fonction de fusion qui permet à l’utilisateur de comparer automatiquement sa version d’un modèle avec une seconde, d’identifier les différences et, pour chacune d’entres elles, de choisir d’appliquer le changement dans son modèle ou non. De plus, avec les instances de modèle, les utilisateurs peuvent facilement diviser l’implémentation du modèle en différentes briques qui peuvent ensuite être développées indépendamment.

Expertises

Focus sur les ALGORITHMES

Pourriez-vous définir ce qu'est un algorithme ? Quelles sont les bonnes pratiques en matière d'algorithmique ?

Un algorithme peur être considéré comme une série d’instructions dans le but d’obtenir un ou plusieurs résultats. Par exemple, si je vous demande de trouver le plus grand diviseur commun (« gcd ») de 72 et 63, vous allez tester 2, puis 3, puis 4 et ainsi de suite pour finalement conclure qu’il s’agit du chiffre 9. Vous avez inconsciemment appliqué l’algorithme suivant : « Bien que je sois assez petit pour être le gcd : • Si oui, je le garde dans un coin de ma mémoire, si non, je passe au suivant. Une fois chaque numéro suffisamment petit vérifié, le numéro dans le coin de ma mémoire est le bon gcd. » Je prendrai globalement quelques conseils généraux de l’INRIA disponibles à la fin de la page suivante :  https://caml.inria.fr/resources/doc/guides/guidelines.en.html • N’hésitez pas à commenter votre code.

Une bonne documentation pourrait vous faire gagner du temps lorsque vous revenez sur un code que vous avez écrit plusieurs fois. Commenter votre code l’expliquera aux autres utilisateurs pendant qu’ils le lisent. Vous pourriez aussi avoir à le relire plus tard pour plusieurs raisons telles que :

  • Pour l’améliorer ;
  • Pour le valider ;
  • Expliquez à un tiers comment fonctionne l’algorithme ;
  • Pour le réutiliser.

Pour toutes ces raisons, le code que vous écrivez doit être aussi clair que possible, et si des doutes subsistent sur son intelligibilité, n’hésitez pas à commenter les lignes qui semblent peu claires. Un point similaire est de nommer toutes les variables que vous utilisez aussi clairement que possible (par exemple, dans notre exemple précédent, une variable nommée  » gcd_candidate  » sera plus claire que  » gcdc « ). • Relisez votre programme pour vérifier sa lisibilité. C’est le moment idéal : Renommez les variables pour rendre le code plus clair, commentez les lignes floues, vérifiez que le code ne peut pas être simplifié.

Alessandro Londero, consultant ADDACTIS Worldwide

Expertises

Focus sur les ALGORITHMES

Un algorithme doit-il toujours être ajusté pour être efficace ? Pouvez-vous nous donner un exemple ?

Aujourd’hui, la pluspart des algorithmes sont déjà efficaces mais tous les nouveaux pourraient être optimisés. Par exemple, prenons la recherche d’un mot dans un dictionnaire où les mots ne sont pas triés (un TABLE non-trié), nous devrons regarder chacun des mots jusqu’à ce que :
• Nous trouvions le mot cherché ;
• Nous auront parcouru tout le dictionnaire.
Cependant, il est clair que le programme de traitement de texte ne pourrait pas fonctionner comme cela !

Une bonne optimisation pour EUX ?? est d’utiliser un dictionnaire « tri ». Il s’agit de mettre le mot dans un ordre prédéfini (par ordre alphabétique par exemple).

Maintenant, il suffit de prendre le mot au milieu du dictionnaire et de le comparer au mot recherché, nous aurons alors trois options :
• Le mot courant est le mot recherché, nous avons terminé et le mot est présent ;
• Le mot courant est avant le mot cherché, nous enlevons tous les mots suivant le mot courant ;
• Le mot courant est après le mot cherché, nous enlevons tous les mots précédent le mot courant ;
Nous faisons cette étape jusqu’à ce que nous trouvions le mot que nous avons cherché, ou jusqu’à ce que nous ayons exclu le dictionnaire entier.
L’avantage de cet algorithme est que si nous n’avons pas trouvé le mot, nous supprimons la moitié du dictionnaire restant à chaque étape.
Mais trier le dictionnaire pour rechercher un seul mot prendra plus de temps que de chercher directement dans le dictionnaire non trié.
Le même genre de considération pourrait être fait pour la mémoire utilisée par un algorithme.
Généralement, l’optimisation d’un algorithme est toujours la recherche d’un équilibre fragile entre la consommation de mémoire et un certain nombre d’opérations simples à exécuter. L’un et l’autre étant un facteur qui peut améliorer ou réduire la performance d’un algorithme.
Alessandro Londero, consultant ADDACTIS Worldwide

Expertises

Focus sur les ALGORITHMES

Pourquoi l'efficacité d'un algorithme est-elle cruciale dans le contexte du Big Data ?

La Big Data est la gestion et l’analyse d’une grande quantité de données. L’efficacité de l’algorithme est ici cruciale, de sorte que le temps utilisé pour traiter la quantité de données doit être minimal.
Si une décision doit être prise rapidement, l’algorithme doit avoir été exécuté assez rapidement pour donner le résultat avant qu’il ne soit trop tard. Par exemple, la bourse est maintenant cotée en direct, donc si l’algorithme arrive une dixième de seconde trop tard, la cotation pourrait avoir changé et l’ordre (d’achat/de vente) donné par l’algorithme pourrait avoir d’importantes conséquences financières.
En conclusion, nous ne serons pas en mesure d’améliorer certains algorithmes de traitement puisque, par nature, ils doivent parcourir l’ensemble des données. Toutefois, ce que nous pouvons faire, d’ores et déjà, est d’améliorer la capacité de traitement de ces ordinateurs.
Alessandro Londero, consultant ADDACTIS Worldwide

Français