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-2025 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 int nvars; /**< number of active variables in original problem (size of varperm) */
    56 SCIP_Real dettime; /**< deterministic time since last sync */
    57 SCIP_CLOCK* wallclock; /**< wallclock time since last sync */
    58 SCIP_PROP* propsync; /**< sync propagator */
    59 SCIP_HEUR* heursync; /**< sync heuristic */
    60 SCIP_EVENTHDLR* eventglobalbnd; /**< global bound eventhandler */
    61 int solidx; /**< solution index after last synchronization */
    62};
    63
    64#ifdef __cplusplus
    65}
    66#endif
    67
    68#endif
    common defines and data types used in all packages of SCIP
    #define SCIP_Real
    Definition: def.h:156
    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