[Scip] hashKeyEqCut: Assertion `row1->lpcolssorted' failed

Jana Kutscheid jkutscheid at web.de
Tue Apr 1 12:01:43 CEST 2014


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));



More information about the Scip mailing list