Scippy

SCIP

Solving Constraint Integer Programs

type_concsolver.h File Reference

Detailed Description

type definitions for concurrent solvers

Author
Robert Lion 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 54 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 64 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 74 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 84 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 102 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 116 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 127 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 136 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 147 of file type_concsolver.h.

Typedef Documentation

◆ SCIP_CONCSOLVERTYPE

the struct defining a concurrent solver class

Definition at line 40 of file type_concsolver.h.

◆ SCIP_CONCSOLVERTYPEDATA

typedef struct SCIP_ConcSolverTypeData SCIP_CONCSOLVERTYPEDATA

concurrent solver class user data

Definition at line 41 of file type_concsolver.h.

◆ SCIP_CONCSOLVER

struct for an instance of a concurrent solver

Definition at line 42 of file type_concsolver.h.

◆ SCIP_CONCSOLVERDATA

typedef struct SCIP_ConcSolverData SCIP_CONCSOLVERDATA

concurrent solver user data

Definition at line 43 of file type_concsolver.h.