Aller au contenu
Accueil » Actualités » Clariprint : de l’optimisation d’un processus métier vers le e-commerce

Clariprint : de l’optimisation d’un processus métier vers le e-commerce

Contexte économique et technologique des travaux :

La saturation des marchés a des conséquences structurelles sur les tissus industriels.

La multiplicité des offres sanctionne souvent par la prime à la nouveauté, induisant des cycles produits de plus en plus court. Cette pression du renouvellement rapide combinée aux pressions des marchés financiers, ceux-là sanctionnant essentiellement le rendement du capital, conduisent à un éclatement des chaînes de production lourdes et dédiées. Ainsi les constructeurs historiques de produits finis, mutent en concepteur et assembleur de fonctions sous-traitées. Dès lors, la spécialisation n’est plus organisée en classe de produit, mais en classe de compétence fonctionnelle ou technologique.

L’enjeu économique devient alors l’optimisation globale des flux dans un archipel d’îlots de sous-traitance flexibles. Ceci afin de satisfaire le cahier des charges produit et de minimiser le coût de production global pour un nombre d’exemplaire donné dans un délai donné.

Dans une telle configuration, les degrés de liberté sont très nombreux, induisant une grande combinatoire.

D’autre part les typologies d’interaction sont telles que les méthodes de résolutions linéaires ne sont pas adaptées à une approche globale du problème.

Historiquement, des secteurs comme la confection vestimentaire ou l’imprimerie, répondent empiriquement à cette problématique d’optimisation. En effet Les industriels de ces secteurs, organisés en ateliers flexibles doivent s’adapter aux variations des caractéristiques, des matières premières, des variations de forme, de besoin en finition, de quantité demandée etc…

Depuis quelques années, la recherche opérationnelle, discipline universitaire encore discrète, propose des outils mathématiques et méthodologiques pour résoudre des problèmes d’optimisation. Si la programmation linéaire, adaptée aux problématiques linéaires, a trouvé des applications dans l’industrie, la PPC (programmation par contrainte), les techniques d’auto-apprentissage ou autres algorithmes génétiques, algorithmes hybrides (combinaison de plusieurs techniques) se font encore très rare dans le paysage.

L’objet de ce projet est d’essayer de tirer profit de ces dernières technologies, dans la réalisation d’un moteur d’optimisation de gamme opérationnelle. Le secteur industriel d’application privilégié est le secteur de la communication imprimée.

Objectifs visés et contraintes :

1 Objectif

L’établissement de devis de produits imprimés impose l’élaboration d’une gamme de fabrication adaptée à chaque atelier flexible que représente un atelier d’imprimerie. Le choix du processus de fabrication est extrêmement sensible aux propriétés du produit à fabriquer ainsi qu’aux matières premières disponibles. Pour réduire le temps d’élaboration des devis et assurer une compétitivité optimale, il a été envisagé de créer un système entièrement automatique d’élaboration de gamme de fabrication optimisée dans le sens du prix.

2 Contraintes

Le système automatique doit répondre aux contraintes suivantes :

a. Interrogation simple

Afin d’éviter le recours systématique à un expert métier, le système doit pouvoir être interrogé par un utilisateur ayant des connaissances minimales de la problématique. Les délais de réponse sont donc réduits et le coût d’élaboration du devis est minimisé. L’interface utilisateur doit donc être relativement simple et didactique.

b. Multi prestataires

Le système doit pouvoir générer des devis sur un ensemble de prestataire à partir d’une même demande. L’interrogation systématique de plusieurs prestataires permet d’optimiser l’achat tout en réduisant le temps d’interrogation des prestataires ainsi que la récolte des retours.

c. Paramétrage des données techniques

Les données techniques et tarifaires des différents prestataires doivent pouvoir être paramétrées directement par un expert métier. Le système doit proposer une interface métier flexible adaptable aux différents modes de tarifications utilisés par les prestataires.

d. Déploiement aisé

L’accessibilité de l’application doit être maximale, afin de réduire les coûts de déploiement, de simplifier la prise en main, et de permettre aux prestataires de mettre à jour à distance leurs données.

