[Scip] Assertion failed: !lpCutoffDisabled(set)

Shahin Gelareh shahin.gelareh at gmail.com
Fri Apr 25 00:52:29 CEST 2014


Dear Gerald

>>> Could it be that your problem has a really huge optimal value larger
than 1e+100?
no, I also add a dummy node to rmp to make it always feasible. So  in the
worst case there is a feasible which has objective 10e4 .

I disabled the line

SCIP_CALL( SCIPsetCharParam(scip, "lp/initalgorithm", 'b') );

it seem the assert is not violate anymore. Although I do not have
convergence yet but that error disappears.
Are you will willing to have the LP reports?.


kind regards
Shahin



On Fri, Apr 25, 2014 at 12:15 AM, Gerald Gamrath <gamrath at zib.de> wrote:

> Dear Shahin,
>
>
>  Thank you for your reply.
>> Well answer to your first question:
>> lp_disablecutoff = 2
>>  and
>> lpiuobjlim =1e+20
>> it detects that nactivepricers = 1 in lpCutoffDisabled.
>>
> ok, all this is as it should be.
>
>
>
>> I use the following lines:
>>            SCIP_CALL( SCIPincludeObjPricer(scip, hrp_pricer_ptr, true) );
>>
>>            /* activate pricer */
>>            SCIP_CALL( SCIPactivatePricer(scip, SCIPfindPricer(scip,
>> HRP_PRICER_NAME)) );
>>
>>    /*************
>>     *  Solve    *
>>     *************/
>>     SCIP_CALL( SCIPsetCharParam(scip, "lp/initalgorithm", 'b') );
>>     SCIP_CALL( SCIPsolve(scip) );
>>
>>
>> when you say "objective limit" what is this and where is going this to be
>> used? why we need this? I could not find anywhere in documentation about it
>> (perhaps I missed it).
>>
>> So, it seems to me like the pricer is activated at the correct place, no?
>>
> Yes, this is also correct. The objective limit (or cutoff) is used in the
> LP solver to stop LP solving earlier in case it is already sure that the
> current node can be cut off. It is typically set to the value of the best
> primal solution SCIP found so far. When doing branch-and-price, however, we
> want to always solve the LP to optimality, so that this is automatically
> disabled.
>
>
>  Just a question for myself, how is that possible to "during the solving
>> process after the first LP was solved" ??  that means you activate pricing
>> from inside an instance of e.g. constraint or ...?
>>
> Yes, you could enable it in a constraint hander, heuristic, ... which
> might cause problems.
>
> Could it be that your problem has a really huge optimal value larger than
> 1e+100? This might also have caused the problem. Can you please enable LP
> solver output in SCIP and send me the output you get (in particular from
> the last solve before the assert comes up)?
> In order to do this, please add
> SCIP_CALL( SCIPsetBoolParam(scip, "display/lpinfo", TRUE) );
> before the SCIPsolve().
>
> Best,
> Gerald
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20140425/f8b378d0/attachment.html>


More information about the Scip mailing list