Scippy

SCIP

Solving Constraint Integer Programs

set.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 set.h
17  * @ingroup INTERNALAPI
18  * @brief internal methods for global SCIP settings
19  * @author Tobias Achterberg
20  * @author Timo Berthold
21  */
22 
23 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
24 
25 #ifndef __SCIP_SET_H__
26 #define __SCIP_SET_H__
27 
28 
29 #include "scip/def.h"
30 #include "blockmemshell/memory.h"
31 #include "scip/type_bandit.h"
32 #include "scip/type_set.h"
33 #include "scip/type_stat.h"
34 #include "scip/type_clock.h"
35 #include "scip/type_paramset.h"
36 #include "scip/type_event.h"
37 #include "scip/type_scip.h"
38 #include "scip/type_branch.h"
39 #include "scip/type_conflict.h"
40 #include "scip/type_cons.h"
41 #include "scip/type_disp.h"
42 #include "scip/type_heur.h"
43 #include "scip/type_compr.h"
44 #include "scip/type_nodesel.h"
45 #include "scip/type_presol.h"
46 #include "scip/type_pricer.h"
47 #include "scip/type_reader.h"
48 #include "scip/type_relax.h"
49 #include "scip/type_sepa.h"
50 #include "scip/type_table.h"
51 #include "scip/type_prop.h"
52 #include "scip/type_benders.h"
53 #include "scip/struct_set.h"
54 
55 
56 #ifdef NDEBUG
57 #include "scip/pub_misc.h"
58 #endif
59 
60 #ifdef __cplusplus
61 extern "C" {
62 #endif
63 
64 /** copies plugins from sourcescip to targetscip; in case that a constraint handler which does not need constraints
65  * cannot be copied, valid will return FALSE. All plugins can declare that, if their copy process failed, the
66  * copied SCIP instance might not represent the same problem semantics as the original.
67  * Note that in this case dual reductions might be invalid. */
69  SCIP_SET* sourceset, /**< source SCIP_SET data structure */
70  SCIP_SET* targetset, /**< target SCIP_SET data structure */
71  SCIP_Bool copyreaders, /**< should the file readers be copied */
72  SCIP_Bool copypricers, /**< should the variable pricers be copied */
73  SCIP_Bool copyconshdlrs, /**< should the constraint handlers be copied */
74  SCIP_Bool copyconflicthdlrs, /**< should the conflict handlers be copied */
75  SCIP_Bool copypresolvers, /**< should the presolvers be copied */
76  SCIP_Bool copyrelaxators, /**< should the relaxators be copied */
77  SCIP_Bool copyseparators, /**< should the separators be copied */
78  SCIP_Bool copycutselectors, /**< should the cut selectors be copied */
79  SCIP_Bool copypropagators, /**< should the propagators be copied */
80  SCIP_Bool copyheuristics, /**< should the heuristics be copied */
81  SCIP_Bool copyeventhdlrs, /**< should the event handlers be copied */
82  SCIP_Bool copynodeselectors, /**< should the node selectors be copied */
83  SCIP_Bool copybranchrules, /**< should the branchrules be copied */
84  SCIP_Bool copydisplays, /**< should the display columns be copied */
85  SCIP_Bool copydialogs, /**< should the dialogs be copied */
86  SCIP_Bool copytables, /**< should the statistics tables be copied */
87  SCIP_Bool copyexprhdlrs, /**< should the expression handlers be copied */
88  SCIP_Bool copynlpis, /**< should the NLP interfaces be copied */
89  SCIP_Bool* allvalid /**< pointer to store whether all plugins were validly copied */
90  );
91 
92 /** copies parameters from sourcescip to targetscip */
94  SCIP_SET* sourceset, /**< source SCIP_SET data structure */
95  SCIP_SET* targetset, /**< target SCIP_SET data structure */
96  SCIP_MESSAGEHDLR* messagehdlr /**< message handler of target SCIP */
97  );
98 
99 /** creates global SCIP settings */
101  SCIP_SET** set, /**< pointer to SCIP settings */
102  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
103  BMS_BLKMEM* blkmem, /**< block memory */
104  SCIP* scip /**< SCIP data structure */
105  );
106 
107 /** frees global SCIP settings */
109  SCIP_SET** set, /**< pointer to SCIP settings */
110  BMS_BLKMEM* blkmem /**< block memory */
111  );
112 
113 /** returns current stage of SCIP */
115  SCIP_SET* set /**< pointer to SCIP settings */
116  );
117 
118 /** creates a SCIP_Bool parameter, sets it to its default value, and adds it to the parameter set */
120  SCIP_SET* set, /**< global SCIP settings */
121  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
122  BMS_BLKMEM* blkmem, /**< block memory */
123  const char* name, /**< name of the parameter */
124  const char* desc, /**< description of the parameter */
125  SCIP_Bool* valueptr, /**< pointer to store the current parameter value, or NULL */
126  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
127  SCIP_Bool defaultvalue, /**< default value of the parameter */
128  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
129  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
130  );
131 
132 /** creates a int parameter, sets it to its default value, and adds it to the parameter set */
134  SCIP_SET* set, /**< global SCIP settings */
135  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
136  BMS_BLKMEM* blkmem, /**< block memory */
137  const char* name, /**< name of the parameter */
138  const char* desc, /**< description of the parameter */
139  int* valueptr, /**< pointer to store the current parameter value, or NULL */
140  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
141  int defaultvalue, /**< default value of the parameter */
142  int minvalue, /**< minimum value for parameter */
143  int maxvalue, /**< maximum value for parameter */
144  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
145  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
146  );
147 
148 /** creates a SCIP_Longint parameter, sets it to its default value, and adds it to the parameter set */
150  SCIP_SET* set, /**< global SCIP settings */
151  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
152  BMS_BLKMEM* blkmem, /**< block memory */
153  const char* name, /**< name of the parameter */
154  const char* desc, /**< description of the parameter */
155  SCIP_Longint* valueptr, /**< pointer to store the current parameter value, or NULL */
156  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
157  SCIP_Longint defaultvalue, /**< default value of the parameter */
158  SCIP_Longint minvalue, /**< minimum value for parameter */
159  SCIP_Longint maxvalue, /**< maximum value for parameter */
160  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
161  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
162  );
163 
164 /** creates a SCIP_Real parameter, sets it to its default value, and adds it to the parameter set */
166  SCIP_SET* set, /**< global SCIP settings */
167  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
168  BMS_BLKMEM* blkmem, /**< block memory */
169  const char* name, /**< name of the parameter */
170  const char* desc, /**< description of the parameter */
171  SCIP_Real* valueptr, /**< pointer to store the current parameter value, or NULL */
172  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
173  SCIP_Real defaultvalue, /**< default value of the parameter */
174  SCIP_Real minvalue, /**< minimum value for parameter */
175  SCIP_Real maxvalue, /**< maximum value for parameter */
176  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
177  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
178  );
179 
180 /** creates a char parameter, sets it to its default value, and adds it to the parameter set */
182  SCIP_SET* set, /**< global SCIP settings */
183  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
184  BMS_BLKMEM* blkmem, /**< block memory */
185  const char* name, /**< name of the parameter */
186  const char* desc, /**< description of the parameter */
187  char* valueptr, /**< pointer to store the current parameter value, or NULL */
188  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
189  char defaultvalue, /**< default value of the parameter */
190  const char* allowedvalues, /**< array with possible parameter values, or NULL if not restricted */
191  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
192  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
193  );
194 
195 /** creates a string parameter, sets it to its default value, and adds it to the parameter set */
197  SCIP_SET* set, /**< global SCIP settings */
198  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
199  BMS_BLKMEM* blkmem, /**< block memory */
200  const char* name, /**< name of the parameter */
201  const char* desc, /**< description of the parameter */
202  char** valueptr, /**< pointer to store the current parameter value, or NULL */
203  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
204  const char* defaultvalue, /**< default value of the parameter */
205  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
206  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
207  );
208 
209 /** gets the fixing status value of an existing parameter */
211  SCIP_SET* set, /**< global SCIP settings */
212  const char* name /**< name of the parameter */
213  );
214 
215 /** returns the pointer to the SCIP parameter with the given name */
217  SCIP_SET* set, /**< global SCIP settings */
218  const char* name /**< name of the parameter */
219  );
220 
221 /** gets the value of an existing SCIP_Bool parameter */
223  SCIP_SET* set, /**< global SCIP settings */
224  const char* name, /**< name of the parameter */
225  SCIP_Bool* value /**< pointer to store the parameter */
226  );
227 
228 /** gets the value of an existing Int parameter */
230  SCIP_SET* set, /**< global SCIP settings */
231  const char* name, /**< name of the parameter */
232  int* value /**< pointer to store the parameter */
233  );
234 
235 /** gets the value of an existing SCIP_Longint parameter */
237  SCIP_SET* set, /**< global SCIP settings */
238  const char* name, /**< name of the parameter */
239  SCIP_Longint* value /**< pointer to store the parameter */
240  );
241 
242 /** gets the value of an existing SCIP_Real parameter */
244  SCIP_SET* set, /**< global SCIP settings */
245  const char* name, /**< name of the parameter */
246  SCIP_Real* value /**< pointer to store the parameter */
247  );
248 
249 /** gets the value of an existing Char parameter */
251  SCIP_SET* set, /**< global SCIP settings */
252  const char* name, /**< name of the parameter */
253  char* value /**< pointer to store the parameter */
254  );
255 
256 /** gets the value of an existing String parameter */
258  SCIP_SET* set, /**< global SCIP settings */
259  const char* name, /**< name of the parameter */
260  char** value /**< pointer to store the parameter */
261  );
262 
263 /** changes the fixing status of an existing parameter */
265  SCIP_SET* set, /**< global SCIP settings */
266  const char* name, /**< name of the parameter */
267  SCIP_Bool fixed /**< new fixing status of the parameter */
268  );
269 
270 /** changes the value of an existing SCIP_Bool parameter */
272  SCIP_SET* set, /**< global SCIP settings */
273  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
274  SCIP_PARAM* param, /**< parameter */
275  SCIP_Bool value /**< new value of the parameter */
276  );
277 
278 /** changes the value of an existing SCIP_Bool parameter */
280  SCIP_SET* set, /**< global SCIP settings */
281  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
282  const char* name, /**< name of the parameter */
283  SCIP_Bool value /**< new value of the parameter */
284  );
285 
286 /** changes the default value of an existing SCIP_Bool parameter */
288  SCIP_SET* set, /**< global SCIP settings */
289  const char* name, /**< name of the parameter */
290  SCIP_Bool defaultvalue /**< new default value of the parameter */
291  );
292 
293 /** changes the value of an existing Int parameter */
295  SCIP_SET* set, /**< global SCIP settings */
296  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
297  SCIP_PARAM* param, /**< parameter */
298  int value /**< new value of the parameter */
299  );
300 
301 /** changes the value of an existing Int parameter */
303  SCIP_SET* set, /**< global SCIP settings */
304  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
305  const char* name, /**< name of the parameter */
306  int value /**< new value of the parameter */
307  );
308 
309 /** changes the default value of an existing Int parameter */
311  SCIP_SET* set, /**< global SCIP settings */
312  const char* name, /**< name of the parameter */
313  int defaultvalue /**< new default value of the parameter */
314  );
315 
316 /** changes the value of an existing SCIP_Longint parameter */
318  SCIP_SET* set, /**< global SCIP settings */
319  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
320  SCIP_PARAM* param, /**< parameter */
321  SCIP_Longint value /**< new value of the parameter */
322  );
323 
324 /** changes the value of an existing SCIP_Longint parameter */
326  SCIP_SET* set, /**< global SCIP settings */
327  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
328  const char* name, /**< name of the parameter */
329  SCIP_Longint value /**< new value of the parameter */
330  );
331 
332 /** changes the value of an existing SCIP_Real parameter */
334  SCIP_SET* set, /**< global SCIP settings */
335  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
336  SCIP_PARAM* param, /**< parameter */
337  SCIP_Real value /**< new value of the parameter */
338  );
339 
340 /** changes the value of an existing SCIP_Real parameter */
342  SCIP_SET* set, /**< global SCIP settings */
343  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
344  const char* name, /**< name of the parameter */
345  SCIP_Real value /**< new value of the parameter */
346  );
347 
348 /** changes the value of an existing Char parameter */
350  SCIP_SET* set, /**< global SCIP settings */
351  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
352  SCIP_PARAM* param, /**< parameter */
353  char value /**< new value of the parameter */
354  );
355 
356 /** changes the value of an existing Char parameter */
358  SCIP_SET* set, /**< global SCIP settings */
359  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
360  const char* name, /**< name of the parameter */
361  char value /**< new value of the parameter */
362  );
363 
364 /** changes the value of an existing String parameter */
366  SCIP_SET* set, /**< global SCIP settings */
367  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
368  SCIP_PARAM* param, /**< parameter */
369  const char* value /**< new value of the parameter */
370  );
371 
372 /** changes the value of an existing String parameter */
374  SCIP_SET* set, /**< global SCIP settings */
375  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
376  const char* name, /**< name of the parameter */
377  const char* value /**< new value of the parameter */
378  );
379 
380 /** reads parameters from a file */
382  SCIP_SET* set, /**< global SCIP settings */
383  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
384  const char* filename /**< file name */
385  );
386 
387 /** writes all parameters in the parameter set to a file */
389  SCIP_SET* set, /**< global SCIP settings */
390  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
391  const char* filename, /**< file name, or NULL for stdout */
392  SCIP_Bool comments, /**< should parameter descriptions be written as comments? */
393  SCIP_Bool onlychanged /**< should only the parameters been written, that are changed from default? */
394  );
395 
396 /** resets a single parameters to its default value */
398  SCIP_SET* set, /**< global SCIP settings */
399  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
400  const char* name /**< name of the parameter */
401  );
402 
403 /** resets all parameters to their default values */
405  SCIP_SET* set, /**< global SCIP settings */
406  SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
407  );
408 
409 /** sets parameters to
410  *
411  * - \ref SCIP_PARAMEMPHASIS_DEFAULT to use default values (see also SCIPsetResetParams())
412  * - \ref SCIP_PARAMEMPHASIS_COUNTER to get feasible and "fast" counting process
413  * - \ref SCIP_PARAMEMPHASIS_CPSOLVER to get CP like search (e.g. no LP relaxation)
414  * - \ref SCIP_PARAMEMPHASIS_EASYCIP to solve easy problems fast
415  * - \ref SCIP_PARAMEMPHASIS_FEASIBILITY to detect feasibility fast
416  * - \ref SCIP_PARAMEMPHASIS_HARDLP to be capable to handle hard LPs
417  * - \ref SCIP_PARAMEMPHASIS_OPTIMALITY to prove optimality fast
418  * - \ref SCIP_PARAMEMPHASIS_PHASEFEAS to find feasible solutions during a 3 phase solution process
419  * - \ref SCIP_PARAMEMPHASIS_PHASEIMPROVE to find improved solutions during a 3 phase solution process
420  * - \ref SCIP_PARAMEMPHASIS_PHASEPROOF to proof optimality during a 3 phase solution process
421  */
423  SCIP_SET* set, /**< global SCIP settings */
424  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
425  SCIP_PARAMEMPHASIS paramemphasis, /**< parameter settings */
426  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
427  );
428 
429 /** set parameters for reoptimization */
431  SCIP_SET* set, /**< SCIP data structure */
432  SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
433  );
434 
435 /** enable or disable all plugin timers depending on the value of the flag \p enabled */
437  SCIP_SET* set, /**< SCIP settings */
438  SCIP_Bool enabled /**< should plugin clocks be enabled? */
439  );
440 
441 /** sets parameters to deactivate separators and heuristics that use auxiliary SCIP instances; should be called for
442  * auxiliary SCIP instances to avoid recursion
443  */
445  SCIP_SET* set, /**< global SCIP settings */
446  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
447  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
448  );
449 
450 /** sets heuristic parameters values to
451  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all heuristic parameters
452  * - SCIP_PARAMSETTING_FAST such that the time spend for heuristic is decreased
453  * - SCIP_PARAMSETTING_AGGRESSIVE such that the heuristic are called more aggregative
454  * - SCIP_PARAMSETTING_OFF which turn off all heuristics
455  */
457  SCIP_SET* set, /**< global SCIP settings */
458  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
459  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
460  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
461  );
462 
463 /** sets presolving parameters to
464  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all presolving parameters
465  * - SCIP_PARAMSETTING_FAST such that the time spend for presolving is decreased
466  * - SCIP_PARAMSETTING_AGGRESSIVE such that the presolving is more aggregative
467  * - SCIP_PARAMSETTING_OFF which turn off all presolving
468  */
470  SCIP_SET* set, /**< global SCIP settings */
471  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
472  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
473  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
474  );
475 
476 /** sets separating parameters to
477  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all separating parameters
478  * - SCIP_PARAMSETTING_FAST such that the time spend for separating is decreased
479  * - SCIP_PARAMSETTING_AGGRESSIVE such that the separating is done more aggregative
480  * - SCIP_PARAMSETTING_OFF which turn off all separating
481  */
483  SCIP_SET* set, /**< global SCIP settings */
484  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
485  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
486  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
487  );
488 
489 /** returns the array of all available SCIP parameters */
491  SCIP_SET* set /**< global SCIP settings */
492  );
493 
494 /** returns the total number of all available SCIP parameters */
496  SCIP_SET* set /**< global SCIP settings */
497  );
498 
499 /** inserts file reader in file reader list */
501  SCIP_SET* set, /**< global SCIP settings */
502  SCIP_READER* reader /**< file reader */
503  );
504 
505 /** returns the file reader of the given name, or NULL if not existing */
507  SCIP_SET* set, /**< global SCIP settings */
508  const char* name /**< name of file reader */
509  );
510 
511 /** inserts variable pricer in variable pricer list */
513  SCIP_SET* set, /**< global SCIP settings */
514  SCIP_PRICER* pricer /**< variable pricer */
515  );
516 
517 /** returns the variable pricer of the given name, or NULL if not existing */
519  SCIP_SET* set, /**< global SCIP settings */
520  const char* name /**< name of variable pricer */
521  );
522 
523 /** sorts pricers by priorities */
524 void SCIPsetSortPricers(
525  SCIP_SET* set /**< global SCIP settings */
526  );
527 
528 /** sorts pricers by name */
530  SCIP_SET* set /**< global SCIP settings */
531  );
532 
533 /** inserts Benders' decomposition into the Benders' decomposition list */
535  SCIP_SET* set, /**< global SCIP settings */
536  SCIP_BENDERS* benders /**< Benders' decomposition */
537  );
538 
539 /** returns the Benders' decomposition of the given name, or NULL if not existing */
541  SCIP_SET* set, /**< global SCIP settings */
542  const char* name /**< name of Benders' decomposition */
543  );
544 
545 /** sorts Benders' decomposition by priorities */
546 void SCIPsetSortBenders(
547  SCIP_SET* set /**< global SCIP settings */
548  );
549 
550 /** sorts Benders' decomposition by name */
552  SCIP_SET* set /**< global SCIP settings */
553  );
554 
555 /** inserts constraint handler in constraint handler list */
557  SCIP_SET* set, /**< global SCIP settings */
558  SCIP_CONSHDLR* conshdlr /**< constraint handler */
559  );
560 
561 /** reinserts a constraint handler with modified sepa priority into the sepa priority sorted array */
563  SCIP_SET* set, /**< global SCIP settings */
564  SCIP_CONSHDLR* conshdlr, /**< constraint handler to be reinserted */
565  int oldpriority /**< the old separation priority of constraint handler */
566  );
567 
568 /** returns the constraint handler of the given name, or NULL if not existing */
570  SCIP_SET* set, /**< global SCIP settings */
571  const char* name /**< name of constraint handler */
572  );
573 
574 /** inserts conflict handler in conflict handler list */
576  SCIP_SET* set, /**< global SCIP settings */
577  SCIP_CONFLICTHDLR* conflicthdlr /**< conflict handler */
578  );
579 
580 /** returns the conflict handler of the given name, or NULL if not existing */
582  SCIP_SET* set, /**< global SCIP settings */
583  const char* name /**< name of conflict handler */
584  );
585 
586 /** sorts conflict handlers by priorities */
588  SCIP_SET* set /**< global SCIP settings */
589  );
590 
591 /** sorts conflict handlers by name */
593  SCIP_SET* set /**< global SCIP settings */
594  );
595 
596 /** inserts presolver in presolver list */
598  SCIP_SET* set, /**< global SCIP settings */
599  SCIP_PRESOL* presol /**< presolver */
600  );
601 
602 /** returns the presolver of the given name, or NULL if not existing */
604  SCIP_SET* set, /**< global SCIP settings */
605  const char* name /**< name of presolver */
606  );
607 
608 /** sorts presolvers by priorities */
609 void SCIPsetSortPresols(
610  SCIP_SET* set /**< global SCIP settings */
611  );
612 
613 /** sorts presolvers by name */
615  SCIP_SET* set /**< global SCIP settings */
616  );
617 
618 /** inserts relaxator in relaxator list */
620  SCIP_SET* set, /**< global SCIP settings */
621  SCIP_RELAX* relax /**< relaxator */
622  );
623 
624 /** returns the relaxator of the given name, or NULL if not existing */
626  SCIP_SET* set, /**< global SCIP settings */
627  const char* name /**< name of relaxator */
628  );
629 
630 /** sorts relaxators by priorities */
631 void SCIPsetSortRelaxs(
632  SCIP_SET* set /**< global SCIP settings */
633  );
634 
635 /** sorts relaxators by name */
637  SCIP_SET* set /**< global SCIP settings */
638  );
639 
640 /** inserts separator in separator list */
642  SCIP_SET* set, /**< global SCIP settings */
643  SCIP_SEPA* sepa /**< separator */
644  );
645 
646 /** returns the separator of the given name, or NULL if not existing */
648  SCIP_SET* set, /**< global SCIP settings */
649  const char* name /**< name of separator */
650  );
651 
652 /** sorts separators by priorities */
653 void SCIPsetSortSepas(
654  SCIP_SET* set /**< global SCIP settings */
655  );
656 
657 /** sorts separators by name */
659  SCIP_SET* set /**< global SCIP settings */
660  );
661 
662 /** inserts cut selector in cut selector list */
664  SCIP_SET* set, /**< global SCIP settings */
665  SCIP_CUTSEL* cutsel /**< cut selector */
666  );
667 
668 /** returns the cut selector of the given name, or NULL if not existing */
670  SCIP_SET* set, /**< global SCIP settings */
671  const char* name /**< name of separator */
672  );
673 
674 /** sorts cut selectors by priorities */
675 void SCIPsetSortCutsels(
676  SCIP_SET* set /**< global SCIP settings */
677  );
678 
679 /** inserts propagator in propagator list */
681  SCIP_SET* set, /**< global SCIP settings */
682  SCIP_PROP* prop /**< propagator */
683  );
684 
685 /** returns the propagator of the given name, or NULL if not existing */
687  SCIP_SET* set, /**< global SCIP settings */
688  const char* name /**< name of propagator */
689  );
690 
691 /** sorts propagators by priorities */
692 void SCIPsetSortProps(
693  SCIP_SET* set /**< global SCIP settings */
694  );
695 
696 /** sorts propagators by priorities for presolving */
698  SCIP_SET* set /**< global SCIP settings */
699  );
700 
701 /** sorts propagators w.r.t. names */
703  SCIP_SET* set /**< global SCIP settings */
704  );
705 
706 /** inserts concurrent solver type into the concurrent solver type list */
708  SCIP_SET* set, /**< global SCIP settings */
709  SCIP_CONCSOLVERTYPE* concsolvertype /**< concurrent solver type */
710  );
711 
712 /** returns the concurrent solver type with the given name, or NULL if not existing */
714  SCIP_SET* set, /**< global SCIP settings */
715  const char* name /**< name of concurrent solver type */
716  );
717 
718 /** inserts concurrent solver into the concurrent solver list */
720  SCIP_SET* set, /**< global SCIP settings */
721  SCIP_CONCSOLVER* concsolver /**< concurrent solver */
722  );
723 
724 /** frees all concurrent solvers in the concurrent solver list */
726  SCIP_SET* set /**< global SCIP settings */
727  );
728 
729 /** inserts primal heuristic in primal heuristic list */
731  SCIP_SET* set, /**< global SCIP settings */
732  SCIP_HEUR* heur /**< primal heuristic */
733  );
734 
735 /** returns the primal heuristic of the given name, or NULL if not existing */
737  SCIP_SET* set, /**< global SCIP settings */
738  const char* name /**< name of primal heuristic */
739  );
740 
741 /** sorts heuristics by priorities */
742 void SCIPsetSortHeurs(
743  SCIP_SET* set /**< global SCIP settings */
744  );
745 
746 /** sorts heuristics by name */
748  SCIP_SET* set /**< global SCIP settings */
749  );
750 
751 /** inserts tree compression in tree compression list */
753  SCIP_SET* set, /**< global SCIP settings */
754  SCIP_COMPR* compr /**< tree compression */
755  );
756 
757 /** returns the tree compression of the given name, or NULL if not existing */
759  SCIP_SET* set, /**< global SCIP settings */
760  const char* name /**< name of tree compression */
761  );
762 
763 /** sorts compressions by priorities */
764 void SCIPsetSortComprs(
765  SCIP_SET* set /**< global SCIP settings */
766  );
767 
768 /** sorts heuristics by names */
770  SCIP_SET* set /**< global SCIP settings */
771  );
772 
773 /** inserts event handler in event handler list */
775  SCIP_SET* set, /**< global SCIP settings */
776  SCIP_EVENTHDLR* eventhdlr /**< event handler */
777  );
778 
779 /** returns the event handler of the given name, or NULL if not existing */
781  SCIP_SET* set, /**< global SCIP settings */
782  const char* name /**< name of event handler */
783  );
784 
785 /** inserts node selector in node selector list */
787  SCIP_SET* set, /**< global SCIP settings */
788  SCIP_NODESEL* nodesel /**< node selector */
789  );
790 
791 /** returns the node selector of the given name, or NULL if not existing */
793  SCIP_SET* set, /**< global SCIP settings */
794  const char* name /**< name of event handler */
795  );
796 
797 /** returns node selector with highest priority in the current mode */
799  SCIP_SET* set, /**< global SCIP settings */
800  SCIP_STAT* stat /**< dynamic problem statistics */
801  );
802 
803 /** inserts branching rule in branching rule list */
805  SCIP_SET* set, /**< global SCIP settings */
806  SCIP_BRANCHRULE* branchrule /**< branching rule */
807  );
808 
809 /** returns the branching rule of the given name, or NULL if not existing */
811  SCIP_SET* set, /**< global SCIP settings */
812  const char* name /**< name of event handler */
813  );
814 
815 /** sorts branching rules by priorities */
817  SCIP_SET* set /**< global SCIP settings */
818  );
819 
820 /** sorts branching rules by name */
822  SCIP_SET* set /**< global SCIP settings */
823  );
824 
825 /** inserts display column in display column list */
827  SCIP_SET* set, /**< global SCIP settings */
828  SCIP_DISP* disp /**< display column */
829  );
830 
831 /** returns the display column of the given name, or NULL if not existing */
833  SCIP_SET* set, /**< global SCIP settings */
834  const char* name /**< name of display */
835  );
836 
837 /** inserts statistics table in statistics table list */
839  SCIP_SET* set, /**< global SCIP settings */
840  SCIP_TABLE* table /**< statistics table */
841  );
842 
843 /** returns the statistics table of the given name, or NULL if not existing */
845  SCIP_SET* set, /**< global SCIP settings */
846  const char* name /**< name of statistics table */
847  );
848 
849 /** inserts dialog in dialog list */
851  SCIP_SET* set, /**< global SCIP settings */
852  SCIP_DIALOG* dialog /**< dialog */
853  );
854 
855 /** returns if the dialog already exists */
857  SCIP_SET* set, /**< global SCIP settings */
858  SCIP_DIALOG* dialog /**< dialog */
859  );
860 
861 /** inserts expression handler in expression handler list */
863  SCIP_SET* set, /**< global SCIP settings */
864  SCIP_EXPRHDLR* exprhdlr /**< expression handler */
865  );
866 
867 /** returns the expression handler of the given name, or NULL if not existing */
868 SCIP_EXPORT /* need SCIP_EXPORT here, because func is exposed in API via SCIPfindExprhdlr() macro */
870  SCIP_SET* set, /**< global SCIP settings */
871  const char* name /**< name of expression handler */
872  );
873 
874 /** sorts expression handlers by name */
876  SCIP_SET* set /**< global SCIP settings */
877  );
878 
879 /** inserts NLPI in NLPI list */
881  SCIP_SET* set, /**< global SCIP settings */
882  SCIP_NLPI* nlpi /**< NLPI */
883  );
884 
885 /** returns the NLPI of the given name, or NULL if not existing */
887  SCIP_SET* set, /**< global SCIP settings */
888  const char* name /**< name of NLPI */
889  );
890 
891 /** sorts NLPIs by priorities */
892 void SCIPsetSortNlpis(
893  SCIP_SET* set /**< global SCIP settings */
894  );
895 
896 /** set priority of an NLPI */
898  SCIP_SET* set, /**< global SCIP settings */
899  SCIP_NLPI* nlpi, /**< NLPI */
900  int priority /**< new priority of NLPI */
901  );
902 
903 /** inserts information about an external code in external codes list */
905  SCIP_SET* set, /**< global SCIP settings */
906  const char* name, /**< name of external code */
907  const char* description /**< description of external code, can be NULL */
908  );
909 
910 /** inserts bandit virtual function table into set */
912  SCIP_SET* set, /**< global SCIP settings */
913  SCIP_BANDITVTABLE* banditvtable /**< bandit algorithm virtual function table */
914  );
915 
916 /** returns the bandit virtual function table of the given name, or NULL if not existing */
918  SCIP_SET* set, /**< global SCIP settings */
919  const char* name /**< name of bandit algorithm virtual function table */
920  );
921 
922 /** calls init methods of all plugins */
924  SCIP_SET* set, /**< global SCIP settings */
925  BMS_BLKMEM* blkmem, /**< block memory */
926  SCIP_STAT* stat /**< dynamic problem statistics */
927  );
928 
929 /** calls exit methods of all plugins */
931  SCIP_SET* set, /**< global SCIP settings */
932  BMS_BLKMEM* blkmem, /**< block memory */
933  SCIP_STAT* stat /**< dynamic problem statistics */
934  );
935 
936 /** calls initpre methods of all plugins */
938  SCIP_SET* set, /**< global SCIP settings */
939  BMS_BLKMEM* blkmem, /**< block memory */
940  SCIP_STAT* stat /**< dynamic problem statistics */
941  );
942 
943 /** calls exitpre methods of all plugins */
945  SCIP_SET* set, /**< global SCIP settings */
946  BMS_BLKMEM* blkmem, /**< block memory */
947  SCIP_STAT* stat /**< dynamic problem statistics */
948  );
949 
950 /** calls initsol methods of all plugins */
952  SCIP_SET* set, /**< global SCIP settings */
953  BMS_BLKMEM* blkmem, /**< block memory */
954  SCIP_STAT* stat /**< dynamic problem statistics */
955  );
956 
957 /** calls exitsol methods of all plugins */
959  SCIP_SET* set, /**< global SCIP settings */
960  BMS_BLKMEM* blkmem, /**< block memory */
961  SCIP_STAT* stat, /**< dynamic problem statistics */
962  SCIP_Bool restart /**< was this exit solve call triggered by a restart? */
963  );
964 
965 /** calculate memory size for dynamically allocated arrays */
967  SCIP_SET* set, /**< global SCIP settings */
968  int num /**< minimum number of entries to store */
969  );
970 
971 /** calculate memory size for tree array */
973  SCIP_SET* set, /**< global SCIP settings */
974  int num /**< minimum number of entries to store */
975  );
976 
977 /** calculate memory size for path array */
979  SCIP_SET* set, /**< global SCIP settings */
980  int num /**< minimum number of entries to store */
981  );
982 
983 /** sets verbosity level for message output */
985  SCIP_SET* set, /**< global SCIP settings */
986  SCIP_VERBLEVEL verblevel /**< verbosity level for message output */
987  );
988 
989 /** sets feasibility tolerance */
991  SCIP_SET* set, /**< global SCIP settings */
992  SCIP_LP* lp, /**< LP data, or NULL */
993  SCIP_Real feastol /**< new feasibility tolerance */
994  );
995 
996 /** sets feasibility tolerance for reduced costs in LP solution */
998  SCIP_SET* set, /**< global SCIP settings */
999  SCIP_Real dualfeastol /**< new reduced costs feasibility tolerance */
1000  );
1001 
1002 /** sets LP convergence tolerance used in barrier algorithm */
1004  SCIP_SET* set, /**< global SCIP settings */
1005  SCIP_Real barrierconvtol /**< new convergence tolerance used in barrier algorithm */
1006  );
1007 
1008 /** sets primal feasibility tolerance for relaxations (relaxfeastol)
1009  *
1010  * @note Set to SCIP_INVALID to apply relaxation-specific feasibility tolerance only.
1011  *
1012  * @return Previous value of relaxfeastol.
1013  */
1015  SCIP_SET* set, /**< global SCIP settings */
1016  SCIP_Real relaxfeastol /**< new primal feasibility tolerance for relaxations, or SCIP_INVALID */
1017  );
1018 
1019 /** marks that some limit parameter was changed */
1021  SCIP_SET* set /**< global SCIP settings */
1022  );
1023 
1024 /** returns the maximal number of variables priced into the LP per round */
1026  SCIP_SET* set, /**< global SCIP settings */
1027  SCIP_Bool root /**< are we at the root node? */
1028  );
1029 
1030 /** returns the maximal number of cuts separated per round */
1032  SCIP_SET* set, /**< global SCIP settings */
1033  SCIP_Bool root /**< are we at the root node? */
1034  );
1035 
1036 /** returns the maximal ratio between coefficients to ensure in rowprep cleanup */
1038  SCIP_SET* set /**< global SCIP settings */
1039  );
1040 
1041 /** returns user defined objective value (in original space) for reference purposes */
1043  SCIP_SET* set /**< global SCIP settings */
1044  );
1045 
1046 /** returns debug solution data */
1048  SCIP_SET* set /**< global SCIP settings */
1049  );
1050 
1051 /** Checks, if an iteratively updated value is reliable or should be recomputed from scratch.
1052  * This is useful, if the value, e.g., the activity of a linear constraint or the pseudo objective value, gets a high
1053  * absolute value during the optimization process which is later reduced significantly. In this case, the last digits
1054  * were cancelled out when increasing the value and are random after decreasing it.
1055  * We dot not consider the cancellations which can occur during increasing the absolute value because they just cannot
1056  * be expressed using fixed precision floating point arithmetic, anymore.
1057  * The idea to get more reliable values is to always store the last reliable value, where increasing the absolute of
1058  * the value is viewed as preserving reliability. Then, after each update, the new absolute value can be compared
1059  * against the last reliable one with this method, checking whether it was decreased by a factor of at least
1060  * "lp/recompfac" and should be recomputed.
1061  */
1063  SCIP_SET* set, /**< global SCIP settings */
1064  SCIP_Real newvalue, /**< new value after update */
1065  SCIP_Real oldvalue /**< old value, i.e., last reliable value */
1066  );
1067 
1068 /** modifies an initial seed value with the global shift of random seeds */
1069 unsigned int SCIPsetInitializeRandomSeed(
1070  SCIP_SET* set, /**< global SCIP settings */
1071  unsigned int initialseedvalue /**< initial seed value to be modified */
1072  );
1073 
1074 /** returns value treated as infinity */
1076  SCIP_SET* set /**< global SCIP settings */
1077  );
1078 
1079 /** returns the minimum value that is regarded as huge and should be handled separately (e.g., in activity
1080  * computation)
1081  */
1083  SCIP_SET* set /**< global SCIP settings */
1084  );
1085 
1086 /** returns value treated as zero */
1088  SCIP_SET* set /**< global SCIP settings */
1089  );
1090 
1091 /** returns value treated as zero for sums of floating point values */
1093  SCIP_SET* set /**< global SCIP settings */
1094  );
1095 
1096 /** returns feasibility tolerance for constraints */
1098  SCIP_SET* set /**< global SCIP settings */
1099  );
1100 
1101 /** returns factor w.r.t. primal feasibility tolerance that determines default (and maximal) feasibility tolerance */
1103  SCIP_SET* set /**< global SCIP settings */
1104  );
1105 
1106 /** returns feasibility tolerance for reduced costs */
1108  SCIP_SET* set /**< global SCIP settings */
1109  );
1110 
1111 /** returns convergence tolerance used in barrier algorithm */
1113  SCIP_SET* set /**< global SCIP settings */
1114  );
1115 
1116 /** returns minimal variable distance value to use for pseudo cost updates */
1118  SCIP_SET* set /**< global SCIP settings */
1119  );
1120 
1121 /** returns minimal minimal objective distance value to use for pseudo cost updates */
1123  SCIP_SET* set /**< global SCIP settings */
1124  );
1125 
1126 /** return the delta to use for computing the cutoff bound for integral objectives */
1128  SCIP_SET* set /**< global SCIP settings */
1129  );
1130 
1131 /** return the primal feasibility tolerance for relaxations */
1133  SCIP_SET* set /**< global SCIP settings */
1134  );
1135 
1136 /** returns minimal decrease factor that causes the recomputation of a value
1137  * (e.g., pseudo objective) instead of an update */
1139  SCIP_SET* set /**< global SCIP settings */
1140  );
1141 
1142 /** checks, if values are in range of epsilon */
1144  SCIP_SET* set, /**< global SCIP settings */
1145  SCIP_Real val1, /**< first value to be compared */
1146  SCIP_Real val2 /**< second value to be compared */
1147  );
1148 
1149 /** checks, if val1 is (more than epsilon) lower than val2 */
1151  SCIP_SET* set, /**< global SCIP settings */
1152  SCIP_Real val1, /**< first value to be compared */
1153  SCIP_Real val2 /**< second value to be compared */
1154  );
1155 
1156 /** checks, if val1 is not (more than epsilon) greater than val2 */
1158  SCIP_SET* set, /**< global SCIP settings */
1159  SCIP_Real val1, /**< first value to be compared */
1160  SCIP_Real val2 /**< second value to be compared */
1161  );
1162 
1163 /** checks, if val1 is (more than epsilon) greater than val2 */
1165  SCIP_SET* set, /**< global SCIP settings */
1166  SCIP_Real val1, /**< first value to be compared */
1167  SCIP_Real val2 /**< second value to be compared */
1168  );
1169 
1170 /** checks, if val1 is not (more than epsilon) lower than val2 */
1172  SCIP_SET* set, /**< global SCIP settings */
1173  SCIP_Real val1, /**< first value to be compared */
1174  SCIP_Real val2 /**< second value to be compared */
1175  );
1176 
1177 /** checks, if value is (positive) infinite */
1179  SCIP_SET* set, /**< global SCIP settings */
1180  SCIP_Real val /**< value to be compared against infinity */
1181  );
1182 
1183 /** checks, if value is huge and should be handled separately (e.g., in activity computation) */
1185  SCIP_SET* set, /**< global SCIP settings */
1186  SCIP_Real val /**< value to be checked whether it is huge */
1187  );
1188 
1189 /** checks, if value is in range epsilon of 0.0 */
1191  SCIP_SET* set, /**< global SCIP settings */
1192  SCIP_Real val /**< value to be compared against zero */
1193  );
1194 
1195 /** checks, if value is greater than epsilon */
1197  SCIP_SET* set, /**< global SCIP settings */
1198  SCIP_Real val /**< value to be compared against zero */
1199  );
1200 
1201 /** checks, if value is lower than -epsilon */
1203  SCIP_SET* set, /**< global SCIP settings */
1204  SCIP_Real val /**< value to be compared against zero */
1205  );
1206 
1207 /** checks, if value is integral within epsilon */
1209  SCIP_SET* set, /**< global SCIP settings */
1210  SCIP_Real val /**< value to be compared against zero */
1211  );
1212 
1213 /** checks whether the product val * scalar is integral in epsilon scaled by scalar */
1215  SCIP_SET* set, /**< global SCIP settings */
1216  SCIP_Real val, /**< unscaled value to check for scaled integrality */
1217  SCIP_Real scalar /**< value to scale val with for checking for integrality */
1218  );
1219 
1220 /** checks, if given fractional part is smaller than epsilon */
1222  SCIP_SET* set, /**< global SCIP settings */
1223  SCIP_Real val /**< value to be compared against zero */
1224  );
1225 
1226 /** rounds value + feasibility tolerance down to the next integer in epsilon tolerance */
1228  SCIP_SET* set, /**< global SCIP settings */
1229  SCIP_Real val /**< value to be compared against zero */
1230  );
1231 
1232 /** rounds value - feasibility tolerance up to the next integer in epsilon tolerance */
1234  SCIP_SET* set, /**< global SCIP settings */
1235  SCIP_Real val /**< value to be compared against zero */
1236  );
1237 
1238 /** rounds value to the nearest integer in epsilon tolerance */
1240  SCIP_SET* set, /**< global SCIP settings */
1241  SCIP_Real val /**< value to be compared against zero */
1242  );
1243 
1244 /** returns fractional part of value, i.e. x - floor(x) in epsilon tolerance */
1246  SCIP_SET* set, /**< global SCIP settings */
1247  SCIP_Real val /**< value to return fractional part for */
1248  );
1249 
1250 /** checks, if values are in range of sumepsilon */
1252  SCIP_SET* set, /**< global SCIP settings */
1253  SCIP_Real val1, /**< first value to be compared */
1254  SCIP_Real val2 /**< second value to be compared */
1255  );
1256 
1257 /** checks, if val1 is (more than sumepsilon) lower than val2 */
1259  SCIP_SET* set, /**< global SCIP settings */
1260  SCIP_Real val1, /**< first value to be compared */
1261  SCIP_Real val2 /**< second value to be compared */
1262  );
1263 
1264 /** checks, if val1 is not (more than sumepsilon) greater than val2 */
1266  SCIP_SET* set, /**< global SCIP settings */
1267  SCIP_Real val1, /**< first value to be compared */
1268  SCIP_Real val2 /**< second value to be compared */
1269  );
1270 
1271 /** checks, if val1 is (more than sumepsilon) greater than val2 */
1273  SCIP_SET* set, /**< global SCIP settings */
1274  SCIP_Real val1, /**< first value to be compared */
1275  SCIP_Real val2 /**< second value to be compared */
1276  );
1277 
1278 /** checks, if val1 is not (more than sumepsilon) lower than val2 */
1280  SCIP_SET* set, /**< global SCIP settings */
1281  SCIP_Real val1, /**< first value to be compared */
1282  SCIP_Real val2 /**< second value to be compared */
1283  );
1284 
1285 /** checks, if value is in range sumepsilon of 0.0 */
1287  SCIP_SET* set, /**< global SCIP settings */
1288  SCIP_Real val /**< value to be compared against zero */
1289  );
1290 
1291 /** checks, if value is greater than sumepsilon */
1293  SCIP_SET* set, /**< global SCIP settings */
1294  SCIP_Real val /**< value to be compared against zero */
1295  );
1296 
1297 /** checks, if value is lower than -sumepsilon */
1299  SCIP_SET* set, /**< global SCIP settings */
1300  SCIP_Real val /**< value to be compared against zero */
1301  );
1302 
1303 /** rounds value + sumepsilon tolerance down to the next integer */
1305  SCIP_SET* set, /**< global SCIP settings */
1306  SCIP_Real val /**< value to process */
1307  );
1308 
1309 /** rounds value - sumepsilon tolerance up to the next integer */
1311  SCIP_SET* set, /**< global SCIP settings */
1312  SCIP_Real val /**< value to process */
1313  );
1314 
1315 /** rounds value to the nearest integer in sumepsilon tolerance */
1317  SCIP_SET* set, /**< global SCIP settings */
1318  SCIP_Real val /**< value to process */
1319  );
1320 
1321 /** returns fractional part of value, i.e. x - floor(x) in sumepsilon tolerance */
1323  SCIP_SET* set, /**< global SCIP settings */
1324  SCIP_Real val /**< value to process */
1325  );
1326 
1327 /** checks, if relative difference of values is in range of feastol */
1329  SCIP_SET* set, /**< global SCIP settings */
1330  SCIP_Real val1, /**< first value to be compared */
1331  SCIP_Real val2 /**< second value to be compared */
1332  );
1333 
1334 /** checks, if relative difference of val1 and val2 is lower than feastol */
1336  SCIP_SET* set, /**< global SCIP settings */
1337  SCIP_Real val1, /**< first value to be compared */
1338  SCIP_Real val2 /**< second value to be compared */
1339  );
1340 
1341 /** checks, if relative difference of val1 and val2 is not greater than feastol */
1343  SCIP_SET* set, /**< global SCIP settings */
1344  SCIP_Real val1, /**< first value to be compared */
1345  SCIP_Real val2 /**< second value to be compared */
1346  );
1347 
1348 /** checks, if relative difference of val1 and val2 is greater than feastol */
1350  SCIP_SET* set, /**< global SCIP settings */
1351  SCIP_Real val1, /**< first value to be compared */
1352  SCIP_Real val2 /**< second value to be compared */
1353  );
1354 
1355 /** checks, if relative difference of val1 and val2 is not lower than -feastol */
1357  SCIP_SET* set, /**< global SCIP settings */
1358  SCIP_Real val1, /**< first value to be compared */
1359  SCIP_Real val2 /**< second value to be compared */
1360  );
1361 
1362 /** checks, if value is in range feasibility tolerance of 0.0 */
1364  SCIP_SET* set, /**< global SCIP settings */
1365  SCIP_Real val /**< value to be compared against zero */
1366  );
1367 
1368 /** checks, if value is greater than feasibility tolerance */
1370  SCIP_SET* set, /**< global SCIP settings */
1371  SCIP_Real val /**< value to be compared against zero */
1372  );
1373 
1374 /** checks, if value is lower than -feasibility tolerance */
1376  SCIP_SET* set, /**< global SCIP settings */
1377  SCIP_Real val /**< value to be compared against zero */
1378  );
1379 
1380 /** checks, if value is integral within the feasibility bounds */
1382  SCIP_SET* set, /**< global SCIP settings */
1383  SCIP_Real val /**< value to be compared against zero */
1384  );
1385 
1386 /** checks, if given fractional part is smaller than feastol */
1388  SCIP_SET* set, /**< global SCIP settings */
1389  SCIP_Real val /**< value to be compared against zero */
1390  );
1391 
1392 /** rounds value + feasibility tolerance down to the next integer */
1394  SCIP_SET* set, /**< global SCIP settings */
1395  SCIP_Real val /**< value to be compared against zero */
1396  );
1397 
1398 /** rounds value - feasibility tolerance up to the next integer */
1400  SCIP_SET* set, /**< global SCIP settings */
1401  SCIP_Real val /**< value to be compared against zero */
1402  );
1403 
1404 /** rounds value to the nearest integer in feasibility tolerance */
1406  SCIP_SET* set, /**< global SCIP settings */
1407  SCIP_Real val /**< value to be compared against zero */
1408  );
1409 
1410 /** returns fractional part of value, i.e. x - floor(x) in feasibility tolerance */
1412  SCIP_SET* set, /**< global SCIP settings */
1413  SCIP_Real val /**< value to return fractional part for */
1414  );
1415 
1416 /** checks, if relative difference of values is in range of dual feasibility tolerance */
1418  SCIP_SET* set, /**< global SCIP settings */
1419  SCIP_Real val1, /**< first value to be compared */
1420  SCIP_Real val2 /**< second value to be compared */
1421  );
1422 
1423 /** checks, if relative difference of val1 and val2 is lower than dual feasibility tolerance */
1425  SCIP_SET* set, /**< global SCIP settings */
1426  SCIP_Real val1, /**< first value to be compared */
1427  SCIP_Real val2 /**< second value to be compared */
1428  );
1429 
1430 /** checks, if relative difference of val1 and val2 is not greater than dual feasibility tolerance */
1432  SCIP_SET* set, /**< global SCIP settings */
1433  SCIP_Real val1, /**< first value to be compared */
1434  SCIP_Real val2 /**< second value to be compared */
1435  );
1436 
1437 /** checks, if relative difference of val1 and val2 is greater than dual feasibility tolerance */
1439  SCIP_SET* set, /**< global SCIP settings */
1440  SCIP_Real val1, /**< first value to be compared */
1441  SCIP_Real val2 /**< second value to be compared */
1442  );
1443 
1444 /** checks, if relative difference of val1 and val2 is not lower than -dual feasibility tolerance */
1446  SCIP_SET* set, /**< global SCIP settings */
1447  SCIP_Real val1, /**< first value to be compared */
1448  SCIP_Real val2 /**< second value to be compared */
1449  );
1450 
1451 /** checks, if value is in range dual feasibility tolerance of 0.0 */
1453  SCIP_SET* set, /**< global SCIP settings */
1454  SCIP_Real val /**< value to be compared against zero */
1455  );
1456 
1457 /** checks, if value is greater than dual feasibility tolerance */
1459  SCIP_SET* set, /**< global SCIP settings */
1460  SCIP_Real val /**< value to be compared against zero */
1461  );
1462 
1463 /** checks, if value is lower than -dual feasibility tolerance */
1465  SCIP_SET* set, /**< global SCIP settings */
1466  SCIP_Real val /**< value to be compared against zero */
1467  );
1468 
1469 /** checks, if value is integral within the dual feasibility bounds */
1471  SCIP_SET* set, /**< global SCIP settings */
1472  SCIP_Real val /**< value to be compared against zero */
1473  );
1474 
1475 /** checks, if given fractional part is smaller than dual feasibility tolerance */
1477  SCIP_SET* set, /**< global SCIP settings */
1478  SCIP_Real val /**< value to be compared against zero */
1479  );
1480 
1481 /** rounds value + dual feasibility tolerance down to the next integer */
1483  SCIP_SET* set, /**< global SCIP settings */
1484  SCIP_Real val /**< value to be compared against zero */
1485  );
1486 
1487 /** rounds value - dual feasibility tolerance up to the next integer */
1489  SCIP_SET* set, /**< global SCIP settings */
1490  SCIP_Real val /**< value to be compared against zero */
1491  );
1492 
1493 /** rounds value to the nearest integer in dual feasibility tolerance */
1495  SCIP_SET* set, /**< global SCIP settings */
1496  SCIP_Real val /**< value to be compared against zero */
1497  );
1498 
1499 /** returns fractional part of value, i.e. x - floor(x) in dual feasibility tolerance */
1501  SCIP_SET* set, /**< global SCIP settings */
1502  SCIP_Real val /**< value to return fractional part for */
1503  );
1504 
1505 /** checks, if the given new lower bound is at least min(oldub - oldlb, |oldlb|) times the bound
1506  * strengthening epsilon better than the old one or the change in the lower bound would fix the
1507  * sign of the variable
1508  */
1510  SCIP_SET* set, /**< global SCIP settings */
1511  SCIP_Real newlb, /**< new lower bound */
1512  SCIP_Real oldlb, /**< old lower bound */
1513  SCIP_Real oldub /**< old upper bound */
1514  );
1515 
1516 /** checks, if the given new upper bound is at least min(oldub - oldlb, |oldub|) times the bound
1517  * strengthening epsilon better than the old one or the change in the upper bound would fix the
1518  * sign of the variable
1519  */
1521  SCIP_SET* set, /**< global SCIP settings */
1522  SCIP_Real newub, /**< new upper bound */
1523  SCIP_Real oldlb, /**< old lower bound */
1524  SCIP_Real oldub /**< old upper bound */
1525  );
1526 
1527 /** checks, if the given cut's efficacy is larger than the minimal cut efficacy */
1529  SCIP_SET* set, /**< global SCIP settings */
1530  SCIP_Bool root, /**< should the root's minimal cut efficacy be used? */
1531  SCIP_Real efficacy /**< efficacy of the cut */
1532  );
1533 
1534 /** checks, if relative difference of values is in range of epsilon */
1536  SCIP_SET* set, /**< global SCIP settings */
1537  SCIP_Real val1, /**< first value to be compared */
1538  SCIP_Real val2 /**< second value to be compared */
1539  );
1540 
1541 /** checks, if relative difference of val1 and val2 is lower than epsilon */
1543  SCIP_SET* set, /**< global SCIP settings */
1544  SCIP_Real val1, /**< first value to be compared */
1545  SCIP_Real val2 /**< second value to be compared */
1546  );
1547 
1548 /** checks, if relative difference of val1 and val2 is not greater than epsilon */
1550  SCIP_SET* set, /**< global SCIP settings */
1551  SCIP_Real val1, /**< first value to be compared */
1552  SCIP_Real val2 /**< second value to be compared */
1553  );
1554 
1555 /** checks, if relative difference of val1 and val2 is greater than epsilon */
1557  SCIP_SET* set, /**< global SCIP settings */
1558  SCIP_Real val1, /**< first value to be compared */
1559  SCIP_Real val2 /**< second value to be compared */
1560  );
1561 
1562 /** checks, if relative difference of val1 and val2 is not lower than -epsilon */
1564  SCIP_SET* set, /**< global SCIP settings */
1565  SCIP_Real val1, /**< first value to be compared */
1566  SCIP_Real val2 /**< second value to be compared */
1567  );
1568 
1569 /** checks, if relative difference of values is in range of sumepsilon */
1571  SCIP_SET* set, /**< global SCIP settings */
1572  SCIP_Real val1, /**< first value to be compared */
1573  SCIP_Real val2 /**< second value to be compared */
1574  );
1575 
1576 /** checks, if relative difference of val1 and val2 is lower than sumepsilon */
1578  SCIP_SET* set, /**< global SCIP settings */
1579  SCIP_Real val1, /**< first value to be compared */
1580  SCIP_Real val2 /**< second value to be compared */
1581  );
1582 
1583 /** checks, if relative difference of val1 and val2 is not greater than sumepsilon */
1585  SCIP_SET* set, /**< global SCIP settings */
1586  SCIP_Real val1, /**< first value to be compared */
1587  SCIP_Real val2 /**< second value to be compared */
1588  );
1589 
1590 /** checks, if relative difference of val1 and val2 is greater than sumepsilon */
1592  SCIP_SET* set, /**< global SCIP settings */
1593  SCIP_Real val1, /**< first value to be compared */
1594  SCIP_Real val2 /**< second value to be compared */
1595  );
1596 
1597 /** checks, if relative difference of val1 and val2 is not lower than -sumepsilon */
1599  SCIP_SET* set, /**< global SCIP settings */
1600  SCIP_Real val1, /**< first value to be compared */
1601  SCIP_Real val2 /**< second value to be compared */
1602  );
1603 
1604 /** returns the flag indicating whether sub-SCIPs that could cause recursion have been deactivated */
1606  SCIP_SET* set /**< global SCIP settings */
1607  );
1608 
1609 
1610 #ifdef NDEBUG
1611 
1612 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
1613  * speed up the algorithms.
1614  */
1615 
1616 #define SCIPsetInfinity(set) ( (set)->num_infinity )
1617 #define SCIPsetGetHugeValue(set) ( (set)->num_hugeval )
1618 #define SCIPsetEpsilon(set) ( (set)->num_epsilon )
1619 #define SCIPsetSumepsilon(set) ( (set)->num_sumepsilon )
1620 #define SCIPsetFeastol(set) ( (set)->num_feastol )
1621 #define SCIPsetLPFeastolFactor(set) ( (set)->num_lpfeastolfactor )
1622 #define SCIPsetDualfeastol(set) ( (set)->num_dualfeastol )
1623 #define SCIPsetBarrierconvtol(set) ( (set)->num_barrierconvtol )
1624 #define SCIPsetPseudocosteps(set) ( (set)->num_pseudocosteps )
1625 #define SCIPsetPseudocostdelta(set) ( (set)->num_pseudocostdelta )
1626 #define SCIPsetRelaxfeastol(set) ( (set)->num_relaxfeastol )
1627 #define SCIPsetCutoffbounddelta(set) ( MIN(100.0 * SCIPsetFeastol(set), 0.0001) )
1628 #define SCIPsetRecompfac(set) ( (set)->num_recompfac )
1629 #define SCIPsetIsEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_epsilon) )
1630 #define SCIPsetIsLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_epsilon) )
1631 #define SCIPsetIsLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_epsilon) )
1632 #define SCIPsetIsGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_epsilon) )
1633 #define SCIPsetIsGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_epsilon) )
1634 #define SCIPsetIsInfinity(set, val) ( (val) >= (set)->num_infinity )
1635 #define SCIPsetIsHugeValue(set, val) ( (val) >= (set)->num_hugeval )
1636 #define SCIPsetIsZero(set, val) ( EPSZ(val, (set)->num_epsilon) )
1637 #define SCIPsetIsPositive(set, val) ( EPSP(val, (set)->num_epsilon) )
1638 #define SCIPsetIsNegative(set, val) ( EPSN(val, (set)->num_epsilon) )
1639 #define SCIPsetIsIntegral(set, val) ( EPSISINT(val, (set)->num_epsilon) )
1640 #define SCIPsetIsScalingIntegral(set, val, scalar) \
1641  ( EPSISINT((scalar)*(val), MAX(REALABS(scalar), 1.0)*(set)->num_epsilon) )
1642 #define SCIPsetIsFracIntegral(set, val) ( !EPSP(val, (set)->num_epsilon) )
1643 #define SCIPsetFloor(set, val) ( EPSFLOOR(val, (set)->num_epsilon) )
1644 #define SCIPsetCeil(set, val) ( EPSCEIL(val, (set)->num_epsilon) )
1645 #define SCIPsetRound(set, val) ( EPSROUND(val, (set)->num_epsilon) )
1646 #define SCIPsetFrac(set, val) ( EPSFRAC(val, (set)->num_epsilon) )
1647 
1648 #define SCIPsetIsSumEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_sumepsilon) )
1649 #define SCIPsetIsSumLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_sumepsilon) )
1650 #define SCIPsetIsSumLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_sumepsilon) )
1651 #define SCIPsetIsSumGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_sumepsilon) )
1652 #define SCIPsetIsSumGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_sumepsilon) )
1653 #define SCIPsetIsSumZero(set, val) ( EPSZ(val, (set)->num_sumepsilon) )
1654 #define SCIPsetIsSumPositive(set, val) ( EPSP(val, (set)->num_sumepsilon) )
1655 #define SCIPsetIsSumNegative(set, val) ( EPSN(val, (set)->num_sumepsilon) )
1656 #define SCIPsetSumFloor(set, val) ( EPSFLOOR(val, (set)->num_sumepsilon) )
1657 #define SCIPsetSumCeil(set, val) ( EPSCEIL(val, (set)->num_sumepsilon) )
1658 #define SCIPsetSumRound(set, val) ( EPSROUND(val, (set)->num_sumepsilon) )
1659 #define SCIPsetSumFrac(set, val) ( EPSFRAC(val, (set)->num_sumepsilon) )
1660 
1661 #define SCIPsetIsFeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1662 #define SCIPsetIsFeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1663 #define SCIPsetIsFeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1664 #define SCIPsetIsFeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1665 #define SCIPsetIsFeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1666 #define SCIPsetIsFeasZero(set, val) ( EPSZ(val, (set)->num_feastol) )
1667 #define SCIPsetIsFeasPositive(set, val) ( EPSP(val, (set)->num_feastol) )
1668 #define SCIPsetIsFeasNegative(set, val) ( EPSN(val, (set)->num_feastol) )
1669 #define SCIPsetIsFeasIntegral(set, val) ( EPSISINT(val, (set)->num_feastol) )
1670 #define SCIPsetIsFeasFracIntegral(set, val) ( !EPSP(val, (set)->num_feastol) )
1671 #define SCIPsetFeasFloor(set, val) ( EPSFLOOR(val, (set)->num_feastol) )
1672 #define SCIPsetFeasCeil(set, val) ( EPSCEIL(val, (set)->num_feastol) )
1673 #define SCIPsetFeasRound(set, val) ( EPSROUND(val, (set)->num_feastol) )
1674 #define SCIPsetFeasFrac(set, val) ( EPSFRAC(val, (set)->num_feastol) )
1675 
1676 #define SCIPsetIsDualfeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1677 #define SCIPsetIsDualfeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1678 #define SCIPsetIsDualfeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1679 #define SCIPsetIsDualfeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1680 #define SCIPsetIsDualfeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1681 #define SCIPsetIsDualfeasZero(set, val) ( EPSZ(val, (set)->num_dualfeastol) )
1682 #define SCIPsetIsDualfeasPositive(set, val) ( EPSP(val, (set)->num_dualfeastol) )
1683 #define SCIPsetIsDualfeasNegative(set, val) ( EPSN(val, (set)->num_dualfeastol) )
1684 #define SCIPsetIsDualfeasIntegral(set, val) ( EPSISINT(val, (set)->num_dualfeastol) )
1685 #define SCIPsetIsDualfeasFracIntegral(set, val) ( !EPSP(val, (set)->num_dualfeastol) )
1686 #define SCIPsetDualfeasFloor(set, val) ( EPSFLOOR(val, (set)->num_dualfeastol) )
1687 #define SCIPsetDualfeasCeil(set, val) ( EPSCEIL(val, (set)->num_dualfeastol) )
1688 #define SCIPsetDualfeasRound(set, val) ( EPSROUND(val, (set)->num_dualfeastol) )
1689 #define SCIPsetDualfeasFrac(set, val) ( EPSFRAC(val, (set)->num_dualfeastol) )
1690 
1691 #define SCIPsetIsLbBetter(set, newlb, oldlb, oldub) ( ((oldlb) < 0.0 && (newlb) >= 0.0) || EPSGT(newlb, oldlb, \
1692  set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldlb)), 1e-3)) )
1693 #define SCIPsetIsUbBetter(set, newub, oldlb, oldub) ( ((oldub) > 0.0 && (newub) <= 0.0) || EPSLT(newub, oldub, \
1694  set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldub)), 1e-3)) )
1695 #define SCIPsetIsEfficacious(set, root, efficacy) \
1696  ( root ? EPSP(efficacy, (set)->sepa_minefficacyroot) : EPSP(efficacy, (set)->sepa_minefficacy) )
1697 
1698 #define SCIPsetIsRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1699 #define SCIPsetIsRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1700 #define SCIPsetIsRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1701 #define SCIPsetIsRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1702 #define SCIPsetIsRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1703 
1704 #define SCIPsetIsSumRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1705 #define SCIPsetIsSumRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1706 #define SCIPsetIsSumRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1707 #define SCIPsetIsSumRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1708 #define SCIPsetIsSumRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1709 #define SCIPsetIsUpdateUnreliable(set, newvalue, oldvalue) \
1710  ( (ABS(oldvalue) / MAX(ABS(newvalue), set->num_epsilon)) >= set->num_recompfac )
1711 #define SCIPsetInitializeRandomSeed(set, val) ( (val + (set)->random_randomseedshift) )
1712 
1713 #define SCIPsetGetSubscipsOff(set) ( (set)->subscipsoff )
1714 
1715 #endif
1716 
1717 #define SCIPsetAllocBuffer(set,ptr) ( (BMSallocBufferMemory((set)->buffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1718 #define SCIPsetAllocBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1719 #define SCIPsetAllocBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1720 #define SCIPsetDuplicateBufferSize(set,ptr,source,size) ( (BMSduplicateBufferMemory((set)->buffer, (ptr), (source), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1721 #define SCIPsetDuplicateBufferArray(set,ptr,source,num) ( (BMSduplicateBufferMemoryArray((set)->buffer, (ptr), (source), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1722 #define SCIPsetReallocBufferSize(set,ptr,size) ( (BMSreallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1723 #define SCIPsetReallocBufferArray(set,ptr,num) ( (BMSreallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1724 #define SCIPsetFreeBuffer(set,ptr) BMSfreeBufferMemory((set)->buffer, (ptr))
1725 #define SCIPsetFreeBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->buffer, (ptr))
1726 #define SCIPsetFreeBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->buffer, (ptr))
1727 
1728 #define SCIPsetAllocCleanBuffer(set,ptr) ( (BMSallocBufferMemory((set)->cleanbuffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1729 #define SCIPsetAllocCleanBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->cleanbuffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1730 #define SCIPsetAllocCleanBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->cleanbuffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1731 #define SCIPsetFreeCleanBuffer(set,ptr) BMSfreeBufferMemory((set)->cleanbuffer, (ptr))
1732 #define SCIPsetFreeCleanBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->cleanbuffer, (ptr))
1733 #define SCIPsetFreeCleanBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->cleanbuffer, (ptr))
1734 
1735 /* if we have a C99 compiler */
1736 #ifdef SCIP_HAVE_VARIADIC_MACROS
1737 
1738 /** prints a debugging message if SCIP_DEBUG flag is set */
1739 #ifdef SCIP_DEBUG
1740 #define SCIPsetDebugMsg(set, ...) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
1741 #define SCIPsetDebugMsgPrint(set, ...) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
1742 #else
1743 #define SCIPsetDebugMsg(set, ...) while ( FALSE ) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
1744 #define SCIPsetDebugMsgPrint(set, ...) while ( FALSE ) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
1745 #endif
1746 
1747 #else
1748 /* if we do not have a C99 compiler, use a workaround that prints a message, but not the file and linenumber */
1749 
1750 /** prints a debugging message if SCIP_DEBUG flag is set */
1751 #ifdef SCIP_DEBUG
1752 #define SCIPsetDebugMsg printf("debug: "), SCIPsetDebugMessagePrint
1753 #define SCIPsetDebugMsgPrint printf("debug: "), SCIPsetDebugMessagePrint
1754 #else
1755 #define SCIPsetDebugMsg while ( FALSE ) SCIPsetDebugMsgPrint
1756 #define SCIPsetDebugMsgPrint while ( FALSE ) SCIPsetDebugMessagePrint
1757 #endif
1758 
1759 #endif
1760 
1761 
1762 /** prints a debug message */
1763 #ifdef __GNUC__
1764 __attribute__((format(printf, 4, 5)))
1765 #endif
1766 SCIP_EXPORT
1768  SCIP_SET* set, /**< global SCIP settings */
1769  const char* sourcefile, /**< name of the source file that called the function */
1770  int sourceline, /**< line in the source file where the function was called */
1771  const char* formatstr, /**< format string like in printf() function */
1772  ... /**< format arguments line in printf() function */
1773  );
1774 
1775 /** prints a debug message without precode */
1776 #ifdef __GNUC__
1777 __attribute__((format(printf, 2, 3)))
1778 #endif
1779 SCIP_EXPORT
1781  SCIP_SET* set, /**< global SCIP settings */
1782  const char* formatstr, /**< format string like in printf() function */
1783  ... /**< format arguments line in printf() function */
1784  );
1785 
1786 
1787 #ifdef __cplusplus
1788 }
1789 #endif
1790 
1791 #endif
int SCIPsetCalcTreeGrowSize(SCIP_SET *set, int num)
Definition: set.c:5788
SCIP_Real SCIPsetBarrierconvtol(SCIP_SET *set)
Definition: set.c:6135
SCIP_Bool SCIPsetIsSumEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6431
SCIP_NODESEL * SCIPsetFindNodesel(SCIP_SET *set, const char *name)
Definition: set.c:4818
SCIP_Bool SCIPsetGetSubscipsOff(SCIP_SET *set)
Definition: set.c:7297
SCIP_RETCODE SCIPsetIncludeCompr(SCIP_SET *set, SCIP_COMPR *compr)
Definition: set.c:4670
SCIP_RETCODE SCIPsetWriteParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
Definition: set.c:3521
SCIP_EXPRHDLR * SCIPsetFindExprhdlr(SCIP_SET *set, const char *name)
Definition: set.c:5125
void SCIPsetSortRelaxs(SCIP_SET *set)
Definition: set.c:4211
SCIP_RETCODE SCIPsetIncludeDialog(SCIP_SET *set, SCIP_DIALOG *dialog)
Definition: set.c:5047
int SCIPsetGetSepaMaxcuts(SCIP_SET *set, SCIP_Bool root)
Definition: set.c:5918
SCIP_RETCODE SCIPsetGetBoolParam(SCIP_SET *set, const char *name, SCIP_Bool *value)
Definition: set.c:3153
SCIP_RETCODE SCIPsetIncludeReader(SCIP_SET *set, SCIP_READER *reader)
Definition: set.c:3673
SCIP_Real SCIPsetGetSepaMaxCoefRatioRowprep(SCIP_SET *set)
Definition: set.c:5932
SCIP_Bool SCIPsetIsLbBetter(SCIP_SET *set, SCIP_Real newlb, SCIP_Real oldlb, SCIP_Real oldub)
Definition: set.c:7023
SCIP_Bool SCIPsetIsFeasFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6752
SCIP_Real SCIPsetSumFrac(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6587
SCIP_Bool SCIPsetIsSumRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:7231
SCIP_Real SCIPsetFeasFloor(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6765
void SCIPsetSortComprs(SCIP_SET *set)
Definition: set.c:4714
SCIP_Real SCIPsetSumFloor(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6554
SCIP_Bool SCIPsetIsSumRelGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:7275
int SCIPsetGetPriceMaxvars(SCIP_SET *set, SCIP_Bool root)
Definition: set.c:5904
SCIP_Real SCIPsetCeil(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6398
SCIP_Bool SCIPsetIsUpdateUnreliable(SCIP_SET *set, SCIP_Real newvalue, SCIP_Real oldvalue)
Definition: set.c:7317
struct SCIP_ParamData SCIP_PARAMDATA
Definition: type_paramset.h:78
void SCIPsetSortRelaxsName(SCIP_SET *set)
Definition: set.c:4226
SCIP_RETCODE SCIPsetResetParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name)
Definition: set.c:3537
void SCIPsetSortPresolsName(SCIP_SET *set)
Definition: set.c:4152
SCIP_RETCODE SCIPsetSetLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Longint value)
Definition: set.c:3378
SCIP_Bool SCIPsetIsFeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6620
SCIP_RETCODE SCIPsetGetIntParam(SCIP_SET *set, const char *name, int *value)
Definition: set.c:3167
SCIP_Bool SCIPsetIsSumRelLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:7209
SCIP_RETCODE SCIPsetSetPresolving(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: set.c:3622
SCIP_Bool SCIPsetIsEfficacious(SCIP_SET *set, SCIP_Bool root, SCIP_Real efficacy)
Definition: set.c:7062
SCIP_Bool SCIPsetIsUbBetter(SCIP_SET *set, SCIP_Real newub, SCIP_Real oldlb, SCIP_Real oldub)
Definition: set.c:7044
SCIP_Bool SCIPsetIsRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:7121
SCIP_RETCODE SCIPsetInitprePlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:5493
SCIP_Bool SCIPsetIsHugeValue(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6211
SCIP_RETCODE SCIPsetCopyPlugins(SCIP_SET *sourceset, SCIP_SET *targetset, SCIP_Bool copyreaders, SCIP_Bool copypricers, SCIP_Bool copyconshdlrs, SCIP_Bool copyconflicthdlrs, SCIP_Bool copypresolvers, SCIP_Bool copyrelaxators, SCIP_Bool copyseparators, SCIP_Bool copycutselectors, SCIP_Bool copypropagators, SCIP_Bool copyheuristics, SCIP_Bool copyeventhdlrs, SCIP_Bool copynodeselectors, SCIP_Bool copybranchrules, SCIP_Bool copydisplays, SCIP_Bool copydialogs, SCIP_Bool copytables, SCIP_Bool copyexprhdlrs, SCIP_Bool copynlpis, SCIP_Bool *allvalid)
Definition: set.c:926
SCIP_STAGE SCIPsetGetStage(SCIP_SET *set)
Definition: set.c:2982
void SCIPsetSortBendersName(SCIP_SET *set)
Definition: set.c:3846
SCIP_READER * SCIPsetFindReader(SCIP_SET *set, const char *name)
Definition: set.c:3695
SCIP_Real SCIPsetSumCeil(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6565
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:54
SCIP_Bool SCIPsetIsDualfeasFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6963
SCIP_Bool SCIPsetIsSumNegative(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6543
SCIP_Bool SCIPsetIsGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6294
SCIP_RETCODE SCIPsetSetSeparating(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: set.c:3640
SCIP_Bool SCIPsetIsRelGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:7143
SCIP_DISP * SCIPsetFindDisp(SCIP_SET *set, const char *name)
Definition: set.c:4982
type definitions for global SCIP settings
SCIP_Bool SCIPsetIsEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6222
enum SCIP_VerbLevel SCIP_VERBLEVEL
Definition: type_message.h:48
void SCIPsetSortProps(SCIP_SET *set)
Definition: set.c:4420
SCIP_RETCODE SCIPsetSetIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, int value)
Definition: set.c:3326
SCIP_Real SCIPsetGetReferencevalue(SCIP_SET *set)
Definition: set.c:5946
SCIP_RETCODE SCIPsetAddBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, SCIP_Bool *valueptr, SCIP_Bool isadvanced, SCIP_Bool defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
Definition: set.c:2992
void SCIPsetSetLimitChanged(SCIP_SET *set)
Definition: set.c:5894
SCIP_CUTSEL * SCIPsetFindCutsel(SCIP_SET *set, const char *name)
Definition: set.c:4339
void SCIPsetSortBenders(SCIP_SET *set)
Definition: set.c:3831
SCIP_RETCODE SCIPsetSetDefaultIntParam(SCIP_SET *set, const char *name, int defaultvalue)
Definition: set.c:3341
SCIP_Bool SCIPsetIsLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6258
SCIP_RETCODE SCIPsetAddLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, SCIP_Longint *valueptr, SCIP_Bool isadvanced, SCIP_Longint defaultvalue, SCIP_Longint minvalue, SCIP_Longint maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
Definition: set.c:3038
type definitions for presolvers
SCIP_RETCODE SCIPsetSetVerbLevel(SCIP_SET *set, SCIP_VERBLEVEL verblevel)
Definition: set.c:5806
SCIP_RETCODE SCIPsetExitsolPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat, SCIP_Bool restart)
Definition: set.c:5678
SCIP_Real SCIPsetInfinity(SCIP_SET *set)
Definition: set.c:6065
SCIP_RETCODE SCIPsetSetEmphasis(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMEMPHASIS paramemphasis, SCIP_Bool quiet)
Definition: set.c:3572
SCIP_RETCODE SCIPsetIncludeTable(SCIP_SET *set, SCIP_TABLE *table)
Definition: set.c:5002
SCIP_RETCODE SCIPsetSetBarrierconvtol(SCIP_SET *set, SCIP_Real barrierconvtol)
Definition: set.c:5859
SCIP_Real SCIPsetDualfeastol(SCIP_SET *set)
Definition: set.c:6117
void SCIPsetEnableOrDisablePluginClocks(SCIP_SET *set, SCIP_Bool enabled)
Definition: set.c:863
SCIP_Bool SCIPsetIsDualfeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6809
void SCIPsetSortPresols(SCIP_SET *set)
Definition: set.c:4137
type definitions for branching rules
type definitions for problem statistics
SCIP_PROP * SCIPsetFindProp(SCIP_SET *set, const char *name)
Definition: set.c:4400
SCIP_RETCODE SCIPsetExitPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:5381
enum SCIP_ParamSetting SCIP_PARAMSETTING
Definition: type_paramset.h:56
SCIP_RETCODE SCIPsetResetParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition: set.c:3549
SCIP_Bool SCIPsetIsRelLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:7099
void SCIPsetSortBranchrulesName(SCIP_SET *set)
Definition: set.c:4935
SCIP_Bool SCIPsetIsDualfeasPositive(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6930
SCIP_RETCODE SCIPsetSetDefaultBoolParam(SCIP_SET *set, const char *name, SCIP_Bool defaultvalue)
Definition: set.c:3288
SCIP_DEBUGSOLDATA * SCIPsetGetDebugSolData(SCIP_SET *set)
Definition: set.c:5957
struct SCIP_DebugSolData SCIP_DEBUGSOLDATA
Definition: debug.h:50
SCIP_SEPA * SCIPsetFindSepa(SCIP_SET *set, const char *name)
Definition: set.c:4265
SCIP_Bool SCIPsetIsFeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6642
SCIP_Bool SCIPsetIsZero(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6312
SCIP_Bool SCIPsetIsFeasZero(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6708
void SCIPsetSortSepas(SCIP_SET *set)
Definition: set.c:4285
SCIP_BENDERS * SCIPsetFindBenders(SCIP_SET *set, const char *name)
Definition: set.c:3811
SCIP_Bool SCIPsetIsNegative(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6334
SCIP_Bool SCIPsetIsFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6374
SCIP_RETCODE SCIPsetCopyParams(SCIP_SET *sourceset, SCIP_SET *targetset, SCIP_MESSAGEHDLR *messagehdlr)
Definition: set.c:1152
SCIP_RETCODE SCIPsetIncludePresol(SCIP_SET *set, SCIP_PRESOL *presol)
Definition: set.c:4094
type definitions for variable pricers
SCIP_RETCODE SCIPsetGetRealParam(SCIP_SET *set, const char *name, SCIP_Real *value)
Definition: set.c:3195
SCIP_Bool SCIPsetIsFeasPositive(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6719
type definitions for primal heuristics
SCIP_Real SCIPsetFeastol(SCIP_SET *set)
Definition: set.c:6107
SCIP_RETCODE SCIPsetIncludeRelax(SCIP_SET *set, SCIP_RELAX *relax)
Definition: set.c:4167
SCIP_RETCODE SCIPsetIncludeExprhdlr(SCIP_SET *set, SCIP_EXPRHDLR *exprhdlr)
Definition: set.c:5091
SCIP_Real SCIPsetGetHugeValue(SCIP_SET *set)
Definition: set.c:6077
type definitions for SCIP&#39;s main datastructure
SCIP_Bool SCIPsetIsSumPositive(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6532
SCIP_Real SCIPsetPseudocosteps(SCIP_SET *set)
Definition: set.c:6145
SCIP_RETCODE SCIPsetIncludeBenders(SCIP_SET *set, SCIP_BENDERS *benders)
Definition: set.c:3788
SCIP_RETCODE SCIPsetSetHeuristics(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: set.c:3604
SCIP_Real SCIPsetDualfeasFrac(SCIP_SET *set, SCIP_Real val)
Definition: set.c:7009
SCIP_BRANCHRULE * SCIPsetFindBranchrule(SCIP_SET *set, const char *name)
Definition: set.c:4900
SCIP_Real SCIPsetRound(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6409
void SCIPsetSortExprhdlrs(SCIP_SET *set)
Definition: set.c:5143
SCIP_Bool SCIPsetIsDualfeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6831
void SCIPsetPrintDebugMessage(SCIP_SET *set, const char *sourcefile, int sourceline, const char *formatstr,...)
Definition: set.c:7333
void SCIPsetSortConflicthdlrsName(SCIP_SET *set)
Definition: set.c:4079
#define SCIP_DECL_PARAMCHGD(x)
Definition: type_paramset.h:93
SCIP_EVENTHDLR * SCIPsetFindEventhdlr(SCIP_SET *set, const char *name)
Definition: set.c:4767
SCIP_PRICER * SCIPsetFindPricer(SCIP_SET *set, const char *name)
Definition: set.c:3738
SCIP_RETCODE SCIPsetChgParamFixed(SCIP_SET *set, const char *name, SCIP_Bool fixed)
Definition: set.c:3237
type definitions for bandit selection algorithms
void SCIPsetSortConflicthdlrs(SCIP_SET *set)
Definition: set.c:4064
SCIP_RETCODE SCIPsetAddStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, char **valueptr, SCIP_Bool isadvanced, const char *defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
Definition: set.c:3109
void SCIPsetSortHeurs(SCIP_SET *set)
Definition: set.c:4640
SCIP_RETCODE SCIPsetIncludeDisp(SCIP_SET *set, SCIP_DISP *disp)
Definition: set.c:4950
SCIP_PRESOL * SCIPsetFindPresol(SCIP_SET *set, const char *name)
Definition: set.c:4117
SCIP_Real SCIPsetLPFeastolFactor(SCIP_SET *set)
Definition: set.c:6127
SCIP_RETCODE SCIPsetChgStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, const char *value)
Definition: set.c:3469
SCIP_RETCODE SCIPsetGetCharParam(SCIP_SET *set, const char *name, char *value)
Definition: set.c:3209
SCIP_RETCODE SCIPsetSetBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Bool value)
Definition: set.c:3273
type definitions for relaxators
SCIP_Real SCIPsetFeasFrac(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6798
void SCIPsetSortHeursName(SCIP_SET *set)
Definition: set.c:4655
SCIP_RETCODE SCIPsetFree(SCIP_SET **set, BMS_BLKMEM *blkmem)
Definition: set.c:2787
int SCIPsetCalcMemGrowSize(SCIP_SET *set, int num)
Definition: set.c:5779
type definitions for conflict analysis
SCIP_Bool SCIPsetIsLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6240
SCIP_Real SCIPsetSetRelaxfeastol(SCIP_SET *set, SCIP_Real relaxfeastol)
Definition: set.c:5877
type definitions for managing events
SCIP_Bool SCIPsetIsFeasIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6741
SCIP_Bool SCIPsetIsDualfeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6853
SCIP_Real SCIPsetEpsilon(SCIP_SET *set)
Definition: set.c:6087
SCIP_Bool SCIPsetIsDualfeasIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6952
SCIP_Bool SCIPsetIsGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6276
SCIP_RETCODE SCIPsetIncludeConflicthdlr(SCIP_SET *set, SCIP_CONFLICTHDLR *conflicthdlr)
Definition: set.c:4020
void SCIPsetSetPriorityNlpi(SCIP_SET *set, SCIP_NLPI *nlpi, int priority)
Definition: set.c:5214
public data structures and miscellaneous methods
#define SCIP_Bool
Definition: def.h:84
SCIP_RETCODE SCIPsetInitsolPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:5569
void SCIPsetSortPropsName(SCIP_SET *set)
Definition: set.c:4450
SCIP_RETCODE SCIPsetChgCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, char value)
Definition: set.c:3431
SCIP_BANDITVTABLE * SCIPsetFindBanditvtable(SCIP_SET *set, const char *name)
Definition: set.c:4487
int SCIPsetGetNParams(SCIP_SET *set)
Definition: set.c:3663
SCIP_RETCODE SCIPsetChgRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Real value)
Definition: set.c:3393
SCIP_RETCODE SCIPsetIncludeBranchrule(SCIP_SET *set, SCIP_BRANCHRULE *branchrule)
Definition: set.c:4876
SCIP_RETCODE SCIPsetIncludeSepa(SCIP_SET *set, SCIP_SEPA *sepa)
Definition: set.c:4241
type definitions for input file readers
SCIP_RETCODE SCIPsetIncludeEventhdlr(SCIP_SET *set, SCIP_EVENTHDLR *eventhdlr)
Definition: set.c:4744
SCIP_CONSHDLR * SCIPsetFindConshdlr(SCIP_SET *set, const char *name)
Definition: set.c:4000
SCIP_Real SCIPsetSumRound(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6576
SCIP_TABLE * SCIPsetFindTable(SCIP_SET *set, const char *name)
Definition: set.c:5027
void SCIPsetSortBranchrules(SCIP_SET *set)
Definition: set.c:4920
SCIP_Real SCIPsetRelaxfeastol(SCIP_SET *set)
Definition: set.c:6179
SCIP_RETCODE SCIPsetSetSubscipsOff(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_Bool quiet)
Definition: set.c:3587
SCIP_RETCODE SCIPsetIncludeCutsel(SCIP_SET *set, SCIP_CUTSEL *cutsel)
Definition: set.c:4315
SCIP_RETCODE SCIPsetSetReoptimizationParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition: set.c:805
SCIP_RELAX * SCIPsetFindRelax(SCIP_SET *set, const char *name)
Definition: set.c:4191
SCIP_CONCSOLVERTYPE * SCIPsetFindConcsolverType(SCIP_SET *set, const char *name)
Definition: set.c:4530
SCIP_Real SCIPsetDualfeasFloor(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6976
SCIP_Bool SCIPsetIsSumRelEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:7187
SCIP_RETCODE SCIPsetInitPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:5260
SCIP_Bool SCIPsetIsDualfeasZero(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6919
SCIP_RETCODE SCIPsetReadParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename)
Definition: set.c:3507
SCIP_RETCODE SCIPsetSetRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Real value)
Definition: set.c:3416
SCIP_RETCODE SCIPsetAddRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, SCIP_Real *valueptr, SCIP_Bool isadvanced, SCIP_Real defaultvalue, SCIP_Real minvalue, SCIP_Real maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
Definition: set.c:3062
SCIP_Bool SCIPsetIsSumLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6467
type definitions for Benders&#39; decomposition methods
type definitions for clocks and timing issues
SCIP_Bool SCIPsetIsFeasNegative(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6730
SCIP_RETCODE SCIPsetIncludeConcsolver(SCIP_SET *set, SCIP_CONCSOLVER *concsolver)
Definition: set.c:4550
SCIP_Bool SCIPsetIsSumLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6449
SCIP_RETCODE SCIPsetIncludeProp(SCIP_SET *set, SCIP_PROP *prop)
Definition: set.c:4373
SCIP_RETCODE SCIPsetAddCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, char *valueptr, SCIP_Bool isadvanced, char defaultvalue, const char *allowedvalues, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
Definition: set.c:3086
SCIP_PARAM ** SCIPsetGetParams(SCIP_SET *set)
Definition: set.c:3653
SCIP_Bool SCIPsetIsSumZero(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6521
SCIP_Bool SCIPsetExistsDialog(SCIP_SET *set, SCIP_DIALOG *dialog)
Definition: set.c:5069
void SCIPsetReinsertConshdlrSepaPrio(SCIP_SET *set, SCIP_CONSHDLR *conshdlr, int oldpriority)
Definition: set.c:3917
SCIP_Bool SCIPsetIsSumGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6503
enum SCIP_ParamEmphasis SCIP_PARAMEMPHASIS
Definition: type_paramset.h:75
SCIP_Bool SCIPsetIsDualfeasNegative(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6941
void SCIPsetSortSepasName(SCIP_SET *set)
Definition: set.c:4300
SCIP_Bool SCIPsetIsDualfeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6875
SCIP_RETCODE SCIPsetSetDualfeastol(SCIP_SET *set, SCIP_Real dualfeastol)
Definition: set.c:5846
SCIP_Real SCIPsetFrac(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6420
SCIP_RETCODE SCIPsetIncludePricer(SCIP_SET *set, SCIP_PRICER *pricer)
Definition: set.c:3715
int SCIPsetCalcPathGrowSize(SCIP_SET *set, int num)
Definition: set.c:5797
type definitions for propagators
SCIP_Bool SCIPsetIsFeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6664
SCIP_RETCODE SCIPsetGetLongintParam(SCIP_SET *set, const char *name, SCIP_Longint *value)
Definition: set.c:3181
SCIP_Real SCIPsetRecompfac(SCIP_SET *set)
Definition: set.c:6190
SCIP_Real SCIPsetFeasCeil(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6776
unsigned int SCIPsetInitializeRandomSeed(SCIP_SET *set, unsigned int initialseedvalue)
Definition: set.c:7394
type definitions for tree compression
void SCIPsetDebugMessagePrint(SCIP_SET *set, const char *formatstr,...)
Definition: set.c:7377
SCIP_CONFLICTHDLR * SCIPsetFindConflicthdlr(SCIP_SET *set, const char *name)
Definition: set.c:4044
SCIP_RETCODE SCIPsetSetFeastol(SCIP_SET *set, SCIP_LP *lp, SCIP_Real feastol)
Definition: set.c:5825
type definitions for separators
SCIP_RETCODE SCIPsetSetStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, const char *value)
Definition: set.c:3492
SCIP_RETCODE SCIPsetIncludeNlpi(SCIP_SET *set, SCIP_NLPI *nlpi)
Definition: set.c:5157
SCIP_RETCODE SCIPsetIncludeBanditvtable(SCIP_SET *set, SCIP_BANDITVTABLE *banditvtable)
Definition: set.c:4465
SCIP_Bool SCIPsetIsParamFixed(SCIP_SET *set, const char *name)
Definition: set.c:3131
SCIP_RETCODE SCIPsetExitprePlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:5531
SCIP_Bool SCIPsetIsFeasGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6686
SCIP_Bool SCIPsetIsRelGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:7165
SCIP_HEUR * SCIPsetFindHeur(SCIP_SET *set, const char *name)
Definition: set.c:4620
SCIP_Bool SCIPsetIsSumGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6485
type definitions for handling parameter settings
void SCIPsetSortNlpis(SCIP_SET *set)
Definition: set.c:5200
#define SCIP_Real
Definition: def.h:177
SCIP_Real SCIPsetFeasRound(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6787
SCIP_RETCODE SCIPsetChgBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Bool value)
Definition: set.c:3251
enum SCIP_Stage SCIP_STAGE
Definition: type_set.h:50
SCIP_Bool SCIPsetIsDualfeasGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6897
SCIP_RETCODE SCIPsetGetStringParam(SCIP_SET *set, const char *name, char **value)
Definition: set.c:3223
SCIP_RETCODE SCIPsetIncludeHeur(SCIP_SET *set, SCIP_HEUR *heur)
Definition: set.c:4596
SCIP_RETCODE SCIPsetChgLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Longint value)
Definition: set.c:3355
SCIP_Bool SCIPsetIsRelEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:7077
SCIP_Real SCIPsetDualfeasCeil(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6987
#define SCIP_Longint
Definition: def.h:162
SCIP_RETCODE SCIPsetIncludeConshdlr(SCIP_SET *set, SCIP_CONSHDLR *conshdlr)
Definition: set.c:3861
void SCIPsetSortPricersName(SCIP_SET *set)
Definition: set.c:3773
SCIP_Bool SCIPsetIsFeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6598
SCIP_Bool SCIPsetIsScalingIntegral(SCIP_SET *set, SCIP_Real val, SCIP_Real scalar)
Definition: set.c:6356
SCIP_Bool SCIPsetIsIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6345
SCIP_RETCODE SCIPsetCreate(SCIP_SET **set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, SCIP *scip)
Definition: set.c:1169
SCIP_Bool SCIPsetIsInfinity(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6200
void SCIPsetSortComprsName(SCIP_SET *set)
Definition: set.c:4729
SCIP_Bool SCIPsetIsSumRelGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:7253
common defines and data types used in all packages of SCIP
struct BMS_BlkMem BMS_BLKMEM
Definition: memory.h:430
SCIP_NODESEL * SCIPsetGetNodesel(SCIP_SET *set, SCIP_STAT *stat)
Definition: set.c:4838
SCIP_RETCODE SCIPsetIncludeNodesel(SCIP_SET *set, SCIP_NODESEL *nodesel)
Definition: set.c:4787
SCIP_RETCODE SCIPsetChgIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, int value)
Definition: set.c:3303
SCIP_Real SCIPsetCutoffbounddelta(SCIP_SET *set)
Definition: set.c:6165
type definitions for node selectors
void SCIPsetSortCutsels(SCIP_SET *set)
Definition: set.c:4359
SCIP_PARAM * SCIPsetGetParam(SCIP_SET *set, const char *name)
Definition: set.c:3142
SCIP_NLPI * SCIPsetFindNlpi(SCIP_SET *set, const char *name)
Definition: set.c:5180
SCIP_RETCODE SCIPsetIncludeExternalCode(SCIP_SET *set, const char *name, const char *description)
Definition: set.c:5228
SCIP_RETCODE SCIPsetAddIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, int *valueptr, SCIP_Bool isadvanced, int defaultvalue, int minvalue, int maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
Definition: set.c:3014
datastructures for global SCIP settings
SCIP_Real SCIPsetSumepsilon(SCIP_SET *set)
Definition: set.c:6097
void SCIPsetSortPricers(SCIP_SET *set)
Definition: set.c:3758
SCIP_Real SCIPsetDualfeasRound(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6998
void SCIPsetSortPropsPresol(SCIP_SET *set)
Definition: set.c:4435
SCIP_Real SCIPsetFloor(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6387
SCIP_RETCODE SCIPsetFreeConcsolvers(SCIP_SET *set)
Definition: set.c:4574
SCIP_RETCODE SCIPsetIncludeConcsolverType(SCIP_SET *set, SCIP_CONCSOLVERTYPE *concsolvertype)
Definition: set.c:4508
type definitions for displaying statistics tables
type definitions for constraints and constraint handlers
SCIP_Real SCIPsetPseudocostdelta(SCIP_SET *set)
Definition: set.c:6155
SCIP_COMPR * SCIPsetFindCompr(SCIP_SET *set, const char *name)
Definition: set.c:4694
SCIP_RETCODE SCIPsetSetCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, char value)
Definition: set.c:3454
type definitions for displaying runtime statistics
memory allocation routines
SCIP_Bool SCIPsetIsPositive(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6323