Go to the documentation of this file.
28 #include "scip/type_syncstore.h"
29 #include "tpi/type_tpi.h"
30 #include "scip/def.h"
31 #include "scip/type_scip.h"
32 #include "scip/type_stat.h"
33 #include "scip/type_lp.h"
39 struct SCIP_SyncStore
42 SCIP_PARALLELMODE mode; /**< the mode for the parallel solving */
43 SCIP_Bool initialized; /**< flag to indicate whether the syncstore has been initialized */
45 SCIP_SYNCDATA* syncdata; /**< array of size nsyncdata, containing the synchronization data
47 SCIP_SYNCDATA* lastsync; /**< pointer to the last synchronization data that has been synchronized
56 SCIP_Real minsyncdelay; /**< the minimum delay before a synchronization data may be read */
57 int maxnsyncdelay; /**< maximum number of synchronizations before the reading of the next
60 SCIP_Real syncfreqinit; /**< the initial synchronization frequency which is read from the settings
62 SCIP_Real syncfreqmax; /**< the maximum synchronization frequency */
70 SCIP_Real* solobj; /**< array with the objective value of all stored solutions */
71 SCIP_Real** sols; /**< array with the solution values of each variable for all stored solutions */
74 SCIP_Real bestlowerbound; /**< largest lower bound on the objective value that was stored in this
76 SCIP_Real bestupperbound; /**< smalles upper bound on the objective value that was stored in this
78 SCIP_Longint syncnum; /**< the synchronization number of this synchronization data */
80 SCIP_STATUS status; /**< the best status that was stored in this synchronization data */
81 SCIP_LOCK lock; /**< a lock to protect this synchronization data */
82 int syncedcount; /**< a counter of how many solvers have finished writing to this synchronization data */
83 SCIP_CONDITION allsynced; /**< a condition variable to signal when the last solver has finished writing to this
85 SCIP_BOUNDSTORE* boundstore; /**< a boundstore for storing all the bound changes that were added to this
87 SCIP_Real syncfreq; /**< the synchroization frequency that was set in this synchronization data */
88 SCIP_Longint memtotal; /**< the total amount of memory used by all solvers including the main SCIP */
92 typedef struct
94 int pos; /**< stores at pos[SCIP_BOUNDTYPE_LOWER] the position of the lowerbound and
96 } BoundPos;
99 typedef struct
103 SCIP_BOUNDTYPE boundtype; /**< the type of the variables new bound */
104 } BoundChg;
106 struct SCIP_BoundStore
113 int bndchgsize; /**< the size of the bound change array */
enum SCIP_BoundType SCIP_BOUNDTYPE
SCIP_SYNCDATA * lastsync
the type definitions for the task processing interface
BoundPos * bndpos
BoundChg * bndchg
type definitions for problem statistics
type definitions for LP management
type definitions for SCIP's main datastructure
struct SCIP_SyncData SCIP_SYNCDATA
SCIP * mainscip
SCIP_SYNCDATA * syncdata
enum SCIP_Status SCIP_STATUS
enum SCIP_Parallelmode SCIP_PARALLELMODE
the type definitions for the synchronization store
common defines and data types used in all packages of SCIP