[Scip] Heuristics - Shift and Propagate
Stefan Heinz
heinz at zib.de
Wed Nov 2 15:21:23 MET 2011
Hi Jacob,
On 11/02/11 14:53, Jacob Spönemann wrote:
> Hi Stefan,
>
> thanks for the fast reply!
>
> I am using 2.0.1 and, if possible, want stay with it, since I already
> did lots of evaluations with that version.
>
> The only plugin I found which uses a second SCIP instance seems to be
> the heuristic "Crossover", which is called right before the execution
> of "Shift and Propagate" (-> stack trace). So adding
> SCIPcopyParamSettings() in heur_crossover.c right after
> SCIP_CALL(SCIPcreate(&subscip)); could fix my problem?
>
Almost you should add the line
SCIP_CALL( SCIPcopyParamSettings(scip, subscip) );
after
SCIP_CALL( SCIPincludeDefaultPlugins(subscip) );
That should be line heur_crossover.c:781.
Checking your issue I saw that several other heuristics are also not
copying the settings in SCIP version 2.0.1. To force that you can change
the following parameters:
heuristics/crossover/uselprows = FALSE
heuristics/dins/uselprows = FALSE
heuristics/localbranching/uselprows = FALSE
heuristics/mutation/uselplprows = FALSE
heuristics/rens/uselprows = FALSE
heuristics/rins/uselprows = FALSE
If you are using these values you do not need to change the code in
these heuristics.
Best Stefan
PS: In SCIP version 2.1.0 these heuristics copy the settings ;-)
> Unfortunately, the error occurs after more than 3 hours of solving
> (the error does not occur in smaller instances of the underlying
> problem), so testing bugfixes takes some time...
>
> Best regards,
>
> Jacob
>
> Am 02.11.2011 12:51, schrieb Stefan Heinz:
>> Hi Jacob,
>>
>> which SCIP version are you using (I hope 2.1.0 ;-)). Can you send us
>> additionally a back trace.
>>
>> We are assuming that this problem occurs in subscip where the
>> settings of the master SCIP are not copied. Are you using within one
>> of your plugins a second SCIP instance? If so you should copy the
>> settings by using:
>>
>> SCIPcopyParamSettings()
>> http://scip.zib.de/doc/html/scip_8h.html#ade1245b4b0ecd94c85251d9330ed85ef
>>
>>
>> Best Stefan
>>
>> On 11/02/11 09:52, Jacob Spönemann wrote:
>>> Hi all,
>>>
>>> I implemented a column generation algorithm using SCIP and Gurobi.
>>>
>>> I am running into problems when the heuristic "Shift and Propagate"
>>> is executed (in the end convertSides in lpi_grb.c causes the error
>>> because the Gurobi interface cannot handle ranged rows). I tried to
>>> disable the heuristic by setting the frequency parameter to -1, but
>>> nevertheless the heuristic is executed.
>>>
>>> I observed that the value of the frequency parameter is set to 0
>>> during solution process. Is there any chance to prevent that?
>>>
>>> Best regards,
>>>
>>> Jacob
>>>
>>> Am 31.01.2011 04:29, schrieb Stephen J Maher:
>>>> Hi Gregor,
>>>>
>>>> I have been using the updated file that you sent to me. It worked
>>>> well.
>>>>
>>>> Unfortunately I am having another problem with the shift and
>>>> propagate heuristic. I have disabled it by setting the frequency
>>>> parameter to -1, however I am getting the error
>>>>
>>>> src/scip/heur_shiftandpropagate.c:1464: heurExecShiftandpropagate:
>>>> Assertion `SCIPisFeasEQ(scip, lb, ub)' failed
>>>>
>>>> Is there a way for me to avoid this error?
>>>>
>>>> Thanks for your help,
>>>>
>>>> Steve
>>>>
>>>>
>>>>
>>>> Gregor Hendel wrote:
>>>>> Hi Steve,
>>>>>
>>>>> I have changed the file heur_shiftandpropagate.c, s.t. it should
>>>>> work now. In the attachment, you'll find the file. Just replace
>>>>> the old version in <scip-base-dir>/src/scip by the new one. I'm
>>>>> not able to test it on column generation codes, so
>>>>> please inform me if this bugfix has fixed your problem sufficiently.
>>>>>
>>>>>> HI Gregor,
>>>>>>
>>>>>> I have run my code using the debugger gdb and it seems that the
>>>>>> problem with this heuristic occurs when the rens heuristic is
>>>>>> called. The problem still exists when I disable both, the rens
>>>>>> and shift-and-propagate, heuristics. If I disable all of the
>>>>>> heuristics the problem doesn't occur.
>>>>>>
>>>>>> I am adding variables dynamically. I have a variable pricer that
>>>>>> adds variables representing network flows. I am also adding
>>>>>> constraints of the problem through a version of benders
>>>>>> decomposition. At each iteration I am removing all variables from
>>>>>> the master problem and reinitialising using the optimal variables
>>>>>> from the previous iteration.
>>>>>>
>>>>>> The problem is written as a MIP with the network flow variables
>>>>>> being binary and there is a set of continuous variables as well.
>>>>>>
>>>>>> Thanks a lot for your help.
>>>>> Thank you for helping us developing a more stable SCIP version.
>>>>>
>>>>> Best, gregor
>>>>
>>>>
>>>> _______________________________________________
>>>> Scip mailing list
>>>> Scip at zib.de
>>>> http://listserv.zib.de/mailman/listinfo/scip
>>>
>>>
>>>
>>> _______________________________________________
>>> Scip mailing list
>>> Scip at zib.de
>>> http://listserv.zib.de/mailman/listinfo/scip
>>
>
More information about the Scip
mailing list