e. Sûreté des résultats

Les réponses du système étant fournis à des utilisateurs n’ayant pas de connaissance métier, celui-ci doit fournir des réponses totalement fiables.

g. délais de réponse court.

Le système doit pouvoir fournir une réponse en quelques dizaine de secondes afin d’être raisonnablement utilisé en environnement client/serveur.

h. adaptabilité

Le système doit pouvoir s’adapter à de nouvelles techniques de fabrication ainsi qu’à de nouvelles offres de prestation.

l. Combinaison de prestataire

Il doit être possible de concevoir des gammes de fabrication utilisant des ressources de prestataires différents. Dans certain cas, il est possible de baisser les coûts de production en répartissant la fabrication sur différents ateliers.

3 Performances à atteindre :

Les éléments de performance clefs sont :

  • Qualité de l’optimisation : l’écart de prix entre le résultat proposé par le système et la gamme de fabrication idéale ne doit pas être de plus de 5%
  • Temps de réponse : le temps de réponse, pour la plupart des interrogations doit être contenu dans la minute.
  • Robustesse : le système ne doit jamais proposer une gamme impossible.

État de l’art

1 Systèmes experts d’imprimerie :

Le problème de création des gammes de fabrication optimisée étant un problème majeur en imprimerie, il existe une offre essayant de répondre à la problématique.

On peut distinguer deux types d’offres :

  • les outils intégrés aux systèmes de gestion de production (ERP) et de gestion commerciale.
  • Les outils destinés aux acheteurs

Les premiers sont plutôt destinés à des experts métiers et proposent des outils d’aide à la décision sur des problématiques particulières de la conception. En proposant des outils d’optimisation locale, ils permettent un gains de temps lors de la conception mais demandent une expertise pour assurer la cohérence de la gamme. Par ailleurs, cette approche uniquement locale ne permet pas une optimisation globale et laisse l’utilisateur complètement libre.

Les seconds sont généralement des compléments à des systèmes de mise en relation et d’échange de document. Basés sur une approche de similarité, ils s’appuient sur des bases de données de devis pré-calculés (catalogue). Les demandes sont comparées à la base, et à partir des devis similaires, un prix est établi par pondération. Cette méthode à l’avantage de demander une faible connaissance métier lors de l’implémentation, donc un coût de développement faible. Cependant, les évaluations ainsi faites ne sont pas fiables et ne peuvent être vérifiées. Dans un problème avec un aussi grand nombre de variables et une aussi grande sensibilité à l’ensemble de ces variables, non-linéaires, l’utilisation d’une telle méthode est inapropriée.

2 Moteurs de Calcul et Recherche Opérationnelle.

La recherche opérationnelle (aussi appelée aide à la décision) peut être définie comme l’ensemble des méthodes et techniques rationnelles d’analyse et de synthèse des phénomènes d’organisation utilisables pour élaborer de meilleures décisions. L’ordonnancement, la planification ou encore l’optimisation de tournée sont des exemples d’application en recherche opérationnelle. Il s’agit de résoudre des problèmes complexes à grand nombre de variables ce qui est encore aujourd’hui un problème majeur de la recherche en mathématique appliquée. Pour résoudre un tel problème, on va tenter de rechercher une solution optimale ou s’en approchant. On distingue trois types de problèmes :

  • combinatoire, problème qui comprend un grand nombre de solutions admissibles parmi lesquelles on cherche une solution optimale ou proche de l’optimum.
  • aléatoire, problème qui consiste à trouver une solution optimale face à un problème qui se pose en termes incertains.
  • concurrentiel, problème qui consiste à trouver une solution optimale face à un problème dont les termes dépendent de l’interrelation entre ses propres agissements et ceux d’autres décideurs.

Il existe un grand nombre de méthodes et d’algorithmes de résolution de problème constituant chacun une branche particulière des mathématiques, on en distingue les grandes familles suivantes :

  • Algorithmes polynomiaux
  • Programmation dynamique
  • Processus stochastiques
  • Simulation informatique
  • Programmation linéaire et non linéaire
  • Branch and bound
  • programmation par contraintes
  • Heuristiques et méta-heuristiques
  • Algorithmes évolutionnaire
  • Réseaux de neurones

