pyDCOP est une bibliothèque qui implémente plusieurs solveurs de problèmes d’optimisation distribuée sous contraintes (Distributed Constraints OPtimization, DCOP). Le projet pyDCOP a pour but d’encourager la recherche académique dans le domaine du DCOP, en fournissant une bibliothèque facile d’emploi, qui va aider les chercheurs a étudier, comparer et créer de nouveaux algorithmes DCOP.
pyDCOP est indépendante des cas d’usages : elle peut être intégrée dans toute autre application pour offrir de la coordination distribuée dans des projets différents. La bibliothèque fonctionne avec Python 3.5 ou plus récent. Elle a déjà été utilisée dans le cadre de plusieurs articles académiques.
Les atouts de pyDCOP:
- Elle fournit l’implémentation de plusieurs algorithmes DCOP (DSA, MGM, MaxSum, DPOP etc.).
- Elle permet d’implémenter facilement de nouveaux algorithmes DCOP, en offrant toute l’infrastructure nécessaire : des agents, un système de messagerie, un recueil des métriques etc.
- Tous les agents peuvent fonctionner sur le même ordinateur ou sur des machines différentes, ce qui facilite les expérimentations.
- Elle est multi-plateforme : pyDCOP fonctionne sous Windows, Mac et Linux.
- Elle est particulièrement adaptée dans le cadre de l’IoT, étant capable de gérer des agents sur des ordinateurs mono-cartes, tels le Raspberry Pi.
- A côté de l’algorithme classique DCOP, la bibliothèque pyDCOP propose également de nouvelles approches pour les systèmes IoT: plusieurs stratégies sont disponibles pour distribuer les calculs de DCOP sur plusieurs agents et améliorent la robustesse.
L’équipe du projet pyDCOP vous invite à contribuer, surtout dans le domaine de l’implémentation des algorithmes DCOP (nouveaux ou bien connus). Consultez l’espace GitHub Orange-OpenSource pour en savoir plus et joindre le projet. Le code est publié sous licence BSD-3-clause.