Skip to content

SCIP direct / persistent not compatible with Constraint.Feasible #3976

Description

@bknueven

Summary

Using Constraint.Feasible cause scip_direct and scipt_persistent to crash.

Steps to reproduce the issue

# example.py
from pyomo.environ import *

m = ConcreteModel()
m.x = Var(bounds=(0,1))
m.c = Constraint(expr=Constraint.Feasible)
m.o = Objective(expr=m.x)

s = SolverFactory("scip_direct")
s.solve(m)

Error Message

Traceback (most recent call last):
  File "D:\Users\knueven1\Software\egret-int\failing_pyomo_model.py", line 9, in <module>
    s.solve(m)
    ~~~~~~~^^^
  File "D:\Users\knueven1\AppData\Local\miniforge3\envs\naerm\Lib\site-packages\pyomo\contrib\solver\common\base.py", line 638, in solve
    results: Results = super().solve(model)
                       ~~~~~~~~~~~~~^^^^^^^
  File "D:\Users\knueven1\AppData\Local\miniforge3\envs\naerm\Lib\site-packages\pyomo\contrib\solver\solvers\scip\scip_direct.py", line 115, in solve
    scip_model, solution_loader, has_obj = self._create_solver_model(model, config)
                                           ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "D:\Users\knueven1\AppData\Local\miniforge3\envs\naerm\Lib\site-packages\pyomo\contrib\solver\solvers\scip\scip_direct.py", line 223, in _create_solver_model
    self._add_constraints(cons)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "D:\Users\knueven1\AppData\Local\miniforge3\envs\naerm\Lib\site-packages\pyomo\contrib\solver\solvers\scip\scip_direct.py", line 206, in _add_constraints
    self._add_constraint(con)
    ~~~~~~~~~~~~~~~~~~~~^^^^^
  File "D:\Users\knueven1\AppData\Local\miniforge3\envs\naerm\Lib\site-packages\pyomo\contrib\solver\solvers\scip\scip_direct.py", line 249, in _add_constraint
    scip_expr = self._expr_visitor.walk_expression(con.expr)
  File "D:\Users\knueven1\AppData\Local\miniforge3\envs\naerm\Lib\site-packages\pyomo\core\expr\visitor.py", line 274, in walk_expression
    result = self._process_node(root, RECURSION_LIMIT)
  File "D:\Users\knueven1\AppData\Local\miniforge3\envs\naerm\Lib\site-packages\pyomo\core\expr\visitor.py", line 377, in _process_node_general
    return self.exitNode(node, data)
           ~~~~~~~~~~~~~^^^^^^^^^^^^
  File "D:\Users\knueven1\AppData\Local\miniforge3\envs\naerm\Lib\site-packages\pyomo\contrib\solver\solvers\scip\base.py", line 279, in exitNode
    raise NotImplementedError(f'unrecognized expression type: {nt}')
NotImplementedError: unrecognized expression type: <class 'pyomo.core.expr.relational_expr.TrivialRelationalExpression'>

Information on your system

Pyomo version: 6.10.1
Python version: 3.13.14
Operating system: Windows
How Pyomo was installed (PyPI, conda, source): PyPI
Solver (if applicable): SCIP

Additional information

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions