Skip to content

Add gamslib regression test comparing cuOpt objectives against CPLEX baseline - #19

Merged
0x17 merged 1 commit into
mainfrom
gamslib-cuopt-test
Sep 23, 2026
Merged

0x17 merged 1 commit into
mainfrom
gamslib-cuopt-test

Conversation

@0x17

@0x17 0x17 commented Sep 23, 2026

Copy link
Copy Markdown
Member

Adds tests/test-gamslib-cuopt.py and tests/baseline.txt.

  • baseline.txt: 73 gamslib models (LP/MIP/QCP) that CPLEX solves to proven optimality (optcr=0) within 60 s in a single solve, with the CPLEX objective value.
  • The script extracts each model via gamslib, solves it with solver=cuopt (reslim=120 by default), reads the objective from the trace file and fails if |obj-ref|/max(1,|ref|) exceeds --rtol (default 1e-6). Exits 1 on any mismatch or failure.

Excluded from the baseline: BCH models (require CPLEX), bidsos (SOS2 unsupported), badmip (cuOpt integrality tolerance 1e-5 trips the model's exact check), and clad/mws/nurses (cuOpt cannot close the gap within the time limit).

Usage:

python3 tests/test-gamslib-cuopt.py -g <gamsdir> [-j JOBS] [-r RESLIM] [model ...]

🤖 Generated with Claude Code

@0x17
0x17 merged commit 26cd732 into main Sep 23, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant