SCIP Doxygen Documentation
Loading...
Searching...
No Matches
struct_primal.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 struct_primal.h
26
* @ingroup INTERNALAPI
27
* @brief datastructures for collecting primal CIP solutions and primal informations
28
* @author Tobias Achterberg
29
*/
30
31
/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
32
33
#ifndef __SCIP_STRUCT_PRIMAL_H__
34
#define __SCIP_STRUCT_PRIMAL_H__
35
36
37
#include "
scip/def.h
"
38
#include "
scip/type_sol.h
"
39
#include "
scip/type_primal.h
"
40
41
#ifdef __cplusplus
42
extern
"C"
{
43
#endif
44
45
/** primal data and solution storage */
46
struct
SCIP_Primal
47
{
48
SCIP_Longint
nsolsfound
;
/**< number of primal CIP solutions found up to now */
49
SCIP_Longint
nlimsolsfound
;
/**< number of primal CIP solutions respecting the objective limit found
50
* up to now */
51
SCIP_Longint
nbestsolsfound
;
/**< number of new best primal CIP solutions found up to now */
52
SCIP_Longint
nlimbestsolsfound
;
/**< number of new best primal CIP solutions respecting the objective limit
53
* found up to now */
54
SCIP_Real
upperbound
;
/**< upper (primal) bound of CIP: objective value of best solution or user bound */
55
SCIP_Real
cutoffbound
;
/**< upper bound for better primal solutions (if objective value is always
56
* integral, cutoffbound is equal to ceil(upperbound) - 1.0 (+eps) */
57
SCIP_SOL
**
sols
;
/**< primal CIP solutions */
58
SCIP_SOL
**
partialsols
;
/**< partial solutions */
59
SCIP_SOL
**
existingsols
;
/**< all existing primal solutions (feasible, partial, and infeasible) */
60
SCIP_SOL
*
currentsol
;
/**< internal solution for temporarily storing the current solution */
61
SCIP_SOL
*
primalray
;
/**< solution representing the primal ray for (infeasible or) unbounded problems;
62
* warning: this does not have to be a feasible solution */
63
int
solssize
;
/**< size of sols array */
64
int
partialsolssize
;
/**< size of partialsols array */
65
int
nsols
;
/**< number of primal CIP solutions stored in sols array */
66
int
npartialsols
;
/**< number of partial solutions stored in partialsol array */
67
int
existingsolssize
;
/**< size of existingsols array */
68
int
nexistingsols
;
/**< number of primal CIP solutions stored in existingsols array */
69
70
SCIP_Bool
updateviolations
;
/**< marks whether the updating of violations is turned on */
71
};
72
73
#ifdef __cplusplus
74
}
75
#endif
76
77
#endif
def.h
common defines and data types used in all packages of SCIP
SCIP_Longint
#define SCIP_Longint
Definition
def.h:157
SCIP_Bool
#define SCIP_Bool
Definition
def.h:91
SCIP_Real
#define SCIP_Real
Definition
def.h:172
SCIP_Primal
Definition
struct_primal.h:47
SCIP_Primal::currentsol
SCIP_SOL * currentsol
Definition
struct_primal.h:60
SCIP_Primal::partialsolssize
int partialsolssize
Definition
struct_primal.h:64
SCIP_Primal::existingsolssize
int existingsolssize
Definition
struct_primal.h:67
SCIP_Primal::partialsols
SCIP_SOL ** partialsols
Definition
struct_primal.h:58
SCIP_Primal::sols
SCIP_SOL ** sols
Definition
struct_primal.h:57
SCIP_Primal::nexistingsols
int nexistingsols
Definition
struct_primal.h:68
SCIP_Primal::solssize
int solssize
Definition
struct_primal.h:63
SCIP_Primal::nlimbestsolsfound
SCIP_Longint nlimbestsolsfound
Definition
struct_primal.h:52
SCIP_Primal::nbestsolsfound
SCIP_Longint nbestsolsfound
Definition
struct_primal.h:51
SCIP_Primal::updateviolations
SCIP_Bool updateviolations
Definition
struct_primal.h:70
SCIP_Primal::nsols
int nsols
Definition
struct_primal.h:65
SCIP_Primal::primalray
SCIP_SOL * primalray
Definition
struct_primal.h:61
SCIP_Primal::nsolsfound
SCIP_Longint nsolsfound
Definition
struct_primal.h:48
SCIP_Primal::npartialsols
int npartialsols
Definition
struct_primal.h:66
SCIP_Primal::nlimsolsfound
SCIP_Longint nlimsolsfound
Definition
struct_primal.h:49
SCIP_Primal::cutoffbound
SCIP_Real cutoffbound
Definition
struct_primal.h:55
SCIP_Primal::existingsols
SCIP_SOL ** existingsols
Definition
struct_primal.h:59
SCIP_Primal::upperbound
SCIP_Real upperbound
Definition
struct_primal.h:54
type_primal.h
type definitions for collecting primal CIP solutions and primal informations
type_sol.h
type definitions for storing primal CIP solutions
SCIP_SOL
struct SCIP_Sol SCIP_SOL
Definition
type_sol.h:57
struct_primal.h
© 2002-2025 by Zuse Institute Berlin (ZIB),
Imprint
Generated by
1.13.2