Skip to content

Commit 9c36f29

Browse files
committed
Merge remote-tracking branch 'origin/v10-minor'
2 parents 7bc73d2 + 9d00d9f commit 9c36f29

File tree

4 files changed

+16
-14
lines changed

4 files changed

+16
-14
lines changed

src/scip/scip_solve.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3009,7 +3009,7 @@ SCIP_RETCODE SCIPsolveConcurrent(
30093009
{
30103010
/* if yes, then presolve the problem */
30113011
SCIP_CALL( SCIPpresolve(scip) );
3012-
if( SCIPgetStatus(scip) >= SCIP_STATUS_OPTIMAL )
3012+
if( SCIPgetStatus(scip) != SCIP_STATUS_UNKNOWN )
30133013
return SCIP_OKAY;
30143014
}
30153015
else

src/scip/sepa_eccuts.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1180,7 +1180,9 @@ SCIP_RETCODE storeAggrFromMIP(
11801180
assert(backwardarcs != NULL);
11811181
assert(quadvar2aggr != NULL);
11821182
assert(nfoundsofar >= 0);
1183-
assert(SCIPgetStatus(subscip) < SCIP_STATUS_INFEASIBLE);
1183+
assert(SCIPgetStatus(subscip) != SCIP_STATUS_INFEASIBLE);
1184+
assert(SCIPgetStatus(subscip) != SCIP_STATUS_UNBOUNDED);
1185+
assert(SCIPgetStatus(subscip) != SCIP_STATUS_INFORUNBD);
11841186
assert(SCIPgetNSols(subscip) > 0);
11851187

11861188
sol = SCIPgetBestSol(subscip);
@@ -1280,7 +1282,7 @@ SCIP_RETCODE searchEcAggrWithMIP(
12801282
SCIP_CALL( SCIPsolve(subscip) );
12811283

12821284
/* no more aggregation left if the MIP is infeasible */
1283-
if( SCIPgetStatus(subscip) >= SCIP_STATUS_INFEASIBLE )
1285+
if( SCIPgetStatus(subscip) == SCIP_STATUS_INFEASIBLE )
12841286
{
12851287
*found = FALSE;
12861288
*aggrleft = FALSE;

src/scip/syncstore.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -648,16 +648,21 @@ void SCIPsyncdataSetSyncFreq(
648648
void SCIPsyncdataSetStatus(
649649
SCIP_SYNCDATA* syncdata, /**< the synchronization data the upperbound should be added to */
650650
SCIP_STATUS status, /**< the status */
651-
int solverid /**< identifier of te solver that has this status */
651+
int solverid /**< identifier of the solver that has this status */
652652
)
653653
{
654654
assert(syncdata != NULL);
655655

656-
/* check if status is better than current one (closer to SCIP_STATUS_OPTIMAL),
657-
* break ties by the solverid, and remember the solver wit the best status
658-
* so that the winner will be selected deterministically
656+
/* check if status is better than current one (closer to SCIP_STATUS_OPTIMAL assumed to be followed by
657+
* SCIP_STATUS_INFEASIBLE and SCIP_STATUS_UNBOUNDED) and break ties by the solverid; remember the solver with the
658+
* best status so that the winner will be selected deterministically
659659
*/
660-
if( syncdata->status < SCIP_STATUS_OPTIMAL )
660+
if( syncdata->winner < 0 )
661+
{
662+
syncdata->status = status;
663+
syncdata->winner = solverid;
664+
}
665+
else if( syncdata->status < SCIP_STATUS_OPTIMAL )
661666
{
662667
if( status > syncdata->status || (status == syncdata->status && solverid < syncdata->winner) )
663668
{
@@ -673,11 +678,6 @@ void SCIPsyncdataSetStatus(
673678
syncdata->winner = solverid;
674679
}
675680
}
676-
else if( syncdata->winner < 0 )
677-
{
678-
syncdata->status = status;
679-
syncdata->winner = solverid;
680-
}
681681
}
682682

683683
/** adds memory used to the synchronization data */

src/scip/syncstore.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ SCIP_EXPORT
243243
void SCIPsyncdataSetStatus(
244244
SCIP_SYNCDATA* syncdata, /**< the synchronization data the upperbound should be added to */
245245
SCIP_STATUS status, /**< the status */
246-
int solverid /**< identifier of te solver that has this status */
246+
int solverid /**< identifier of the solver that has this status */
247247
);
248248

249249
/** adds memory used to the synchronization data */

0 commit comments

Comments
 (0)