Scippy

SCIP

Solving Constraint Integer Programs

struct_concurrent.h
Go to the documentation of this file.
1/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2/* */
3/* This file is part of the program and library */
4/* SCIP --- Solving Constraint Integer Programs */
5/* */
6/* Copyright (c) 2002-2024 Zuse Institute Berlin (ZIB) */
7/* */
8/* Licensed under the Apache License, Version 2.0 (the "License"); */
9/* you may not use this file except in compliance with the License. */
10/* You may obtain a copy of the License at */
11/* */
12/* http://www.apache.org/licenses/LICENSE-2.0 */
13/* */
14/* Unless required by applicable law or agreed to in writing, software */
15/* distributed under the License is distributed on an "AS IS" BASIS, */
16/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
17/* See the License for the specific language governing permissions and */
18/* limitations under the License. */
19/* */
20/* You should have received a copy of the Apache-2.0 license */
21/* along with SCIP; see the file LICENSE. If not visit scipopt.org. */
22/* */
23/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
24
25/**@file struct_concurrent.h
26 * @ingroup INTERNALAPI
27 * @brief concurrent data struct
28 * @author Leona Gottwald
29 */
30
31/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
32
33#ifndef __SCIP_STRUCT_CONCURRENT_H__
34#define __SCIP_STRUCT_CONCURRENT_H__
35
36#include "scip/def.h"
38#include "scip/type_clock.h"
40#include "scip/type_prop.h"
41#include "scip/type_heur.h"
42#include "scip/type_event.h"
43
44#ifdef __cplusplus
45extern "C" {
46#endif
47
48/** data for concurrent solve stored in struct scip */
50{
51 SCIP* mainscip; /**< main scip for concurrent solver */
52 SCIP_CONCSOLVER* concsolver; /**< the concurrent solver of the main scip */
53 int* varperm; /**< permutation of variables to get the position of variable in the original SCIP's
54 * variable array by the index of an original variable in this concurrent's main SCIP */
55 SCIP_Real dettime; /**< deterministic time since last sync */
56 SCIP_CLOCK* wallclock; /**< wallclock time since last sync */
57 SCIP_PROP* propsync; /**< sync propagator */
58 SCIP_HEUR* heursync; /**< sync heuristic */
59 SCIP_EVENTHDLR* eventglobalbnd; /**< global bound eventhandler */
60 int solidx; /**< solution index after last synchronization */
61};
62
63#ifdef __cplusplus
64}
65#endif
66
67#endif
common defines and data types used in all packages of SCIP
#define SCIP_Real
Definition: def.h:172
SCIP_PROP * propsync
SCIP_HEUR * heursync
SCIP_CLOCK * wallclock
SCIP_EVENTHDLR * eventglobalbnd
SCIP_CONCSOLVER * concsolver
type definitions for clocks and timing issues
type definitions for concurrent solvers
type definition of concurrent data
type definitions for managing events
type definitions for primal heuristics
type definitions for propagators