[SCIP] calling <SCIPcutoffNode> in presolving stage

James Cussens james.cussens at bristol.ac.uk
Sun Jun 11 16:45:28 CEST 2023


Thanks Marc and Stefan for your help, and thanks Stefan for the patch.

In the patch I think there may be a problem with the change to conflict.c since I get the following compilation error.

src/scip/conflict.c: In function ‘detectImpliedBounds’:
src/scip/conflict.c:2444:21: warning: implicit declaration of function ‘SCIPcutoffNode’; did you mean ‘SCIPvisualCutoffNode’? [-Wimplicit-function-declaration]
 2444 |          SCIP_CALL( SCIPcutoffNode(set->scip, SCIPgetRootNode(set->scip)) );
      |                     ^~~~~~~~~~~~~~
src/scip/def.h:381:44: note: in definition of macro ‘SCIP_CALL’
  381 |                           if( (_restat_ = (x)) != SCIP_OKAY )                                                 \
      |                                            ^
src/scip/conflict.c:2444:47: warning: implicit declaration of function ‘SCIPgetRootNode’; did you mean ‘SCIPtreeGetRootNode’? [-Wimplicit-function-declaration]
 2444 |          SCIP_CALL( SCIPcutoffNode(set->scip, SCIPgetRootNode(set->scip)) );
      |                                               ^~~~~~~~~~~~~~~
src/scip/def.h:381:44: note: in definition of macro ‘SCIP_CALL’
  381 |                           if( (_restat_ = (x)) != SCIP_OKAY )                                                 \
      |                                            ^
It seems that in other places in conflict.c different functions are used to signal global infeasibility.

James

James Cussens
Room MVB 3.26
Dept of Computer Science, University of Bristol
Phone: +44 (0)117 455 8723
https://jcussens.github.io/
Funded PhDs available in Bristol in the following areas: Data Science<http://www.bristol.ac.uk/cdt/compass/>, Interactive AI<http://www.bristol.ac.uk/cdt/interactive-ai/>, Cyber Security<http://www.bristol.ac.uk/cdt/cyber-security/> or Digital Health<http://www.bristol.ac.uk/cdt/digital-health/>.
________________________________
From: Stefan Vigerske <svigerske at gams.com>
Sent: 11 June 2023 12:27
To: James Cussens <james.cussens at bristol.ac.uk>; scip at zib.de <scip at zib.de>
Subject: Re: [SCIP] calling <SCIPcutoffNode> in presolving stage

Hi,

looks like a bug to me.
The attached patch should help. It removes the call of SCIPcutoffNode in
cons_logicor, but should still signal infeasibility to the SCIP core.

Stefan

On 11/06/2023 11:47, James Cussens wrote:
> Hi all,
>
> I'm getting the following problem when running in debug mode:
>
> [debug.c:2345] ERROR: cannot call method <SCIPcutoffNode> in presolving stage
> [scip_tree.c:430] ERROR: Error <-8> in function call
> [presolve.c:1312] ERROR: Error <-8> in function call
> [cons_logicor.c:3287] ERROR: Error <-8> in function call
> [cons_logicor.c:4689] ERROR: Error <-8> in function call
> [cons.c:4063] ERROR: Error <-8> in function call
> [scip_solve.c:997] ERROR: Error <-8> in function call
> [scip_solve.c:1207] ERROR: Error <-8> in function call
> [scip_solve.c:1207] ERROR: Error <-8> in function call
> [scip_solve.c:1373] ERROR: Error <-8> in function call
> [scip_solve.c:2484] ERROR: Error <-8> in function call
> [scip_solve.c:2722] ERROR: Error <-8> in function call
> [data_bnsl.c:1486] ERROR: Error <-8> in function call
> [data_bnsl.c:2579] ERROR: Error <-8> in function call
> [data_bnsl.c:3952] ERROR: Error <-8> in function call
> [data_bnsl.c:4246] ERROR: Error <-8> in function call
>
> The problem seems to be that when global infeasibility is deduced in presolving, specifically via the function SCIPshrinkDisjunctiveVarSet
> there is a call:
>
>     SCIP_CALL( SCIPcutoffNode(scip, SCIPgetRootNode(scip)) );
>
> but it seems that using SCIPcutoffNode in presolving is not allowed. Is this perhaps a bug? If so, is there a fix?
>
> Best wishes,
>
> James
>
> James Cussens
> Room MVB 3.26
> Dept of Computer Science, University of Bristol
> Phone: +44 (0)117 455 8723
> https://jcussens.github.io/
> Funded PhDs available in Bristol in the following areas: Data Science<http://www.bristol.ac.uk/cdt/compass/>, Interactive AI<http://www.bristol.ac.uk/cdt/interactive-ai/>, Cyber Security<http://www.bristol.ac.uk/cdt/cyber-security/> or Digital Health<http://www.bristol.ac.uk/cdt/digital-health/>.
>
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20230611/942b7b96/attachment.html>


More information about the Scip mailing list