Scippy

SCIP

Solving Constraint Integer Programs

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-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 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
42extern "C" {
43#endif
44
45/** primal data and solution storage */
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
common defines and data types used in all packages of SCIP
#define SCIP_Longint
Definition: def.h:158
#define SCIP_Bool
Definition: def.h:91
#define SCIP_Real
Definition: def.h:173
SCIP_SOL * currentsol
Definition: struct_primal.h:60
int partialsolssize
Definition: struct_primal.h:64
int existingsolssize
Definition: struct_primal.h:67
SCIP_SOL ** partialsols
Definition: struct_primal.h:58
SCIP_SOL ** sols
Definition: struct_primal.h:57
SCIP_Longint nlimbestsolsfound
Definition: struct_primal.h:52
SCIP_Longint nbestsolsfound
Definition: struct_primal.h:51
SCIP_Bool updateviolations
Definition: struct_primal.h:70
SCIP_SOL * primalray
Definition: struct_primal.h:61
SCIP_Longint nsolsfound
Definition: struct_primal.h:48
SCIP_Longint nlimsolsfound
Definition: struct_primal.h:49
SCIP_Real cutoffbound
Definition: struct_primal.h:55
SCIP_SOL ** existingsols
Definition: struct_primal.h:59
SCIP_Real upperbound
Definition: struct_primal.h:54
type definitions for collecting primal CIP solutions and primal informations
type definitions for storing primal CIP solutions