Skip to content

Exact solver returns spurious infeasible result with large coefficients #151

@LegionMammal978

Description

@LegionMammal978

I've been attempting to use SCIP's exact mode to solve some ILP instances with very large coefficients. However, even with exact/enabled = TRUE, there seems to be some rounding in the objective function that causes issues when the coefficients are more than ~20 digits. As a minimal example, this instance returns SCIP Status: problem is solved [infeasible], even though x = 1 is quite clearly a feasible solution:

$ cat scip.set 
exact/enable = TRUE
$ cat problem.lp 
Minimize
obj: 99999999999999983617 x
Subject To
cond: x >= 1
General
x
End
$ scip -f problem.lp
SCIP version 10.0.0 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: SoPlex 7.1.4] [GitHash: ec1ecceb59]
Copyright (c) 2002-2025 Zuse Institute Berlin (ZIB)

External libraries: 
  Readline 8.2         GNU library for command line editing (gnu.org/s/readline)
  SoPlex 7.1.4         Linear programming solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: 7c53d552]
  CppAD 20180000.0     Algorithmic Differentiation of C++ algorithms developed by B. Bell (github.com/coin-or/CppAD)
  ZLIB 1.3             General purpose compression library by J. Gailly and M. Adler (zlib.net)
  MPFR 4.2.1           GNU Multiple Precision Floating-Point Reliable Library (mpfr.org)
  Boost 1.83.0         Boost C++ Libraries (boost.org)
  TinyCThread 1.2      small portable implementation of the C11 threads API (tinycthread.github.io)
  GMP 6.3.0            GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
  ZIMPL 3.6.2          Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)
  AMPL/MP 4.0.0        AMPL .nl file reader library (github.com/ampl/mp)
  PaPILO 2.4.2         parallel presolve for integer and linear optimization (github.com/scipopt/papilo) (built with TBB) [GitHash: 4b399c4c]
  Nauty 2.8.8          Computing Graph Automorphism Groups by Brendan D. McKay (users.cecs.anu.edu.au/~bdm/nauty)
  sassy 2.0            Symmetry preprocessor by Markus Anders (github.com/markusa4/sassy)

[...]

(See stdout.txt.) I'm not entirely sure if there's some other parameter I have to set to "actually make it exact", or if SCIP is simply the wrong tool for the job here.

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