Ces techniques commencent à être appliquées dans l’industrie pour assister au mieux les choix d’un décideur dans un cadre stratégique ou opérationnel comme par exemple dans la gestion de projet (ordonnancement, planification), l’industrie manufacturière (ordonnancement de production, approvisionnement des matière première) ou la finance (maximisation des profits)… Dans ce contexte industriel les problèmes font intervenir un grand nombre de variables et des modèles complexes, la combinatoire générée pour la résolution de ce type de problème peut être si grande que l’on atteint très vite les limites de l’outil informatique :

  • limite mémoire, la consommation de mémoire est corrélée à la somme des données pouvant être mise en jeu dans une résolution de problème or un programme ne peut utiliser qu’une quantité finie de mémoire
  • limite temporelle, le temps de résolution doit être suffisamment court pour permettre une assistance effective aux décisions

Il n’existe pas de méthode idéale à priori pour la résolution d’un problème de recherche opérationnelle, d’autant moins que la problématique globale est complexe. Le plus souvent c’est par hybridation des différentes méthodes que l’on peut concevoir un système réaliste. La recherche opérationnelle se situe au carrefour de différentes sciences et technologies et requiert souvent l’utilisation de ces différentes méthodes en les spécialisant pour les rendre plus efficaces à résoudre des classes plus restreintes de problèmes.

Cette discipline exige un niveau élevé de connaissances mathématiques, une bonne aptitude à modéliser les problèmes et à décrire les facteurs, contraintes qui sont consommatrices de temps et d’argent pour une entreprise.

3 Références scientifiques :

  • Yves Caseau: Self-adaptive middleware: Supporting business process priorities and service level agreements. Advanced Engineering Informatics 19(3): 199-211 (2005)
  • Yves Caseau: Self-Adaptive and Self-Healing Message Passing Strategies for Process-Oriented Integration Infrastructures. ECBS 2004: 506-512
  • Yves Caseau, François-Xavier Josset, François Laburthe: CLAIRE: Combining Sets, Search And Rules To Better Express Algorithms CoRR cs.PL/0405091: (2004)
  • Yves Caseau, Glenn Silverstein, François Laburthe: Learning Hybrid Algorithms for Vehicle Routing Problems CoRR cs.PL/0405092: (2004)
  • François Laburthe, Yves Caseau: Using Constraints for Exploring Catalogs. CP 2003: 883-888
  • François Laburthe, Yves Caseau: De l’utilité des contraintes pour explorer des catalogues. JFPLC 2003: 141-154
  • François Laburthe, Yves Caseau: SALSA: A Language for Search Algorithms. Constraints 7(3-4): 255-288 (2002)
  • Yves Caseau, François-Xavier Josset, François Laburthe: CLAIRE: Combining sets, search and rules to better express algorithms. TPLP 2(6): 769-805 (2002)
  • Thierry Benoist, Eric Bourreau, Yves Caseau, Benoît Rottembourg: Towards Stochastic Constraint Programming: A Study of Online Multi-choice Knapsack with Deadlines. CP 2001: 61-76
  • Yves Caseau, Glenn Silverstein, François Laburthe: Learning Hybrid Algorithms for Vehicle Routing Problems. TPLP 1(6): 779-806 (2001)
  • Yves Caseau, François Laburthe: Solving Various Weighted Matching Problems with Constraints. Constraints 5(1/2): 141-160 (2000)
  • Yves Caseau, François Laburthe, Glenn Silverstein: A Meta-Heuristic Factory for Vehicle Routing Problems. CP 1999: 144-158
  • Yves Caseau, François-Xavier Josset, François Laburthe: CLAIRE: Combining Sets, Search, and Rules to Better Express Algorithms. ICLP 1999: 245-259
  • Yves Caseau, Michel Habib, Lhouari Nourine, Olivier Raynaud: Encoding of Multiple Inheritance Hierarchies and Partial Orders. Computational Intelligence 15: 50-62 (1999)
  • Yves Caseau, François Laburthe: Heuristics for Large Constrained Vehicle Routing Problems. J. Heuristics 5(3): 281-303 (1999)
  • François Laburthe, Yves Caseau: SALSA: A Language for Search Algorithms. CP 1998: 310-324
  • Yves Caseau, Tibor Kokeny: An Inventory Management Problem. Constraints 3(4): 363-373 (1998)
  • Yves Caseau: Using Constraint Propagation for Complex Scheduling Problems: Managing Size, Complex Resources and Travel. CP 1997: 163-166
  • Yves Caseau, François Laburthe: Solving Various Weighted Matching Problems with Constraints. CP 1997: 17-31

