@@ -648,16 +648,21 @@ void SCIPsyncdataSetSyncFreq(
648
648
void SCIPsyncdataSetStatus (
649
649
SCIP_SYNCDATA * syncdata , /**< the synchronization data the upperbound should be added to */
650
650
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 */
652
652
)
653
653
{
654
654
assert (syncdata != NULL );
655
655
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
659
659
*/
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 )
661
666
{
662
667
if ( status > syncdata -> status || (status == syncdata -> status && solverid < syncdata -> winner ) )
663
668
{
@@ -673,11 +678,6 @@ void SCIPsyncdataSetStatus(
673
678
syncdata -> winner = solverid ;
674
679
}
675
680
}
676
- else if ( syncdata -> winner < 0 )
677
- {
678
- syncdata -> status = status ;
679
- syncdata -> winner = solverid ;
680
- }
681
681
}
682
682
683
683
/** adds memory used to the synchronization data */
0 commit comments