[Scip] hashKeyEqCut: Assertion `row1->lpcolssorted' failed
Gerald Gamrath
gamrath at zib.de
Tue Apr 1 12:23:53 CEST 2014
Dear Jana,
if you call SCIPcacheRowExtensions() before adding variables to the row,
you need to call SCIPflushRowExtensions() after you are done with
adding. This will really apply the changes and allows to sort the row,
as is needed later.
Best,
Gerald
Am 01.04.2014 12:01, schrieb Jana Kutscheid:
> Hi SCIP Users!
>
> I have a problem with a failing assertion which I only found when
> running SCIP in debug mode. I can run my code without errors in
> optimized mode.
>
> The program aborts with the following error.
> hsnp: src/scip/cutpool.c:87: hashKeyEqCut: Assertion
> `row1->lpcolssorted' failed.
>
> The row which is added to the cutpool at the moment the error occurs
> is generated by the code below.
>
> If I deactivate separation in the corresponding constraint handler I
> get another error:
> hsnp: src/scip/solve.c:2877: enforceConstraints: Assertion
> `SCIPsepastoreGetNCuts(sepastore) > 0' failed.
>
> Do you have an idea what causes these problems?
>
> Thanks,
> Jana
>
>
> Code which generates the problem row:
>
> SCIP_ROW *row;
> char s[SCIP_MAXSTRLEN];
>
> (void) SCIPsnprintf(s, SCIP_MAXSTRLEN,
> "time_sepa$%s#%d#%d%d%d", household->name, intervalEnd,time_a, time_b,
> time_c);
>
> SCIP_CALL( SCIPcreateEmptyRowCons(scip, &row, conshdlr, s,
> 0.0, 1.0, FALSE, FALSE, TRUE) );
> SCIP_CALL( SCIPcacheRowExtensions(scip, row) );
>
> if (time_a >= intervalBegin && time_a <= intervalEnd)
> SCIP_CALL( SCIPaddVarToRow(scip, row, a_var, 1.0) );
> if (time_b >= intervalBegin && time_b <= intervalEnd)
> SCIP_CALL( SCIPaddVarToRow(scip, row, b_var, 1.0) );
> if (time_c >= intervalBegin && time_c <= intervalEnd)
> SCIP_CALL( SCIPaddVarToRow(scip, row, c_var, 1.0) );
>
> if (SCIPisCutEfficacious(scip, NULL, row))
> {
> SCIP_CALL( SCIPaddCut(scip, NULL, row, TRUE) );
> SCIP_CALL( SCIPaddPoolCut(scip, row) );
> *result = SCIP_SEPARATED;
> }
> SCIP_CALL( SCIPreleaseRow(scip, &row));
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> http://listserv.zib.de/mailman/listinfo/scip
More information about the Scip
mailing list