Incertitudes et difficultés technologiques rencontrées

1 Difficultés technologiques

Problématique de stockage de transfert des informations : les descriptions des différentes données en entrée et en sortie sont volumineuses. Le stockage classique des informations au sein d’un serveur de base de données relationnelles a vite posé des problèmes d’adaptabilité des structures de données. Nous avons alors envisagé d’utiliser des serveur de données de type XML. Hors nous avons été confronté à une certaine immaturité de la technologie ainsi qu’a des problèmes de performance lors des manipulations – recherche, enregistrement et extraction. Nous avons été obligé de développer des techniques de stockage spécifiques conjuguant la souplesse structurelle du XML ainsi que les performances et la rigueur du relationnel.

La création d’un moteur de calculs intégrant un grand nombre de données techniques et un grand nombre de règles métiers, ne peut être effectué avec un « solveur » classique. L’utilisation d’un langage adapté à la création d’algorithmes hybrides nous a imposé l’utilisation d’outils issue de la recherche dans un contexte industriel. La capacité de transformer un outil de laboratoire en système industriel fiable et robuste, capable de s’interconnecter, a été un point déterminant du succès du projet.

L’objectif serré en temps de calcul a demandé une recherche importante, d’un point de vue algorithme mais aussi d’un point de vue technique. La manipulation d’un grand volume de donnée, nous a poussé à mettre en place des outils de mesure de la performance afin d’étudier le comportement des algorithmes et d’optimiser les usages de ressource matérielles. La puissance de calcul étant répartie sur plusieurs processeur, une recherche sur les problématiques de parallélisation des calculs devait nous permettre d’atteindre les objectifs de temps de calcul tout en offrant une perspective d’accroissement des capacités grâce à l’orientation actuelle du marché vers le multiprocesseur. Cette recherche de la performance sur les deux axes devait nous permettre d’atteindre les objectifs en terme de performances.

En résumé, les points d’interrogation et de recherche ont été les suivants :

  • stockage et manipulation de données structurées lourdes et polymorphes
  • industrialisation d’outils de laboratoire
  • optimisation de l’usage des ressources matérielles au sein d’algorithmes hybrides
  • parallélisation des calculs

2 Difficultés de source métier

2.1 Introduction

La première des difficultés, du point de vue de l’ingénieur qui aborde le marché de l’imprimerie, est que les acteurs se considèrent plus comme des artisans que des industriels. Beaucoup d’entre eux proviennent de la filière des arts graphiques, et ont une approche des problématiques moins mathématique qu’artistique. Pour autant l’imprimerie dit « à façon » constitue une part importante du marché de la communication dont les enjeux économique sont très important.

Dès lors, la difficulté majeure sous-jacente a été la récolte de l’ensemble des règles métier. L’hétérogénéité des méthodes de fabrication, des outillages, des usages de la profession ont impliqué une récolte parcellaire. De nombreuse règles ont du être intégrées au fur et à mesure de l’avancement du projet. Cette adaptation continuelle a conduit l’élaboration d’algorithmes flexibles et robustes à l’incorporation de nouvelles règles métiers. Mais il s’agit de voir là une pression positive étant donné que la robustesse est une qualité majeure d’une solution algorithmique d’optimisation.

2.2 L’existant et contraintes inhérentes

2.2.1 Définition d’un produit imprimé

Pour mieux comprendre la complexité, il s’agit de définir ce qu’est un produit imprimé.

D’un point de vue fonctionnel, un produit imprimé est un support matériel d’information.

