[SCIP] locking while separating

James Cussens james.cussens at york.ac.uk
Mon Mar 7 10:03:02 CET 2016


Dear Gerald,

I finally got to the bottom of this. Some of the functions my
"ChordalSeparate" function was calling returned SCIP_RETCODE and were
wrapped inside a SCIP_CALL. These functions did not appear
in the output from the profile. I altered them to be 'normal' functions and
called them without the SCIP_CALL wrapping. After doing this they appeared
as expected in the profile output and my constraint handler's
lock method ( consLockChordal ) only showed up as being called twice. So
everything now makes sense.

One thing perhaps noting, my original approach - where the functions were
wrapped inside a SCIP_CALL - was a bit silly: there was no point doing this
wrapping and the SCIP* pointer I sent to the functions
was not even used in them. (An earlier version had done some
SCIPallocMemoryArray calls but I then removed these.) Perhaps this weird
code somehow confused the profiling.

James



On 1 March 2016 at 22:52, Gerald Gamrath <gamrath at zib.de> wrote:

> Dear James,
>
> this looks unexpected. Your separator adds constraints of your constraints
> handler and no rows? Then, the CONSLOCK callback of your constraint handler
> is called whenever a constraint is added to update the rounding locks of
> variables in the constraint. Could there be a performance issue in that
> CALLBACK implementation?
>
> Best,
> Gerald
>
> Am 28.02.2016 um 17:14 schrieb James Cussens:
>
> I have implemented a separator for a constraint handler I have written.
> When profiling I find that most of the time is spent when my separator
> calls my constraint hander's lock method:
>
>                                  2             SCIPconsAddLocks <cycle 2>
> [2184]
>                              257328483             ChordalSeparate <cycle
> 2> [19]
> [3]     49.2   27.00    0.64 257328485         consLockChordal <cycle 2>
> [3]
>                 0.35    0.00 110035069/224944534
> BMSreallocMemoryArray_call [45]
>                 0.29    0.00 147293414/176070304
> BMSallocMemoryArray_call [61]
>                 0.00    0.00    1332/12022817     readNextLine [147]
>                 0.00    0.00    1332/262849      get_edge [2084]
>                                  498             SCIPaddVarLocks <cycle 2>
> [2102]
>
> I'm not sure why this is happening. Can anyone enlighten me?
>
> Thanks,
>
> James
>
> --
> James Cussens
> Dept of Computer Science &
> York Centre for Complex Systems Analysis
> Room 326, The Hub, Deramore Lane            Tel    +44 (0)1904 325371
> University of York                                        Fax  +44
> (0)1904 500159
> York YO10 5GE, UK
> <http://www.cs.york.ac.uk/%7Ejc>http://www.cs.york.ac.uk/~jc
> http://www.york.ac.uk/docs/disclaimer/email.htm
>
>
> _______________________________________________
> Scip mailing listScip at zib.dehttp://listserv.zib.de/mailman/listinfo/scip
>
>
>


-- 
James Cussens
Dept of Computer Science &
York Centre for Complex Systems Analysis
Room 326, The Hub, Deramore Lane            Tel    +44 (0)1904 325371
University of York                                        Fax  +44 (0)1904
500159
York YO10 5GE, UK                               http://www.cs.york.ac.uk/~jc
http://www.york.ac.uk/docs/disclaimer/email.htm
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20160307/e450be18/attachment.html>


More information about the Scip mailing list