Detailed Description
type definitions for concurrent solvers
This file defines the interface for concurrent solvers.
Definition in file type_concsolver.h.
#include "scip/def.h"#include "scip/type_scip.h"#include "scip/type_stat.h"#include "scip/type_lp.h"#include "scip/type_syncstore.h"Go to the source code of this file.
Typedefs | |
| typedef struct SCIP_ConcSolverType | SCIP_CONCSOLVERTYPE |
| typedef struct SCIP_ConcSolverTypeData | SCIP_CONCSOLVERTYPEDATA |
| typedef struct SCIP_ConcSolver | SCIP_CONCSOLVER |
| typedef struct SCIP_ConcSolverData | SCIP_CONCSOLVERDATA |
Macro Definition Documentation
◆ SCIP_DECL_CONCSOLVERCREATEINST
| #define SCIP_DECL_CONCSOLVERCREATEINST | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_CONCSOLVERTYPE* concsolvertype, SCIP_CONCSOLVER* concsolver) |
creates a concurrent solver instance
input:
- scip : SCIP main data structure
- concsolvertype : type of concurrent solver an instance should be created for
- concsolver : pointer to return concurrent solver instance
returns SCIP_OKAY if everything worked, otherwise, a suitable error code
Definition at line 64 of file type_concsolver.h.
◆ SCIP_DECL_CONCSOLVERDESTROYINST
| #define SCIP_DECL_CONCSOLVERDESTROYINST | ( | x | ) | SCIP_RETCODE x (SCIP* scip, SCIP_CONCSOLVER* concsolver) |
destroys a concurrent solver instance
input:
- scip : SCIP main data structure
- concsolver : concurrent solver instance to destroy
returns SCIP_OKAY if everything worked, otherwise, a suitable error code
Definition at line 74 of file type_concsolver.h.
◆ SCIP_DECL_CONCSOLVERTYPEFREEDATA
| #define SCIP_DECL_CONCSOLVERTYPEFREEDATA | ( | x | ) | void x (SCIP_CONCSOLVERTYPEDATA** data) |
frees data of a concurrent solver type
input:
- data : concurrent solver type data to free
returns SCIP_OKAY if everything worked, otherwise, a suitable error code
Definition at line 83 of file type_concsolver.h.
◆ SCIP_DECL_CONCSOLVERINITSEEDS
| #define SCIP_DECL_CONCSOLVERINITSEEDS | ( | x | ) | SCIP_RETCODE x (SCIP_CONCSOLVER* concsolver, unsigned int seed) |
initialize random seeds of a concurrent solver
input:
- concsolver : concurrent solver data structure
- seed : seed for initializing the solver's internal random seeds
returns SCIP_OKAY if everything worked, otherwise, a suitable error code
Definition at line 93 of file type_concsolver.h.
◆ SCIP_DECL_CONCSOLVERSYNCWRITE
| #define SCIP_DECL_CONCSOLVERSYNCWRITE | ( | x | ) | SCIP_RETCODE x (SCIP_CONCSOLVER* concsolver, SCIP_SYNCSTORE* syncstore, SCIP_SYNCDATA* syncdata, int maxcandsols, int maxsharedsols, int* nsolsshared) |
synchronization method of concurrent solver for writing data
Syncronizes with other solvers. The concurrent solver should pass new solutions and bounds to the syncstore. For the solutions, no more than maxcandsols of the best solutions should be considered for sharing. Additionally a maximum if maxsharedsols should be passed to the syncstore.
input:
- concsolver : concurrent solver data structure
- syncstore : pointer to the SCIP synchronization store
- syncdata : synchronization data
- maxcandsols : maximal number of best solutions that should be considered for sharing
- maxsharedsols : maximum number of solutions that should be shared
- nsolsshared : pointer to return the number of solutions shared
returns SCIP_OKAY if everything worked, otherwise, a suitable error code
Definition at line 112 of file type_concsolver.h.
◆ SCIP_DECL_CONCSOLVERSYNCREAD
| #define SCIP_DECL_CONCSOLVERSYNCREAD | ( | x | ) | SCIP_RETCODE x (SCIP_CONCSOLVER* concsolver, SCIP_SYNCSTORE* syncstore, SCIP_SYNCDATA* syncdata, int* nsolsrecvd, int* ntighterbnds, int* ntighterintbnds) |
synchronization method of concurrent solver for reading data
The concurrent solver should read the solutions and bounds stored in the given synchronization data.
input:
- concsolver : concurrent solver data structure
- syncstore : pointer to the SCIP synchronization store
- syncdata : synchronization data
- nsolsrecvd : pointer to return the number of received solutions
- ntighterbnds : pointer to return the number of tighter bounds
- ntighterintbnds : pointer to return the number of tighter integer bounds
returns SCIP_OKAY if everything worked, otherwise, a suitable error code
Definition at line 129 of file type_concsolver.h.
◆ SCIP_DECL_CONCSOLVEREXEC
| #define SCIP_DECL_CONCSOLVEREXEC | ( | x | ) | SCIP_RETCODE x (SCIP_CONCSOLVER* concsolver, SCIP_Real* solvingtime, SCIP_Longint* nlpiterations, SCIP_Longint* nnodes) |
execution method of concurrent solver
start solving of the problem given during initialization
input:
- concsolver : concurrent solver data structure
- solvingtime : pointer to return the used solving time
- nlpiterations : pointer to return the used number of LP iterations
- nnodes : pointer to return the used number of branch-and-bound nodes
returns SCIP_OKAY if everything worked, otherwise, a suitable error code
Definition at line 143 of file type_concsolver.h.
◆ SCIP_DECL_CONCSOLVERSTOP
| #define SCIP_DECL_CONCSOLVERSTOP | ( | x | ) | SCIP_RETCODE x (SCIP_CONCSOLVER* concsolver) |
stop the solving as soon as possible
input:
- concsolver : concurrent solver data structure
returns SCIP_OKAY if everything worked, otherwise, a suitable error code
Definition at line 152 of file type_concsolver.h.
◆ SCIP_DECL_CONCSOLVERCOPYSOLVINGDATA
| #define SCIP_DECL_CONCSOLVERCOPYSOLVINGDATA | ( | x | ) | SCIP_RETCODE x (SCIP_CONCSOLVER* concsolver, SCIP* scip) |
extract the solving data from the concurrent solver
The concurrent solver should get the data and store it into the SCIP datastructure, so that this SCIP instance has the optimal solution and reports the correct status and statistics.
input:
- concsolver : concurrent solver data structure
- scip : SCIP datastructure
returns SCIP_OKAY if everything worked, otherwise, a suitable error code
Definition at line 165 of file type_concsolver.h.
Typedef Documentation
◆ SCIP_CONCSOLVERTYPE
| typedef struct SCIP_ConcSolverType SCIP_CONCSOLVERTYPE |
the struct defining a concurrent solver class
Definition at line 50 of file type_concsolver.h.
◆ SCIP_CONCSOLVERTYPEDATA
| typedef struct SCIP_ConcSolverTypeData SCIP_CONCSOLVERTYPEDATA |
concurrent solver class user data
Definition at line 51 of file type_concsolver.h.
◆ SCIP_CONCSOLVER
| typedef struct SCIP_ConcSolver SCIP_CONCSOLVER |
struct for an instance of a concurrent solver
Definition at line 52 of file type_concsolver.h.
◆ SCIP_CONCSOLVERDATA
| typedef struct SCIP_ConcSolverData SCIP_CONCSOLVERDATA |
concurrent solver user data
Definition at line 53 of file type_concsolver.h.