Suivant son usage, la population ciblée, la quantité d’information à publier, différents critères vont guider sa conception. Parmi cela l’esthétique, la qualité perçu, le mode de distribution, la recyclabilité etc…

Historiquement le support matériel est principalement le papier.

Ces produits peuvent être classé par leur forme :

* les produits simples :

– Feuillet, Fiche, poster : feuille de papier imprimée recoupée au format fini, et livrée à plat

– Dépliant, fascicule : feuille de papier imprimée recoupée au format fini, et livrée à plier, il s’agit là d’un niveau de difficulté supplémentaire de par la multiplicité des pliages possibles.

– cahier : dépliant représentant une section paginée

* les produits composites :

Ils ont comme point commun d’être constitués par un assemblage de produits simples

– Brochure piquée : ensemble de cahiers, avec ou sans couverture assemblés encartés par piqûre à cheval

– Brochure dos carré : ensemble de cahiers, avec ou sans couverture assemblés superposés (la couverture étant recouvrante) et collés ou collés cousus sur la tranche

– Brochure Wire’O : ensemble de feuillets ou dépliants superposés et reliés par un tore métallique

– carnet, liasse

Il existe un grand nombre de procédés d’assemblage, et cette liste n’est pas exhaustive.

A ce stade de l’analyse, nous avons observé que dans ce métier, les conventions de langage faisait que, des petites variations d’un point de vue expression du besoin, pouvait avoir de lourdes conséquences d’un point de vue définition techniques.

2.2.2 Le papier

Le papier est davantage un produit intermédiaire qu’une matière première. De par ces caractéristiques esthétiques, son choix va occuper une place privilégiée dès la conception, et de par ses caractéristiques techniques et son conditionnement commercial, il va entraîner des contraintes importantes dans la fabrication.

Le papier est initialement conditionné en bobine. Une bobine est un cylindre dont la hauteur est appelée laize. Ces bobines primaires peuvent être reconditionnées en bobines plus petites en tronçonnant la laize.

Mais de par le fait que beaucoup de presses ne peuvent imprimer que des feuilles de papier d’un certain format, les bobines seront reconditionnées en palette ou rame de feuilles d’un format donné.

De par sa variabilité, le papier doit être classé par famille et nomenclaturé. Il est a noté qu’il existe des centaines de références par famille de papier.

2.2.3 Les grandes étapes de la fabrication

a l’impression

b la finition

c le façonnage :

– typographie

– pliage

– assemblage

d conditionnement

Ce découpage est issu des différents besoins de transformation depuis le papier jusqu’au produit conditionné. L’ordonnancement est dicté par des contraintes techniques et physiques, pour exemple : on ne sait pas imprimer un produit déjà conditionné.

D’autre part, il existe un grand nombre de règles métiers limitant les degrés de liberté au sein même de ces étapes, ainsi que d’autres inter-étape.

2.2.4 Les grands procédés

Ils s’agit d’outils de production proposés à ce jour par les fabricants de machine outil, et utilisés par les acteurs, mais susceptible d’évoluer en fonction des innovations.

a Impression sur presse offset feuille

* La presse :

– utilise du papier au format de la presse,

– dépose l’encre grâce au procédé offset

– suivant l’équipement, réalise la finition (vernis offset, UV, acrylique)

* La finition :

Si la presse ne dispose pas de groupe vernis en ligne, la finition peut se faire sur une vernisseuse

* le façonnage :

Il est réalisé systématiquement hors ligne sur de l’outillage spécifique :

– presse typographique (découpe, rainage etc)

– plieuse

– encarteuse piqueuse

– etc

b impression sur presse offset rotative et héliographique

Ces presses sont des véritables lignes de production configurables. Elles utilisent des bobines de papier, et peuvent réaliser en fonction de leur équipement toutes les étapes depuis l’impression jusqu’au conditionnement. En revanche la flexibilité dans la forme du produit, pour une presse donnée et relativement limité.

L’étude de ces procédés nous amène aux observations suivante :

– l’offre des constructeurs de machine est très importantes

