Scippy

SCIP

Solving Constraint Integer Programs

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-2016 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 primal.h
17  * @brief internal methods for collecting primal CIP solutions and primal informations
18  * @author Tobias Achterberg
19  */
20 
21 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
22 
23 #ifndef __SCIP_PRIMAL_H__
24 #define __SCIP_PRIMAL_H__
25 
26 
27 #include "scip/def.h"
28 #include "blockmemshell/memory.h"
29 #include "scip/type_retcode.h"
30 #include "scip/type_set.h"
31 #include "scip/type_event.h"
32 #include "scip/type_lp.h"
33 #include "scip/type_var.h"
34 #include "scip/type_prob.h"
35 #include "scip/type_sol.h"
36 #include "scip/type_primal.h"
37 #include "scip/type_tree.h"
38 #include "scip/type_reopt.h"
39 #include "scip/type_heur.h"
40 
41 #include "scip/struct_primal.h"
42 
43 #ifdef __cplusplus
44 extern "C" {
45 #endif
46 
47 /** creates primal data */
48 extern
50  SCIP_PRIMAL** primal /**< pointer to primal data */
51  );
52 
53 /** frees primal data */
54 extern
56  SCIP_PRIMAL** primal, /**< pointer to primal data */
57  BMS_BLKMEM* blkmem /**< block memory */
58  );
59 
60 /** sets the cutoff bound in primal data and in LP solver */
61 extern
63  SCIP_PRIMAL* primal, /**< primal data */
64  BMS_BLKMEM* blkmem, /**< block memory */
65  SCIP_SET* set, /**< global SCIP settings */
66  SCIP_STAT* stat, /**< problem statistics data */
67  SCIP_EVENTQUEUE* eventqueue, /**< event queue */
68  SCIP_PROB* transprob, /**< tranformed problem data */
69  SCIP_PROB* origprob, /**< original problem data */
70  SCIP_TREE* tree, /**< branch and bound tree */
71  SCIP_REOPT* reopt, /**< reoptimization data structure */
72  SCIP_LP* lp, /**< current LP data */
73  SCIP_Real cutoffbound, /**< new cutoff bound */
74  SCIP_Bool useforobjlimit /**< should the cutoff bound be used to update the objective limit, if
75  * better? */
76  );
77 
78 /** sets upper bound in primal data and in LP solver */
79 extern
81  SCIP_PRIMAL* primal, /**< primal data */
82  BMS_BLKMEM* blkmem, /**< block memory */
83  SCIP_SET* set, /**< global SCIP settings */
84  SCIP_STAT* stat, /**< problem statistics data */
85  SCIP_EVENTQUEUE* eventqueue, /**< event queue */
86  SCIP_PROB* prob, /**< transformed problem after presolve */
87  SCIP_TREE* tree, /**< branch and bound tree */
88  SCIP_REOPT* reopt, /**< reoptimization data structure */
89  SCIP_LP* lp, /**< current LP data */
90  SCIP_Real upperbound /**< new upper bound */
91  );
92 
93 /** updates upper bound and cutoff bound in primal data after a tightening of the problem's objective limit */
94 extern
96  SCIP_PRIMAL* primal, /**< primal data */
97  BMS_BLKMEM* blkmem, /**< block memory */
98  SCIP_SET* set, /**< global SCIP settings */
99  SCIP_STAT* stat, /**< problem statistics data */
100  SCIP_EVENTQUEUE* eventqueue, /**< event queue */
101  SCIP_PROB* transprob, /**< tranformed problem data */
102  SCIP_PROB* origprob, /**< original problem data */
103  SCIP_TREE* tree, /**< branch and bound tree */
104  SCIP_REOPT* reopt, /**< reoptimization data structure */
105  SCIP_LP* lp /**< current LP data */
106  );
107 
108 /** recalculates upper bound and cutoff bound in primal data after a change of the problem's objective offset */
109 extern
111  SCIP_PRIMAL* primal, /**< primal data */
112  BMS_BLKMEM* blkmem, /**< block memory */
113  SCIP_SET* set, /**< global SCIP settings */
114  SCIP_STAT* stat, /**< problem statistics data */
115  SCIP_EVENTQUEUE* eventqueue, /**< event queue */
116  SCIP_PROB* transprob, /**< tranformed problem data */
117  SCIP_PROB* origprob, /**< original problem data */
118  SCIP_TREE* tree, /**< branch and bound tree */
119  SCIP_REOPT* reopt, /**< reoptimization data structure */
120  SCIP_LP* lp /**< current LP data */
121  );
122 
123 /** adds additional objective offset in origanal space to all existing solution (in original space) */
124 extern
126  SCIP_PRIMAL* primal, /**< primal data */
127  SCIP_SET* set, /**< global SCIP settings */
128  SCIP_Real addval /**< additional objective offset in original space */
129  );
130 
131 /** returns whether the current primal bound is justified with a feasible primal solution; if not, the primal bound
132  * was set from the user as objective limit
133  */
134 extern
136  SCIP_PRIMAL* primal, /**< primal data */
137  SCIP_SET* set, /**< global SCIP settings */
138  SCIP_PROB* transprob, /**< tranformed problem data */
139  SCIP_PROB* origprob /**< original problem data */
140  );
141 
142 /** adds primal solution to solution storage by copying it */
143 extern
145  SCIP_PRIMAL* primal, /**< primal data */
146  BMS_BLKMEM* blkmem, /**< block memory */
147  SCIP_SET* set, /**< global SCIP settings */
148  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
149  SCIP_STAT* stat, /**< problem statistics data */
150  SCIP_PROB* origprob, /**< original problem */
151  SCIP_PROB* transprob, /**< transformed problem after presolve */
152  SCIP_TREE* tree, /**< branch and bound tree */
153  SCIP_REOPT* reopt, /**< reoptimization data structure */
154  SCIP_LP* lp, /**< current LP data */
155  SCIP_EVENTQUEUE* eventqueue, /**< event queue */
156  SCIP_EVENTFILTER* eventfilter, /**< event filter for global (not variable dependent) events */
157  SCIP_SOL* sol, /**< primal CIP solution */
158  SCIP_Bool* stored /**< stores whether given solution was good enough to keep */
159  );
160 
161 /** adds primal solution to solution storage, frees the solution afterwards */
162 extern
164  SCIP_PRIMAL* primal, /**< primal data */
165  BMS_BLKMEM* blkmem, /**< block memory */
166  SCIP_SET* set, /**< global SCIP settings */
167  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
168  SCIP_STAT* stat, /**< problem statistics data */
169  SCIP_PROB* origprob, /**< original problem */
170  SCIP_PROB* transprob, /**< transformed problem after presolve */
171  SCIP_TREE* tree, /**< branch and bound tree */
172  SCIP_REOPT* reopt, /**< reoptimization data structure */
173  SCIP_LP* lp, /**< current LP data */
174  SCIP_EVENTQUEUE* eventqueue, /**< event queue */
175  SCIP_EVENTFILTER* eventfilter, /**< event filter for global (not variable dependent) events */
176  SCIP_SOL** sol, /**< pointer to primal CIP solution; is cleared in function call */
177  SCIP_Bool* stored /**< stores whether given solution was good enough to keep */
178  );
179 
180 /** adds primal solution to solution candidate storage of original problem space */
181 extern
183  SCIP_PRIMAL* primal, /**< primal data */
184  BMS_BLKMEM* blkmem, /**< block memory */
185  SCIP_SET* set, /**< global SCIP settings */
186  SCIP_STAT* stat, /**< problem statistics data */
187  SCIP_PROB* prob, /**< original problem data */
188  SCIP_SOL* sol, /**< primal CIP solution; is cleared in function call */
189  SCIP_Bool* stored /**< stores whether given solution was good enough to keep */
190  );
191 
192 /** adds primal solution to solution candidate storage of original problem space, frees the solution afterwards */
193 extern
195  SCIP_PRIMAL* primal, /**< primal data */
196  BMS_BLKMEM* blkmem, /**< block memory */
197  SCIP_SET* set, /**< global SCIP settings */
198  SCIP_STAT* stat, /**< problem statistics data */
199  SCIP_PROB* prob, /**< original problem data */
200  SCIP_SOL** sol, /**< pointer to primal CIP solution; is cleared in function call */
201  SCIP_Bool* stored /**< stores whether given solution was good enough to keep */
202  );
203 
204 /** adds current LP/pseudo solution to solution storage */
205 extern
207  SCIP_PRIMAL* primal, /**< primal data */
208  BMS_BLKMEM* blkmem, /**< block memory */
209  SCIP_SET* set, /**< global SCIP settings */
210  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
211  SCIP_STAT* stat, /**< problem statistics data */
212  SCIP_PROB* origprob, /**< original problem */
213  SCIP_PROB* transprob, /**< transformed problem after presolve */
214  SCIP_TREE* tree, /**< branch and bound tree */
215  SCIP_REOPT* reopt, /**< reoptimization data structure */
216  SCIP_LP* lp, /**< current LP data */
217  SCIP_EVENTQUEUE* eventqueue, /**< event queue */
218  SCIP_EVENTFILTER* eventfilter, /**< event filter for global (not variable dependent) events */
219  SCIP_HEUR* heur, /**< heuristic that found the solution (or NULL if it's from the tree) */
220  SCIP_Bool* stored /**< stores whether given solution was good enough to keep */
221  );
222 
223 /** checks primal solution; if feasible, adds it to storage by copying it */
224 extern
226  SCIP_PRIMAL* primal, /**< primal data */
227  BMS_BLKMEM* blkmem, /**< block memory */
228  SCIP_SET* set, /**< global SCIP settings */
229  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
230  SCIP_STAT* stat, /**< problem statistics data */
231  SCIP_PROB* origprob, /**< original problem */
232  SCIP_PROB* transprob, /**< transformed problem after presolve */
233  SCIP_TREE* tree, /**< branch and bound tree */
234  SCIP_REOPT* reopt, /**< reoptimization data structure */
235  SCIP_LP* lp, /**< current LP data */
236  SCIP_EVENTQUEUE* eventqueue, /**< event queue */
237  SCIP_EVENTFILTER* eventfilter, /**< event filter for global (not variable dependent) events */
238  SCIP_SOL* sol, /**< primal CIP solution */
239  SCIP_Bool printreason, /**< Should all reasons of violations be printed? */
240  SCIP_Bool checkbounds, /**< Should the bounds of the variables be checked? */
241  SCIP_Bool checkintegrality, /**< Has integrality to be checked? */
242  SCIP_Bool checklprows, /**< Do constraints represented by rows in the current LP have to be checked? */
243  SCIP_Bool* stored /**< stores whether given solution was feasible and good enough to keep */
244  );
245 
246 /** checks primal solution; if feasible, adds it to storage; solution is freed afterwards */
247 extern
249  SCIP_PRIMAL* primal, /**< primal data */
250  BMS_BLKMEM* blkmem, /**< block memory */
251  SCIP_SET* set, /**< global SCIP settings */
252  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
253  SCIP_STAT* stat, /**< problem statistics data */
254  SCIP_PROB* origprob, /**< original problem */
255  SCIP_PROB* transprob, /**< transformed problem after presolve */
256  SCIP_TREE* tree, /**< branch and bound tree */
257  SCIP_REOPT* reopt, /**< reoptimization data structure */
258  SCIP_LP* lp, /**< current LP data */
259  SCIP_EVENTQUEUE* eventqueue, /**< event queue */
260  SCIP_EVENTFILTER* eventfilter, /**< event filter for global (not variable dependent) events */
261  SCIP_SOL** sol, /**< pointer to primal CIP solution; is cleared in function call */
262  SCIP_Bool printreason, /**< Should all reasons of violations be printed? */
263  SCIP_Bool checkbounds, /**< Should the bounds of the variables be checked? */
264  SCIP_Bool checkintegrality, /**< Has integrality to be checked? */
265  SCIP_Bool checklprows, /**< Do constraints represented by rows in the current LP have to be checked? */
266  SCIP_Bool* stored /**< stores whether solution was feasible and good enough to keep */
267  );
268 
269 /** checks current LP/pseudo solution; if feasible, adds it to storage */
270 extern
272  SCIP_PRIMAL* primal, /**< primal data */
273  BMS_BLKMEM* blkmem, /**< block memory */
274  SCIP_SET* set, /**< global SCIP settings */
275  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
276  SCIP_STAT* stat, /**< problem statistics data */
277  SCIP_PROB* origprob, /**< original problem */
278  SCIP_PROB* transprob, /**< transformed problem after presolve */
279  SCIP_TREE* tree, /**< branch and bound tree */
280  SCIP_REOPT* reopt, /**< reoptimization data structure */
281  SCIP_LP* lp, /**< current LP data */
282  SCIP_EVENTQUEUE* eventqueue, /**< event queue */
283  SCIP_EVENTFILTER* eventfilter, /**< event filter for global (not variable dependent) events */
284  SCIP_HEUR* heur, /**< heuristic that found the solution (or NULL if it's from the tree) */
285  SCIP_Bool printreason, /**< Should all reasons of violations be printed? */
286  SCIP_Bool checkintegrality, /**< Has integrality to be checked? */
287  SCIP_Bool checklprows, /**< Do constraints represented by rows in the current LP have to be checked? */
288  SCIP_Bool* stored /**< stores whether given solution was good enough to keep */
289  );
290 
291 /** inserts solution into the global array of all existing primal solutions */
292 extern
294  SCIP_PRIMAL* primal, /**< primal data */
295  SCIP_SET* set, /**< global SCIP settings */
296  SCIP_SOL* sol /**< primal CIP solution */
297  );
298 
299 /** removes solution from the global array of all existing primal solutions */
300 extern
301 void SCIPprimalSolFreed(
302  SCIP_PRIMAL* primal, /**< primal data */
303  SCIP_SOL* sol /**< primal CIP solution */
304  );
305 
306 /** updates all existing primal solutions after a change in a variable's objective value */
307 extern
309  SCIP_PRIMAL* primal, /**< primal data */
310  SCIP_VAR* var, /**< problem variable */
311  SCIP_Real oldobj, /**< old objective value */
312  SCIP_Real newobj /**< new objective value */
313  );
314 
315 /** retransforms all existing solutions to original problem space */
316 extern
318  SCIP_PRIMAL* primal, /**< primal data */
319  SCIP_SET* set, /**< global SCIP settings */
320  SCIP_STAT* stat, /**< problem statistics data */
321  SCIP_PROB* origprob, /**< original problem */
322  SCIP_PROB* transprob /**< transformed problem */
323  );
324 
325 /** tries to transform original solution to the transformed problem space */
326 extern
328  SCIP_PRIMAL* primal, /**< primal data */
329  SCIP_SOL* sol, /**< primal solution */
330  BMS_BLKMEM* blkmem, /**< block memory */
331  SCIP_SET* set, /**< global SCIP settings */
332  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
333  SCIP_STAT* stat, /**< problem statistics data */
334  SCIP_PROB* origprob, /**< original problem */
335  SCIP_PROB* transprob, /**< transformed problem after presolve */
336  SCIP_TREE* tree, /**< branch and bound tree */
337  SCIP_REOPT* reopt, /**< reoptimization data structure */
338  SCIP_LP* lp, /**< current LP data */
339  SCIP_EVENTQUEUE* eventqueue, /**< event queue */
340  SCIP_EVENTFILTER* eventfilter, /**< event filter for global (not variable dependent) events */
341  SCIP_Real* solvals, /**< array for internal use to store solution values, or NULL;
342  * if the method is called multiple times in a row, an array with size >=
343  * number of active variables should be given for performance reasons */
344  SCIP_Bool* solvalset, /**< array for internal use to store which solution values were set, or NULL;
345  * if the method is called multiple times in a row, an array with size >=
346  * number of active variables should be given for performance reasons */
347  int solvalssize, /**< size of solvals and solvalset arrays, should be >= number of active
348  * variables */
349  SCIP_Bool* added /**< pointer to store whether the solution was added */
350  );
351 
352 #ifdef __cplusplus
353 }
354 #endif
355 
356 #endif
SCIP_RETCODE SCIPprimalAddOrigSol(SCIP_PRIMAL *primal, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_SOL *sol, SCIP_Bool *stored)
Definition: primal.c:1109
void SCIPprimalAddOrigObjoffset(SCIP_PRIMAL *primal, SCIP_SET *set, SCIP_Real addval)
Definition: primal.c:431
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:53
SCIP_RETCODE SCIPprimalAddCurrentSol(SCIP_PRIMAL *primal, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_STAT *stat, SCIP_PROB *origprob, SCIP_PROB *transprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_HEUR *heur, SCIP_Bool *stored)
Definition: primal.c:1224
type definitions for global SCIP settings
type definitions for return codes for SCIP methods
type definitions for collecting reoptimization information
type definitions for LP management
SCIP_RETCODE SCIPprimalSetCutoffbound(SCIP_PRIMAL *primal, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_Real cutoffbound, SCIP_Bool useforobjlimit)
Definition: primal.c:188
type definitions for primal heuristics
SCIP_RETCODE SCIPprimalUpdateObjlimit(SCIP_PRIMAL *primal, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp)
Definition: primal.c:326
SCIP_RETCODE SCIPprimalSolCreated(SCIP_PRIMAL *primal, SCIP_SET *set, SCIP_SOL *sol)
Definition: primal.c:1428
type definitions for problem variables
type definitions for managing events
#define SCIP_Bool
Definition: def.h:53
SCIP_RETCODE SCIPprimalRetransformSolutions(SCIP_PRIMAL *primal, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *origprob, SCIP_PROB *transprob)
Definition: primal.c:1499
type definitions for branch and bound tree
SCIP_RETCODE SCIPprimalTryCurrentSol(SCIP_PRIMAL *primal, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_STAT *stat, SCIP_PROB *origprob, SCIP_PROB *transprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_HEUR *heur, SCIP_Bool printreason, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool *stored)
Definition: primal.c:1394
SCIP_Bool SCIPprimalUpperboundIsSol(SCIP_PRIMAL *primal, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob)
Definition: primal.c:465
type definitions for storing primal CIP solutions
type definitions for storing and manipulating the main problem
SCIP_RETCODE SCIPprimalSetUpperbound(SCIP_PRIMAL *primal, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_PROB *prob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_Real upperbound)
Definition: primal.c:295
void SCIPprimalUpdateVarObj(SCIP_PRIMAL *primal, SCIP_VAR *var, SCIP_Real oldobj, SCIP_Real newobj)
Definition: primal.c:1480
SCIP_RETCODE SCIPprimalAddSol(SCIP_PRIMAL *primal, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_STAT *stat, SCIP_PROB *origprob, SCIP_PROB *transprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_SOL *sol, SCIP_Bool *stored)
Definition: primal.c:996
SCIP_RETCODE SCIPprimalUpdateObjoffset(SCIP_PRIMAL *primal, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp)
Definition: primal.c:365
SCIP_RETCODE SCIPprimalTransformSol(SCIP_PRIMAL *primal, SCIP_SOL *sol, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_STAT *stat, SCIP_PROB *origprob, SCIP_PROB *transprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_Real *solvals, SCIP_Bool *solvalset, int solvalssize, SCIP_Bool *added)
Definition: primal.c:1524
#define SCIP_Real
Definition: def.h:127
SCIP_RETCODE SCIPprimalAddSolFree(SCIP_PRIMAL *primal, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_STAT *stat, SCIP_PROB *origprob, SCIP_PROB *transprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_SOL **sol, SCIP_Bool *stored)
Definition: primal.c:1054
datastructures for collecting primal CIP solutions and primal informations
type definitions for collecting primal CIP solutions and primal informations
common defines and data types used in all packages of SCIP
SCIP_RETCODE SCIPprimalAddOrigSolFree(SCIP_PRIMAL *primal, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_SOL **sol, SCIP_Bool *stored)
Definition: primal.c:1150
struct BMS_BlkMem BMS_BLKMEM
Definition: memory.h:392
void SCIPprimalSolFreed(SCIP_PRIMAL *primal, SCIP_SOL *sol)
Definition: primal.c:1450
SCIP_RETCODE SCIPprimalTrySol(SCIP_PRIMAL *primal, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_STAT *stat, SCIP_PROB *origprob, SCIP_PROB *transprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_SOL *sol, SCIP_Bool printreason, SCIP_Bool checkbounds, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool *stored)
Definition: primal.c:1254
SCIP_RETCODE SCIPprimalFree(SCIP_PRIMAL **primal, BMS_BLKMEM *blkmem)
Definition: primal.c:118
SCIP_RETCODE SCIPprimalCreate(SCIP_PRIMAL **primal)
Definition: primal.c:92
SCIP_RETCODE SCIPprimalTrySolFree(SCIP_PRIMAL *primal, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_STAT *stat, SCIP_PROB *origprob, SCIP_PROB *transprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_SOL **sol, SCIP_Bool printreason, SCIP_Bool checkbounds, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool *stored)
Definition: primal.c:1322
memory allocation routines