Pyomo / pyomo

An object-oriented algebraic modeling language in Python for structured optimization problems.
https://www.pyomo.org
Other
2.01k stars 517 forks source link

SCIP cannot read temp problem file #2447

Closed yuhuishi-convect closed 2 years ago

yuhuishi-convect commented 2 years ago

Summary

SCIP 8 executable cannot read temp problem file when using with pyomo

Steps to reproduce the issue

# example.py

from pyomo.environ import *
m = ConcreteModel()
m.x1 = Var(bounds=(0,6))
m.x2 = Var(bounds=(0,4))
m.cons1 = Constraint(expr= (m.x1)*(m.x2) <= 4)
m.obj = Objective(expr= -(m.x1+m.x2))
solver = SolverFactory('scip', executable="/usr/bin/scip")
result = solver.solve(m, tee=True)

Error Message

SCIP version 8.0.0 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: SoPlex 6.0.0] [GitHash: a740f0891e]
Copyright (C) 2002-2021 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)

External libraries: 
  SoPlex 6.0.0         Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: 71a5873d]
  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.1            GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
  ZIMPL 3.5.1          Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)
  AMPL/MP 4e2d45c4     AMPL .nl file reader library (github.com/ampl/mp)
  PaPILO 2.0.0         parallel presolve for integer and linear optimization (github.com/scipopt/papilo) [GitHash: 76cafc1]
  bliss 0.73p          Computing Graph Automorphism Groups by T. Junttila and P. Kaski (www.tcs.hut.fi/Software/bliss/)
  Ipopt 3.13.2         Interior Point Optimizer developed by A. Waechter et.al. (github.com/coin-or/Ipopt)

user parameter file <scip.set> not found - using default parameters

read problem </tmp/tmp5m7wz69a.pyomo.nl.nl>
============

[reader_nl.cpp:1351] ERROR: cannot open file /tmp/tmp5m7wz69a.pyomo.nl.nl: No such file or directory
[scipshell.c:190] ERROR: Error <-4> in function call
[scipshell.c:246] ERROR: Error <-4> in function call
[scipshell.c:533] ERROR: Error <-4> in function call
SCIP Error (-4): file not found error
ERROR: Solver (scip) returned non-zero return code (255)
ERROR: See the solver log above for diagnostic information.
---------------------------------------------------------------------------
ApplicationError                          Traceback (most recent call last)
Input In [1], in <cell line: 8>()
      6 m.obj = Objective(expr= -(m.x1+m.x2))
      7 solver = SolverFactory('scip', executable="/usr/bin/scip")
----> 8 result = solver.solve(m, tee=True)

File ~/.conda/envs/ortools/lib/python3.8/site-packages/pyomo/opt/base/solvers.py:596, in OptSolver.solve(self, *args, **kwds)
    594     elif hasattr(_status, 'log') and _status.log:
    595         logger.error("Solver log:\n" + str(_status.log))
--> 596     raise ApplicationError(
    597         "Solver (%s) did not exit normally" % self.name)
    598 solve_completion_time = time.time()
    599 if self._report_timing:

ApplicationError: Solver (scip) did not exit normally

Information on your system

Pyomo version: Pyomo 6.4.1 (CPython 3.8.0 on Linux 5.4.181-99.354.amzn2.x86_64) Python version: Python 3.8.0 Operating system: ubuntu20.04 How Pyomo was installed (PyPI, conda, source): pip Solver (if applicable): SCIP

$ scip --version

SCIP version 8.0.0 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: SoPlex 6.0.0] [GitHash: a740f0891e]
Copyright (C) 2002-2021 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)

External libraries: 
  SoPlex 6.0.0         Linear Programming Solver developed at Zuse Institute Berlin (soplex.zib.de) [GitHash: 71a5873d]
  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.1            GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)
  ZIMPL 3.5.1          Zuse Institute Mathematical Programming Language developed by T. Koch (zimpl.zib.de)
  AMPL/MP 4e2d45c4     AMPL .nl file reader library (github.com/ampl/mp)
  PaPILO 2.0.0         parallel presolve for integer and linear optimization (github.com/scipopt/papilo) [GitHash: 76cafc1]
  bliss 0.73p          Computing Graph Automorphism Groups by T. Junttila and P. Kaski (www.tcs.hut.fi/Software/bliss/)
  Ipopt 3.13.2         Interior Point Optimizer developed by A. Waechter et.al. (github.com/coin-or/Ipopt)

Compiler: gcc 9.3.0

Build options:
 ARCH=x86_64
 OSTYPE=Linux-4.19.0-18-amd64
 COMP=GNU 9.3.0
 BUILD=Release
 DEBUGSOL=OFF
 EXPRINT=cppad
 SYM=bliss
 GMP=ON
 IPOPT=ON
 WORHP=OFF
 LPS=spx
 LPSCHECK=OFF
 NOBLKBUFMEM=OFF
 NOBLKMEM=OFF
 NOBUFMEM=OFF
 THREADSAFE=ON
 READLINE=off
 SANITIZE_ADDRESS=OFF
 SANITIZE_MEMORY=OFF
 SANITIZE_UNDEFINED=OFF
 SANITIZE_THREAD=OFF
 SHARED=ON
 VERSION=8.0.0.0
 API_VERSION=104
 ZIMPL=ON
 ZLIB=ON

Additional information

chemrgineer commented 2 years ago

I created same error 2-3 month ago. I think this problem solved 3.4.2.dev0 version (github version).

yuhuishi-convect commented 2 years ago

I created same error 2-3 month ago. I think this problem solved 3.4.2.dev0 version (github version).

is 3.4.2.dev0 the version of pyomo? I didn't find such a tag in the repo

pmlpm1986 commented 2 years ago

I think this has been fixed already: https://github.com/Pyomo/pyomo/issues/2226 https://github.com/Pyomo/pyomo/pull/2409