cpbenchy run instances/ -s ortools --rules xcsp3-2025-fast- Version
- cpbenchy 0.1.0.dev0
- Last updated
- 6 Oct 2026 · 1 commit
- Authors
- ThomSerg
- Formats
- xcsp3
- Homepage
- arxiv.org/abs/2511.06918
- Tags
- xcsp3competition2025
What it does
Runs your experiment the way the XCSP3 Competition 2025 runs the Fast COP track: its limits, how runs are stopped, and its output. Results record that they followed these rules, or that you changed them.
| Wall time | CPU time | Memory | Cores | At the limit | Output |
|---|---|---|---|---|---|
| 4.5 min | 3 min | 64 GiB | 1 | SIGTERM, SIGKILL 1 s later | XCSP3Output |
Use it
import cpbenchy
cpbenchy.run("instances/", solvers=["ortools", "exact"], rules="xcsp3-2025-fast")
cpbenchy.run("instances/", solvers=["ortools"], rules="xcsp3-2025-fast", mem_limit_mib=8192, args=["--scale", "0.05"]) # a quick trycpbenchy run instances/ -s ortools -s exact --rules xcsp3-2025-fast
cpbenchy run instances/ -s ortools --rules xcsp3-2025-fast --scale 0.05 -m 8192 # a quick try: a twentieth of the time, 8 GiBThe memory limit is the competition’s. On a machine with less memory, give a lower one with -m: the runs then record the rules as modified.
To enter the competition, build a submission with these rules: cpbenchy submission.
Notes
The numbers come from the competition’s own documents, cited in the file. Competitions change their rules from year to year: check the file against the competition’s call before you rely on it, and add the next edition as a new file. Rules explains the format.
Implementation
The file src/cpbenchy/rules/xcsp3-2025-fast.toml, 19 lines, as of this version of the docs.
name = "xcsp3-2025-fast"
description = "XCSP3 Competition 2025, Fast COP track: best solution, sequential, 3 minutes"
url = "https://arxiv.org/abs/2511.06918"
# The limits as run (proceedings, p. 105); SIGTERM, then SIGKILL one second later (call for solvers,
# https://www.cril.univ-artois.fr/~lecoutre/compets/callXCSP25.pdf).
[settings]
cpu-time-limit = 180 # 3 minutes of CPU time
time-limit = 270 # 4.5 minutes of wall clock time
mem-limit = 65536 # 64 GiB
cores = 1
terminate = true
grace = 1
plugins = ["cpbenchy.observers:XCSP3Output"]
# How the competition calls a solver: a command line of your choice, with these placeholders
# (`cpbenchy submission` builds a launcher that takes them, in this order). TIMELIMIT is CPU time.
[interface]
arguments = ["BENCHNAME", "RANDOMSEED", "TIMELIMIT", "MEMLIMIT", "NBCORE", "TMPDIR"]