Scippy

SCIP

Solving Constraint Integer Programs

struct_pricestore.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-2022 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 visit scipopt.org. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file struct_pricestore.h
17  * @ingroup INTERNALAPI
18  * @brief data structures for storing priced variables
19  * @author Tobias Achterberg
20  */
21 
22 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
23 
24 #ifndef __SCIP_STRUCT_PRICESTORE_H__
25 #define __SCIP_STRUCT_PRICESTORE_H__
26 
27 
28 #include "scip/def.h"
29 #include "scip/type_clock.h"
30 #include "scip/type_var.h"
31 #include "scip/type_pricestore.h"
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 /** storage for priced variables */
39 {
40  SCIP_CLOCK* probpricingtime; /**< time needed to price existing problem variables */
41  SCIP_VAR** vars; /**< array with priced variables with violated reduced costs sorted by score */
42  SCIP_Real* scores; /**< score for each priced variable (e.g. |redcost|/no. of nonzeros) */
43  SCIP_VAR** bdviolvars; /**< variables where zero violates the bounds */
44  SCIP_Real* bdviolvarslb; /**< lower bounds of bdviolvars */
45  SCIP_Real* bdviolvarsub; /**< upper bounds of bdbiolvars */
46  int varssize; /**< size of vars and score arrays */
47  int nvars; /**< number of priced variables (max. is set->price_maxvars) */
48  int bdviolvarssize; /**< size of bdviolvars, bdviolvarslb, and bdviolvarsub arrays */
49  int nbdviolvars; /**< number of variables, where zero violates the bounds */
50  int naddedbdviolvars; /**< number of bound violated variables already added to the LP */
51  int nprobpricings; /**< total number of calls to problem variable pricing */
52  int nprobvarsfound; /**< total number of problem variables, that were added (and possibly thrown away) */
53  int nvarsfound; /**< total number of variables, that were added (and possibly thrown away) */
54  int nvarsapplied; /**< total number of variables, that were added to the LP */
55  SCIP_Bool initiallp; /**< is the pricing storage currently being filled with the initial LP columns? */
56 };
57 
58 #ifdef __cplusplus
59 }
60 #endif
61 
62 #endif
type definitions for storing priced variables
SCIP_CLOCK * probpricingtime
type definitions for problem variables
#define SCIP_Bool
Definition: def.h:84
SCIP_Real * scores
SCIP_Real * bdviolvarslb
type definitions for clocks and timing issues
SCIP_VAR ** bdviolvars
#define SCIP_Real
Definition: def.h:177
SCIP_Real * bdviolvarsub
common defines and data types used in all packages of SCIP