– le taux de renouvellement de ces machines, de l’ordre de dix ans, fait que différentes génération cohabite sur le marché

– un outil donné peut couvrir de une tache à la totalité du processus de fabrication

– l’offre machine évolue en permanence

2.3 En conclusion

L’enjeu majeur de la modélisation est de palier aux contraintes de stabilité, robustesse, et généricité, tout en offrant une grande souplesse aussi bien en terme d’expression du besoin que d’intégration de nouveaux outils, procédés, et méthodes de fabrication.

Méthodes et Moyens :

1 Introduction

A travers ce projet, nous avons mis en œuvre plusieurs méthodes d’analyse et techniques de programmation connues, pour autant, de par la complexité globale, nous avons été amené à tâtonner et expérimenter des options concurrentes, et parfois à élaborer des heuristiques originaux.

Afin de se soustraire aux spécificités métier, nous avons développé deux modélisations distinctes :

– une modélisation des objets métiers adaptée aux représentations usuelles,

– une modélisation abstraite adaptée aux problématiques d’optimisation.

Cette deuxième modélisation obtenue par analyse systémique, a permis de mettre en évidence des motifs locaux sur lesquels ont pu être appliqués des techniques d’optimisation spécialisées. La spécialisation est une technique à part entière dans une logique d’hybridation. Le principe de base est la discrétisation d’une macro-problématique d’optimisation en îlot d’optimisation classé en fonctionnalité analogique.

Exemple du choix de la stratégie d’optimisation :

La plupart des fonctions étant appliquées à des états intermédiaires dans le processus de fabrication, leurs validations unitaire était difficile. En partant de produits simples nécessitant peu de transformation, il a été possible de valider les différentes étapes en augmentant graduellement la complexité du produit fini.

Deux stratégies de reconstruction du processus de fabrication ont été évaluées :

– processus naturel : à partir de la matière brute, le processus aboutissant au produit fini est établi.

– processus inverse : à partir du produit fini, le processus aboutissant au besoin en matière premières est établi.

A l’issu, de l’implémentation des deux stratégies et d’une série de tests, La stratégie inverse s’est avérée la plus convaincante, dans sa robustesse à l’intégration de règles métiers et à ses performances (réduction de l’arbre de recherche). Cette méthode a demandé une abstraction plus profonde du contexte matériel.

D’un point de vue algorithmique, les fonctions de transfert ont été les points de branchement dans l’exploration d’un arbre de recherche. Les choix de branchement ont été déterminés soit par des optimisations locales, soit par des heuristiques déduits des règles métiers.

2 Méthodes

– analyse systémique

– modélisation UML

– programmation objet, fonctionnel

– algorithmes PPC,heuristique,

– tests unitaires

– tests en situation réel

3 Moyens

Ce projet fait appel à des compétences de type expert métier auprès d’une ressource externe pour la collecte des données métiers, ingénieur pour la modélisation, l’architecture applicative, les spécifications fonctionnelles, l’implémentation et la mesure des performances.

Le choix des techniques de recherche opérationnelle a été mené en collaboration avec un laboratoire spécialisé.

L’effectif permanent de la cellule responsable de ce projet est composé de trois ingénieurs.

Le choix de l’environnement technologique, s’est fait à partir des recherches bibliographiques, et des conseils du laboratoire de recherche opérationnelle.

Mesure de la performance.

1 Performance de l’optimisation des coûts :

Le système a été confronté à des experts métiers, sur des ensembles de cas définis par ces experts. La confrontation a donné lieu à une analyse critique des résultats, en terme de choix de la méthode de fabrication et de pertinence métier. Dans ce cadre, la tolérance sur l’optimisation de prix a été jugée en qualité (quelques %) et en quantité (quelques €). En revanche, une tolérance zéro a été appliquée sur la faisabilité des gammes générées par le système. Il est préférable que le système ne propose aucun résultat qu’un résultat erroné.

2 Performance des temps de calculs.

