Constraint Programming (CP) is a powerful paradigm for solving complex combinatorial problems across a wide range of domains.
Over the years, many solvers and tools have been developed, but their interoperability remains limited.
TOOTATIS addresses this challenge by offering a modular ecosystem that fosters integration, experimentation, and ease of use across different solvers, formats, and languages.
Initially centered around the Universe library, TOOTATIS has evolved to encompass a broader collection of complementary tools for modeling, solving, and analyzing constraint-based problems.
Our toolset includes solutions for:
- π¦ Solver installation and management
- π Experimentation and performance analysis
- π οΈ Solver configuration standardization
- π Integration with modern development environments (e.g., VSCode)
π Main Projects
ποΈ Configuration & Metadata
- metrics-solvers β Predefined solver configurations ready for experimentation with metrics and xcsp-launcher.
- xcsp-metadata β Repository of instance metadata for the XCSP3 format.
π οΈ Tools
- xcsp-launcher β Unified installer, builder, and launcher for XCSP3-compatible solvers.
π Universe β mUlti laNguage unIfied intErface foR conStraint solvErs
A multi-language library providing generic interfaces to interact with combinatorial problem solvers.
- Universe (C++) β Unified C++ API for constraint programming solvers.
- Juniverse (Java) β Java unified interface for solvers.
- CSUniverse (C#) β C# implementation of the Universe API.
π§© Parsing
- Autis β A library for parsing combinatorial problems.
β‘ Parallel Solving
- Panoramyx β A C++ framework for solving constraint programming problems in parallel.
(Built on top of the Universe C++ library.)