SCIP Doxygen Documentation
Loading...
Searching...
No Matches
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-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 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 */
46
static
47
SCIP_RETCODE
runShell
(
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 */
60
SCIP_CALL
(
SCIPcreate
(&
scip
) );
61
62
/* we explicitly enable the use of a debug solution for this main SCIP instance */
63
SCIPenableDebugSol
(
scip
);
64
65
/* include default plugins */
66
SCIP_CALL
(
SCIPincludeDefaultPlugins
(
scip
) );
67
68
/* include problem reader */
69
SCIP_CALL
(
SCIPincludeReaderCmin
(
scip
) );
70
SCIP_CALL
(
SCIPincludeReaderSch
(
scip
) );
71
SCIP_CALL
(
SCIPincludeReaderSm
(
scip
) );
72
SCIP_CALL
(
SCIPincludeReaderRcp
(
scip
) );
73
74
/* include problem specific heuristic */
75
SCIP_CALL
(
SCIPincludeHeurListScheduling
(
scip
) );
76
SCIP_CALL
(
SCIPincludeHeurOptcumulative
(
scip
) );
77
78
/* include cumulative constraint handler with optional activities */
79
SCIP_CALL
(
SCIPincludeConshdlrOptcumulative
(
scip
) );
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
95
SCIP_CALL
(
SCIPfree
(&
scip
) );
96
97
/* check block memory */
98
BMScheckEmptyMemory
();
99
100
return
SCIP_OKAY
;
101
}
102
103
/** main method */
104
int
main
(
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
}
SCIPincludeConshdlrOptcumulative
SCIP_RETCODE SCIPincludeConshdlrOptcumulative(SCIP *scip)
Definition
cons_optcumulative.c:4100
cons_optcumulative.h
constraint handler for cumulative constraints with optional activities
NULL
#define NULL
Definition
def.h:267
SCIP_CALL
#define SCIP_CALL(x)
Definition
def.h:374
SCIPsetSolveCumulative
SCIP_RETCODE SCIPsetSolveCumulative(SCIP *scip,)
Definition
cons_cumulative.c:14324
SCIPenableDebugSol
void SCIPenableDebugSol(SCIP *scip)
Definition
scip_debug.c:57
SCIPfree
SCIP_RETCODE SCIPfree(SCIP **scip)
Definition
scip_general.c:339
SCIPcreate
SCIP_RETCODE SCIPcreate(SCIP **scip)
Definition
scip_general.c:307
SCIPprintError
void SCIPprintError(SCIP_RETCODE retcode)
Definition
scip_general.c:221
SCIP_OKAY
return SCIP_OKAY
Definition
heur_actconsdiving.c:235
SCIPincludeHeurListScheduling
SCIP_RETCODE SCIPincludeHeurListScheduling(SCIP *scip)
Definition
heur_listscheduling.c:843
heur_listscheduling.h
scheduling specific primal heuristic which is based on bidirectional serial generation scheme.
SCIPincludeHeurOptcumulative
SCIP_RETCODE SCIPincludeHeurOptcumulative(SCIP *scip)
Definition
heur_optcumulative.c:700
heur_optcumulative.h
heuristic for cumulative scheduling with optional activities
i
int i
Definition
heur_rootsoldiving.c:212
main
int main(int argc, char **argv)
Definition
main.cpp:104
runShell
static SCIP_RETCODE runShell(int argc, char **argv, const char *defaultsetname)
Definition
main.cpp:47
BMScheckEmptyMemory
#define BMScheckEmptyMemory()
Definition
memory.h:155
scip
Definition
objbenders.h:44
SCIPincludeReaderCmin
SCIP_RETCODE SCIPincludeReaderCmin(SCIP *scip)
Definition
reader_cmin.c:1381
reader_cmin.h
cmin file reader
SCIPincludeReaderRcp
SCIP_RETCODE SCIPincludeReaderRcp(SCIP *scip)
Definition
reader_rcp.c:309
reader_rcp.h
file reader for "pack" scheduling instances
SCIPincludeReaderSch
SCIP_RETCODE SCIPincludeReaderSch(SCIP *scip)
Definition
reader_sch.c:409
reader_sch.h
scheduling problem file reader for RCPSP/max format
SCIPincludeReaderSm
SCIP_RETCODE SCIPincludeReaderSm(SCIP *scip)
Definition
reader_sm.c:716
reader_sm.h
scheduling problem file reader for RCPSP format
scip.h
SCIP callable library.
SCIPincludeDefaultPlugins
SCIP_RETCODE SCIPincludeDefaultPlugins(SCIP *scip)
Definition
scipdefplugins.c:37
scipdefplugins.h
default SCIP plugins
SCIPprocessShellArguments
SCIP_RETCODE SCIPprocessShellArguments(SCIP *scip, int argc, char **argv, const char *defaultsetname)
Definition
scipshell.c:273
scipshell.h
SCIP command line interface.
Scip
Definition
struct_scip.h:70
SCIP_RETCODE
enum SCIP_Retcode SCIP_RETCODE
Definition
type_retcode.h:63
applications
Scheduler
src
main.cpp
© 2002-2024 by Zuse Institute Berlin (ZIB),
Imprint
Generated by
1.10.0