REVIEW 4 major objections 5 minor 1 cited by
Proceedings of the 2024 XCSP3 Competition
T0 review · 4 major / 5 minor · reviewed 2026-08-12 · deepseek-v4-flash
Pith's one-line read The 2024 XCSP3 competition ranks Picat first in the CSP and Fast COP tracks, CPMpy ortools first in the COP and parallel COP tracks, Exchequer first in Mini COP, and CPMpy chuffed first in Mini CSP.
desk verdict A solid annual benchmark record with credible rankings, but the printed models have errors and the instance counts don't add up, so the archive is the only ground truth. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The load-bearing objects are the 2024 instance suite and the scoring protocol. XCSP3-core is the restricted input format used throughout: integer variables with a kernel of 24 popular global constraints such as allDifferent, sum, table, cumulative, noOverlap, and binPacking. The 34 selected problems, almost all new, are modelled in the Python library PyCSP3 and generated as series of increasing difficulty, giving 200 CSP and 250 COP instances for the standard tracks and 150 each for the mini tracks. Solvers run on identical cluster nodes with time limits enforced by runsolver, and the ranking algorithm discards off-competition entries, removes less efficient variants of the same solver, and applies the published point rules. This combination of fresh problem selection and fixed protocol gives the rankings their content.
What would settle it
Re-run the ranked solver configurations on the archived instance files under the stated CPU time limits and apply the published scoring rule; if the top finishers in any track change, the reported rankings do not reproduce.
Extended reading notes
Core claim
On the paper's own terms, the discovery is a measured performance ranking rather than a theoretical theorem. The official 2024 XCSP3 competition results put Picat at the top of the CSP and Fast COP tracks, CPMpy ortools at the top of the COP and parallel COP tracks, Exchequer at the top of the Mini COP track, and CPMpy chuffed at the top of the Mini CSP track, with Fun-sCOP, CoSoCo, Choco, toulbar2, miniBTD, Nacre, miniRBO, and CPMpy gurobi also in the top places. The ranking was produced by counting solved instances for satisfaction problems and by awarding points for best-known bounds, with full credit only when optimality is proved, under time limits of 30 CPU-minutes per instance, 3 minutes in the Fast COP track, and 4 CPUs in the parallel track. Because the instance selector was also the author of one solver, that solver was run but kept off the official ranking. The paper asserts these lists accurately reflect solver performance on the 2024 instance suite.
Load-bearing premise
The rankings are valid only if the archived instance files match the models printed in these proceedings and every solver output was checked against the correct instance; the proceedings themselves warn that the printed models and the archive may differ.
Editorial extensions
If this is right
- If the rankings hold, Picat's first places show that a SAT-encoding route to XCSP3-core is the strongest submitted approach for satisfaction and for fast optimization on this suite.
- If the rankings hold, CPMpy ortools' wins in the COP and parallel COP tracks show that a lazy-clause-generation solver with parallel search leads on the 250 optimization instances.
- If the rankings hold, Exchequer's Mini COP win shows that translating XCSP3 into a C program and using a bounded model checker can be competitive in a mini track.
- Because the COP scoring gives full credit only when optimality is proved, the optimization podium measures proof capability, not merely the ability to find good solutions.
- The reported results are tied to the exact 2024 instance archive; the proceedings' own warning means the printed models should not be assumed to reproduce the runs byte for byte.
Reading between the lines
- Had the selector's solver been allowed to compete, the standings might shift, because the paper reports that its mixed-heuristic variant scores better than its default configuration in several tracks while being excluded from the ranking.
- A testable extension of this work would be to reselect the instance suite with a different selector and re-run the same solver configurations, which would reveal how much of the ranking reflects selection bias.
- If the warned mismatch between the printed models and the archive affects any problem, then the models in this document should be treated as documentation and only the archive used for exact reproduction.
- The half-point rule for shared, unproven best bounds means that a solver which finds good solutions quickly but rarely proves optimality can rank below a slower solver that closes the proof; computing rankings under alternative scoring would show how much this design choice matters.
Signed reviews
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The manuscript documents the 2024 XCSP3 constraint-solver competition: it describes the 34 selected problems, gives PyCSP3 models for the instance generators, presents the participating solvers and their configurations, states the hardware and timeout settings and the scoring rules, and lists the official ranking for each of the six tracks. The central claimed result is that the listed rankings, e.g., Picat first in CSP and Fast COP, CPMpy ortools first in COP and parallel COP, and Exchequer first in Mini COP, reflect the solvers' actual performance on the 2024 instance suite under the stated conditions. The paper points to an external archive and website for the exact instances and detailed solver traces.
Significance. If the rankings are accurate, the document is a useful record of the relative performance of a broad set of CP, SAT-based, MIP, and SMT technologies on a fresh, publicly available benchmark suite. The manuscript has real strengths: it states the scoring rule, reports hardware and timeout information, discloses that the instance-selection organizer's solver ACE was run off-competition, and defers to an archive and a website with per-instance traces. These features make the competition more auditable than many solver competitions. The value of the proceedings, however, depends on whether the benchmark described inside the document is the benchmark that was actually run; several internal inconsistencies currently prevent the reader from checking that identity from the manuscript alone.
major comments (4)
- [Section 4.1 (Tables 4.1–4.2)] The timeout information is inconsistent. Table 4.1 lists 40 minutes for CSP, COP, and parallel COP and 4 minutes for Fast COP, and Table 4.2 lists 40 minutes for both mini tracks, but the bullets immediately below state that fast-COP sequential solvers were allocated 3 minutes of CPU time and 4.5 minutes of wall-clock time, and that all other sequential solvers were allocated 30 minutes of CPU time and 45 minutes of wall-clock time. The paper must state which limits were actually enforced, because the rankings are only meaningful relative to the true per-track timeouts.
- [Section 4.1 vs Sections 2.1–2.2] The stated totals of 200 CSP instances and 250 COP instances do not match the per-series counts given in the problem sections. Summing the stated series sizes in Sections 2.1.1–2.1.16 gives 195 CSP instances, and summing the COP series in Sections 2.2.1–2.2.18 gives 254 COP instances (counting the BinPacking series as 6 + 3 + 6). The totals or the per-problem series counts must be corrected, and they must be made consistent with the archived instance set, since the rankings are defined over those instances.
- [Section 4.1, hardware paragraph] The hardware description is internally contradictory: the cluster nodes are said to have 32 GiB of RAM (24 GiB for jobs), but each solver is said to have been allocated 64 GiB of RAM independently of the track. A per-solver allocation larger than the node memory is not possible as written. Please clarify the node memory and the actual per-job memory allocation; this is part of the run conditions needed to reproduce the results.
- [Sections 2.2.9, 2.2.13, 2.2.15, 2.2.18] Several printed PyCSP3 models are not valid code as shown. MaximumDensityOscillatingLife contains the expression `(k1 k2)` with a missing comma; StillLife has an unmatched parenthesis in the `Sum` call; TravelingTournament assigns `istances = data` but then references `distances`; and Wordpress uses the undefined identifier `lbWP`. The front matter already warns that the printed models may differ from the archived instances, but the scale of these discrepancies means the benchmark cannot be reconstructed from the document alone. Please either replace the faulty listings with versions that compile, or explicitly label them as illustrative and give a precise pointer to the authoritative archive versions, ideally with version or checksum information.
minor comments (5)
- [Section 2.1.5] The informal description says that every two vectors must have Hamming distance at most `k`, but the model and the accompanying comment enforce `Hamming(row1, row2) >= k`; the description should be aligned with the intended semantics.
- [Sections 2.1.16 and 2.2.2] The file names `WordQuare.py` and `AztecDimaondSym.py` appear to be misspelled for `WordSquare.py` and `AztecDiamondSym.py`; please correct the typos.
- [Section 2.2.17] The data paragraph writes `Values of (n, h, s)` but the model description defines the word size as `m`; the notation should be consistent.
- [Section 4.1] The validation procedure for solver outputs is only mentioned as "validating solvers and rankings" without describing how solutions or unsat answers were checked; adding one sentence about the checker used (e.g., XCSP3 Tools) would improve reproducibility.
- [Section 4.2] The rankings list only the top three solvers per track without the corresponding scores; since the paper relies on external traces for verification, a brief per-track score table or an explicit pointer to where the full score tables are stored would make the proceedings more self-contained.
Circularity Check
No circularity: the rankings are computed from solver executions on the benchmark suite, not derived from the rankings themselves or from fitted parameters.
full rationale
The paper's central claim is an empirical ranking of solvers, obtained by executing the submitted solvers on a fixed set of XCSP3 instances and applying the stated scoring rules. There is no derivation chain in which a predicted quantity is defined in terms of the claimed outcome, no fitted parameter that is later renamed as a prediction, and no uniqueness theorem imported from the authors' prior work to force a conclusion. The acknowledged self-involvement (ACE used to assess instance difficulty and therefore declared off-competition; one organizer's solver CoSoCo appears in a ranking) is a conflict-of-interest and governance matter, not a circular inference: the ranking is still determined by the measured runs. References to earlier XCSP3 format papers and to ACE define the benchmark format and solver capabilities, but they do not substitute for the executed results. The documented reproducibility caveat and the instance-count and model-code discrepancies are real correctness and documentation concerns, but they do not make the ranking its own input. The paper is therefore self-contained with respect to circularity, and the score is 0.
Assumptions & free parameters
free parameters (2)
- COP scoring rule =
1 point for a proven optimal solution, 0.5 for a shared best bound without optimality proof, 0 otherwise
- Per-track timeout settings =
30 minutes CPU for standard tracks, 3 minutes CPU for fast COP, 40 minutes wall for parallel COP
assumptions (3)
- domain assumption The archived instance set used in the runs matches the models and data described in the proceedings.
- domain assumption Solver outputs and final rankings were correctly validated by the organizers.
- domain assumption The ACE-based difficulty assessment used for instance selection does not compromise the fairness of the benchmark for the ranked solvers.
Cite this review
Pith. "Pith review of Proceedings of the 2024 XCSP3 Competition." pith.science (2026). https://pith.science/paper/J7RCLBHZ
@misc{pith2026241200117,
author = {Pith},
title = {Pith review of: Proceedings of the 2024 XCSP3 Competition},
year = {2026},
howpublished = {\url{https://pith.science/paper/J7RCLBHZ}},
note = {Machine review of arXiv:2412.00117}
}
read the original abstract
This document represents the proceedings of the 2024 XCSP3 Competition. The results of this competition of constraint solvers were presented at CP'24 (30th International Conference on Principles and Practice of Constraint Programming).
Figures
Forward citations
Cited by 1 Pith paper
-
CP-Model-Zoo: A Natural Language Query System for Constraint Programming Models
CP-Model-Zoo retrieves the most relevant MiniZinc model from a pool of 67 problems using text embeddings, with mean reciprocal rank between 0.87 and 1.00 in the paper's experiments.
Reference graph
Works this paper leans on
-
[1]
Proceedings of the 2022 XCSP3 Competition
G. Audemard, C. Lecoutre, and E. Lonca. Proceedings of the 2022 XCSP3 competition. Technical Report arXiv:2209.00917, CoRR, 2022. https://arxiv.org/abs/2209.00917
work page Pith review arXiv 2022
-
[2]
G. Audemard, C. Lecoutre, and E. Lonca. Proceedings of the 2023 XCSP3 competition. Technical Report arXiv:2312.05877, CoRR, 2023. https://arxiv.org/abs/2312.05877
arXiv 2023
- [3]
-
[4]
E. Berlekamp, J. Conway, and R. Guy. Winning ways for your mathematical plays, vol. 2: games in particular . Academic Press, 1982
work page 1982
-
[5]
F. Boussemart, C. Lecoutre, G. Audemard, and C. Piette. XCSP3: an integrated format for benchmarking combinatorial constrained problems. Technical Report arXiv:1611.03398, CoRR, 2016. https://arxiv.org/abs/1611.03398
arXiv 2016
-
[6]
F. Boussemart, C. Lecoutre, G. Audemard, and C. Piette. XCSP3-core: A format for repre- senting constraint satisfaction/optimization problems. Technical Report arXiv:2009.00514, CoRR, 2020. https://arxiv.org/abs/2009.00514
arXiv 2009
-
[7]
A. Deza, C. Liu, P. Vaezipoor, and E. Khalil. Fast matrix multiplication without tears: A constraint programming approach. In Proceedings of CP’23, pages 14:1–14:15, 2023
work page 2023
-
[8]
R. Duque, J.-F. D ´ ıaz, and A. Arbelaez. SABIO: An Implementation of MIP and CP for Interactive Soccer Queries. In Proceedings of CP’16, pages 575–583, 2016
work page 2016
Show all 21 references
-
[9]
Easton, G
K. Easton, G. Nemhauser, and M. Trick. Solving the travelling tournament problem: A combined integer programming and constraint programming approach. In Proceedings of PATAT’02, pages 100–112, 2002
2002
-
[10]
Erascu, F
M. Erascu, F. Micota, and D. Zaharie. Scalable optimal deployment in the cloud of component-based applications using optimization modulo theory, mathematical program- ming and symmetry breaking. Journal of Logical and Algebraic Methods in Programming , 121:100664, 2021
2021
-
[11]
I. Gent, C. Jefferson, I. Miguel, and P. Nightingale. Generating special-purpose stateless propagators for arbitrary constraints. In Proceedings of CP’10, pages 206–220, 2010
2010
-
[12]
Jefferson, A
C. Jefferson, A. Miguel, I. Miguel, and A. Tarim. Modelling and solving english peg solitaire. Computers & Operations Research, 33(10):2935–2959, 2006
2006
-
[13]
Lam and P
E. Lam and P. Van Hentenryck. A branch-and-price-and-check model for the vehicle routing problem with location congestion. Constraints, 21(3):394–412, 2016
2016
-
[15]
Lecoutre and N
C. Lecoutre and N. Szczepanski. PyCSP 3: Modeling combinatorial con- strained problems in Python. Technical Report arXiv:2009.00326, CoRR, 2020. https://arxiv.org/abs/2009.00326
2009 arXiv
-
[16]
Marriott and P
K. Marriott and P. Stuckey. Programming with Constraints. MIT Press, 1998
1998
-
[17]
Musliu, A
N. Musliu, A. Schutt, and P. Stuckey. Solver independent rotating workforce scheduling. In Proceedings of CPAIOR’18, pages 429–445, 2018
2018
-
[18]
Roussel, T
S. Roussel, T. Polacsek, and A. Chan. Assembly line preliminary design optimization for an aircraft. In Proceedings of CP’23, pages 32:1–32–19, 2023
2023
-
[19]
Savelsbergh and O
M. Savelsbergh and O. Smith. Cargo assembly planning. EURO Journal on Transportation and Logistics, 4(3):321–354, 2015
2015
-
[20]
K. Xu, F. Boussemart, F. Hemery, and C. Lecoutre. Random constraint satisfaction: easy generation of hard (satisfiable) instances. Artificial Intelligence, 171(8-9):514–534, 2007
2007
-
[21]
The Picat-SAT compiler
Neng-Fa Zhou and H ˚ akan Kjellerstrand. The Picat-SAT compiler. In Proceedings of PADL’16, pages 48–62. Springer, 2016
2016
- [2023]
Reviewed August 12, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.