Scippy

SCIP

Solving Constraint Integer Programs

cmain.c
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 examples/Eventhdlr/src/cmain.c
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 "event_bestsol.h"
38#include "event_boundwriting.h"
39
40/** runs the shell */
41static
43 int argc, /**< number of shell parameters */
44 char** argv, /**< array with shell parameters */
45 const char* defaultsetname /**< name of default settings file */
46 )
47{
48 SCIP* scip = NULL;
49
50 /*********
51 * Setup *
52 *********/
53
54 /* initialize SCIP */
56
57 /* include default plugins */
59
60 /* include event handler for best solution found */
63
64 /**********************************
65 * Process command line arguments *
66 **********************************/
67
68 SCIP_CALL( SCIPprocessShellArguments(scip, argc, argv, defaultsetname) );
69
70 /********************
71 * Deinitialization *
72 ********************/
73
75
76 /* check block memory */
78
79 return SCIP_OKAY;
80}
81
82/** main method */
83int main(
84 int argc, /**< number of shell parameters */
85 char** argv /**< array with shell parameters */
86 )
87{
88 SCIP_RETCODE retcode;
89
90 retcode = runShell(argc, argv, "scip.set");
91
92 if( retcode != SCIP_OKAY )
93 {
94 SCIPprintError(retcode);
95 return -1;
96 }
97
98 return 0;
99}
int main(int argc, char **argv)
Definition: cmain.c:111
#define NULL
Definition: def.h:266
#define SCIP_CALL(x)
Definition: def.h:373
SCIP_RETCODE SCIPincludeEventHdlrBestsol(SCIP *scip)
eventhdlr for best solution found
SCIP_RETCODE SCIPincludeEventHdlrBoundwriting(SCIP *scip)
event handler for writing primal- and dual bound for all open nodes
static SCIP_RETCODE runShell(int argc, char **argv, const char *defaultsetname)
Definition: cmain.c:42
SCIP_RETCODE SCIPfree(SCIP **scip)
Definition: scip_general.c:349
SCIP_RETCODE SCIPcreate(SCIP **scip)
Definition: scip_general.c:317
void SCIPprintError(SCIP_RETCODE retcode)
Definition: scip_general.c:222
#define BMScheckEmptyMemory()
Definition: memory.h:155
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:273
SCIP command line interface.
@ SCIP_OKAY
Definition: type_retcode.h:42
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:63