Le simulateur idéal serait capable de traiter des produits arbitrairement complexe sur une typologie d’atelier arbitraire dans un temps acceptable sur un ordinateur actuel, ce qui est impossible. Il est de même impossible de formuler mathématiquement le temps de réponse d’un tel système. En revanche on peut tenter de calibrer le système pour des cas d’utilisation type en vérifiant que le critère de performance est satisfait. Il s’agit donc de définir un cadre d’utilisation représentatif par un ensemble de tests unitaires pour lesquels le système doit fournir une réponse correcte dans un temps imparti et d’adapter le système pour atteindre ce niveau de performance.

Conjointement à l’expertise métier, un ensemble de produit type et un ensemble de description d’atelier type ont étés définis pour tester la performance du système, il s’agit pour chaque combinaison produit/atelier de mesurer le temps de réponse. Un automate à été conçu pour mener des campagnes répétitives de test et collecter les temps de réponse du système. L’automate effectue des tests unitaire ainsi que de tests de montée en charge en environnement de type serveur, dans ce dernier cas il s’agit de réaliser de multiples tests simultanément.

Il est possible d’intervenir à différents niveaux du système pour en améliorer les performances. Le système est en effet conçu en trois couches logicielles qui sont le noyau du métalangage, le métalangage lui même et enfin le modèle et l’algorithme de résolution et les performances globales du simulateur résultent des performances de chacune de ces couches.

On ne peut agir que de manière itérative afin obtenir pas à pas un système répondant aux exigences. Les campagnes de tests permettent des mesures de temps réponse mais ne donne pas à priori d’information sur les zones du programme qui sont consommatrices en temps. En premier lieu il convient d’agir au niveau de l’algorithme lui même, c’est le travail de la recherche opérationnelle que de concevoir une solution efficace mais une cause de la consommation de temps est inhérente à l’usage de la mémoire, en effet la taille des problèmes traiter par le simulateur est telle que nous sommes proches des limites matérielles, ainsi l’ensemble de l’espace adressable est utilisé et doit être fréquemment recycler au cours de la simulation. Aussi a-t-il été nécessaire de développer un outil pour contrôler précisément la manière dont est utilisée la mémoire afin de faire des modifications appropriées sur la couche logicielle concernée. Par bouclage avec les campagnes de test, ce sont toutes les couches logicielles qui ont étés modifiées :

  • le noyau : fluidifier et optimiser le processus de recyclage mémoire
  • le métalangage : utiliser des structures de donnée optimisées en taille afin d’éviter les zone morte de la mémoires inhérent au système d’allocation par bloc du noyau
  • l’algorithme : éviter des pics locaux de consommation mémoire au endroits identifiés lors des tests en guidant le sous système de gestion mémoire afin de retarder les procédures de recyclage

Dans les tests réalisés en environnement serveur, plusieurs processus sont mis en concurrences. Pour ces tests on constate un seuil de processus concurrent au delà duquel les performances globales s’effondrent et pour lequel les performances sont inacceptables au regard d’une utilisation industrielle. Les causes d’effondrement sont d’autant plus difficiles à identifier, que l’analyse des diagnostiques mémoire doit être menée sur plusieurs processus à la fois, mais également parce que le système réalisant le diagnostique est lui aussi perturbé par l’effondrement. Dans un tel environnement de stress du matériel il est donc difficile d’identifier précisément les causes et donc les solutions qui peuvent être apportées. Pour appréhender ces causes d’effondrement, il convient de procéder à des tests spécialement calibrés à la main, sans utiliser l’automate, pour trouver des cas de sollicitation aux limites de l’effondrement. Par ce procédé, il à été possible de comprendre plus finement comment les couches basses du noyau pouvaient être repensées afin tirer au mieux parti des infrastructures matérielles notamment le cache processeur. Le noyau à donc été ré-écrit dans ce sens et le seuil d’effondrement à été suffisamment repoussé pour rendre la solution industriellement acceptable.

Orientations et enseignements.

La réussite du projet repose sur une approche multidisciplinaire. Les choix réalisés pour la conception de l’outil de simulation résulte d’un dialogue constant au carrefour du métier d’application (l’imprimerie), du monde académique de la recherche opérationnelle et l’ingénierie informatique logicielle et matérielle. La crédibilité de la solution est le résultat d’allers retours entre ces disciplines, les critiques provenant du métier, l’adaptation des travaux de recherches ainsi que l’adéquation au matériel existant.

