CSP Object model: A solver-independent modeling assistant
CSP Object Model : un assistant de modélisation indépendant des solveurs.
Résumé
CSPOM est un modèle objet permettant de représenter un problème de satisfaction de contraintes. L’objectif de CSPOM est de constituer une interface unifiée entre un grand nombre de solveurs et de langages de modélisation. Pour maximiser l’indépendance de CSPOM vis-à-vis de tout solveur, le modèle objet est minimal : aucune hypothèse n’est faite sur les contraintes supportées par les solveurs. Une seule classe généralise toutes les contraintes, et quelques types de variables standard facilitent le travail de modélisation. CSPOM a été conçu afin de simplifier la traduction/- reformulation des modèles, pour pouvoir adapter un modèle à un solveur. Un framework de reformulation facilement extensible est proposé dans ce but. Notre prototype supporte d’ores et déjà quatre langages de modélisation (XCSP, FlatZinc, une API Java et Scala très naturelle) et propose de plus quelques reformulateurs pouvant améliorer certains modèles naïfs