[SCIP] presolving query

James Cussens james.cussens at bristol.ac.uk
Wed Jun 14 14:54:31 CEST 2023


Hi Ambros,

I installed PAPILO (it was not previously being used) and switched the relevant constraints from logicor to setcover, but I am still not getting the expected presolving. Find attached a test instance and a script file showing the missing presolve (I was expecting variable v#1 to be removed.)

My current working hypothesis is that I'm being stupid and missing some reason why this presolve step should not go ahead, but I just can't see why it should not.

Thanks for your help,

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: Scip <scip-bounces at zib.de> on behalf of Ambros Gleixner <gleixner at zib.de>
Sent: 14 June 2023 11:26
To: scip at zib.de <scip at zib.de>
Subject: Re: [SCIP] presolving query

Hi James,

the presolving step you mention is very basic und so you are right to
expect it from SCIP.  The linear and the setppc constraint handlers
implement it, however, it seems to be missing in the logicor constraint
handler.

Also the PaPILO library behind presol_milp.cpp should detect it.  Can it
be that you are running without PaPILO?

You could use setppc (or general linear) constraints instead, but I
assume this has other negative implications?  If you are stuck with
logicor constraints, then I don't see a simple parameter switch to
enable this presolving step.  (Except possibly activating PaPILO.)

Best,
Ambros




Am 14.06.2023 um 09:17 schrieb James Cussens:
> Hi all,
>
> I have a problem which after presolving contains the following vars and
> conss (among a bunch of other stuff):
>
> OBJECTIVE
>    Sense            : minimize
>    Offset           : -62.7528704623564
> VARIABLES
> ...
>    [binary] <t_pa#1>: obj=8.51719319141624, global bounds=[-0,1], local
> bounds=[-0,1]
>   ....
>    [binary] <t_v#0>: obj=33.6097102878493, global bounds=[-0,1], local
> bounds=[-0,1]
>   ...
> CONSTRAINTS
> ...
> [logicor] <cluster_or>: logicor(<t_v#0>[B],<~t_pa#1>[B]);
> ...
>
> The variable t_v#0 appears only in the above logicor constraint. So
> clearly in any optimal solution t_pa#1 = t_v#0. So I was expecting t_v#0
> and its constraint to be
> removed and the objective coefficient of t_pa#1 to be increased by
> 33.609. But this isn't happening. Is there perhaps some presolving
> parameter I could set to make this happen?
>
> It's not a big deal for me to do this presolving "manually" as I
> construct the problem instance but it would be nicer if it "just happened".
>
> James
>
> James Cussens
> Room MVB 3.26
> Dept of Computer Science, University of Bristol
> Phone: +44 (0)117 455 8723
> https://jcussens.github.io/ <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
_______________________________________________
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/20230614/bce34078/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: typescript
Type: application/octet-stream
Size: 6250 bytes
Desc: typescript
URL: <http://listserv.zib.de/pipermail/scip/attachments/20230614/bce34078/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: testpresol.cip
Type: application/octet-stream
Size: 1481 bytes
Desc: testpresol.cip
URL: <http://listserv.zib.de/pipermail/scip/attachments/20230614/bce34078/attachment-0001.obj>


More information about the Scip mailing list