Open Source, SaaS: Les solutions d’optimisation tendent la main aux entreprises

Tout s’accélère ces dernières années et c’est aussi valable pour l’optimisation des opérations en entreprise. En effet, pour les entreprises il y a une conjonction d’événements qui leur donne accès comme jamais aux techniques d’optimisation mathématique et d’intelligence artificielle notamment dans la chaîne logistique et la production. Ces événements sont l’explosion du logiciel libre (open source), du développement du SaaS (software as a service) et l’accès à l’information digitale sur le web. Plusieurs remarques peuvent être faites.

saas

source: 2014 Future of Open Source – 8th annual survey results

Les solutions d’optimisation sont accessibles: un très grand nombre de solutions d‘optimisation sont disponible en open source avec des performances et un potentiel énorme pour l’amélioration d’un grand nombre de processus dans la logistique et la production (voir la liste à la fin de cet article).

Les mises en œuvre sont simplifiées: le niveau de qualité des librairies d’optimisation et le concept même de l’optimisation mathématique font qu’il ne s’agit plus de programmer un algorithme en détails demandant des mois de développement, mais il s’agit d’utiliser et d’assembler ces librairies solides qui sont à disposition. Le niveau de programmation c’est largement élevé ces dernières années et permet ainsi de réduire les coûts et les temps de développement de manière drastique.

Les outils sont robustes: le logiciel libre et le SaaS ont le même effet sur qualité des logiciels et la rapidité avec laquelle les problèmes sont corrigés. La longue attente de la prochaine version venant corriger un bug ou une limitation avec une solution propriétaire n’existe plus dans une solution open source populaire où les corrections ainsi que les manières de contourner les problèmes arrivent très rapidement. En plus, les problèmes sont eux aussi découverts plus rapidement.

Les outils sont performants: une solution open source ayant certaines qualités initiales va être abondamment utilisée, vérifiée, et améliorée par la communauté de développeurs. Et c’est le cas aussi pour l’optimisation mathématique et le machine learning.

Les outils sont configurables: les logiciels avec du Drag-And-Drop et très configurables sont de plus en plus disponibles. L’utilisateur final (non IT) peut personnaliser sa solution dans une grande mesure lui même. Ou en tous les cas, les ressources nécessaires pour faire une tâche diminue énormément avec ces approches. Il augmente aussi la productivité des consultants faisant le travail en cas d’externalisation du travail.

OpenSourceCentralAcrossTechnology

source: 2014 Future of Open Source – 8th annual survey results

Le SaaS accentue les effets précédents: il ne s’agit plus d’acheter des solutions, de les configurer et de les mettre à jour, mais de louer un service aux besoins et ainsi avoir peu de coûts fixes. Les outils mathématiques, les bases de données, les applications et le CPU sont disponible dans ces services. Ils sont encore utilisés quotidiennement par plus de monde et par conséquent ils sont plus robustes, plus disponibles et plus flexibles. Le Saas est le premier consommateur de logiciel Open-Source. La conjonction des deux est explosive en terme de productivité. Il ne s’agit pas avec SaaS d’aller vers une solution encore plus généraliste comme le font les grandes solutions standalone, mais effectivement de standardiser et de partager les efforts structurels comme la virtualisation, les serveurs, les bases de données, les librairies d’outils et de visualisation. Or il ne s’agit pas de standardiser les processus. L’utilisateur garde sa liberté par la configuration et l’assemblage de ces technologies pour ces besoins spécifiques.

Quelles sont les conséquences:

  1. Une réduction des coûts de développement de solutions personnalisées sur mesure.
  2. Un accès à des solutions performantes non réservées aux grandes multinationales.
  3. Une approche Lean possible car l’accès aux librairies, l’accès aux serveurs, et les temps de développement raccourcis permettent de développer des solutions de manière itérative en ce concentrant initialement sur les “low-hanging fruits”. On défit la prochaine étape avec à l’esprit une amélioration continue.
  4. Une flexibilité et le choix de ne pas rester cantonné à une solution propriétaire où les changements sont difficiles à faire et les décisions lourdes de conséquences. Car à l’opposé, l’adoption de solution sur mesure s’avère très rentable si l’on évite le piège de “réinventer la roue”. Et les solutions d’optimisation mathématiques permettent de concentrer l’effort et les coûts seulement sur la fonctionnalité et la spécificité de la solution en limitant les efforts d’infrastructure grâce notamment au logiciel libre et au SaaS.

MathRock2

La conclusion: L’industrie est en train de sauter sur l’occasion et optimiser ces processus pour augmenter sa rentabilité grâce à l’utilisation de solution open source et sur le cloud. L’industrie va revenir sur la standardisation de ces processus qui nuit à la compétitivité (tout le monde a les mêmes processus par l’utilisation des mêmes solutions propriétaires), et elle peut le faire grâce au SaaS et à l’open source qui réduit l’effort de développement à la partie essentielle et la plus noble du travail qui est la fonctionnalité (diversification des entreprises). En d’autres termes, on se focalise sur l’intelligence et moins sur l’infrastructure et la mise en œuvre.  C’est exactement l’approche  prônée par l’optimisation mathématique. Chez Adilem, nous avons comme mission d’assister les entreprises à optimiser les outils de production et de chaîne logistique, en amenant des solutions simples, rapides et à forte rentabilité. La puissance de l’optimisation mathématique est totalement au service de cette rentabilité.

Quelques solution Open Source

Optimisation mathématique

  • Coin-OR : Computational Infrastructure for Operations Research. Ce  projet est une initiative pour sitmuler le développement d’outils open-source au sein de la communauté de recherche opérationnelle.
  • OpenOpt: Un framework et une libraire open-source d’algorithme d’optimisation mathématique en Python.
  • NEOS server: Le server NEOS est un service sur internet pour la résolution numérique de problèmes d’optimisation (Wisconsin Institutes for Discovery at the University of Wisconsin in Madison). Ce serveur donne accès à plus de 60 solvers commerciaux et libres dans plus d’une douzaine de catégories.
  • OptaPlanner: OptaPlanner est un logiciel d’optimisation mathématique. Il résouts des problèmes avec contraintes en utilisant des algorithmes heuristiques et méta-heuristiques. Cette solution professionnelle libre est sponsorisée par Red Hat.

Machine Leanrning

  • R Project: R est un logiciel libre de traitement des données et d’analyse statistiques mettant en œuvre le langage de programmation S. Il existe plus de 1200 packages qui étendent l’outil, dont de performantes librairies de machine learning.
  • scikit-learn: Une librairie open-source de machine learning en Python. Elle contient des algorithmes de classification, de régression et de clusturing, tels que “support vector machines”,  “logistic regression”, “naive Bayes”, “random forests”, “gradient boosting” ou “k-means”.
  • Weka: « Environnement Waikato pour l’analyse de connaissances » est une suite populaire de logiciels d’apprentissage automatique. Écrite en Java, développée à l’université de Waikato, Nouvelle-Zélande. Weka est un logiciel libre disponible sous la Licence publique générale GNU (GPL).

SaaS (et services similaires)

Natural Language Processing

  • NLTK: C’est une bibliothèque logicielle en Python permettant un traitement automatique des langues. En plus de la bibliothèque, NLTK fournit des démonstrations graphiques, des données-échantillons, des tutoriels, ainsi que la documentation de l’interface de programmation (API).
  • SharpNLP: Une collection d’outils de traitement automatiques des langues écrite en C#.
  • OpenNLP: La libraire Apache OpenNLP est une librairie d’apprentissage basée sur des outils pour le traitement des langues écrites.