PyCSP3 Scheduling Library Adds 53 Constraints for Scheduling Models
The new PyCSP³ Scheduling library adds some cool features to PyCSP³, like interval variables, sequence variables, and resource functions. It comes with 53 unique constraints and 27 expressions, all of which are transformed into standard PyCSP³/XCSP³ constraints, keeping modeling and solving separate. This library addresses the lack of built-in scheduling options in PyCSP³, which used to depend on basic integer variables and manual constraints. Testing involved 261 paired instances from 17 different model families, with each being run 5 times, and the results matched perfectly, proving its reliability. It's specifically designed for complex constrained problems and can also export to XCSP³ format.
Key facts
- PyCSP³ Scheduling adds 53 constraints and 27 expressions for scheduling.
- It supports interval variables, sequence variables, and resource functions.
- The library compiles to standard PyCSP³/XCSP³ constraints.
- It maintains the modeling/solving separation of PyCSP³.
- Previously, scheduling models required low-level integer variables.
- Tested on 261 paired instances across 17 model families.
- Each instance was run 5 times; both formulations produce identical results.
- The library is presented in arXiv:2605.14559v1.
Entities
—