scipopt / scip

SCIP - Solving Constraint Integer Programs
Other
406 stars 67 forks source link

Add gap synchronization check to stop concurrent solvers #107

Closed zengbin5966 closed 2 months ago

zengbin5966 commented 2 months ago

This commit introduces a mechanism to enhance the synchronization process of the SYNCSTORE among concurrent solvers. It checks if the latest gap in the SYNCSTORE meets the predefined limit_gap. If the condition is satisfied, the commit stops updating the shared cache and terminates all ongoing concurrent solver processes.

The changes include:

This improvement aims to optimize resource utilization by preventing unnecessary computations once the desired gap threshold is achieved.

zengbin5966 commented 2 months ago

Upon reviewing the multi-threaded version of the SCIP using TPI=TNY, it was observed that the solving process did not correctly and promptly cease when the gap reached the specified limit_gap. This could lead to unnecessary computational resources being used and longer solve times.

ambros-gleixner commented 2 months ago

Thank you!

zengbin5966 commented 2 months ago

Thank you!

  • Can you please revise according to my comments and add a CHANGELOG message to the appropriate section?
  • Also, I would consider this to go onto the bugfix branch v91-bugfix, can you rebase your changes?

OK,I‘ll check it again