L’écoute des acteurs du métier a été capitale, le dialogue constant a donné naissance à une relation de confiance par laquelle l’échange du savoir à pu avoir lieu. Cette confiance a donné lieu à un retour d’expérience de qualité de la part de ces professionnels et donc à la conception d’un outil qui, pas à pas, est devenu plus adapté et apte au cadre d’utilisation industriel. La crédibilité du modèle de donnée et des interfaces de description de ces données sont le produit de ces échanges.

Les outils mathématiques et algorithmiques issus de la recherche opérationnelle ont permis de concevoir le cœur du simulateur qui est le résultat d’une forte hybridation de branch and bound, d’algorithmique linéaire, d’apprentissage et d’heuristique. Le simulateur est également fortement imprégné des règles métiers qui ont pu être collectées auprès des professionnels, c’est ce qui constitue l’originalité de la solution: une convergence de techniques de la recherche opérationnel imprégnée de l’intelligence d’un métier.

Nous avons enregistré des progrès sur les différents aspects du projets, sur l’aspect technologique et sur les aspects fonctionnels en remplissant les objectifs industriels primordiaux.

C’est également le langage CLAIRE qu’il à fallu adapter et repenser, par une connaissance du matériel et des mécanismes en jeu au plus bas niveaux, pour atteindre le niveau de performance escompté. Enfin, c’est toute une plateforme de développement autour du langage CLAIRE qui à été mise au point afin de pouvoir intégrer l’intelligence du système dans une architecture ouverte et orientée réseau. Ainsi, c’est un capital de brique technologique qui est aujourd’hui disponible et cela permet de faire évoluer le système d’autant plus rapidement.

Progrès et Résultats.

Progrès technologiques :

Le langage CLAIRE, base de notre outils de conception d’algorithmes hybrides a été industrialisé. Les bénéfices direct sont :

  • un outils fiable et performant, meilleure gestion mémoire, optimisations des routines
  • des capacités de communications (XML, SOAP, HTTP)
  • Accès aux bases de donnée
  • Trousse d’outils de mesure de la performances (gestion mémoire, profilage)
  • Ajout d’une syntaxe de parallélisation de calculs

1 Progrès Métiers :

Le système de calcul, nommé commercialement CLARIPRINT, permettant de réaliser des devis instantanément a, dans un premier temps, conquis les acheteurs. CLARIPRINT a été déployée comme outil de comparaison de prix et de prise de commande. Les performances globales ont conquis les fournisseurs, en leur permettant de participer systématiquement aux appel d’offres, sans intervention de leur part. En définissant un document de description technique et tarifaire, CLARIPRINT propose une nouvelle approche dans les relations commerciales entre fournisseurs et acheteurs.

1.1 Dynamisation des réponses commerciales :

Les commerciaux des imprimeurs peuvent directement concevoir leurs devis sans avoir à solliciter les expert-métiers. L’activité commerciale est dynamisée, la capacité de réponse à des appels d’offre est largement augmenté. Les expert-métiers se concentrent sur la production et sur l’affinage du paramétrage technique et financier du logiciel.

1.2 Amélioration du processus d’achat :

Les clients n’ont plus besoin de solliciter les commerciaux de chaque fournisseur, d’attendre et de comparer leurs offres. Les commerciaux peuvent se concentrer sur les affaires complexes à forte valeur ajoutée, sur des négociations tarifaires globales et sur des opérations de promotion ponctuelles.

2 Calculs en réseaux, sous-traitance :

La conception de Clariprint permet de bâtir des interconnexions entre systèmes ouvrant la porte à des mises en réseaux entre acheteurs et fournisseurs. Les fournisseurs peuvent intégrer leurs propres sous-traitants :

Collaboration

CLAIRE : langage de programmation adapté à l’expression d’algorithmes complexes.
Site universitaire : http://claire3.free.fr
Site industriel mis en place par EXPERT SOLUTIONS : http://www.claire-language.com

Les commentaires sont fermés.