I construct a nonlinear model in JuMP using the legacy and non-legacy interfaces, providing the same initial solution, and save the models to .nl files. SCIP is able to solve both .nl files correctly to optimality. SCIP accepts the initial solution provided in the legacy model .nl file, but does not accept the initial solution provided in the non-legacy model .nl file, as per the SCIP output below. The objective function value at the initial solution is approximately 988.4328858. It seems like SCIP is off by a constant offset when SCIP checks the feasibility of the initial solution provided for the non-legacy model: “violation: right hand side is violated by 988.43288588505
all 1 solutions given by solution candidate storage are infeasible”
SCIP accepts legacy model initial solution:
==> Solving problem 'model_legacy_N_16_zpad_2.nl' on 'leibniz121'
==> Solving started: 2024-06-10 17:59:44
SCIP version 8.0.3 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: Soplex 6.0.3] [GitHash: 62fab8a2e3]
Copyright (C) 2002-2022 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)
External libraries:
Readline 8.0 GNU library for command line editing (gnu.org/s/readline)
Soplex 6.0.3 Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: f900e3d0]
CppAD 20180000.0 Algorithmic Differentiation of C++ algorithms developed by B. Bell (github.com/coin-or/CppAD)
ZLIB 1.2.11 General purpose compression library by J. Gailly and M. Adler (zlib.net)
GMP 6.2.0 GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
ZIMPL 3.5.3 Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)
AMPL/MP 4e2d45c4 AMPL .nl file reader library (github.com/ampl/mp)
bliss 0.77 Computing Graph Automorphism Groups by T. Junttila and P. Kaski (www.tcs.hut.fi/Software/bliss/)
reading user parameter file <scip.set>
===========================
limits/time = 36000
read problem <model_legacy_N_16_zpad_2.nl>
============
original problem has 17 variables (0 bin, 16 int, 0 impl, 1 cont) and 1 constraints
solve problem
=============
1/1 feasible solution given by solution candidate storage, new primal bound 9.884329e+02
SCIP does not accept non-legacy model initial solution:
==> Solving problem 'model_non_legacy_N_16_zpad_2.nl' on 'leibniz121'
==> Solving started: 2024-06-10 18:00:28
SCIP version 8.0.3 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: Soplex 6.0.3] [GitHash: 62fab8a2e3]
Copyright (C) 2002-2022 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)
External libraries:
Readline 8.0 GNU library for command line editing (gnu.org/s/readline)
Soplex 6.0.3 Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: f900e3d0]
CppAD 20180000.0 Algorithmic Differentiation of C++ algorithms developed by B. Bell (github.com/coin-or/CppAD)
ZLIB 1.2.11 General purpose compression library by J. Gailly and M. Adler (zlib.net)
GMP 6.2.0 GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
ZIMPL 3.5.3 Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)
AMPL/MP 4e2d45c4 AMPL .nl file reader library (github.com/ampl/mp)
bliss 0.77 Computing Graph Automorphism Groups by T. Junttila and P. Kaski (www.tcs.hut.fi/Software/bliss/)
reading user parameter file <scip.set>
===========================
limits/time = 36000
read problem <model_non_legacy_N_16_zpad_2.nl>
============
original problem has 51 variables (16 bin, 0 int, 0 impl, 35 cont) and 35 constraints
solve problem
=============
[nonlinear] <objcons>: ((1*(<x0>*<x0>)+1*(<x17>*<x17>)+(-8.2725)))^2+((1*(<x1>*<x1>)+1*(<x18>*<x18>)+(-8.2725)))^2+((1*(<x2>*<x2>)+1*(<x19>*<x19>)+(-8.2725)))^2+((1*(<x3>*<x3>)+1*(<x20>*<x20>)+(-8.2725)))^2+((1*(<x4>*<x4>)+1*(<x21>*<x21>)+(-6.34404)))^2+((1*(<x5>*<x5>)+1*(<x22>*<x22>)+(-6.34404)))^2+((1*(<x6>*<x6>)+1*(<x23>*<x23>)+(-6.34404)))^2+((1*(<x7>*<x7>)+1*(<x24>*<x24>)+(-6.34404)))^2+((1*(<x8>*<x8>)+1*(<x25>*<x25>)+(-6.34404)))^2+((1*(<x9>*<x9>)+1*(<x26>*<x26>)+(-6.34404)))^2+((1*(<x10>*<x10>)+1*(<x27>*<x27>)+(-6.34404)))^2+((1*(<x11>*<x11>)+1*(<x28>*<x28>)+(-6.34404)))^2+((1*(<x12>*<x12>)+1*(<x29>*<x29>)+(-6.34404)))^2+((1*(<x13>*<x13>)+1*(<x30>*<x30>)+(-6.34404)))^2+((1*(<x14>*<x14>)+1*(<x31>*<x31>)+(-6.34404)))^2+((1*(<x15>*<x15>)+1*(<x32>*<x32>)+(-6.34404)))^2+((1*(<x16>*<x16>)+1*(<x33>*<x33>)+(-6.34404)))^2-<nlobjvar> <= 0;
violation: right hand side is violated by 988.43288588505
all 1 solutions given by solution candidate storage are infeasible