Scippy

    SCIP

    Solving Constraint Integer Programs

    heur_zeroobj.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 heur_zeroobj.h
    26 * @ingroup PRIMALHEURISTICS
    27 * @brief heuristic that tries to solve the problem without objective. In Gurobi, this heuristic is known as "Hail Mary"
    28 * @author Timo Berthold
    29 */
    30
    31/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
    32
    33#ifndef __SCIP_HEUR_ZEROOBJ_H__
    34#define __SCIP_HEUR_ZEROOBJ_H__
    35
    36#include "scip/def.h"
    37#include "scip/type_heur.h"
    38#include "scip/type_result.h"
    39#include "scip/type_retcode.h"
    40#include "scip/type_scip.h"
    41
    42#ifdef __cplusplus
    43extern "C" {
    44#endif
    45
    46/** creates the zeroobj primal heuristic and includes it in SCIP
    47 *
    48 * @ingroup PrimalHeuristicIncludes
    49 */
    50SCIP_EXPORT
    52 SCIP* scip /**< SCIP data structure */
    53 );
    54
    55/**@addtogroup PRIMALHEURISTICS
    56 *
    57 * @{
    58 */
    59
    60/** main procedure of the zeroobj heuristic, creates and solves a sub-SCIP */
    61SCIP_EXPORT
    63 SCIP* scip, /**< original SCIP data structure */
    64 SCIP_HEUR* heur, /**< heuristic data structure */
    65 SCIP_RESULT* result, /**< result data structure */
    66 SCIP_Real minimprove, /**< factor by which zeroobj should at least improve the incumbent */
    67 SCIP_Longint nnodes /**< node limit for the subproblem */
    68 );
    69
    70/** @} */
    71
    72#ifdef __cplusplus
    73}
    74#endif
    75
    76#endif
    common defines and data types used in all packages of SCIP
    #define SCIP_Longint
    Definition: def.h:141
    #define SCIP_Real
    Definition: def.h:156
    #define nnodes
    Definition: gastrans.c:74
    SCIP_RETCODE SCIPapplyZeroobj(SCIP *scip, SCIP_HEUR *heur, SCIP_RESULT *result, SCIP_Real minimprove, SCIP_Longint nnodes)
    Definition: heur_zeroobj.c:504
    SCIP_RETCODE SCIPincludeHeurZeroobj(SCIP *scip)
    Definition: heur_zeroobj.c:558
    type definitions for primal heuristics
    result codes for SCIP callback methods
    enum SCIP_Result SCIP_RESULT
    Definition: type_result.h:61
    type definitions for return codes for SCIP methods
    enum SCIP_Retcode SCIP_RETCODE
    Definition: type_retcode.h:63
    type definitions for SCIP's main datastructure