cpbenchy run instances/ -s ortools --rules xcsp3-2025-parallel- Version
- cpbenchy 0.1.0.dev0
- Last updated
- 6 Oct 2026 · 1 commit
- Authors
- ThomSerg
- Formats
- xcsp3
- Homepage
- arxiv.org/abs/2511.06918
- Tags
- xcsp3competition2025parallel
What it does
Runs your experiment the way the XCSP3 Competition 2025 runs the parallel 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 |
|---|---|---|---|---|---|
| 30 min | none | 64 GiB | 4 | SIGTERM, SIGKILL 1 s later | XCSP3Output |
Use it
import cpbenchy
cpbenchy.run("instances/", solvers=["ortools", "exact"], rules="xcsp3-2025-parallel")
cpbenchy.run("instances/", solvers=["ortools"], rules="xcsp3-2025-parallel", mem_limit_mib=8192, args=["--scale", "0.05"]) # a quick trycpbenchy run instances/ -s ortools -s exact --rules xcsp3-2025-parallel
cpbenchy run instances/ -s ortools --rules xcsp3-2025-parallel --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-parallel.toml, 18 lines, as of this version of the docs.
name = "xcsp3-2025-parallel"
description = "XCSP3 Competition 2025, parallel COP track: best solution, 4 cores, 30 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]
time-limit = 1800 # 30 minutes of wall clock time
mem-limit = 65536 # 64 GiB
cores = 4
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: the time limit, here wall clock time.
[interface]
arguments = ["BENCHNAME", "RANDOMSEED", "TIMELIMIT", "MEMLIMIT", "NBCORE", "TMPDIR"]