Scippy

    SCIP

    Solving Constraint Integer Programs

    type_concsolver.h File Reference

    Detailed Description

    type definitions for concurrent solvers

    Author
    Leona Gottwald

    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.

    Macros

    #define SCIP_DECL_CONCSOLVERCREATEINST(x)   SCIP_RETCODE x (SCIP* scip, SCIP_CONCSOLVERTYPE* concsolvertype, SCIP_CONCSOLVER* concsolver)
     
    #define SCIP_DECL_CONCSOLVERDESTROYINST(x)   SCIP_RETCODE x (SCIP* scip, SCIP_CONCSOLVER* concsolver)
     
    #define SCIP_DECL_CONCSOLVERTYPEFREEDATA(x)   void x (SCIP_CONCSOLVERTYPEDATA** data)
     
    #define SCIP_DECL_CONCSOLVERINITSEEDS(x)   SCIP_RETCODE x (SCIP_CONCSOLVER* concsolver, unsigned int seed)
     
    #define SCIP_DECL_CONCSOLVERSYNCWRITE(x)   SCIP_RETCODE x (SCIP_CONCSOLVER* concsolver, SCIP_SYNCSTORE* syncstore, SCIP_SYNCDATA* syncdata, int maxcandsols, int maxsharedsols, int* nsolsshared)
     
    #define SCIP_DECL_CONCSOLVERSYNCREAD(x)   SCIP_RETCODE x (SCIP_CONCSOLVER* concsolver, SCIP_SYNCSTORE* syncstore, SCIP_SYNCDATA* syncdata, int* nsolsrecvd, int* ntighterbnds, int* ntighterintbnds)
     
    #define SCIP_DECL_CONCSOLVEREXEC(x)   SCIP_RETCODE x (SCIP_CONCSOLVER* concsolver, SCIP_Real* solvingtime, SCIP_Longint* nlpiterations, SCIP_Longint* nnodes)
     
    #define SCIP_DECL_CONCSOLVERSTOP(x)   SCIP_RETCODE x (SCIP_CONCSOLVER* concsolver)
     
    #define SCIP_DECL_CONCSOLVERCOPYSOLVINGDATA(x)   SCIP_RETCODE x (SCIP_CONCSOLVER* concsolver, SCIP* scip)
     

    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
    • concsolverinstance : pointer to return concurrent solver instance

    returns SCIP_OKAY if everything worked, otherwise, a suitable error code

    Definition at line 63 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
    • concsolverinstance : concurrent solver instance to destroy

    returns SCIP_OKAY if everything worked, otherwise, a suitable error code

    Definition at line 73 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:

    • scip : SCIP main data structure
    • 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 solution should be considered for sharing. Additionally a maximum if maxsharedsols should be passed to the syncstore.

    input:

    • concsolver : concurrent solver data structure
    • spi : pointer to the SCIP parallel interface
    • syncdata : concurrent solver data structure
    • maxcandsols : how many of the best solutions should be considered for sharing
    • maxsharedsols : the maximum number of solutions that should be shared

    returns SCIP_OKAY if everything worked, otherwise, a suitable error code

    Definition at line 111 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
    • spi : pointer to the SCIP parallel interface
    • syncdata : concurrent solver data structure

    returns SCIP_OKAY if everything worked, otherwise, a suitable error code

    Definition at line 125 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

    returns SCIP_OKAY if everything worked, otherwise, a suitable error code

    Definition at line 136 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 145 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 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 156 of file type_concsolver.h.

    Typedef Documentation

    ◆ SCIP_CONCSOLVERTYPE

    the struct defining a concurrent solver class

    Definition at line 49 of file type_concsolver.h.

    ◆ SCIP_CONCSOLVERTYPEDATA

    typedef struct SCIP_ConcSolverTypeData SCIP_CONCSOLVERTYPEDATA

    concurrent solver class user data

    Definition at line 50 of file type_concsolver.h.

    ◆ SCIP_CONCSOLVER

    struct for an instance of a concurrent solver

    Definition at line 51 of file type_concsolver.h.

    ◆ SCIP_CONCSOLVERDATA

    typedef struct SCIP_ConcSolverData SCIP_CONCSOLVERDATA

    concurrent solver user data

    Definition at line 52 of file type_concsolver.h.