Toggle navigation
SCIP Optimization Suite
SCIP
SoPlex
ZIMPL
UG
GCG
Documentation
SCIP 9.2.0
SCIP 8.1.0
SCIP 7.0.3
SCIP 6.0.2
SCIP 5.0.1
SCIP 4.0.1
SCIP 3.2.1
SCIP
Solving Constraint Integer Programs
Overview
Files
Plugin Types
Interfaces
Examples
How To
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
scip-repo
src
scip
type_paramset.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-2014 Konrad-Zuse-Zentrum */
7
/* fuer Informationstechnik Berlin */
8
/* */
9
/* SCIP is distributed under the terms of the ZIB Academic License. */
10
/* */
11
/* You should have received a copy of the ZIB Academic License */
12
/* along with SCIP; see the file COPYING. If not email to scip@zib.de. */
13
/* */
14
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15
16
/**@file type_paramset.h
17
* @ingroup TYPEDEFINITIONS
18
* @brief type definitions for handling parameter settings
19
* @author Tobias Achterberg
20
*/
21
22
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
23
24
#ifndef __SCIP_TYPE_PARAMSET_H__
25
#define __SCIP_TYPE_PARAMSET_H__
26
27
#include "
scip/def.h
"
28
#include "
scip/type_retcode.h
"
29
#include "
scip/type_scip.h
"
30
31
#ifdef __cplusplus
32
extern
"C"
{
33
#endif
34
35
/** possible parameter types */
36
enum
SCIP_ParamType
37
{
38
SCIP_PARAMTYPE_BOOL
= 0,
/**< bool values: TRUE or FALSE */
39
SCIP_PARAMTYPE_INT
= 1,
/**< integer values */
40
SCIP_PARAMTYPE_LONGINT
= 2,
/**< long integer values */
41
SCIP_PARAMTYPE_REAL
= 3,
/**< real values */
42
SCIP_PARAMTYPE_CHAR
= 4,
/**< characters */
43
SCIP_PARAMTYPE_STRING
= 5
/**< strings: arrays of characters */
44
};
45
typedef
enum
SCIP_ParamType
SCIP_PARAMTYPE
;
46
47
/** possible parameter settings - used to determine the behavior of different SCIP components, e.g., heuristics, separtors, ... */
48
enum
SCIP_ParamSetting
49
{
50
SCIP_PARAMSETTING_DEFAULT
= 0,
/**< use default values */
51
52
SCIP_PARAMSETTING_AGGRESSIVE
= 1,
/**< set to aggressive settings */
53
SCIP_PARAMSETTING_FAST
= 2,
/**< set to fast settings */
54
SCIP_PARAMSETTING_OFF
= 3
/**< turn off */
55
};
56
typedef
enum
SCIP_ParamSetting
SCIP_PARAMSETTING
;
57
58
/** possible parameter emphases - used to determine the general SCIP behavior */
59
enum
SCIP_ParamEmphasis
60
{
61
SCIP_PARAMEMPHASIS_DEFAULT
= 0,
/**< use default values */
62
63
SCIP_PARAMEMPHASIS_CPSOLVER
= 1,
/**< get CP like search (e.g. no LP relaxation) */
64
SCIP_PARAMEMPHASIS_EASYCIP
= 2,
/**< solve easy problems fast */
65
SCIP_PARAMEMPHASIS_FEASIBILITY
= 3,
/**< detect feasibility fast */
66
SCIP_PARAMEMPHASIS_HARDLP
= 4,
/**< be capable to handle hard LPs */
67
SCIP_PARAMEMPHASIS_OPTIMALITY
= 5,
/**< prove optimality fast */
68
SCIP_PARAMEMPHASIS_COUNTER
= 6
/**< get a feasible and "fast" counting process */
69
};
70
typedef
enum
SCIP_ParamEmphasis
SCIP_PARAMEMPHASIS
;
71
72
typedef
struct
SCIP_Param
SCIP_PARAM
;
/**< single parameter */
73
typedef
struct
SCIP_ParamData
SCIP_PARAMDATA
;
/**< locally defined parameter specific data */
74
typedef
struct
SCIP_ParamSet
SCIP_PARAMSET
;
/**< set of parameters */
75
76
77
/** information method for changes in the parameter
78
*
79
* Method is called if the parameter was changed through a SCIPparamsetSetXyz() call
80
* (which is called by SCIPsetXyzParam()).
81
* It will not be called, if the parameter was changed directly by changing the value
82
* in the memory location.
83
*
84
* input:
85
* scip : SCIP main data structure
86
* param : the changed parameter (already set to its new value)
87
*/
88
#define SCIP_DECL_PARAMCHGD(x) SCIP_RETCODE x (SCIP* scip, SCIP_PARAM* param)
89
90
#ifdef __cplusplus
91
}
92
#endif
93
94
#endif
95