[Scip] Dive

Jonas Witt jonas.witt at rwth-aachen.de
Mon May 6 17:39:22 MEST 2013


Hi Timo,

the assertion assert(SCIPtreeHasCurrentNodeLP(scip->tree)) in 
SCIPstartDive() failes.
SCIPtreeHasFocusNodeLP(scip->tree) returns FALSE, but 
SCIPtreeIsFocusNodeLPConstructed(scip->tree) returns TRUE. This is 
strange. Do I have to mark (or something else) the node to have a LP?

Best regards,
Jonas


Am 06.05.2013 17:06, schrieb Timo Berthold:
> Hi Jonas,
>
> please try the following:
> SCIP_CALL( SCIPtransformProb(subscip) );
> SCIP_CALL( SCIPsetLongintParam(subscip, "limits/nodes", 1LL) );
> SCIP_CALL( SCIPsetIntParam(subscip, "lp/solvefreq", -1) );
> SCIP_CALL( SCIPsetPresolving(subscip, SCIP_PARAMSETTING_OFF, TRUE) );
> SCIP_CALL( SCIPsetHeuristics(subscip, SCIP_PARAMSETTING_OFF, TRUE) );
> SCIP_CALL( SCIPsetSeparating(subscip, SCIP_PARAMSETTING_OFF, TRUE) );
> SCIP_CALL( SCIPsolve(subscip) );
> SCIP_CALL( SCIPconstructLP(subscip, &cutoff) );
> SCIP_CALL( SCIPflushLP(subscip) );
>
> Cheers,
> Timo
>
> Am 06.05.2013 16:45, schrieb Jonas Witt:
>> Hi Ambos,
>>
>> thanks for your help, I will try to implement the SCIPaddColDive() function.
>>
>> I have another question:
>> I have a SCIP instance in SCIP_STAGE_PROBLEM and I just want to
>> construct the root lp (without solving it) to start a dive. How can I do
>> this?
>>
>> I tried to turn presolving off and set lp/iterlim as well as
>> limits/nodes to 0 (I also tried 1). Then I called SCIPsolve(), but it
>> sometimes still solved the SCIP instance or left the SCIPsolve() in
>> SCIP_STAGE_PRESOLVING. After the dive I would like to return to the
>> SCIP_STAGE_PROBLEM, because I need to solve and modify this problem later.
>>
>>
>> Best regards,
>> Jonas
>>
>>
>>
>> Am 06.05.2013 15:02, schrieb Ambros Gleixner:
>>> Hi Jonas,
>>>
>>> yes, this is possible.  I cannot think of any big problems.  The most
>>> important issue is that the already existing columns are not modified
>>> (except for bounds and objective coefficients, of course) and that the
>>> LP is shrunk to the initial size when calling SCIPendDive().  This
>>> should be completely parallel to SCIPaddRowDive().
>>>
>>> I do not see another possibility except for expensive ways such as using
>>> a sub-SCIP.
>>>
>>> You can ask me any questions if you run into problems during the
>>> implementation.  We would be happy to include such an extension into the
>>> next release.
>>>
>>> Ambros
>>>
>>>
>>> Am 06.05.2013 10:03, schrieb Jonas Witt:
>>>> Hi all,
>>>>
>>>> I use the diving mode and I would like to add columns to the diving lp.
>>>> Is it possible to write a SCIPaddColDive()-function which is similar to
>>>> the SCIPaddRowDive()-function? What problems might occur? Or is there
>>>> another possibility to do this?
>>>>
>>>> Best regards,
>>>> Jonas
>>>> _______________________________________________
>>>> 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
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> http://listserv.zib.de/mailman/listinfo/scip
>



More information about the Scip mailing list