Skip to content

SCIP tests fail when using HiGHs as the solver #102

Open
@orthorhombic

Description

@orthorhombic

Summary

I'm unable to get the SCIP tests to pass when compiling SCIP with HiGHS set as the solver. Specifically I tested this with SCIP 9.1.0 and HiGHS 1.7.2 (and 1.7.1). It finished compiling without error, but there are a series of tests that fail when HiGHS is set as the solver. All the HiGHS tests pass, so I figured I'd reach out here first. I didn't have any problem when setting -DLPS=spx.

I'm unsure if this is related to #89, though I didn't see the errors specified there. @svigerske, in the same issue you mentioned being able to compile "the SCIP/HiGHS interface of SCIP 9.1.0 with HiGHS 1.7.1." Is the below configuration what you meant and were you able to successfully get the tests to pass?

I apologize in advance if I'm missing something with how I'm compiling. Solutions or next steps for troubleshooting are welcome.

Tests that fail

Specifically this is the list of failing tests from when I was trying to trying to compile the whole suite and not just SCIP. Just to speed up testing, I randomly selected one of these tests for the Dockerfile.

The following tests FAILED:
     538 - Indicator-indicatorlogicorsepa-mcf128-4-1.lp (Failed)
     547 - Indicator-indicatorlogicorsepa-mcf64-4-1.lp (Failed)
     565 - Indicator-indicatorlogicorsepa-mcf64-4-1.zpl (Failed)
     602 - MIP-heuristics_off-blend2.mps (Failed)
     612 - MIP-convertinttobin_mostinf-blend2.mps (Failed)
     615 - MIP-oddcyclelift_randomhybrid-blend2.mps (Failed)
     627 - MIP-solvingphases-blend2.mps (Failed)
     630 - MIP-tolerance-blend2.mps (Failed)
     1040 - MIP-treemodel_svts_nofilter-vpm2.fzn (Failed)
     1041 - MIP-oddcycleliftheur_feaspump20-vpm2.fzn (Failed)
     1050 - MIP-tolerance-vpm2.fzn (Failed)
     1310 - BendersQP-benders-qp-classical_30_0.mps (Failed)
     1350 - MIP-readertest-mps-blend2.mps (Failed)
     1354 - MIP-readertest-fzn-blend2.mps (Failed)
     1546 - unittest-cons-cons (Failed)
     1624 - unittest-cons-superindicator-indicator-bugfix (Failed)
     1626 - unittest-cons-superindicator-indicator-generic (Failed)
     1874 - applications-miniisc-prob.10.30.100.0 (Failed)
     1875 - applications-miniisc-prob.15.40.100.1 (Failed)
     1876 - applications-miniisc-prob.20.50.100.0 (Failed)
     1877 - applications-miniisc-prob.5.030.100.0 (Failed)
     1926 - GCG-BPP-default-N1C1W4_M.BPP.lp (Failed)
     1927 - GCG-BPP-default-N1C2W2_O.BPP.lp (Failed)
     1928 - GCG-BPP-default-N1C3W1_A.lp (Failed)
     1929 - GCG-CPMP-default-p1250-2.lp (Failed)
     1930 - GCG-CPMP-default-p1650-2.txt.lp (Failed)
     1931 - GCG-CPMP-default-p2050-1.txt.lp (Failed)
     1932 - GCG-CS-default-TEST0055.lp (Failed)
     1933 - GCG-CS-default-TEST0059.lp (Failed)
     1934 - GCG-GAP-default-gap4_2.txt.lp (Failed)
     1935 - GCG-GAP-default-gap8_4.txt.lp (Failed)

Error from trying to build the Dockerfile

After spot checking a few of the tests failing above, all seemed to have the same error as below.

