PRINTEMPS solver for PB25 competition submission.
Using runsolver
:
DIR/bin/runsolver -d 5 -C $((TIMELIMIT-5-1)) -W $((TIMELIMIT-5-1)) -v TMPDIR/out.v -w TMPDIR/out.w DIR/bin/pb_competition_2025_solver -k -1 -t -1.0 -j NBCORE -r RANDOMSEED BENCHNAME
Without using runsolver
:
DIR/bin/pb_competition_2025_solver -k -1 -t $((TIMELIMIT-5)) -j NBCORE -r RANDOMSEED BENCHNAME
Since it may take some time to print solution after receiving the SIGTERM, some amount of time is subtracted from time limit to have enough time to print solution.
Also, since pb_competition_2025_solver
only supports time limits in wall clock time but not support time limits in CPU time, it is wrapped by runsolver
to support time limits in CPU time.
- ☐ Complete (your solver can answer UNSATISFIABLE)
- ☑ Incomplete (your solver can find solutions but cannot prove that there is no solution)
- ☑ DEC-LIN (decision problem, linear constraints, no UNSAT certificate)
- ☐ DEC-LIN-CERT (decision problem, linear constraints, UNSAT certificate required)
- ☑ DEC-NLC (decision problem, non-linear constraints, no UNSAT certificate)
- ☑ OPT-LIN (optimization problem, linear constraints, no OPT/UNSAT certificate)
- ☐ OPT-LIN-CERT (optimization problem, linear constraints, OPT/UNSAT certificate required)
- ☑ OPT-NLC (optimization problem, non-linear constraints, no OPT/UNSAT certificate)
- ☑ PARTIAL-LIN (WBO, both soft and hard constraints, linear constraints)
- ☑ SOFT-LIN (WBO, only soft constraints, linear constraints)
Statically linked executables are included in the submission archive.
Note that pb_competition_2025_solver
was built using -march broadwell
.
If the architecture of the evaluation environment is older than Broadwell, please build from source code using the following instructions.
- Option 1.
- Install necessary packages (e.g.
cmake
,gcc
,g++
,libnuma-dev
,make
on Ubuntu Linux) - Run
bash build.sh
orbash build_static.sh
- Install necessary packages (e.g.
- Option 2 (Statically linking
musl
instead ofglibc
).- Install Docker
- Run
docker run -v $(pwd):/work -w /work --rm --user=root alpinelinux/build-base sh -c "apk add numactl-dev && sh build_static.sh"