Scippy

SCIP

Solving Constraint Integer Programs

reopt.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 reopt.h
17  * @brief data structures and methods for collecting reoptimization information
18  * @author Jakob Witzig
19  */
20 
21 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
22 
23 #ifndef __SCIP_REOPT_H__
24 #define __SCIP_REOPT_H__
25 
26 
27 #include "scip/def.h"
28 #include "scip/pub_reopt.h"
29 #include "scip/type_primal.h"
30 #include "scip/type_retcode.h"
31 #include "scip/type_reopt.h"
32 #include "scip/struct_reopt.h"
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 /** creates reopt data */
39 extern
41  SCIP_REOPT** reopt, /**< pointer to reoptimization data structure */
42  SCIP_SET* set, /**< global SCIP settings */
43  BMS_BLKMEM* blkmem /**< block memory */
44  );
45 
46 /** frees reopt data */
47 extern
49  SCIP_REOPT** reopt, /**< reoptimization data structure */
50  SCIP_SET* set, /**< global SCIP settings */
51  SCIP_PRIMAL* origprimal, /**< original primal */
52  BMS_BLKMEM* blkmem /**< block memory */
53  );
54 
55 /** returns the number of constraints added by the reoptimization plug-in */
56 extern
58  SCIP_REOPT* reopt, /**< reoptimization data */
59  SCIP_NODE* node /**< node of the search tree */
60  );
61 
62 /** add a solution to the solution tree */
63 extern
65  SCIP_REOPT* reopt, /**< reoptimization data */
66  SCIP_SET* set, /**< global SCIP settings */
67  SCIP_STAT* stat, /**< dynamic problem statistics */
68  SCIP_PRIMAL* origprimal, /**< original primal */
69  BMS_BLKMEM* blkmem, /**< block memory */
70  SCIP_SOL* sol, /**< solution to add */
71  SCIP_Bool bestsol, /**< is the current solution an optimal solution? */
72  SCIP_Bool* added, /**< pointer to store the information if the soltion was added */
73  SCIP_VAR** vars, /**< variable array */
74  int nvars, /**< number of variables */
75  int run /**< number of the current run (1,2,...) */
76  );
77 
78 /** add optimal solution */
79 extern
81  SCIP_REOPT* reopt, /**< reopt data */
82  SCIP_SOL* sol, /**< solution to add */
83  BMS_BLKMEM* blkmem, /**< block memory */
84  SCIP_SET* set, /**< global SCIP settings */
85  SCIP_STAT* stat, /**< dynamic problem statistics */
86  SCIP_PRIMAL* origprimal /**< original primal */
87  );
88 
89 /** add a run */
90 extern
92  SCIP_REOPT* reopt, /**< reopt data */
93  SCIP_SET* set, /**< global SCIP settings */
94  BMS_BLKMEM* blkmem, /**< block memory */
95  SCIP_VAR** vars, /**< trnasformed variables */
96  int nvars, /**< number of transformed variables */
97  int size /**< number of expected solutions */
98  );
99 
100 /** get the number of checked solutions during the reoptimization process */
101 extern
103  SCIP_REOPT* reopt /**< reoptimization data */
104  );
105 
106 /** update the number of checked solutions during the reoptimization process */
107 extern
109  SCIP_REOPT* reopt, /**< reoptimization data */
110  int ncheckedsols /**< number of updated solutions */
111  );
112 
113 /** get the number of checked during the reoptimization process */
114 extern
116  SCIP_REOPT* reopt /**< reoptimization data */
117  );
118 
119 /** update the number of checked during the reoptimization process */
120 extern
122  SCIP_REOPT* reopt, /**< reoptimization data */
123  int nimprovingsols /**< number of improving solutions */
124  );
125 
126 /** returns number of solution */
127 extern
129  SCIP_REOPT* reopt, /**< reoptimization data */
130  int run /**< number of the run (1,2,..) */
131  );
132 
133 /** returns number of all solutions of all runs */
134 extern
136  SCIP_REOPT* reopt /**< reoptimization data */
137  );
138 
139 /** return the stored solutions of a given run */
140 extern
142  SCIP_REOPT* reopt, /**< reopt data */
143  int run, /**< number of the run (1,2,...) */
144  SCIP_SOL** sols, /**< array of solutions to fill */
145  int solssize, /**< length of the array */
146  int* nsols /**< pointer to store the number of added solutions */
147  );
148 
149 /** returns the number of saved solutions overall runs */
150 extern
152  SCIP_REOPT* reopt /**< reoptimization data */
153  );
154 
155 /** Check if the reoptimization process should be (locally) restarted.
156  *
157  * First, we check whether the current node is the root node, e.g., node == NULL. In this case, we do not need to calculate
158  * the similarity again. We trigger a restart if
159  * 1. the objective function has changed too much, or
160  * 2. the number of stored nodes is exceeded, or
161  * 3. the last n optimal solutions were found by heur_reoptsols (in this case, the stored tree was only needed to
162  * prove the optimality and this can probably be done faster by solving from scratch).
163  *
164  * If the current node is different to the root node we calculate the local similarity, i.e., exclude all variables
165  * that are already fixed at the given node.
166  */
167 extern
169  SCIP_REOPT* reopt, /**< reopt data */
170  SCIP_SET* set, /**< global SCIP settings */
171  BMS_BLKMEM* blkmem, /**< block memory */
172  SCIP_NODE* node, /**< current node of the branch and bound tree (or NULL) */
173  SCIP_VAR** transvars, /**< transformed problem variables */
174  int ntransvars, /**< number of transformed problem variables */
175  SCIP_Bool* restart /**< pointer to store if the reoptimization process should be restarted */
176  );
177 
178 /** returns the similarity to the previous objective function */
179 extern
181  SCIP_REOPT* reopt /**< reoptimization data */
182  );
183 
184 /** returns the similarity to the first objective functions */
185 extern
187  SCIP_REOPT* reopt /**< reoptimization data */
188  );
189 
190 /** return the similarity between two of objective functions of two given runs */
191 extern
193  SCIP_REOPT* reopt, /**< reopt data */
194  SCIP_SET* set, /**< global SCIP settings */
195  int run1, /**< number of the first run */
196  int run2, /**< number of the second run */
197  SCIP_VAR** transvars, /**< transformed problem variables */
198  int ntransvars /**< number of transformed problem variables */
199  );
200 
201 /** returns the best solution of the last run */
202 extern
204  SCIP_REOPT* reopt /**< reoptimization data */
205  );
206 
207 /** returns the node of the reoptimization tree corresponding to the unique @p id */
208 extern
210  SCIP_REOPT* reopt, /**< reoptimization data structure */
211  unsigned int id /**< unique id */
212  );
213 
214 /** returns the coefficent of variable with index @p idx in run @p run */
215 extern
217  SCIP_REOPT* reopt, /**< reopt data */
218  int run, /**< number of the run */
219  int idx /**< problem index of variable */
220  );
221 
222 /** return the best solution of a given run
223  *
224  * @note the returned solution is part of the original space.
225  */
227  SCIP_REOPT* reopt, /**< reoptimization data structure */
228  int run /**< number of the run (1,2,...) */
229  );
230 
231 /** reset marks of stored solutions to not updated */
232 extern
234  SCIP_REOPT* reopt /**< reoptimization data */
235  );
236 
237 /** returns the number of stored nodes */
238 extern
240  SCIP_REOPT* reopt, /**< reoptimization data */
241  SCIP_NODE* node /**< node of the search tree */
242  );
243 
244 /** save information that given node is infeasible */
245 extern
247  SCIP_REOPT* reopt, /**< reoptimization data */
248  SCIP_SET* set, /**< global SCIP settings */
249  BMS_BLKMEM* blkmem, /**< block memory */
250  SCIP_NODE* node /**< node of the search tree */
251  );
252 
253 /** check the reason for cut off a node and if necessary store the node */
254 extern
256  SCIP_REOPT* reopt, /**< reoptimization data structure */
257  SCIP_SET* set, /**< global SCIP settings */
258  BMS_BLKMEM* blkmem, /**< block memery */
259  SCIP_NODE* node, /**< node of the search tree */
260  SCIP_EVENTTYPE eventtype, /**< eventtype */
261  SCIP_LPSOLSTAT lpsolstat, /**< solution status of the LP */
262  SCIP_Bool isrootnode, /**< the node is the root */
263  SCIP_Bool isfocusnode, /**< the node is the current focus node */
264  SCIP_Real lowerbound, /**< lower bound of the node */
265  int effectiverootdepth /**< effective root depth */
266  );
267 
268 /** store bound change based on dual information */
269 extern
271  SCIP_REOPT* reopt, /**< reoptimization data structure */
272  SCIP_SET* set, /**< global SCIP settings */
273  BMS_BLKMEM* blkmem, /**< block memory */
274  SCIP_NODE* node, /**< node of the search tree */
275  SCIP_VAR* var, /**< variables */
276  SCIP_Real newval, /**< new bound */
277  SCIP_Real oldval /**< old bound */
278  );
279 
280 /** returns the number of bound changes based on dual information */
281 extern
283  SCIP_REOPT* reopt, /**< reoptimization data */
284  SCIP_NODE* node /**< node of the search tree */
285  );
286 
287 /** returns the number of leaf nodes of the subtree induced by @p node (of the whole tree if node == NULL) */
288 extern
290  SCIP_REOPT* reopt, /**< reoptimization data */
291  SCIP_NODE* node /**< node of the search tree */
292  );
293 
294 /** returns the child nodes of @p node that need to be reoptimized next or NULL if @p node is a leaf */
295 extern
297  SCIP_REOPT* reopt, /**< reoptimization data structure */
298  SCIP_SET* set, /**< global SCIP settings */
299  BMS_BLKMEM* blkmem, /**< block memory */
300  SCIP_NODE* node, /**< node of the search tree */
301  unsigned int* childs, /**< array to store the child ids */
302  int childssize, /**< size of the childs array */
303  int* nchilds /**< pointer to store the number of child nodes */
304  );
305 
306 /** returns all leaves of the subtree induced by @p node */
307 extern
309  SCIP_REOPT* reopt, /**< reoptimization data */
310  SCIP_NODE* node, /**< node of the search tree */
311  unsigned int* leaves, /**< array to the the ids */
312  int leavessize, /**< size of leaves array */
313  int* nleaves /**< pointer to store the number of leaf node */
314  );
315 
316 /** returns the time needed to store the nodes for reoptimization */
317 extern
319  SCIP_REOPT* reopt /**< reoptimization data */
320  );
321 
322 /** store a global constraint that should be added at the beginning of the next iteration */
323 extern
325  SCIP_REOPT* reopt, /**< reoptimization data */
326  SCIP_VAR** vars, /**< array to store the variables of the constraint */
327  SCIP_Real* vals, /**< array to store the coefficients of the variables */
328  int nvars, /**< pointer to store the size of the constraints */
329  BMS_BLKMEM* blkmem /**< block memory */
330  );
331 
332 /** add the stored constraints globally to the problem */
333 extern
335  SCIP* scip, /**< SCIP data structure */
336  SCIP_REOPT* reopt, /**< reoptimization data structure */
337  SCIP_SET* set, /**< global SCIP settings */
338  SCIP_STAT* stat, /**< dynamic problem statistics */
339  BMS_BLKMEM* blkmem /**< block memory */
340  );
341 
342 /** check if the LP of the given node should be solved or not */
343 extern
345  SCIP_REOPT* reopt, /**< reoptimization data structure */
346  SCIP_SET* set, /**< global SCIP settings */
347  SCIP_NODE* node /**< node of the current search tree */
348  );
349 
350 /** reactivate the given @p reoptnode and split them into several nodes if necessary */
351 extern
353  SCIP_REOPT* reopt, /**< reoptimization data structure */
354  SCIP* scip, /**< SCIP data structure */
355  SCIP_SET* set, /**< global SCIP settings */
356  SCIP_STAT* stat, /**< dynamic problem statistics */
357  SCIP_PROB* transprob, /**< transformed problem */
358  SCIP_PROB* origprob, /**< original problem */
359  SCIP_TREE* tree, /**< branching tree */
360  SCIP_LP* lp, /**< current LP */
361  SCIP_BRANCHCAND* branchcand, /**< branching candidate */
362  SCIP_EVENTQUEUE* eventqueue, /**< event queue */
363  SCIP_CLIQUETABLE* cliquetable, /**< clique table */
364  BMS_BLKMEM* blkmem, /**< block memory */
365  unsigned int randseed, /**< seed value for random generator */
366  SCIP_REOPTNODE* reoptnode, /**< node of the reoptimization tree to reactivate */
367  unsigned int id, /**< id of the node to reactivate */
368  SCIP_Real estimate, /**< estimate of the child nodes that should be created */
369  SCIP_NODE** childnodes, /**< array to store the created child nodes */
370  int* ncreatedchilds, /**< pointer to store number of created child nodes */
371  int* naddedconss, /**< pointer to store number of generated constraints */
372  int childnodessize, /**< available size of childnodes array */
373  SCIP_Bool* success /**< pointer store the result */
374  );
375 
376 /** delete a node stored in the reoptimization tree */
377 extern
379  SCIP_REOPT* reopt, /**< reoptimization data */
380  SCIP_SET* set, /**< global SCIP settings */
381  unsigned int id, /**< id of the node */
382  BMS_BLKMEM* blkmem /**< block memory */
383  );
384 
385 /** reset the stored information abound bound changes based on dual information */
386 extern
388  SCIP_REOPT* reopt, /**< reoptimization data */
389  SCIP_NODE* node, /**< node of the search tree */
390  BMS_BLKMEM* blkmem /**< block memory */
391  );
392 
393 /** splits the root into several nodes and moves the child nodes of the root to one of the created nodes */
394 extern
396  SCIP_REOPT* reopt, /**< reoptimization data structure */
397  SCIP_TREE* tree, /**< branch and bound tree */
398  SCIP_SET* set, /**< global SCIP settings */
399  BMS_BLKMEM* blkmem, /**< block memory */
400  unsigned int randseed, /**< seed value for random generator */
401  int* ncreatedchilds, /**< pointer to store the number of created nodes */
402  int* naddedconss /**< pointer to store the number added constraints */
403  );
404 
405 /** reset the complete tree and set the given search frontier */
406 extern
408  SCIP_REOPT* reopt, /**< reoptimization data structure */
409  SCIP_SET* set, /**< global SCIP settings */
410  BMS_BLKMEM* blkmem, /**< block memory */
411  SCIP_REOPTNODE** representatives, /**< array of representatives */
412  int nrepresentatives, /**< number of representatives */
413  SCIP_Bool* success /**< pointer to store if the method was successful */
414  );
415 
416 /** add all unprocessed nodes to the reoptimization tree */
417 extern
419  SCIP_REOPT* reopt, /**< reoptimization data structure */
420  SCIP_SET* set, /**< global SCIP settings */
421  BMS_BLKMEM* blkmem, /**< block memory */
422  SCIP_NODE** leaves, /**< array of open leave nodes */
423  int nleaves, /**< number of open leave nodes */
424  SCIP_NODE** childs, /**< array of open children nodes */
425  int nchilds, /**< number of open leave nodes */
426  SCIP_NODE** siblings, /**< array of open sibling nodes */
427  int nsiblings /**< number of open leave nodes */
428  );
429 
430 /*
431  * methods for reoptnode
432  */
433 
434 /** initialize an empty node */
435 extern
436 void SCIPreoptnodeInit(
437  SCIP_REOPTNODE* reoptnode, /**< node of the reopttree */
438  SCIP_SET* set /**< global SCIP settings */
439  );
440 
441 /** reset the given reoptimization node */
442 extern
444  SCIP_REOPT* reopt, /**< reoptimization data structure */
445  SCIP_SET* set, /**< global SCIP settings */
446  BMS_BLKMEM* blkmem, /**< block memory */
447  SCIP_REOPTNODE* reoptnode /**< reoptimization node */
448  );
449 
450 /** delete the given reoptimization node */
451 extern
453  SCIP_REOPTNODE** reoptnode, /**< pointer of reoptnode */
454  BMS_BLKMEM* blkmem /**< block memory */
455  );
456 
457 /** add a variable to a given reoptnode */
458 extern
460  SCIP_REOPTNODE* reoptnode, /**< node of the reopttree */
461  BMS_BLKMEM* blkmem, /**< block memory */
462  SCIP_VAR* var, /**< variable to add */
463  SCIP_Real val, /**< value of the variable */
464  SCIP_BOUNDTYPE boundtype /**< boundtype of the variable */
465  );
466 
467 /** add a constraint to a given reoptnode */
468 extern
470  SCIP_REOPTNODE* reoptnode, /**< node of the reopttree */
471  BMS_BLKMEM* blkmem, /**< block memory */
472  SCIP_VAR** consvars, /**< variables which are part of the constraint */
473  SCIP_Real* consvals, /**< values of the variables */
474  int nvars, /**< number of variables */
475  REOPT_CONSTYPE constype /**< type of the constraint */
476  );
477 
478 /** return the branching path of the given node in the reoptimization tree */
479 extern
481  SCIP_REOPT* reopt, /**< reoptimization data structure */
482  SCIP_REOPTNODE* reoptnode, /**< node of the reoptimization tree */
483  SCIP_VAR** vars, /**< array for variables */
484  SCIP_Real* vals, /**< array for values */
485  SCIP_BOUNDTYPE* boundtypes, /**< array for bound types */
486  int varssize, /**< size of arrays vars, vals, and boundtypes */
487  int* nbndchgs, /**< pointer to store the number of bound changes */
488  int* nbndchgsafterdual /**< pointer to store the number of bound changes applied after
489  * the first dual reduction at the given node */
490  );
491 
492 #ifdef __cplusplus
493 }
494 #endif
495 
496 #endif
enum SCIP_BoundType SCIP_BOUNDTYPE
Definition: type_lp.h:50
SCIP_REOPTNODE * SCIPreoptGetReoptnode(SCIP_REOPT *reopt, unsigned int id)
Definition: reopt.c:4524
SCIP_Real SCIPreoptGetSimToPrevious(SCIP_REOPT *reopt)
Definition: reopt.c:4471
SCIP_Real SCIPreoptGetSavingtime(SCIP_REOPT *reopt)
Definition: reopt.c:6126
SCIP_RETCODE SCIPreoptApplyCompression(SCIP_REOPT *reopt, SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_REOPTNODE **representatives, int nrepresentatives, SCIP_Bool *success)
Definition: reopt.c:5320
SCIP_SOL * SCIPreoptGetBestSolRun(SCIP_REOPT *reopt, int run)
Definition: reopt.c:4554
SCIP_Bool SCIPreoptGetSolveLP(SCIP_REOPT *reopt, SCIP_SET *set, SCIP_NODE *node)
Definition: reopt.c:6252
SCIP_RETCODE SCIPreoptnodeDelete(SCIP_REOPTNODE **reoptnode, BMS_BLKMEM *blkmem)
Definition: reopt.c:6346
SCIP_RETCODE SCIPreoptFree(SCIP_REOPT **reopt, SCIP_SET *set, SCIP_PRIMAL *origprimal, BMS_BLKMEM *blkmem)
Definition: reopt.c:4042
int SCIPreoptGetNLeaves(SCIP_REOPT *reopt, SCIP_NODE *node)
Definition: reopt.c:4766
SCIP_RETCODE SCIPreoptGetLeaves(SCIP_REOPT *reopt, SCIP_NODE *node, unsigned int *leaves, int leavessize, int *nleaves)
Definition: reopt.c:5211
SCIP_RETCODE SCIPreoptnodeAddCons(SCIP_REOPTNODE *reoptnode, BMS_BLKMEM *blkmem, SCIP_VAR **consvars, SCIP_Real *consvals, int nvars, REOPT_CONSTYPE constype)
Definition: reopt.c:6387
SCIP_RETCODE SCIPreoptApply(SCIP_REOPT *reopt, SCIP *scip, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, BMS_BLKMEM *blkmem, unsigned int randseed, SCIP_REOPTNODE *reoptnode, unsigned int id, SCIP_Real estimate, SCIP_NODE **childnodes, int *ncreatedchilds, int *naddedconss, int childnodessize, SCIP_Bool *success)
Definition: reopt.c:5738
SCIP_RETCODE SCIPreoptGetSolsRun(SCIP_REOPT *reopt, int run, SCIP_SOL **sols, int solssize, int *nsols)
Definition: reopt.c:4339
SCIP_RETCODE SCIPreoptAddDualBndchg(SCIP_REOPT *reopt, SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_NODE *node, SCIP_VAR *var, SCIP_Real newval, SCIP_Real oldval)
Definition: reopt.c:5073
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:53
SCIP_RETCODE SCIPreoptAddSol(SCIP_REOPT *reopt, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *origprimal, BMS_BLKMEM *blkmem, SCIP_SOL *sol, SCIP_Bool bestsol, SCIP_Bool *added, SCIP_VAR **vars, int nvars, int run)
Definition: reopt.c:4155
void SCIPreoptSetNImprovingSols(SCIP_REOPT *reopt, int nimprovingsols)
Definition: reopt.c:4297
public methods for reoptimization
type definitions for return codes for SCIP methods
void SCIPreoptResetSolMarks(SCIP_REOPT *reopt)
Definition: reopt.c:4566
SCIP_Real SCIPreoptGetOldObjCoef(SCIP_REOPT *reopt, int run, int idx)
Definition: reopt.c:4538
enum SCIP_LPSolStat SCIP_LPSOLSTAT
Definition: type_lp.h:42
type definitions for collecting reoptimization information
int SCIPreoptGetNDualBndchgs(SCIP_REOPT *reopt, SCIP_NODE *node)
Definition: reopt.c:5138
void SCIPreoptnodeGetPath(SCIP_REOPT *reopt, SCIP_REOPTNODE *reoptnode, SCIP_VAR **vars, SCIP_Real *vals, SCIP_BOUNDTYPE *boundtypes, int varssize, int *nbndchgs, int *nbndchgsafterdual)
Definition: reopt.c:5664
void SCIPreoptnodeInit(SCIP_REOPTNODE *reoptnode, SCIP_SET *set)
Definition: reopt.c:6295
SCIP_RETCODE SCIPreoptSaveOpenNodes(SCIP_REOPT *reopt, SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_NODE **leaves, int nleaves, SCIP_NODE **childs, int nchilds, SCIP_NODE **siblings, int nsiblings)
Definition: reopt.c:5271
SCIP_SOL * SCIPreoptGetLastBestSol(SCIP_REOPT *reopt)
Definition: reopt.c:4508
SCIP_RETCODE SCIPreoptCreate(SCIP_REOPT **reopt, SCIP_SET *set, BMS_BLKMEM *blkmem)
Definition: reopt.c:3977
int SCIPreoptGetNSols(SCIP_REOPT *reopt)
Definition: reopt.c:4323
SCIP_RETCODE SCIPreoptResetDualBndchgs(SCIP_REOPT *reopt, SCIP_NODE *node, BMS_BLKMEM *blkmem)
Definition: reopt.c:5639
SCIP_RETCODE SCIPreoptAddRun(SCIP_REOPT *reopt, SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_VAR **vars, int nvars, int size)
Definition: reopt.c:4234
int SCIPreoptGetNNodes(SCIP_REOPT *reopt, SCIP_NODE *node)
Definition: reopt.c:4581
SCIP_RETCODE SCIPreoptCheckRestart(SCIP_REOPT *reopt, SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_NODE *node, SCIP_VAR **transvars, int ntransvars, SCIP_Bool *restart)
Definition: reopt.c:4408
SCIP_RETCODE SCIPreoptSplitRoot(SCIP_REOPT *reopt, SCIP_TREE *tree, SCIP_SET *set, BMS_BLKMEM *blkmem, unsigned int randseed, int *ncreatedchilds, int *naddedconss)
Definition: reopt.c:5420
data structures for collecting reoptimization information
unsigned int SCIP_EVENTTYPE
Definition: type_event.h:125
#define SCIP_Bool
Definition: def.h:53
SCIP_RETCODE SCIPreoptDeleteNode(SCIP_REOPT *reopt, SCIP_SET *set, unsigned int id, BMS_BLKMEM *blkmem)
Definition: reopt.c:5719
SCIP_RETCODE SCIPreoptnodeAddBndchg(SCIP_REOPTNODE *reoptnode, BMS_BLKMEM *blkmem, SCIP_VAR *var, SCIP_Real val, SCIP_BOUNDTYPE boundtype)
Definition: reopt.c:6360
int SCIPreoptGetNAddedConss(SCIP_REOPT *reopt, SCIP_NODE *node)
Definition: reopt.c:4131
int SCIPreoptGetNSolsRun(SCIP_REOPT *reopt, int run)
Definition: reopt.c:4308
SCIP_RETCODE SCIPreoptGetChildIDs(SCIP_REOPT *reopt, SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_NODE *node, unsigned int *childs, int childssize, int *nchilds)
Definition: reopt.c:5158
SCIP_Real SCIPreoptGetSimToFirst(SCIP_REOPT *reopt)
Definition: reopt.c:4480
SCIP_RETCODE SCIPreoptnodeReset(SCIP_REOPT *reopt, SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_REOPTNODE *reoptnode)
Definition: reopt.c:6328
#define SCIP_Real
Definition: def.h:127
enum Reopt_ConsType REOPT_CONSTYPE
Definition: type_reopt.h:64
SCIP_Real SCIPreoptGetSimilarity(SCIP_REOPT *reopt, SCIP_SET *set, int run1, int run2, SCIP_VAR **transvars, int ntransvars)
Definition: reopt.c:4489
SCIP_RETCODE SCIPreoptAddInfNode(SCIP_REOPT *reopt, SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_NODE *node)
Definition: reopt.c:4801
void SCIPreoptSetNCheckedSols(SCIP_REOPT *reopt, int ncheckedsols)
Definition: reopt.c:4276
int SCIPreoptGetNCheckedSols(SCIP_REOPT *reopt)
Definition: reopt.c:4266
type definitions for collecting primal CIP solutions and primal informations
common defines and data types used in all packages of SCIP
struct BMS_BlkMem BMS_BLKMEM
Definition: memory.h:392
int SCIPreoptGetNSavedSols(SCIP_REOPT *reopt)
Definition: reopt.c:4381
int SCIPreoptGetNImprovingSols(SCIP_REOPT *reopt)
Definition: reopt.c:4287
SCIP_RETCODE SCIPreoptAddGlbCons(SCIP_REOPT *reopt, SCIP_VAR **vars, SCIP_Real *vals, int nvars, BMS_BLKMEM *blkmem)
Definition: reopt.c:6136
SCIP_RETCODE SCIPreoptAddOptSol(SCIP_REOPT *reopt, SCIP_SOL *sol, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *origprimal)
Definition: reopt.c:4208
SCIP_RETCODE SCIPreoptCheckCutoff(SCIP_REOPT *reopt, SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_NODE *node, SCIP_EVENTTYPE eventtype, SCIP_LPSOLSTAT lpsolstat, SCIP_Bool isrootnode, SCIP_Bool isfocusnode, SCIP_Real lowerbound, int effectiverootdepth)
Definition: reopt.c:4825
SCIP_RETCODE SCIPreoptApplyGlbConss(SCIP *scip, SCIP_REOPT *reopt, SCIP_SET *set, SCIP_STAT *stat, BMS_BLKMEM *blkmem)
Definition: reopt.c:6173