[lp.c:12197] ERROR: (node 11) error or unknown return status of primal simplex in LP 136 (internal status: 0)
[lp.c:12257] ERROR: Error <-6> in function call
[lp.c:12511] ERROR: Error <-6> in function call
[scip_probing.c:752] ERROR: Error <-6> in function call
[scip_probing.c:830] ERROR: Error <-6> in function call
[scip_var.c:3181] ERROR: Error <-6> in function call
[scip_var.c:3587] ERROR: Error <-6> in function call
[branch_relpscost.c:1417] ERROR: Error <-6> in function call
[branch_relpscost.c:2050] ERROR: Error <-6> in function call
[branch.c:1590] ERROR: Error <-6> in function call
[branch.c:2591] ERROR: Error <-6> in function call
[scip_branch.c:1241] ERROR: Error <-6> in function call
[cons_integral.c:106] ERROR: Error <-6> in function call
[cons.c:3471] ERROR: Error <-6> in function call
[solve.c:3522] ERROR: Error <-6> in function call
[solve.c:4427] ERROR: Error <-6> in function call
[solve.c:5109] ERROR: Error <-6> in function call
[scip_solve.c:2657] ERROR: Error <-6> in function call
[scipshell.c:110] ERROR: Error <-6> in function call
[scipshell.c:527] ERROR: Error <-6> in function call
[scipshell.c:594] ERROR: Error <-6> in function call
SCIP Error (-6): error in LP solver

Sample Dockerfile to try to compiling:

I saved the below as Dockerfile_test and tried building it with the command below. The specified test was one randomly selected from the list above.
docker build -t build_test --file Dockerfile_test --progress=plain . &> build_test.log

FROM python:3.12.4-slim-bookworm AS builder

ENV WORKSPACE=/builds \
    INSTALLS=/installs \
    SCIP_TAG=910 \
    HIGHS_VERSION=1.7.2 

RUN apt-get update && apt-get install -y \
    wget \
    cmake \
    g++ \
    m4 \
    xz-utils \
    unzip \
    zlib1g-dev \
    libtbb-dev \
    libreadline-dev \
    pkg-config \
    git \
    flex \
    bison \
    libcliquer-dev \
    gfortran \
    libopenblas-dev \
    file \
    dpkg-dev \
    rpm \
    libopenmpi-dev \
    libboost1.81-dev \
    libgmp-dev \
    libtbb-dev \
    libmetis-dev \
    metis \
    libcriterion-dev


RUN mkdir $WORKSPACE && mkdir $INSTALLS
WORKDIR $WORKSPACE


RUN cd ${WORKSPACE} && \
    wget https://github.com/ERGO-Code/HiGHS/archive/refs/tags/v${HIGHS_VERSION}.tar.gz && \
    tar xzf v${HIGHS_VERSION}.tar.gz && \
    cd ${WORKSPACE}/HiGHS-${HIGHS_VERSION} && \
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${INSTALLS}/lib/ cmake -S . -B build -DCMAKE_INSTALL_PREFIX=${INSTALLS} -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DALL_TESTS=1 && \
    cmake --build build -j 3 && \
    cd build && ctest --parallel --timeout 300 --output-on-failure && cd .. && \
    cmake --install build

RUN cd ${WORKSPACE} && \
    wget https://github.com/scipopt/scip/archive/refs/tags/v${SCIP_TAG}.tar.gz && \
    tar xfz v${SCIP_TAG}.tar.gz && \
    cd ${WORKSPACE}/scip-${SCIP_TAG} && \
    mkdir build && \
    cd ${WORKSPACE}/scip-${SCIP_TAG}/build && \
    PATH=$PATH:${INSTALLS}/bin/ cmake .. \
    -DCMAKE_INSTALL_PREFIX=${INSTALLS} \
    -DCMAKE_BUILD_TYPE=Release \
    -DLPS=highs \
    -DSYM=snauty \
    -DBoost_USE_STATIC_LIBS=on \
    -DPAPILO=false \
    -DLAPACK=false \
    -DZIMPL=false \
    -DGMP=false \
    -DREADLINE=false \
    -DIPOPT=false \
    -DIPOPT_DIR=${INSTALLS} \
    -DHIGHS_DIR=${INSTALLS}/lib/cmake/highs \
    -DCMAKE_C_FLAGS="-s -I${INSTALLS}/include/ -I${INSTALLS}/include/highs -L${INSTALLS}/lib/" \
    -DCMAKE_CXX_FLAGS="-s -I${INSTALLS}/include/ -I${INSTALLS}/include/highs -L${INSTALLS}/lib/" \
    -DTPI=tny && \
    make -j6
RUN cd ${WORKSPACE}/scip-${SCIP_TAG}/build && \
    ctest -R MIP-tolerance-vpm2.fzn --output-on-failure

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions