Scippy

    SCIP

    Solving Constraint Integer Programs

    main.cpp
    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 Scheduler/src/main.cpp
    26 * @brief Main file for C++ compilation
    27 * @author Stefan Heinz
    28 */
    29
    30/*--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
    31
    32
    33#include "scip/scip.h"
    34#include "scip/scipdefplugins.h"
    35#include "scip/scipshell.h"
    36
    37#include "cons_optcumulative.h"
    38#include "heur_optcumulative.h"
    39#include "heur_listscheduling.h"
    40#include "reader_cmin.h"
    41#include "reader_sch.h"
    42#include "reader_sm.h"
    43#include "reader_rcp.h"
    44
    45/** runs the shell */
    46static
    48 int argc, /**< number of shell parameters */
    49 char** argv, /**< array with shell parameters */
    50 const char* defaultsetname /**< name of default settings file */
    51 )
    52{
    53 SCIP* scip = NULL;
    54
    55 /*********
    56 * Setup *
    57 *********/
    58
    59 /* initialize SCIP */
    61
    62 /* we explicitly enable the use of a debug solution for this main SCIP instance */
    64
    65 /* include default plugins */
    67
    68 /* include problem reader */
    73
    74 /* include problem specific heuristic */
    77
    78 /* include cumulative constraint handler with optional activities */
    80
    81#ifdef WITH_CPOPTIMIZER
    82 SCIP_CALL( SCIPsetSolveCumulative(scip, cpoptimizer) );
    83#endif
    84
    85 /**********************************
    86 * Process command line arguments *
    87 **********************************/
    88
    89 SCIP_CALL( SCIPprocessShellArguments(scip, argc, argv, defaultsetname) );
    90
    91 /********************
    92 * Deinitialization *
    93 ********************/
    94
    96
    97 /* check block memory */
    99
    100 return SCIP_OKAY;
    101}
    102
    103/** main method */
    105 int argc, /**< number of arguments */
    106 char** argv /**< string array with arguments */
    107 )
    108{
    109 SCIP_RETCODE retcode;
    110
    111 retcode = runShell(argc, argv, "scip.set");
    112
    113 if( retcode != SCIP_OKAY )
    114 {
    115 SCIPprintError(retcode);
    116 return -1;
    117 }
    118
    119 return 0;
    120}
    SCIP_RETCODE SCIPincludeConshdlrOptcumulative(SCIP *scip)
    constraint handler for cumulative constraints with optional activities
    #define NULL
    Definition: def.h:248
    #define SCIP_CALL(x)
    Definition: def.h:355
    SCIP_RETCODE SCIPsetSolveCumulative(SCIP *scip, SCIP_DECL_SOLVECUMULATIVE((*solveCumulative)))
    void SCIPenableDebugSol(SCIP *scip)
    Definition: scip_debug.c:58
    SCIP_RETCODE SCIPfree(SCIP **scip)
    Definition: scip_general.c:402
    SCIP_RETCODE SCIPcreate(SCIP **scip)
    Definition: scip_general.c:370
    void SCIPprintError(SCIP_RETCODE retcode)
    Definition: scip_general.c:231
    SCIP_RETCODE SCIPincludeHeurListScheduling(SCIP *scip)
    scheduling specific primal heuristic which is based on bidirectional serial generation scheme.
    SCIP_RETCODE SCIPincludeHeurOptcumulative(SCIP *scip)
    heuristic for cumulative scheduling with optional activities
    int main(int argc, char **argv)
    Definition: main.cpp:104
    static SCIP_RETCODE runShell(int argc, char **argv, const char *defaultsetname)
    Definition: main.cpp:47
    #define BMScheckEmptyMemory()
    Definition: memory.h:155
    SCIP_RETCODE SCIPincludeReaderCmin(SCIP *scip)
    Definition: reader_cmin.c:1381
    cmin file reader
    SCIP_RETCODE SCIPincludeReaderRcp(SCIP *scip)
    Definition: reader_rcp.c:309
    file reader for "pack" scheduling instances
    SCIP_RETCODE SCIPincludeReaderSch(SCIP *scip)
    Definition: reader_sch.c:409
    scheduling problem file reader for RCPSP/max format
    SCIP_RETCODE SCIPincludeReaderSm(SCIP *scip)
    Definition: reader_sm.c:716
    scheduling problem file reader for RCPSP format
    SCIP callable library.
    SCIP_RETCODE SCIPincludeDefaultPlugins(SCIP *scip)
    default SCIP plugins
    SCIP_RETCODE SCIPprocessShellArguments(SCIP *scip, int argc, char **argv, const char *defaultsetname)
    Definition: scipshell.c:288
    SCIP command line interface.
    @ SCIP_OKAY
    Definition: type_retcode.h:42
    enum SCIP_Retcode SCIP_RETCODE
    Definition: type_retcode.h:63