[SCIP] SCIPconshdlrGetNCutsFound (number of found cuts vs number of applied cuts)

Marc Pfetsch pfetsch at mathematik.tu-darmstadt.de
Fri Mar 22 19:05:03 CET 2024



Hi Jonas,

the function SCIPconshdlrIncNCutsFound() is only called if the cutpool 
is delayed. You can call SCIPaddDelayedPoolCut() and the count should be 
positive.

Best

Marc


On 21/03/2024 14:18, Jonas Charfreitag wrote:
> Hi everyone,
> 
> one of my constraint handlers has entries in the scip statistics table, 
> I can not make sense of yet. Its row basically looks like this:
> 
>> Constraints        :     Number MaxNumber  #Separate #Propagate 
>> #EnfoLP    #EnfoRelax #EnfoPS    #Check   #ResProp    Cutoffs 
>> DomReds       Cuts Applied      Conss   Children
>>   myHandler       :          1          1    35               0    
>>       0                0          0             34 0                0 
>>          0                0        975              0 0
> 
> It reports zero found cuts, but 975 applied ones. From my understanding 
> #Found should be >= #Applied, or am I misunderstanding the columns?
> 
> The lp separation method of myHandler adds cuts via 
> "SCIP_CALL(SCIPaddPoolCut(scip, row));" and creates rows via 
> "SCIPcreateEmptyRowConshdlr()".
> I feel like I might be missing something here, as "SCIP_RETCODE 
> SCIPcutpoolSeparate()" calls "SCIPconshdlrIncNCutsFound(conshdlr);" only 
> if "cutpoolisdelayed". But who (if anyone) is responsible for increasing 
> the counter for non delayed cutpools, is it me, the user?
> 
> Thanks for any hints in advance!
> Best,
> Jonas
> 


More information about the Scip mailing list