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-2019 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 scip.zib.de. */
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. */
68 extern
70  SCIP_SET* sourceset, /**< source SCIP_SET data structure */
71  SCIP_SET* targetset, /**< target SCIP_SET data structure */
72  SCIP_Bool copyreaders, /**< should the file readers be copied */
73  SCIP_Bool copypricers, /**< should the variable pricers be copied */
74  SCIP_Bool copyconshdlrs, /**< should the constraint handlers be copied */
75  SCIP_Bool copyconflicthdlrs, /**< should the conflict handlers be copied */
76  SCIP_Bool copypresolvers, /**< should the presolvers be copied */
77  SCIP_Bool copyrelaxators, /**< should the relaxators be copied */
78  SCIP_Bool copyseparators, /**< should the separators 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 copynlpis, /**< should the NLP interfaces be copied */
88  SCIP_Bool* allvalid /**< pointer to store whether all plugins were validly copied */
89  );
90 
91 /** copies parameters from sourcescip to targetscip */
92 extern
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 */
100 extern
102  SCIP_SET** set, /**< pointer to SCIP settings */
103  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
104  BMS_BLKMEM* blkmem, /**< block memory */
105  SCIP* scip /**< SCIP data structure */
106  );
107 
108 /** frees global SCIP settings */
109 extern
111  SCIP_SET** set, /**< pointer to SCIP settings */
112  BMS_BLKMEM* blkmem /**< block memory */
113  );
114 
115 /** returns current stage of SCIP */
116 extern
118  SCIP_SET* set /**< pointer to SCIP settings */
119  );
120 
121 /** creates a SCIP_Bool parameter, sets it to its default value, and adds it to the parameter set */
122 extern
124  SCIP_SET* set, /**< global SCIP settings */
125  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
126  BMS_BLKMEM* blkmem, /**< block memory */
127  const char* name, /**< name of the parameter */
128  const char* desc, /**< description of the parameter */
129  SCIP_Bool* valueptr, /**< pointer to store the current parameter value, or NULL */
130  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
131  SCIP_Bool defaultvalue, /**< default value of the parameter */
132  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
133  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
134  );
135 
136 /** creates a int parameter, sets it to its default value, and adds it to the parameter set */
137 extern
139  SCIP_SET* set, /**< global SCIP settings */
140  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
141  BMS_BLKMEM* blkmem, /**< block memory */
142  const char* name, /**< name of the parameter */
143  const char* desc, /**< description of the parameter */
144  int* valueptr, /**< pointer to store the current parameter value, or NULL */
145  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
146  int defaultvalue, /**< default value of the parameter */
147  int minvalue, /**< minimum value for parameter */
148  int maxvalue, /**< maximum value for parameter */
149  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
150  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
151  );
152 
153 /** creates a SCIP_Longint parameter, sets it to its default value, and adds it to the parameter set */
154 extern
156  SCIP_SET* set, /**< global SCIP settings */
157  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
158  BMS_BLKMEM* blkmem, /**< block memory */
159  const char* name, /**< name of the parameter */
160  const char* desc, /**< description of the parameter */
161  SCIP_Longint* valueptr, /**< pointer to store the current parameter value, or NULL */
162  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
163  SCIP_Longint defaultvalue, /**< default value of the parameter */
164  SCIP_Longint minvalue, /**< minimum value for parameter */
165  SCIP_Longint maxvalue, /**< maximum value for parameter */
166  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
167  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
168  );
169 
170 /** creates a SCIP_Real parameter, sets it to its default value, and adds it to the parameter set */
171 extern
173  SCIP_SET* set, /**< global SCIP settings */
174  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
175  BMS_BLKMEM* blkmem, /**< block memory */
176  const char* name, /**< name of the parameter */
177  const char* desc, /**< description of the parameter */
178  SCIP_Real* valueptr, /**< pointer to store the current parameter value, or NULL */
179  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
180  SCIP_Real defaultvalue, /**< default value of the parameter */
181  SCIP_Real minvalue, /**< minimum value for parameter */
182  SCIP_Real maxvalue, /**< maximum value for parameter */
183  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
184  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
185  );
186 
187 /** creates a char parameter, sets it to its default value, and adds it to the parameter set */
188 extern
190  SCIP_SET* set, /**< global SCIP settings */
191  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
192  BMS_BLKMEM* blkmem, /**< block memory */
193  const char* name, /**< name of the parameter */
194  const char* desc, /**< description of the parameter */
195  char* valueptr, /**< pointer to store the current parameter value, or NULL */
196  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
197  char defaultvalue, /**< default value of the parameter */
198  const char* allowedvalues, /**< array with possible parameter values, or NULL if not restricted */
199  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
200  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
201  );
202 
203 /** creates a string parameter, sets it to its default value, and adds it to the parameter set */
204 extern
206  SCIP_SET* set, /**< global SCIP settings */
207  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
208  BMS_BLKMEM* blkmem, /**< block memory */
209  const char* name, /**< name of the parameter */
210  const char* desc, /**< description of the parameter */
211  char** valueptr, /**< pointer to store the current parameter value, or NULL */
212  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
213  const char* defaultvalue, /**< default value of the parameter */
214  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
215  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
216  );
217 
218 /** gets the fixing status value of an existing parameter */
219 extern
221  SCIP_SET* set, /**< global SCIP settings */
222  const char* name /**< name of the parameter */
223  );
224 
225 /** returns the pointer to the SCIP parameter with the given name */
226 extern
228  SCIP_SET* set, /**< global SCIP settings */
229  const char* name /**< name of the parameter */
230  );
231 
232 /** gets the value of an existing SCIP_Bool parameter */
234  SCIP_SET* set, /**< global SCIP settings */
235  const char* name, /**< name of the parameter */
236  SCIP_Bool* value /**< pointer to store the parameter */
237  );
238 
239 /** gets the value of an existing Int parameter */
240 extern
242  SCIP_SET* set, /**< global SCIP settings */
243  const char* name, /**< name of the parameter */
244  int* value /**< pointer to store the parameter */
245  );
246 
247 /** gets the value of an existing SCIP_Longint parameter */
248 extern
250  SCIP_SET* set, /**< global SCIP settings */
251  const char* name, /**< name of the parameter */
252  SCIP_Longint* value /**< pointer to store the parameter */
253  );
254 
255 /** gets the value of an existing SCIP_Real parameter */
256 extern
258  SCIP_SET* set, /**< global SCIP settings */
259  const char* name, /**< name of the parameter */
260  SCIP_Real* value /**< pointer to store the parameter */
261  );
262 
263 /** gets the value of an existing Char parameter */
264 extern
266  SCIP_SET* set, /**< global SCIP settings */
267  const char* name, /**< name of the parameter */
268  char* value /**< pointer to store the parameter */
269  );
270 
271 /** gets the value of an existing String parameter */
272 extern
274  SCIP_SET* set, /**< global SCIP settings */
275  const char* name, /**< name of the parameter */
276  char** value /**< pointer to store the parameter */
277  );
278 
279 /** changes the fixing status of an existing parameter */
280 extern
282  SCIP_SET* set, /**< global SCIP settings */
283  const char* name, /**< name of the parameter */
284  SCIP_Bool fixed /**< new fixing status of the parameter */
285  );
286 
287 /** changes the value of an existing parameter */
288 extern
290  SCIP_SET* set, /**< global SCIP settings */
291  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
292  const char* name, /**< name of the parameter */
293  void* value /**< new value of the parameter */
294  );
295 
296 /** changes the value of an existing SCIP_Bool parameter */
297 extern
299  SCIP_SET* set, /**< global SCIP settings */
300  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
301  SCIP_PARAM* param, /**< parameter */
302  SCIP_Bool value /**< new value of the parameter */
303  );
304 
305 /** changes the value of an existing SCIP_Bool parameter */
306 extern
308  SCIP_SET* set, /**< global SCIP settings */
309  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
310  const char* name, /**< name of the parameter */
311  SCIP_Bool value /**< new value of the parameter */
312  );
313 
314 /** changes the default value of an existing SCIP_Bool parameter */
315 extern
317  SCIP_SET* set, /**< global SCIP settings */
318  const char* name, /**< name of the parameter */
319  SCIP_Bool defaultvalue /**< new default value of the parameter */
320  );
321 
322 /** changes the value of an existing Int parameter */
323 extern
325  SCIP_SET* set, /**< global SCIP settings */
326  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
327  SCIP_PARAM* param, /**< parameter */
328  int value /**< new value of the parameter */
329  );
330 
331 /** changes the value of an existing Int parameter */
332 extern
334  SCIP_SET* set, /**< global SCIP settings */
335  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
336  const char* name, /**< name of the parameter */
337  int value /**< new value of the parameter */
338  );
339 
340 /** changes the default value of an existing Int parameter */
341 extern
343  SCIP_SET* set, /**< global SCIP settings */
344  const char* name, /**< name of the parameter */
345  int defaultvalue /**< new default value of the parameter */
346  );
347 
348 /** changes the value of an existing SCIP_Longint parameter */
349 extern
351  SCIP_SET* set, /**< global SCIP settings */
352  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
353  SCIP_PARAM* param, /**< parameter */
354  SCIP_Longint value /**< new value of the parameter */
355  );
356 
357 /** changes the value of an existing SCIP_Longint parameter */
358 extern
360  SCIP_SET* set, /**< global SCIP settings */
361  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
362  const char* name, /**< name of the parameter */
363  SCIP_Longint value /**< new value of the parameter */
364  );
365 
366 /** changes the value of an existing SCIP_Real parameter */
367 extern
369  SCIP_SET* set, /**< global SCIP settings */
370  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
371  SCIP_PARAM* param, /**< parameter */
372  SCIP_Real value /**< new value of the parameter */
373  );
374 
375 /** changes the value of an existing SCIP_Real parameter */
376 extern
378  SCIP_SET* set, /**< global SCIP settings */
379  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
380  const char* name, /**< name of the parameter */
381  SCIP_Real value /**< new value of the parameter */
382  );
383 
384 /** changes the value of an existing Char parameter */
385 extern
387  SCIP_SET* set, /**< global SCIP settings */
388  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
389  SCIP_PARAM* param, /**< parameter */
390  char value /**< new value of the parameter */
391  );
392 
393 /** changes the value of an existing Char parameter */
394 extern
396  SCIP_SET* set, /**< global SCIP settings */
397  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
398  const char* name, /**< name of the parameter */
399  char value /**< new value of the parameter */
400  );
401 
402 /** changes the value of an existing String parameter */
403 extern
405  SCIP_SET* set, /**< global SCIP settings */
406  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
407  SCIP_PARAM* param, /**< parameter */
408  const char* value /**< new value of the parameter */
409  );
410 
411 /** changes the value of an existing String parameter */
412 extern
414  SCIP_SET* set, /**< global SCIP settings */
415  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
416  const char* name, /**< name of the parameter */
417  const char* value /**< new value of the parameter */
418  );
419 
420 /** reads parameters from a file */
421 extern
423  SCIP_SET* set, /**< global SCIP settings */
424  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
425  const char* filename /**< file name */
426  );
427 
428 /** writes all parameters in the parameter set to a file */
429 extern
431  SCIP_SET* set, /**< global SCIP settings */
432  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
433  const char* filename, /**< file name, or NULL for stdout */
434  SCIP_Bool comments, /**< should parameter descriptions be written as comments? */
435  SCIP_Bool onlychanged /**< should only the parameters been written, that are changed from default? */
436  );
437 
438 /** resets a single parameters to its default value */
439 extern
441  SCIP_SET* set, /**< global SCIP settings */
442  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
443  const char* name /**< name of the parameter */
444  );
445 
446 /** resets all parameters to their default values */
447 extern
449  SCIP_SET* set, /**< global SCIP settings */
450  SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
451  );
452 
453 /** sets parameters to
454  *
455  * - \ref SCIP_PARAMEMPHASIS_DEFAULT to use default values (see also SCIPsetResetParams())
456  * - \ref SCIP_PARAMEMPHASIS_COUNTER to get feasible and "fast" counting process
457  * - \ref SCIP_PARAMEMPHASIS_CPSOLVER to get CP like search (e.g. no LP relaxation)
458  * - \ref SCIP_PARAMEMPHASIS_EASYCIP to solve easy problems fast
459  * - \ref SCIP_PARAMEMPHASIS_FEASIBILITY to detect feasibility fast
460  * - \ref SCIP_PARAMEMPHASIS_HARDLP to be capable to handle hard LPs
461  * - \ref SCIP_PARAMEMPHASIS_OPTIMALITY to prove optimality fast
462  * - \ref SCIP_PARAMEMPHASIS_PHASEFEAS to find feasible solutions during a 3 phase solution process
463  * - \ref SCIP_PARAMEMPHASIS_PHASEIMPROVE to find improved solutions during a 3 phase solution process
464  * - \ref SCIP_PARAMEMPHASIS_PHASEPROOF to proof optimality during a 3 phase solution process
465  */
466 extern
468  SCIP_SET* set, /**< global SCIP settings */
469  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
470  SCIP_PARAMEMPHASIS paramemphasis, /**< parameter settings */
471  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
472  );
473 
474 /** set parameters for reoptimization */
475 extern
477  SCIP_SET* set, /**< SCIP data structure */
478  SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
479  );
480 
481 /** enable or disable all plugin timers depending on the value of the flag \p enabled */
482 extern
484  SCIP_SET* set, /**< SCIP settings */
485  SCIP_Bool enabled /**< should plugin clocks be enabled? */
486  );
487 
488 /** sets parameters to deactivate separators and heuristics that use auxiliary SCIP instances; should be called for
489  * auxiliary SCIP instances to avoid recursion
490  */
491 extern
493  SCIP_SET* set, /**< global SCIP settings */
494  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
495  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
496  );
497 
498 /** sets heuristic parameters values to
499  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all heuristic parameters
500  * - SCIP_PARAMSETTING_FAST such that the time spend for heuristic is decreased
501  * - SCIP_PARAMSETTING_AGGRESSIVE such that the heuristic are called more aggregative
502  * - SCIP_PARAMSETTING_OFF which turn off all heuristics
503  */
504 extern
506  SCIP_SET* set, /**< global SCIP settings */
507  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
508  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
509  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
510  );
511 
512 /** sets presolving parameters to
513  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all presolving parameters
514  * - SCIP_PARAMSETTING_FAST such that the time spend for presolving is decreased
515  * - SCIP_PARAMSETTING_AGGRESSIVE such that the presolving is more aggregative
516  * - SCIP_PARAMSETTING_OFF which turn off all presolving
517  */
518 extern
520  SCIP_SET* set, /**< global SCIP settings */
521  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
522  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
523  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
524  );
525 
526 /** sets separating parameters to
527  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all separating parameters
528  * - SCIP_PARAMSETTING_FAST such that the time spend for separating is decreased
529  * - SCIP_PARAMSETTING_AGGRESSIVE such that the separating is done more aggregative
530  * - SCIP_PARAMSETTING_OFF which turn off all separating
531  */
532 extern
534  SCIP_SET* set, /**< global SCIP settings */
535  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
536  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
537  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
538  );
539 
540 /** returns the array of all available SCIP parameters */
541 extern
543  SCIP_SET* set /**< global SCIP settings */
544  );
545 
546 /** returns the total number of all available SCIP parameters */
547 extern
549  SCIP_SET* set /**< global SCIP settings */
550  );
551 
552 /** inserts file reader in file reader list */
553 extern
555  SCIP_SET* set, /**< global SCIP settings */
556  SCIP_READER* reader /**< file reader */
557  );
558 
559 /** returns the file reader of the given name, or NULL if not existing */
560 extern
562  SCIP_SET* set, /**< global SCIP settings */
563  const char* name /**< name of file reader */
564  );
565 
566 /** inserts variable pricer in variable pricer list */
567 extern
569  SCIP_SET* set, /**< global SCIP settings */
570  SCIP_PRICER* pricer /**< variable pricer */
571  );
572 
573 /** returns the variable pricer of the given name, or NULL if not existing */
574 extern
576  SCIP_SET* set, /**< global SCIP settings */
577  const char* name /**< name of variable pricer */
578  );
579 
580 /** sorts pricers by priorities */
581 extern
582 void SCIPsetSortPricers(
583  SCIP_SET* set /**< global SCIP settings */
584  );
585 
586 /** sorts pricers by name */
587 extern
589  SCIP_SET* set /**< global SCIP settings */
590  );
591 
592 /** inserts Benders' decomposition into the Benders' decomposition list */
593 extern
595  SCIP_SET* set, /**< global SCIP settings */
596  SCIP_BENDERS* benders /**< Benders' decomposition */
597  );
598 
599 /** returns the Benders' decomposition of the given name, or NULL if not existing */
600 extern
602  SCIP_SET* set, /**< global SCIP settings */
603  const char* name /**< name of Benders' decomposition */
604  );
605 
606 /** sorts Benders' decomposition by priorities */
607 extern
608 void SCIPsetSortBenders(
609  SCIP_SET* set /**< global SCIP settings */
610  );
611 
612 /** sorts Benders' decomposition by name */
613 extern
615  SCIP_SET* set /**< global SCIP settings */
616  );
617 
618 /** inserts constraint handler in constraint handler list */
619 extern
621  SCIP_SET* set, /**< global SCIP settings */
622  SCIP_CONSHDLR* conshdlr /**< constraint handler */
623  );
624 
625 /** reinserts a constraint handler with modified sepa priority into the sepa priority sorted array */
626 extern
628  SCIP_SET* set, /**< global SCIP settings */
629  SCIP_CONSHDLR* conshdlr, /**< constraint handler to be reinserted */
630  int oldpriority /**< the old separation priority of constraint handler */
631  );
632 
633 /** returns the constraint handler of the given name, or NULL if not existing */
634 extern
636  SCIP_SET* set, /**< global SCIP settings */
637  const char* name /**< name of constraint handler */
638  );
639 
640 /** inserts conflict handler in conflict handler list */
641 extern
643  SCIP_SET* set, /**< global SCIP settings */
644  SCIP_CONFLICTHDLR* conflicthdlr /**< conflict handler */
645  );
646 
647 /** returns the conflict handler of the given name, or NULL if not existing */
648 extern
650  SCIP_SET* set, /**< global SCIP settings */
651  const char* name /**< name of conflict handler */
652  );
653 
654 /** sorts conflict handlers by priorities */
655 extern
657  SCIP_SET* set /**< global SCIP settings */
658  );
659 
660 /** sorts conflict handlers by name */
661 extern
663  SCIP_SET* set /**< global SCIP settings */
664  );
665 
666 /** inserts presolver in presolver list */
667 extern
669  SCIP_SET* set, /**< global SCIP settings */
670  SCIP_PRESOL* presol /**< presolver */
671  );
672 
673 /** returns the presolver of the given name, or NULL if not existing */
674 extern
676  SCIP_SET* set, /**< global SCIP settings */
677  const char* name /**< name of presolver */
678  );
679 
680 /** sorts presolvers by priorities */
681 extern
682 void SCIPsetSortPresols(
683  SCIP_SET* set /**< global SCIP settings */
684  );
685 
686 /** sorts presolvers by name */
687 extern
689  SCIP_SET* set /**< global SCIP settings */
690  );
691 
692 /** inserts relaxator in relaxator list */
693 extern
695  SCIP_SET* set, /**< global SCIP settings */
696  SCIP_RELAX* relax /**< relaxator */
697  );
698 
699 /** returns the relaxator of the given name, or NULL if not existing */
700 extern
702  SCIP_SET* set, /**< global SCIP settings */
703  const char* name /**< name of relaxator */
704  );
705 
706 /** sorts relaxators by priorities */
707 extern
708 void SCIPsetSortRelaxs(
709  SCIP_SET* set /**< global SCIP settings */
710  );
711 
712 /** sorts relaxators by name */
713 extern
715  SCIP_SET* set /**< global SCIP settings */
716  );
717 
718 /** inserts separator in separator list */
719 extern
721  SCIP_SET* set, /**< global SCIP settings */
722  SCIP_SEPA* sepa /**< separator */
723  );
724 
725 /** returns the separator of the given name, or NULL if not existing */
726 extern
728  SCIP_SET* set, /**< global SCIP settings */
729  const char* name /**< name of separator */
730  );
731 
732 /** sorts separators by priorities */
733 extern
734 void SCIPsetSortSepas(
735  SCIP_SET* set /**< global SCIP settings */
736  );
737 
738 /** sorts separators by name */
739 extern
741  SCIP_SET* set /**< global SCIP settings */
742  );
743 
744 /** inserts propagator in propagator list */
745 extern
747  SCIP_SET* set, /**< global SCIP settings */
748  SCIP_PROP* prop /**< propagator */
749  );
750 
751 /** returns the propagator of the given name, or NULL if not existing */
752 extern
754  SCIP_SET* set, /**< global SCIP settings */
755  const char* name /**< name of propagator */
756  );
757 
758 /** sorts propagators by priorities */
759 extern
760 void SCIPsetSortProps(
761  SCIP_SET* set /**< global SCIP settings */
762  );
763 
764 /** sorts propagators by priorities for presolving */
765 extern
767  SCIP_SET* set /**< global SCIP settings */
768  );
769 
770 /** sorts propagators w.r.t. names */
771 extern
773  SCIP_SET* set /**< global SCIP settings */
774  );
775 
776 /** inserts concurrent solver type into the concurrent solver type list */
777 extern
779  SCIP_SET* set, /**< global SCIP settings */
780  SCIP_CONCSOLVERTYPE* concsolvertype /**< concurrent solver type */
781  );
782 
783 /** returns the concurrent solver type with the given name, or NULL if not existing */
784 extern
786  SCIP_SET* set, /**< global SCIP settings */
787  const char* name /**< name of concurrent solver type */
788  );
789 
790 /** inserts concurrent solver into the concurrent solver list */
791 extern
793  SCIP_SET* set, /**< global SCIP settings */
794  SCIP_CONCSOLVER* concsolver /**< concurrent solver */
795  );
796 
797 /** frees all concurrent solvers in the concurrent solver list */
798 extern
800  SCIP_SET* set /**< global SCIP settings */
801  );
802 
803 /** inserts primal heuristic in primal heuristic list */
804 extern
806  SCIP_SET* set, /**< global SCIP settings */
807  SCIP_HEUR* heur /**< primal heuristic */
808  );
809 
810 /** returns the primal heuristic of the given name, or NULL if not existing */
811 extern
813  SCIP_SET* set, /**< global SCIP settings */
814  const char* name /**< name of primal heuristic */
815  );
816 
817 /** sorts heuristics by priorities */
818 extern
819 void SCIPsetSortHeurs(
820  SCIP_SET* set /**< global SCIP settings */
821  );
822 
823 /** sorts heuristics by name */
824 extern
826  SCIP_SET* set /**< global SCIP settings */
827  );
828 
829 /** inserts tree compression in tree compression list */
830 extern
832  SCIP_SET* set, /**< global SCIP settings */
833  SCIP_COMPR* compr /**< tree compression */
834  );
835 
836 /** returns the tree compression of the given name, or NULL if not existing */
837 extern
839  SCIP_SET* set, /**< global SCIP settings */
840  const char* name /**< name of tree compression */
841  );
842 
843 /** sorts compressions by priorities */
844 extern
845 void SCIPsetSortComprs(
846  SCIP_SET* set /**< global SCIP settings */
847  );
848 
849 /** sorts heuristics by names */
850 extern
852  SCIP_SET* set /**< global SCIP settings */
853  );
854 
855 /** inserts event handler in event handler list */
856 extern
858  SCIP_SET* set, /**< global SCIP settings */
859  SCIP_EVENTHDLR* eventhdlr /**< event handler */
860  );
861 
862 /** returns the event handler of the given name, or NULL if not existing */
863 extern
865  SCIP_SET* set, /**< global SCIP settings */
866  const char* name /**< name of event handler */
867  );
868 
869 /** inserts node selector in node selector list */
870 extern
872  SCIP_SET* set, /**< global SCIP settings */
873  SCIP_NODESEL* nodesel /**< node selector */
874  );
875 
876 /** returns the node selector of the given name, or NULL if not existing */
877 extern
879  SCIP_SET* set, /**< global SCIP settings */
880  const char* name /**< name of event handler */
881  );
882 
883 /** returns node selector with highest priority in the current mode */
884 extern
886  SCIP_SET* set, /**< global SCIP settings */
887  SCIP_STAT* stat /**< dynamic problem statistics */
888  );
889 
890 /** inserts branching rule in branching rule list */
891 extern
893  SCIP_SET* set, /**< global SCIP settings */
894  SCIP_BRANCHRULE* branchrule /**< branching rule */
895  );
896 
897 /** returns the branching rule of the given name, or NULL if not existing */
898 extern
900  SCIP_SET* set, /**< global SCIP settings */
901  const char* name /**< name of event handler */
902  );
903 
904 /** sorts branching rules by priorities */
905 extern
907  SCIP_SET* set /**< global SCIP settings */
908  );
909 
910 /** sorts branching rules by name */
911 extern
913  SCIP_SET* set /**< global SCIP settings */
914  );
915 
916 /** inserts display column in display column list */
917 extern
919  SCIP_SET* set, /**< global SCIP settings */
920  SCIP_DISP* disp /**< display column */
921  );
922 
923 /** returns the display column of the given name, or NULL if not existing */
924 extern
926  SCIP_SET* set, /**< global SCIP settings */
927  const char* name /**< name of display */
928  );
929 
930 /** inserts statistics table in statistics table list */
931 extern
933  SCIP_SET* set, /**< global SCIP settings */
934  SCIP_TABLE* table /**< statistics table */
935  );
936 
937 /** returns the statistics table of the given name, or NULL if not existing */
938 extern
940  SCIP_SET* set, /**< global SCIP settings */
941  const char* name /**< name of statistics table */
942  );
943 
944 /** inserts dialog in dialog list */
945 extern
947  SCIP_SET* set, /**< global SCIP settings */
948  SCIP_DIALOG* dialog /**< dialog */
949  );
950 
951 /** returns if the dialog already exists */
952 extern
954  SCIP_SET* set, /**< global SCIP settings */
955  SCIP_DIALOG* dialog /**< dialog */
956  );
957 
958 /** inserts NLPI in NLPI list */
959 extern
961  SCIP_SET* set, /**< global SCIP settings */
962  SCIP_NLPI* nlpi /**< NLPI */
963  );
964 
965 /** returns the NLPI of the given name, or NULL if not existing */
966 extern
968  SCIP_SET* set, /**< global SCIP settings */
969  const char* name /**< name of NLPI */
970  );
971 
972 /** sorts NLPIs by priorities */
973 extern
974 void SCIPsetSortNlpis(
975  SCIP_SET* set /**< global SCIP settings */
976  );
977 
978 /** set priority of an NLPI */
979 extern
981  SCIP_SET* set, /**< global SCIP settings */
982  SCIP_NLPI* nlpi, /**< NLPI */
983  int priority /**< new priority of NLPI */
984  );
985 
986 /** inserts information about an external code in external codes list */
987 extern
989  SCIP_SET* set, /**< global SCIP settings */
990  const char* name, /**< name of external code */
991  const char* description /**< description of external code, can be NULL */
992  );
993 
994 /** inserts bandit virtual function table into set */
995 extern
997  SCIP_SET* set, /**< global SCIP settings */
998  SCIP_BANDITVTABLE* banditvtable /**< bandit algorithm virtual function table */
999  );
1000 
1001 /** returns the bandit virtual function table of the given name, or NULL if not existing */
1002 extern
1004  SCIP_SET* set, /**< global SCIP settings */
1005  const char* name /**< name of bandit algorithm virtual function table */
1006  );
1007 
1008 /** calls init methods of all plugins */
1009 extern
1011  SCIP_SET* set, /**< global SCIP settings */
1012  BMS_BLKMEM* blkmem, /**< block memory */
1013  SCIP_STAT* stat /**< dynamic problem statistics */
1014  );
1015 
1016 /** calls exit methods of all plugins */
1017 extern
1019  SCIP_SET* set, /**< global SCIP settings */
1020  BMS_BLKMEM* blkmem, /**< block memory */
1021  SCIP_STAT* stat /**< dynamic problem statistics */
1022  );
1023 
1024 /** calls initpre methods of all plugins */
1025 extern
1027  SCIP_SET* set, /**< global SCIP settings */
1028  BMS_BLKMEM* blkmem, /**< block memory */
1029  SCIP_STAT* stat /**< dynamic problem statistics */
1030  );
1031 
1032 /** calls exitpre methods of all plugins */
1033 extern
1035  SCIP_SET* set, /**< global SCIP settings */
1036  BMS_BLKMEM* blkmem, /**< block memory */
1037  SCIP_STAT* stat /**< dynamic problem statistics */
1038  );
1039 
1040 /** calls initsol methods of all plugins */
1041 extern
1043  SCIP_SET* set, /**< global SCIP settings */
1044  BMS_BLKMEM* blkmem, /**< block memory */
1045  SCIP_STAT* stat /**< dynamic problem statistics */
1046  );
1047 
1048 /** calls exitsol methods of all plugins */
1049 extern
1051  SCIP_SET* set, /**< global SCIP settings */
1052  BMS_BLKMEM* blkmem, /**< block memory */
1053  SCIP_STAT* stat, /**< dynamic problem statistics */
1054  SCIP_Bool restart /**< was this exit solve call triggered by a restart? */
1055  );
1056 
1057 /** calculate memory size for dynamically allocated arrays */
1058 extern
1060  SCIP_SET* set, /**< global SCIP settings */
1061  int num /**< minimum number of entries to store */
1062  );
1063 
1064 /** calculate memory size for tree array */
1065 extern
1067  SCIP_SET* set, /**< global SCIP settings */
1068  int num /**< minimum number of entries to store */
1069  );
1070 
1071 /** calculate memory size for path array */
1072 extern
1074  SCIP_SET* set, /**< global SCIP settings */
1075  int num /**< minimum number of entries to store */
1076  );
1077 
1078 /** sets verbosity level for message output */
1079 extern
1081  SCIP_SET* set, /**< global SCIP settings */
1082  SCIP_VERBLEVEL verblevel /**< verbosity level for message output */
1083  );
1084 
1085 /** sets feasibility tolerance */
1086 extern
1088  SCIP_SET* set, /**< global SCIP settings */
1089  SCIP_Real feastol /**< new feasibility tolerance */
1090  );
1091 
1092 /** sets primal feasibility tolerance of LP solver */
1093 extern
1095  SCIP_SET* set, /**< global SCIP settings */
1096  SCIP_Real lpfeastol, /**< new primal feasibility tolerance of LP solver */
1097  SCIP_Bool printnewvalue /**< should "numerics/lpfeastol = ..." be printed? */
1098  );
1099 
1100 /** sets feasibility tolerance for reduced costs in LP solution */
1101 extern
1103  SCIP_SET* set, /**< global SCIP settings */
1104  SCIP_Real dualfeastol /**< new reduced costs feasibility tolerance */
1105  );
1106 
1107 /** sets LP convergence tolerance used in barrier algorithm */
1108 extern
1110  SCIP_SET* set, /**< global SCIP settings */
1111  SCIP_Real barrierconvtol /**< new convergence tolerance used in barrier algorithm */
1112  );
1113 
1114 /** sets primal feasibility tolerance for relaxations (relaxfeastol)
1115  *
1116  * @note Set to SCIP_INVALID to apply relaxation-specific feasibility tolerance only.
1117  *
1118  * @return Previous value of relaxfeastol.
1119  */
1120 extern
1122  SCIP_SET* set, /**< global SCIP settings */
1123  SCIP_Real relaxfeastol /**< new primal feasibility tolerance for relaxations, or SCIP_INVALID */
1124  );
1125 
1126 /** marks that some limit parameter was changed */
1127 extern
1129  SCIP_SET* set /**< global SCIP settings */
1130  );
1131 
1132 /** returns the maximal number of variables priced into the LP per round */
1133 extern
1135  SCIP_SET* set, /**< global SCIP settings */
1136  SCIP_Bool root /**< are we at the root node? */
1137  );
1138 
1139 /** returns the maximal number of cuts separated per round */
1140 extern
1142  SCIP_SET* set, /**< global SCIP settings */
1143  SCIP_Bool root /**< are we at the root node? */
1144  );
1145 
1146 /** returns user defined objective value (in original space) for reference purposes */
1147 extern
1149  SCIP_SET* set /**< global SCIP settings */
1150  );
1151 
1152 /** returns debug solution data */
1153 extern
1155  SCIP_SET* set /**< global SCIP settings */
1156  );
1157 
1158 /** Checks, if an iteratively updated value is reliable or should be recomputed from scratch.
1159  * This is useful, if the value, e.g., the activity of a linear constraint or the pseudo objective value, gets a high
1160  * absolute value during the optimization process which is later reduced significantly. In this case, the last digits
1161  * were cancelled out when increasing the value and are random after decreasing it.
1162  * We dot not consider the cancellations which can occur during increasing the absolute value because they just cannot
1163  * be expressed using fixed precision floating point arithmetic, anymore.
1164  * The idea to get more reliable values is to always store the last reliable value, where increasing the absolute of
1165  * the value is viewed as preserving reliability. Then, after each update, the new absolute value can be compared
1166  * against the last reliable one with this method, checking whether it was decreased by a factor of at least
1167  * "lp/recompfac" and should be recomputed.
1168  */
1169 extern
1171  SCIP_SET* set, /**< global SCIP settings */
1172  SCIP_Real newvalue, /**< new value after update */
1173  SCIP_Real oldvalue /**< old value, i.e., last reliable value */
1174  );
1175 
1176 /** modifies an initial seed value with the global shift of random seeds */
1177 extern
1178 unsigned int SCIPsetInitializeRandomSeed(
1179  SCIP_SET* set, /**< global SCIP settings */
1180  unsigned int initialseedvalue /**< initial seed value to be modified */
1181  );
1182 
1183 /** returns value treated as infinity */
1184 extern
1186  SCIP_SET* set /**< global SCIP settings */
1187  );
1188 
1189 /** returns the minimum value that is regarded as huge and should be handled separately (e.g., in activity
1190  * computation)
1191  */
1192 extern
1194  SCIP_SET* set /**< global SCIP settings */
1195  );
1196 
1197 /** returns value treated as zero */
1198 extern
1200  SCIP_SET* set /**< global SCIP settings */
1201  );
1202 
1203 /** returns value treated as zero for sums of floating point values */
1204 extern
1206  SCIP_SET* set /**< global SCIP settings */
1207  );
1208 
1209 /** returns feasibility tolerance for constraints */
1210 extern
1212  SCIP_SET* set /**< global SCIP settings */
1213  );
1214 
1215 /** returns primal feasibility tolerance of LP solver given as minimum of lpfeastol option and relaxfeastol */
1216 extern
1218  SCIP_SET* set /**< global SCIP settings */
1219  );
1220 
1221 /** returns feasibility tolerance for reduced costs */
1222 extern
1224  SCIP_SET* set /**< global SCIP settings */
1225  );
1226 
1227 /** returns convergence tolerance used in barrier algorithm */
1228 extern
1230  SCIP_SET* set /**< global SCIP settings */
1231  );
1232 
1233 /** returns minimal variable distance value to use for pseudo cost updates */
1234 extern
1236  SCIP_SET* set /**< global SCIP settings */
1237  );
1238 
1239 /** returns minimal minimal objective distance value to use for pseudo cost updates */
1240 extern
1242  SCIP_SET* set /**< global SCIP settings */
1243  );
1244 
1245 /** return the delta to use for computing the cutoff bound for integral objectives */
1246 extern
1248  SCIP_SET* set /**< global SCIP settings */
1249  );
1250 
1251 /** return the primal feasibility tolerance for relaxations */
1252 extern
1254  SCIP_SET* set /**< global SCIP settings */
1255  );
1256 
1257 /** returns minimal decrease factor that causes the recomputation of a value
1258  * (e.g., pseudo objective) instead of an update */
1259 extern
1261  SCIP_SET* set /**< global SCIP settings */
1262  );
1263 
1264 /** checks, if values are in range of epsilon */
1265 extern
1267  SCIP_SET* set, /**< global SCIP settings */
1268  SCIP_Real val1, /**< first value to be compared */
1269  SCIP_Real val2 /**< second value to be compared */
1270  );
1271 
1272 /** checks, if val1 is (more than epsilon) lower than val2 */
1273 extern
1275  SCIP_SET* set, /**< global SCIP settings */
1276  SCIP_Real val1, /**< first value to be compared */
1277  SCIP_Real val2 /**< second value to be compared */
1278  );
1279 
1280 /** checks, if val1 is not (more than epsilon) greater than val2 */
1281 extern
1283  SCIP_SET* set, /**< global SCIP settings */
1284  SCIP_Real val1, /**< first value to be compared */
1285  SCIP_Real val2 /**< second value to be compared */
1286  );
1287 
1288 /** checks, if val1 is (more than epsilon) greater than val2 */
1289 extern
1291  SCIP_SET* set, /**< global SCIP settings */
1292  SCIP_Real val1, /**< first value to be compared */
1293  SCIP_Real val2 /**< second value to be compared */
1294  );
1295 
1296 /** checks, if val1 is not (more than epsilon) lower than val2 */
1297 extern
1299  SCIP_SET* set, /**< global SCIP settings */
1300  SCIP_Real val1, /**< first value to be compared */
1301  SCIP_Real val2 /**< second value to be compared */
1302  );
1303 
1304 /** checks, if value is (positive) infinite */
1305 extern
1307  SCIP_SET* set, /**< global SCIP settings */
1308  SCIP_Real val /**< value to be compared against infinity */
1309  );
1310 
1311 /** checks, if value is huge and should be handled separately (e.g., in activity computation) */
1312 extern
1314  SCIP_SET* set, /**< global SCIP settings */
1315  SCIP_Real val /**< value to be checked whether it is huge */
1316  );
1317 
1318 /** checks, if value is in range epsilon of 0.0 */
1319 extern
1321  SCIP_SET* set, /**< global SCIP settings */
1322  SCIP_Real val /**< value to be compared against zero */
1323  );
1324 
1325 /** checks, if value is greater than epsilon */
1326 extern
1328  SCIP_SET* set, /**< global SCIP settings */
1329  SCIP_Real val /**< value to be compared against zero */
1330  );
1331 
1332 /** checks, if value is lower than -epsilon */
1333 extern
1335  SCIP_SET* set, /**< global SCIP settings */
1336  SCIP_Real val /**< value to be compared against zero */
1337  );
1338 
1339 /** checks, if value is integral within epsilon */
1340 extern
1342  SCIP_SET* set, /**< global SCIP settings */
1343  SCIP_Real val /**< value to be compared against zero */
1344  );
1345 
1346 /** checks whether the product val * scalar is integral in epsilon scaled by scalar */
1347 extern
1349  SCIP_SET* set, /**< global SCIP settings */
1350  SCIP_Real val, /**< unscaled value to check for scaled integrality */
1351  SCIP_Real scalar /**< value to scale val with for checking for integrality */
1352  );
1353 
1354 /** checks, if given fractional part is smaller than epsilon */
1355 extern
1357  SCIP_SET* set, /**< global SCIP settings */
1358  SCIP_Real val /**< value to be compared against zero */
1359  );
1360 
1361 /** rounds value + feasibility tolerance down to the next integer in epsilon tolerance */
1362 extern
1364  SCIP_SET* set, /**< global SCIP settings */
1365  SCIP_Real val /**< value to be compared against zero */
1366  );
1367 
1368 /** rounds value - feasibility tolerance up to the next integer in epsilon tolerance */
1369 extern
1371  SCIP_SET* set, /**< global SCIP settings */
1372  SCIP_Real val /**< value to be compared against zero */
1373  );
1374 
1375 /** rounds value to the nearest integer in epsilon tolerance */
1376 extern
1378  SCIP_SET* set, /**< global SCIP settings */
1379  SCIP_Real val /**< value to be compared against zero */
1380  );
1381 
1382 /** returns fractional part of value, i.e. x - floor(x) in epsilon tolerance */
1383 extern
1385  SCIP_SET* set, /**< global SCIP settings */
1386  SCIP_Real val /**< value to return fractional part for */
1387  );
1388 
1389 /** checks, if values are in range of sumepsilon */
1390 extern
1392  SCIP_SET* set, /**< global SCIP settings */
1393  SCIP_Real val1, /**< first value to be compared */
1394  SCIP_Real val2 /**< second value to be compared */
1395  );
1396 
1397 /** checks, if val1 is (more than sumepsilon) lower than val2 */
1398 extern
1400  SCIP_SET* set, /**< global SCIP settings */
1401  SCIP_Real val1, /**< first value to be compared */
1402  SCIP_Real val2 /**< second value to be compared */
1403  );
1404 
1405 /** checks, if val1 is not (more than sumepsilon) greater than val2 */
1406 extern
1408  SCIP_SET* set, /**< global SCIP settings */
1409  SCIP_Real val1, /**< first value to be compared */
1410  SCIP_Real val2 /**< second value to be compared */
1411  );
1412 
1413 /** checks, if val1 is (more than sumepsilon) greater than val2 */
1414 extern
1416  SCIP_SET* set, /**< global SCIP settings */
1417  SCIP_Real val1, /**< first value to be compared */
1418  SCIP_Real val2 /**< second value to be compared */
1419  );
1420 
1421 /** checks, if val1 is not (more than sumepsilon) lower than val2 */
1422 extern
1424  SCIP_SET* set, /**< global SCIP settings */
1425  SCIP_Real val1, /**< first value to be compared */
1426  SCIP_Real val2 /**< second value to be compared */
1427  );
1428 
1429 /** checks, if value is in range sumepsilon of 0.0 */
1430 extern
1432  SCIP_SET* set, /**< global SCIP settings */
1433  SCIP_Real val /**< value to be compared against zero */
1434  );
1435 
1436 /** checks, if value is greater than sumepsilon */
1437 extern
1439  SCIP_SET* set, /**< global SCIP settings */
1440  SCIP_Real val /**< value to be compared against zero */
1441  );
1442 
1443 /** checks, if value is lower than -sumepsilon */
1444 extern
1446  SCIP_SET* set, /**< global SCIP settings */
1447  SCIP_Real val /**< value to be compared against zero */
1448  );
1449 
1450 /** rounds value + sumepsilon tolerance down to the next integer */
1451 extern
1453  SCIP_SET* set, /**< global SCIP settings */
1454  SCIP_Real val /**< value to process */
1455  );
1456 
1457 /** rounds value - sumepsilon tolerance up to the next integer */
1458 extern
1460  SCIP_SET* set, /**< global SCIP settings */
1461  SCIP_Real val /**< value to process */
1462  );
1463 
1464 /** rounds value to the nearest integer in sumepsilon tolerance */
1465 extern
1467  SCIP_SET* set, /**< global SCIP settings */
1468  SCIP_Real val /**< value to process */
1469  );
1470 
1471 /** returns fractional part of value, i.e. x - floor(x) in sumepsilon tolerance */
1472 extern
1474  SCIP_SET* set, /**< global SCIP settings */
1475  SCIP_Real val /**< value to process */
1476  );
1477 
1478 /** checks, if relative difference of values is in range of feastol */
1479 extern
1481  SCIP_SET* set, /**< global SCIP settings */
1482  SCIP_Real val1, /**< first value to be compared */
1483  SCIP_Real val2 /**< second value to be compared */
1484  );
1485 
1486 /** checks, if relative difference of val1 and val2 is lower than feastol */
1487 extern
1489  SCIP_SET* set, /**< global SCIP settings */
1490  SCIP_Real val1, /**< first value to be compared */
1491  SCIP_Real val2 /**< second value to be compared */
1492  );
1493 
1494 /** checks, if relative difference of val1 and val2 is not greater than feastol */
1495 extern
1497  SCIP_SET* set, /**< global SCIP settings */
1498  SCIP_Real val1, /**< first value to be compared */
1499  SCIP_Real val2 /**< second value to be compared */
1500  );
1501 
1502 /** checks, if relative difference of val1 and val2 is greater than feastol */
1503 extern
1505  SCIP_SET* set, /**< global SCIP settings */
1506  SCIP_Real val1, /**< first value to be compared */
1507  SCIP_Real val2 /**< second value to be compared */
1508  );
1509 
1510 /** checks, if relative difference of val1 and val2 is not lower than -feastol */
1511 extern
1513  SCIP_SET* set, /**< global SCIP settings */
1514  SCIP_Real val1, /**< first value to be compared */
1515  SCIP_Real val2 /**< second value to be compared */
1516  );
1517 
1518 /** checks, if value is in range feasibility tolerance of 0.0 */
1519 extern
1521  SCIP_SET* set, /**< global SCIP settings */
1522  SCIP_Real val /**< value to be compared against zero */
1523  );
1524 
1525 /** checks, if value is greater than feasibility tolerance */
1526 extern
1528  SCIP_SET* set, /**< global SCIP settings */
1529  SCIP_Real val /**< value to be compared against zero */
1530  );
1531 
1532 /** checks, if value is lower than -feasibility tolerance */
1533 extern
1535  SCIP_SET* set, /**< global SCIP settings */
1536  SCIP_Real val /**< value to be compared against zero */
1537  );
1538 
1539 /** checks, if value is integral within the feasibility bounds */
1540 extern
1542  SCIP_SET* set, /**< global SCIP settings */
1543  SCIP_Real val /**< value to be compared against zero */
1544  );
1545 
1546 /** checks, if given fractional part is smaller than feastol */
1547 extern
1549  SCIP_SET* set, /**< global SCIP settings */
1550  SCIP_Real val /**< value to be compared against zero */
1551  );
1552 
1553 /** rounds value + feasibility tolerance down to the next integer */
1554 extern
1556  SCIP_SET* set, /**< global SCIP settings */
1557  SCIP_Real val /**< value to be compared against zero */
1558  );
1559 
1560 /** rounds value - feasibility tolerance up to the next integer */
1561 extern
1563  SCIP_SET* set, /**< global SCIP settings */
1564  SCIP_Real val /**< value to be compared against zero */
1565  );
1566 
1567 /** rounds value to the nearest integer in feasibility tolerance */
1568 extern
1570  SCIP_SET* set, /**< global SCIP settings */
1571  SCIP_Real val /**< value to be compared against zero */
1572  );
1573 
1574 /** returns fractional part of value, i.e. x - floor(x) in feasibility tolerance */
1575 extern
1577  SCIP_SET* set, /**< global SCIP settings */
1578  SCIP_Real val /**< value to return fractional part for */
1579  );
1580 
1581 /** checks, if relative difference of values is in range of dual feasibility tolerance */
1582 extern
1584  SCIP_SET* set, /**< global SCIP settings */
1585  SCIP_Real val1, /**< first value to be compared */
1586  SCIP_Real val2 /**< second value to be compared */
1587  );
1588 
1589 /** checks, if relative difference of val1 and val2 is lower than dual feasibility tolerance */
1590 extern
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 greater than dual feasibility tolerance */
1598 extern
1600  SCIP_SET* set, /**< global SCIP settings */
1601  SCIP_Real val1, /**< first value to be compared */
1602  SCIP_Real val2 /**< second value to be compared */
1603  );
1604 
1605 /** checks, if relative difference of val1 and val2 is greater than dual feasibility tolerance */
1606 extern
1608  SCIP_SET* set, /**< global SCIP settings */
1609  SCIP_Real val1, /**< first value to be compared */
1610  SCIP_Real val2 /**< second value to be compared */
1611  );
1612 
1613 /** checks, if relative difference of val1 and val2 is not lower than -dual feasibility tolerance */
1614 extern
1616  SCIP_SET* set, /**< global SCIP settings */
1617  SCIP_Real val1, /**< first value to be compared */
1618  SCIP_Real val2 /**< second value to be compared */
1619  );
1620 
1621 /** checks, if value is in range dual feasibility tolerance of 0.0 */
1622 extern
1624  SCIP_SET* set, /**< global SCIP settings */
1625  SCIP_Real val /**< value to be compared against zero */
1626  );
1627 
1628 /** checks, if value is greater than dual feasibility tolerance */
1629 extern
1631  SCIP_SET* set, /**< global SCIP settings */
1632  SCIP_Real val /**< value to be compared against zero */
1633  );
1634 
1635 /** checks, if value is lower than -dual feasibility tolerance */
1636 extern
1638  SCIP_SET* set, /**< global SCIP settings */
1639  SCIP_Real val /**< value to be compared against zero */
1640  );
1641 
1642 /** checks, if value is integral within the dual feasibility bounds */
1643 extern
1645  SCIP_SET* set, /**< global SCIP settings */
1646  SCIP_Real val /**< value to be compared against zero */
1647  );
1648 
1649 /** checks, if given fractional part is smaller than dual feasibility tolerance */
1650 extern
1652  SCIP_SET* set, /**< global SCIP settings */
1653  SCIP_Real val /**< value to be compared against zero */
1654  );
1655 
1656 /** rounds value + dual feasibility tolerance down to the next integer */
1657 extern
1659  SCIP_SET* set, /**< global SCIP settings */
1660  SCIP_Real val /**< value to be compared against zero */
1661  );
1662 
1663 /** rounds value - dual feasibility tolerance up to the next integer */
1664 extern
1666  SCIP_SET* set, /**< global SCIP settings */
1667  SCIP_Real val /**< value to be compared against zero */
1668  );
1669 
1670 /** rounds value to the nearest integer in dual feasibility tolerance */
1671 extern
1673  SCIP_SET* set, /**< global SCIP settings */
1674  SCIP_Real val /**< value to be compared against zero */
1675  );
1676 
1677 /** returns fractional part of value, i.e. x - floor(x) in dual feasibility tolerance */
1678 extern
1680  SCIP_SET* set, /**< global SCIP settings */
1681  SCIP_Real val /**< value to return fractional part for */
1682  );
1683 
1684 /** checks, if the given new lower bound is at least min(oldub - oldlb, |oldlb|) times the bound
1685  * strengthening epsilon better than the old one or the change in the lower bound would fix the
1686  * sign of the variable
1687  */
1688 extern
1690  SCIP_SET* set, /**< global SCIP settings */
1691  SCIP_Real newlb, /**< new lower bound */
1692  SCIP_Real oldlb, /**< old lower bound */
1693  SCIP_Real oldub /**< old upper bound */
1694  );
1695 
1696 /** checks, if the given new upper bound is at least min(oldub - oldlb, |oldub|) times the bound
1697  * strengthening epsilon better than the old one or the change in the upper bound would fix the
1698  * sign of the variable
1699  */
1700 extern
1702  SCIP_SET* set, /**< global SCIP settings */
1703  SCIP_Real newub, /**< new upper bound */
1704  SCIP_Real oldlb, /**< old lower bound */
1705  SCIP_Real oldub /**< old upper bound */
1706  );
1707 
1708 /** checks, if the given cut's efficacy is larger than the minimal cut efficacy */
1709 extern
1711  SCIP_SET* set, /**< global SCIP settings */
1712  SCIP_Bool root, /**< should the root's minimal cut efficacy be used? */
1713  SCIP_Real efficacy /**< efficacy of the cut */
1714  );
1715 
1716 /** checks, if relative difference of values is in range of epsilon */
1717 extern
1719  SCIP_SET* set, /**< global SCIP settings */
1720  SCIP_Real val1, /**< first value to be compared */
1721  SCIP_Real val2 /**< second value to be compared */
1722  );
1723 
1724 /** checks, if relative difference of val1 and val2 is lower than epsilon */
1725 extern
1727  SCIP_SET* set, /**< global SCIP settings */
1728  SCIP_Real val1, /**< first value to be compared */
1729  SCIP_Real val2 /**< second value to be compared */
1730  );
1731 
1732 /** checks, if relative difference of val1 and val2 is not greater than epsilon */
1733 extern
1735  SCIP_SET* set, /**< global SCIP settings */
1736  SCIP_Real val1, /**< first value to be compared */
1737  SCIP_Real val2 /**< second value to be compared */
1738  );
1739 
1740 /** checks, if relative difference of val1 and val2 is greater than epsilon */
1741 extern
1743  SCIP_SET* set, /**< global SCIP settings */
1744  SCIP_Real val1, /**< first value to be compared */
1745  SCIP_Real val2 /**< second value to be compared */
1746  );
1747 
1748 /** checks, if relative difference of val1 and val2 is not lower than -epsilon */
1749 extern
1751  SCIP_SET* set, /**< global SCIP settings */
1752  SCIP_Real val1, /**< first value to be compared */
1753  SCIP_Real val2 /**< second value to be compared */
1754  );
1755 
1756 /** checks, if relative difference of values is in range of sumepsilon */
1757 extern
1759  SCIP_SET* set, /**< global SCIP settings */
1760  SCIP_Real val1, /**< first value to be compared */
1761  SCIP_Real val2 /**< second value to be compared */
1762  );
1763 
1764 /** checks, if relative difference of val1 and val2 is lower than sumepsilon */
1765 extern
1767  SCIP_SET* set, /**< global SCIP settings */
1768  SCIP_Real val1, /**< first value to be compared */
1769  SCIP_Real val2 /**< second value to be compared */
1770  );
1771 
1772 /** checks, if relative difference of val1 and val2 is not greater than sumepsilon */
1773 extern
1775  SCIP_SET* set, /**< global SCIP settings */
1776  SCIP_Real val1, /**< first value to be compared */
1777  SCIP_Real val2 /**< second value to be compared */
1778  );
1779 
1780 /** checks, if relative difference of val1 and val2 is greater than sumepsilon */
1781 extern
1783  SCIP_SET* set, /**< global SCIP settings */
1784  SCIP_Real val1, /**< first value to be compared */
1785  SCIP_Real val2 /**< second value to be compared */
1786  );
1787 
1788 /** checks, if relative difference of val1 and val2 is not lower than -sumepsilon */
1789 extern
1791  SCIP_SET* set, /**< global SCIP settings */
1792  SCIP_Real val1, /**< first value to be compared */
1793  SCIP_Real val2 /**< second value to be compared */
1794  );
1795 
1796 
1797 #ifdef NDEBUG
1798 
1799 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
1800  * speed up the algorithms.
1801  */
1802 
1803 #define SCIPsetInfinity(set) ( (set)->num_infinity )
1804 #define SCIPsetGetHugeValue(set) ( (set)->num_hugeval )
1805 #define SCIPsetEpsilon(set) ( (set)->num_epsilon )
1806 #define SCIPsetSumepsilon(set) ( (set)->num_sumepsilon )
1807 #define SCIPsetFeastol(set) ( (set)->num_feastol )
1808 #define SCIPsetLpfeastol(set) ( (set)->num_relaxfeastol == SCIP_INVALID ? (set)->num_lpfeastol : MIN((set)->num_lpfeastol, (set)->num_relaxfeastol) )
1809 #define SCIPsetDualfeastol(set) ( (set)->num_dualfeastol )
1810 #define SCIPsetBarrierconvtol(set) ( (set)->num_barrierconvtol )
1811 #define SCIPsetPseudocosteps(set) ( (set)->num_pseudocosteps )
1812 #define SCIPsetPseudocostdelta(set) ( (set)->num_pseudocostdelta )
1813 #define SCIPsetRelaxfeastol(set) ( (set)->num_relaxfeastol )
1814 #define SCIPsetCutoffbounddelta(set) ( MIN(100.0 * SCIPsetFeastol(set), 0.0001) )
1815 #define SCIPsetRecompfac(set) ( (set)->num_recompfac )
1816 #define SCIPsetIsEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_epsilon) )
1817 #define SCIPsetIsLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_epsilon) )
1818 #define SCIPsetIsLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_epsilon) )
1819 #define SCIPsetIsGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_epsilon) )
1820 #define SCIPsetIsGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_epsilon) )
1821 #define SCIPsetIsInfinity(set, val) ( (val) >= (set)->num_infinity )
1822 #define SCIPsetIsHugeValue(set, val) ( (val) >= (set)->num_hugeval )
1823 #define SCIPsetIsZero(set, val) ( EPSZ(val, (set)->num_epsilon) )
1824 #define SCIPsetIsPositive(set, val) ( EPSP(val, (set)->num_epsilon) )
1825 #define SCIPsetIsNegative(set, val) ( EPSN(val, (set)->num_epsilon) )
1826 #define SCIPsetIsIntegral(set, val) ( EPSISINT(val, (set)->num_epsilon) )
1827 #define SCIPsetIsScalingIntegral(set, val, scalar) \
1828  ( EPSISINT((scalar)*(val), MAX(REALABS(scalar), 1.0)*(set)->num_epsilon) )
1829 #define SCIPsetIsFracIntegral(set, val) ( !EPSP(val, (set)->num_epsilon) )
1830 #define SCIPsetFloor(set, val) ( EPSFLOOR(val, (set)->num_epsilon) )
1831 #define SCIPsetCeil(set, val) ( EPSCEIL(val, (set)->num_epsilon) )
1832 #define SCIPsetRound(set, val) ( EPSROUND(val, (set)->num_epsilon) )
1833 #define SCIPsetFrac(set, val) ( EPSFRAC(val, (set)->num_epsilon) )
1834 
1835 #define SCIPsetIsSumEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_sumepsilon) )
1836 #define SCIPsetIsSumLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_sumepsilon) )
1837 #define SCIPsetIsSumLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_sumepsilon) )
1838 #define SCIPsetIsSumGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_sumepsilon) )
1839 #define SCIPsetIsSumGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_sumepsilon) )
1840 #define SCIPsetIsSumZero(set, val) ( EPSZ(val, (set)->num_sumepsilon) )
1841 #define SCIPsetIsSumPositive(set, val) ( EPSP(val, (set)->num_sumepsilon) )
1842 #define SCIPsetIsSumNegative(set, val) ( EPSN(val, (set)->num_sumepsilon) )
1843 #define SCIPsetSumFloor(set, val) ( EPSFLOOR(val, (set)->num_sumepsilon) )
1844 #define SCIPsetSumCeil(set, val) ( EPSCEIL(val, (set)->num_sumepsilon) )
1845 #define SCIPsetSumRound(set, val) ( EPSROUND(val, (set)->num_sumepsilon) )
1846 #define SCIPsetSumFrac(set, val) ( EPSFRAC(val, (set)->num_sumepsilon) )
1847 
1848 #define SCIPsetIsFeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1849 #define SCIPsetIsFeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1850 #define SCIPsetIsFeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1851 #define SCIPsetIsFeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1852 #define SCIPsetIsFeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1853 #define SCIPsetIsFeasZero(set, val) ( EPSZ(val, (set)->num_feastol) )
1854 #define SCIPsetIsFeasPositive(set, val) ( EPSP(val, (set)->num_feastol) )
1855 #define SCIPsetIsFeasNegative(set, val) ( EPSN(val, (set)->num_feastol) )
1856 #define SCIPsetIsFeasIntegral(set, val) ( EPSISINT(val, (set)->num_feastol) )
1857 #define SCIPsetIsFeasFracIntegral(set, val) ( !EPSP(val, (set)->num_feastol) )
1858 #define SCIPsetFeasFloor(set, val) ( EPSFLOOR(val, (set)->num_feastol) )
1859 #define SCIPsetFeasCeil(set, val) ( EPSCEIL(val, (set)->num_feastol) )
1860 #define SCIPsetFeasRound(set, val) ( EPSROUND(val, (set)->num_feastol) )
1861 #define SCIPsetFeasFrac(set, val) ( EPSFRAC(val, (set)->num_feastol) )
1862 
1863 #define SCIPsetIsDualfeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1864 #define SCIPsetIsDualfeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1865 #define SCIPsetIsDualfeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1866 #define SCIPsetIsDualfeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1867 #define SCIPsetIsDualfeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1868 #define SCIPsetIsDualfeasZero(set, val) ( EPSZ(val, (set)->num_dualfeastol) )
1869 #define SCIPsetIsDualfeasPositive(set, val) ( EPSP(val, (set)->num_dualfeastol) )
1870 #define SCIPsetIsDualfeasNegative(set, val) ( EPSN(val, (set)->num_dualfeastol) )
1871 #define SCIPsetIsDualfeasIntegral(set, val) ( EPSISINT(val, (set)->num_dualfeastol) )
1872 #define SCIPsetIsDualfeasFracIntegral(set, val) ( !EPSP(val, (set)->num_dualfeastol) )
1873 #define SCIPsetDualfeasFloor(set, val) ( EPSFLOOR(val, (set)->num_dualfeastol) )
1874 #define SCIPsetDualfeasCeil(set, val) ( EPSCEIL(val, (set)->num_dualfeastol) )
1875 #define SCIPsetDualfeasRound(set, val) ( EPSROUND(val, (set)->num_dualfeastol) )
1876 #define SCIPsetDualfeasFrac(set, val) ( EPSFRAC(val, (set)->num_dualfeastol) )
1877 
1878 #define SCIPsetIsLbBetter(set, newlb, oldlb, oldub) ( EPSGT(newlb, oldlb, \
1879  set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldlb)), 1e-3)) )
1880 #define SCIPsetIsUbBetter(set, newub, oldlb, oldub) ( EPSLT(newub, oldub, \
1881  set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldub)), 1e-3)) )
1882 #define SCIPsetIsEfficacious(set, root, efficacy) \
1883  ( root ? EPSP(efficacy, (set)->sepa_minefficacyroot) : EPSP(efficacy, (set)->sepa_minefficacy) )
1884 
1885 #define SCIPsetIsRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1886 #define SCIPsetIsRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1887 #define SCIPsetIsRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1888 #define SCIPsetIsRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1889 #define SCIPsetIsRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1890 
1891 #define SCIPsetIsSumRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1892 #define SCIPsetIsSumRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1893 #define SCIPsetIsSumRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1894 #define SCIPsetIsSumRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1895 #define SCIPsetIsSumRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1896 #define SCIPsetIsUpdateUnreliable(set, newvalue, oldvalue) \
1897  ( (ABS(oldvalue) / MAX(ABS(newvalue), set->num_epsilon)) >= set->num_recompfac )
1898 #define SCIPsetInitializeRandomSeed(set, val) ( (val + (set)->random_randomseedshift) )
1899 
1900 #endif
1901 
1902 #define SCIPsetAllocBuffer(set,ptr) ( (BMSallocBufferMemory((set)->buffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1903 #define SCIPsetAllocBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1904 #define SCIPsetAllocBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1905 #define SCIPsetDuplicateBufferSize(set,ptr,source,size) ( (BMSduplicateBufferMemory((set)->buffer, (ptr), (source), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1906 #define SCIPsetDuplicateBufferArray(set,ptr,source,num) ( (BMSduplicateBufferMemoryArray((set)->buffer, (ptr), (source), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1907 #define SCIPsetReallocBufferSize(set,ptr,size) ( (BMSreallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1908 #define SCIPsetReallocBufferArray(set,ptr,num) ( (BMSreallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1909 #define SCIPsetFreeBuffer(set,ptr) BMSfreeBufferMemory((set)->buffer, (ptr))
1910 #define SCIPsetFreeBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->buffer, (ptr))
1911 #define SCIPsetFreeBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->buffer, (ptr))
1912 
1913 #define SCIPsetAllocCleanBuffer(set,ptr) ( (BMSallocBufferMemory((set)->cleanbuffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1914 #define SCIPsetAllocCleanBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->cleanbuffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1915 #define SCIPsetAllocCleanBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->cleanbuffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1916 #define SCIPsetFreeCleanBuffer(set,ptr) BMSfreeBufferMemory((set)->cleanbuffer, (ptr))
1917 #define SCIPsetFreeCleanBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->cleanbuffer, (ptr))
1918 #define SCIPsetFreeCleanBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->cleanbuffer, (ptr))
1919 
1920 /* if we have a C99 compiler */
1921 #ifdef SCIP_HAVE_VARIADIC_MACROS
1922 
1923 /** prints a debugging message if SCIP_DEBUG flag is set */
1924 #ifdef SCIP_DEBUG
1925 #define SCIPsetDebugMsg(set, ...) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
1926 #define SCIPsetDebugMsgPrint(set, ...) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
1927 #else
1928 #define SCIPsetDebugMsg(set, ...) while ( FALSE ) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
1929 #define SCIPsetDebugMsgPrint(set, ...) while ( FALSE ) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
1930 #endif
1931 
1932 #else
1933 /* if we do not have a C99 compiler, use a workaround that prints a message, but not the file and linenumber */
1934 
1935 /** prints a debugging message if SCIP_DEBUG flag is set */
1936 #ifdef SCIP_DEBUG
1937 #define SCIPsetDebugMsg printf("debug: "), SCIPsetDebugMessagePrint
1938 #define SCIPsetDebugMsgPrint printf("debug: "), SCIPsetDebugMessagePrint
1939 #else
1940 #define SCIPsetDebugMsg while ( FALSE ) SCIPsetDebugMsgPrint
1941 #define SCIPsetDebugMsgPrint while ( FALSE ) SCIPsetDebugMessagePrint
1942 #endif
1943 
1944 #endif
1945 
1946 
1947 /** prints a debug message */
1948 extern
1950  SCIP_SET* set, /**< global SCIP settings */
1951  const char* sourcefile, /**< name of the source file that called the function */
1952  int sourceline, /**< line in the source file where the function was called */
1953  const char* formatstr, /**< format string like in printf() function */
1954  ... /**< format arguments line in printf() function */
1955  );
1956 
1957 /** prints a debug message without precode */
1958 extern
1960  SCIP_SET* set, /**< global SCIP settings */
1961  const char* formatstr, /**< format string like in printf() function */
1962  ... /**< format arguments line in printf() function */
1963  );
1964 
1965 
1966 #ifdef __cplusplus
1967 }
1968 #endif
1969 
1970 #endif
int SCIPsetCalcTreeGrowSize(SCIP_SET *set, int num)
Definition: set.c:5512
SCIP_Real SCIPsetBarrierconvtol(SCIP_SET *set)
Definition: set.c:5888
SCIP_Bool SCIPsetIsSumEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6184
SCIP_NODESEL * SCIPsetFindNodesel(SCIP_SET *set, const char *name)
Definition: set.c:4640
SCIP_RETCODE SCIPsetIncludeCompr(SCIP_SET *set, SCIP_COMPR *compr)
Definition: set.c:4492
SCIP_RETCODE SCIPsetWriteParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
Definition: set.c:3401
void SCIPsetSortRelaxs(SCIP_SET *set)
Definition: set.c:4091
SCIP_RETCODE SCIPsetIncludeDialog(SCIP_SET *set, SCIP_DIALOG *dialog)
Definition: set.c:4869
int SCIPsetGetSepaMaxcuts(SCIP_SET *set, SCIP_Bool root)
Definition: set.c:5681
SCIP_RETCODE SCIPsetGetBoolParam(SCIP_SET *set, const char *name, SCIP_Bool *value)
Definition: set.c:3018
SCIP_RETCODE SCIPsetIncludeReader(SCIP_SET *set, SCIP_READER *reader)
Definition: set.c:3553
SCIP_Bool SCIPsetIsLbBetter(SCIP_SET *set, SCIP_Real newlb, SCIP_Real oldlb, SCIP_Real oldub)
Definition: set.c:6776
SCIP_Bool SCIPsetIsFeasFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6505
SCIP_Real SCIPsetSumFrac(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6340
SCIP_Bool SCIPsetIsSumRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6992
SCIP_Real SCIPsetFeasFloor(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6518
void SCIPsetSortComprs(SCIP_SET *set)
Definition: set.c:4536
SCIP_Real SCIPsetSumFloor(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6307
SCIP_Bool SCIPsetIsSumRelGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:7036
int SCIPsetGetPriceMaxvars(SCIP_SET *set, SCIP_Bool root)
Definition: set.c:5667
SCIP_Real SCIPsetCeil(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6151
SCIP_Bool SCIPsetIsUpdateUnreliable(SCIP_SET *set, SCIP_Real newvalue, SCIP_Real oldvalue)
Definition: set.c:7068
struct SCIP_ParamData SCIP_PARAMDATA
Definition: type_paramset.h:76
void SCIPsetSortRelaxsName(SCIP_SET *set)
Definition: set.c:4106
SCIP_RETCODE SCIPsetResetParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name)
Definition: set.c:3417
void SCIPsetSortPresolsName(SCIP_SET *set)
Definition: set.c:4032
SCIP_RETCODE SCIPsetSetLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Longint value)
Definition: set.c:3258
SCIP_Bool SCIPsetIsFeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6373
SCIP_RETCODE SCIPsetGetIntParam(SCIP_SET *set, const char *name, int *value)
Definition: set.c:3032
SCIP_Bool SCIPsetIsSumRelLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6970
SCIP_RETCODE SCIPsetSetPresolving(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: set.c:3502
SCIP_Bool SCIPsetIsEfficacious(SCIP_SET *set, SCIP_Bool root, SCIP_Real efficacy)
Definition: set.c:6823
SCIP_Bool SCIPsetIsUbBetter(SCIP_SET *set, SCIP_Real newub, SCIP_Real oldlb, SCIP_Real oldub)
Definition: set.c:6801
SCIP_Bool SCIPsetIsRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6882
SCIP_RETCODE SCIPsetInitprePlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:5229
SCIP_Bool SCIPsetIsHugeValue(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5964
SCIP_STAGE SCIPsetGetStage(SCIP_SET *set)
Definition: set.c:2847
void SCIPsetSortBendersName(SCIP_SET *set)
Definition: set.c:3726
SCIP_READER * SCIPsetFindReader(SCIP_SET *set, const char *name)
Definition: set.c:3575
SCIP_Real SCIPsetSumCeil(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6318
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:53
SCIP_Bool SCIPsetIsDualfeasFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6716
SCIP_Bool SCIPsetIsSumNegative(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6296
SCIP_Bool SCIPsetIsGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6047
SCIP_RETCODE SCIPsetSetSeparating(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: set.c:3520
SCIP_Bool SCIPsetIsRelGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6904
SCIP_DISP * SCIPsetFindDisp(SCIP_SET *set, const char *name)
Definition: set.c:4804
type definitions for global SCIP settings
SCIP_Bool SCIPsetIsEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5975
enum SCIP_VerbLevel SCIP_VERBLEVEL
Definition: type_message.h:48
void SCIPsetSortProps(SCIP_SET *set)
Definition: set.c:4242
SCIP_RETCODE SCIPsetSetIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, int value)
Definition: set.c:3206
SCIP_Real SCIPsetGetReferencevalue(SCIP_SET *set)
Definition: set.c:5695
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:2857
void SCIPsetSetLimitChanged(SCIP_SET *set)
Definition: set.c:5657
void SCIPsetSortBenders(SCIP_SET *set)
Definition: set.c:3711
SCIP_RETCODE SCIPsetSetDefaultIntParam(SCIP_SET *set, const char *name, int defaultvalue)
Definition: set.c:3221
SCIP_Bool SCIPsetIsLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6011
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:2903
type definitions for presolvers
SCIP_RETCODE SCIPsetSetVerbLevel(SCIP_SET *set, SCIP_VERBLEVEL verblevel)
Definition: set.c:5530
SCIP_RETCODE SCIPsetExitsolPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat, SCIP_Bool restart)
Definition: set.c:5408
SCIP_Real SCIPsetInfinity(SCIP_SET *set)
Definition: set.c:5813
SCIP_RETCODE SCIPsetSetEmphasis(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMEMPHASIS paramemphasis, SCIP_Bool quiet)
Definition: set.c:3452
SCIP_RETCODE SCIPsetIncludeTable(SCIP_SET *set, SCIP_TABLE *table)
Definition: set.c:4824
SCIP_RETCODE SCIPsetSetBarrierconvtol(SCIP_SET *set, SCIP_Real barrierconvtol)
Definition: set.c:5622
SCIP_Real SCIPsetDualfeastol(SCIP_SET *set)
Definition: set.c:5865
void SCIPsetEnableOrDisablePluginClocks(SCIP_SET *set, SCIP_Bool enabled)
Definition: set.c:830
SCIP_Bool SCIPsetIsDualfeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6562
void SCIPsetSortPresols(SCIP_SET *set)
Definition: set.c:4017
type definitions for branching rules
type definitions for problem statistics
SCIP_PROP * SCIPsetFindProp(SCIP_SET *set, const char *name)
Definition: set.c:4222
SCIP_RETCODE SCIPsetExitPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:5123
enum SCIP_ParamSetting SCIP_PARAMSETTING
Definition: type_paramset.h:56
SCIP_RETCODE SCIPsetResetParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition: set.c:3429
SCIP_Bool SCIPsetIsRelLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6860
void SCIPsetSortBranchrulesName(SCIP_SET *set)
Definition: set.c:4757
SCIP_Bool SCIPsetIsDualfeasPositive(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6683
SCIP_RETCODE SCIPsetSetDefaultBoolParam(SCIP_SET *set, const char *name, SCIP_Bool defaultvalue)
Definition: set.c:3168
SCIP_DEBUGSOLDATA * SCIPsetGetDebugSolData(SCIP_SET *set)
Definition: set.c:5706
struct SCIP_DebugSolData SCIP_DEBUGSOLDATA
Definition: debug.h:50
SCIP_SEPA * SCIPsetFindSepa(SCIP_SET *set, const char *name)
Definition: set.c:4145
SCIP_Bool SCIPsetIsFeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6395
SCIP_Bool SCIPsetIsZero(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6065
SCIP_Bool SCIPsetIsFeasZero(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6461
void SCIPsetSortSepas(SCIP_SET *set)
Definition: set.c:4165
SCIP_BENDERS * SCIPsetFindBenders(SCIP_SET *set, const char *name)
Definition: set.c:3691
SCIP_Bool SCIPsetIsNegative(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6087
SCIP_Bool SCIPsetIsFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6127
SCIP_RETCODE SCIPsetCopyParams(SCIP_SET *sourceset, SCIP_SET *targetset, SCIP_MESSAGEHDLR *messagehdlr)
Definition: set.c:1099
SCIP_RETCODE SCIPsetIncludePresol(SCIP_SET *set, SCIP_PRESOL *presol)
Definition: set.c:3974
type definitions for variable pricers
SCIP_RETCODE SCIPsetGetRealParam(SCIP_SET *set, const char *name, SCIP_Real *value)
Definition: set.c:3060
SCIP_Bool SCIPsetIsFeasPositive(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6472
type definitions for primal heuristics
SCIP_Real SCIPsetFeastol(SCIP_SET *set)
Definition: set.c:5855
SCIP_RETCODE SCIPsetIncludeRelax(SCIP_SET *set, SCIP_RELAX *relax)
Definition: set.c:4047
SCIP_Real SCIPsetGetHugeValue(SCIP_SET *set)
Definition: set.c:5825
type definitions for SCIP&#39;s main datastructure
SCIP_Bool SCIPsetIsSumPositive(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6285
SCIP_Real SCIPsetPseudocosteps(SCIP_SET *set)
Definition: set.c:5898
SCIP_RETCODE SCIPsetIncludeBenders(SCIP_SET *set, SCIP_BENDERS *benders)
Definition: set.c:3668
SCIP_RETCODE SCIPsetSetHeuristics(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: set.c:3484
SCIP_Real SCIPsetDualfeasFrac(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6762
SCIP_BRANCHRULE * SCIPsetFindBranchrule(SCIP_SET *set, const char *name)
Definition: set.c:4722
SCIP_Real SCIPsetRound(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6162
SCIP_Bool SCIPsetIsDualfeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6584
void SCIPsetPrintDebugMessage(SCIP_SET *set, const char *sourcefile, int sourceline, const char *formatstr,...)
Definition: set.c:7084
void SCIPsetSortConflicthdlrsName(SCIP_SET *set)
Definition: set.c:3959
#define SCIP_DECL_PARAMCHGD(x)
Definition: type_paramset.h:91
SCIP_EVENTHDLR * SCIPsetFindEventhdlr(SCIP_SET *set, const char *name)
Definition: set.c:4589
SCIP_PRICER * SCIPsetFindPricer(SCIP_SET *set, const char *name)
Definition: set.c:3618
SCIP_RETCODE SCIPsetChgParamFixed(SCIP_SET *set, const char *name, SCIP_Bool fixed)
Definition: set.c:3102
type definitions for bandit selection algorithms
void SCIPsetSortConflicthdlrs(SCIP_SET *set)
Definition: set.c:3944
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:2974
void SCIPsetSortHeurs(SCIP_SET *set)
Definition: set.c:4462
SCIP_RETCODE SCIPsetIncludeDisp(SCIP_SET *set, SCIP_DISP *disp)
Definition: set.c:4772
SCIP_PRESOL * SCIPsetFindPresol(SCIP_SET *set, const char *name)
Definition: set.c:3997
SCIP_RETCODE SCIPsetSetParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, void *value)
Definition: set.c:3116
SCIP_RETCODE SCIPsetChgStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, const char *value)
Definition: set.c:3349
SCIP_RETCODE SCIPsetGetCharParam(SCIP_SET *set, const char *name, char *value)
Definition: set.c:3074
SCIP_RETCODE SCIPsetSetBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Bool value)
Definition: set.c:3153
type definitions for relaxators
SCIP_Real SCIPsetFeasFrac(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6551
void SCIPsetSortHeursName(SCIP_SET *set)
Definition: set.c:4477
SCIP_RETCODE SCIPsetFree(SCIP_SET **set, BMS_BLKMEM *blkmem)
Definition: set.c:2674
int SCIPsetCalcMemGrowSize(SCIP_SET *set, int num)
Definition: set.c:5503
type definitions for conflict analysis
SCIP_Bool SCIPsetIsLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5993
SCIP_Real SCIPsetSetRelaxfeastol(SCIP_SET *set, SCIP_Real relaxfeastol)
Definition: set.c:5640
type definitions for managing events
SCIP_Bool SCIPsetIsFeasIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6494
SCIP_Bool SCIPsetIsDualfeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6606
SCIP_Real SCIPsetEpsilon(SCIP_SET *set)
Definition: set.c:5835
SCIP_Bool SCIPsetIsDualfeasIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6705
SCIP_Bool SCIPsetIsGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6029
SCIP_RETCODE SCIPsetIncludeConflicthdlr(SCIP_SET *set, SCIP_CONFLICTHDLR *conflicthdlr)
Definition: set.c:3900
void SCIPsetSetPriorityNlpi(SCIP_SET *set, SCIP_NLPI *nlpi, int priority)
Definition: set.c:4970
public data structures and miscellaneous methods
#define SCIP_Bool
Definition: def.h:69
SCIP_RETCODE SCIPsetInitsolPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:5305
void SCIPsetSortPropsName(SCIP_SET *set)
Definition: set.c:4272
SCIP_RETCODE SCIPsetChgCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, char value)
Definition: set.c:3311
SCIP_Real SCIPsetLpfeastol(SCIP_SET *set)
Definition: set.c:5875
SCIP_BANDITVTABLE * SCIPsetFindBanditvtable(SCIP_SET *set, const char *name)
Definition: set.c:4309
int SCIPsetGetNParams(SCIP_SET *set)
Definition: set.c:3543
SCIP_RETCODE SCIPsetChgRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Real value)
Definition: set.c:3273
SCIP_RETCODE SCIPsetIncludeBranchrule(SCIP_SET *set, SCIP_BRANCHRULE *branchrule)
Definition: set.c:4698
SCIP_RETCODE SCIPsetIncludeSepa(SCIP_SET *set, SCIP_SEPA *sepa)
Definition: set.c:4121
type definitions for input file readers
SCIP_RETCODE SCIPsetIncludeEventhdlr(SCIP_SET *set, SCIP_EVENTHDLR *eventhdlr)
Definition: set.c:4566
SCIP_CONSHDLR * SCIPsetFindConshdlr(SCIP_SET *set, const char *name)
Definition: set.c:3880
SCIP_Real SCIPsetSumRound(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6329
SCIP_TABLE * SCIPsetFindTable(SCIP_SET *set, const char *name)
Definition: set.c:4849
void SCIPsetSortBranchrules(SCIP_SET *set)
Definition: set.c:4742
SCIP_Real SCIPsetRelaxfeastol(SCIP_SET *set)
Definition: set.c:5932
SCIP_RETCODE SCIPsetSetSubscipsOff(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_Bool quiet)
Definition: set.c:3467
SCIP_RETCODE SCIPsetSetReoptimizationParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition: set.c:772
SCIP_RELAX * SCIPsetFindRelax(SCIP_SET *set, const char *name)
Definition: set.c:4071
SCIP_CONCSOLVERTYPE * SCIPsetFindConcsolverType(SCIP_SET *set, const char *name)
Definition: set.c:4352
SCIP_Real SCIPsetDualfeasFloor(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6729
SCIP_Bool SCIPsetIsSumRelEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6948
SCIP_RETCODE SCIPsetInitPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:5016
SCIP_Bool SCIPsetIsDualfeasZero(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6672
SCIP_RETCODE SCIPsetReadParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename)
Definition: set.c:3387
SCIP_RETCODE SCIPsetSetRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Real value)
Definition: set.c:3296
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:2927
SCIP_Bool SCIPsetIsSumLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6220
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:6483
SCIP_RETCODE SCIPsetIncludeConcsolver(SCIP_SET *set, SCIP_CONCSOLVER *concsolver)
Definition: set.c:4372
SCIP_Bool SCIPsetIsSumLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6202
SCIP_RETCODE SCIPsetIncludeProp(SCIP_SET *set, SCIP_PROP *prop)
Definition: set.c:4195
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:2951
SCIP_PARAM ** SCIPsetGetParams(SCIP_SET *set)
Definition: set.c:3533
SCIP_Bool SCIPsetIsSumZero(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6274
SCIP_Bool SCIPsetExistsDialog(SCIP_SET *set, SCIP_DIALOG *dialog)
Definition: set.c:4891
void SCIPsetReinsertConshdlrSepaPrio(SCIP_SET *set, SCIP_CONSHDLR *conshdlr, int oldpriority)
Definition: set.c:3797
SCIP_Bool SCIPsetIsSumGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6256
enum SCIP_ParamEmphasis SCIP_PARAMEMPHASIS
Definition: type_paramset.h:73
SCIP_Bool SCIPsetIsDualfeasNegative(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6694
void SCIPsetSortSepasName(SCIP_SET *set)
Definition: set.c:4180
SCIP_Bool SCIPsetIsDualfeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6628
SCIP_RETCODE SCIPsetSetDualfeastol(SCIP_SET *set, SCIP_Real dualfeastol)
Definition: set.c:5609
SCIP_Real SCIPsetFrac(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6173
SCIP_RETCODE SCIPsetIncludePricer(SCIP_SET *set, SCIP_PRICER *pricer)
Definition: set.c:3595
int SCIPsetCalcPathGrowSize(SCIP_SET *set, int num)
Definition: set.c:5521
type definitions for propagators
SCIP_Bool SCIPsetIsFeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6417
SCIP_RETCODE SCIPsetGetLongintParam(SCIP_SET *set, const char *name, SCIP_Longint *value)
Definition: set.c:3046
SCIP_Real SCIPsetRecompfac(SCIP_SET *set)
Definition: set.c:5943
SCIP_RETCODE SCIPsetSetFeastol(SCIP_SET *set, SCIP_Real feastol)
Definition: set.c:5549
SCIP_Real SCIPsetFeasCeil(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6529
unsigned int SCIPsetInitializeRandomSeed(SCIP_SET *set, unsigned int initialseedvalue)
Definition: set.c:7133
type definitions for tree compression
void SCIPsetDebugMessagePrint(SCIP_SET *set, const char *formatstr,...)
Definition: set.c:7116
SCIP_CONFLICTHDLR * SCIPsetFindConflicthdlr(SCIP_SET *set, const char *name)
Definition: set.c:3924
type definitions for separators
SCIP_RETCODE SCIPsetSetStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, const char *value)
Definition: set.c:3372
SCIP_RETCODE SCIPsetIncludeNlpi(SCIP_SET *set, SCIP_NLPI *nlpi)
Definition: set.c:4913
SCIP_RETCODE SCIPsetIncludeBanditvtable(SCIP_SET *set, SCIP_BANDITVTABLE *banditvtable)
Definition: set.c:4287
SCIP_Bool SCIPsetIsParamFixed(SCIP_SET *set, const char *name)
Definition: set.c:2996
SCIP_RETCODE SCIPsetExitprePlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:5267
SCIP_Bool SCIPsetIsFeasGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6439
SCIP_Bool SCIPsetIsRelGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6926
SCIP_HEUR * SCIPsetFindHeur(SCIP_SET *set, const char *name)
Definition: set.c:4442
SCIP_Bool SCIPsetIsSumGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6238
type definitions for handling parameter settings
void SCIPsetSortNlpis(SCIP_SET *set)
Definition: set.c:4956
#define SCIP_Real
Definition: def.h:157
SCIP_Real SCIPsetFeasRound(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6540
SCIP_RETCODE SCIPsetChgBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Bool value)
Definition: set.c:3131
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:6650
SCIP_RETCODE SCIPsetGetStringParam(SCIP_SET *set, const char *name, char **value)
Definition: set.c:3088
SCIP_RETCODE SCIPsetSetLpfeastol(SCIP_SET *set, SCIP_Real lpfeastol, SCIP_Bool printnewvalue)
Definition: set.c:5571
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 copypropagators, SCIP_Bool copyheuristics, SCIP_Bool copyeventhdlrs, SCIP_Bool copynodeselectors, SCIP_Bool copybranchrules, SCIP_Bool copydisplays, SCIP_Bool copydialogs, SCIP_Bool copytables, SCIP_Bool copynlpis, SCIP_Bool *allvalid)
Definition: set.c:890
SCIP_RETCODE SCIPsetIncludeHeur(SCIP_SET *set, SCIP_HEUR *heur)
Definition: set.c:4418
SCIP_RETCODE SCIPsetChgLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Longint value)
Definition: set.c:3235
SCIP_Bool SCIPsetIsRelEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6838
SCIP_Real SCIPsetDualfeasCeil(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6740
#define SCIP_Longint
Definition: def.h:142
SCIP_RETCODE SCIPsetIncludeConshdlr(SCIP_SET *set, SCIP_CONSHDLR *conshdlr)
Definition: set.c:3741
void SCIPsetSortPricersName(SCIP_SET *set)
Definition: set.c:3653
SCIP_Bool SCIPsetIsFeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6351
SCIP_Bool SCIPsetIsScalingIntegral(SCIP_SET *set, SCIP_Real val, SCIP_Real scalar)
Definition: set.c:6109
SCIP_Bool SCIPsetIsIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6098
SCIP_RETCODE SCIPsetCreate(SCIP_SET **set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, SCIP *scip)
Definition: set.c:1116
SCIP_Bool SCIPsetIsInfinity(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5953
void SCIPsetSortComprsName(SCIP_SET *set)
Definition: set.c:4551
SCIP_Bool SCIPsetIsSumRelGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:7014
common defines and data types used in all packages of SCIP
struct BMS_BlkMem BMS_BLKMEM
Definition: memory.h:426
SCIP_NODESEL * SCIPsetGetNodesel(SCIP_SET *set, SCIP_STAT *stat)
Definition: set.c:4660
SCIP_RETCODE SCIPsetIncludeNodesel(SCIP_SET *set, SCIP_NODESEL *nodesel)
Definition: set.c:4609
SCIP_RETCODE SCIPsetChgIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, int value)
Definition: set.c:3183
SCIP_Real SCIPsetCutoffbounddelta(SCIP_SET *set)
Definition: set.c:5918
type definitions for node selectors
SCIP_PARAM * SCIPsetGetParam(SCIP_SET *set, const char *name)
Definition: set.c:3007
SCIP_NLPI * SCIPsetFindNlpi(SCIP_SET *set, const char *name)
Definition: set.c:4936
SCIP_RETCODE SCIPsetIncludeExternalCode(SCIP_SET *set, const char *name, const char *description)
Definition: set.c:4984
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:2879
datastructures for global SCIP settings
SCIP_Real SCIPsetSumepsilon(SCIP_SET *set)
Definition: set.c:5845
void SCIPsetSortPricers(SCIP_SET *set)
Definition: set.c:3638
SCIP_Real SCIPsetDualfeasRound(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6751
void SCIPsetSortPropsPresol(SCIP_SET *set)
Definition: set.c:4257
SCIP_Real SCIPsetFloor(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6140
SCIP_RETCODE SCIPsetFreeConcsolvers(SCIP_SET *set)
Definition: set.c:4396
SCIP_RETCODE SCIPsetIncludeConcsolverType(SCIP_SET *set, SCIP_CONCSOLVERTYPE *concsolvertype)
Definition: set.c:4330
type definitions for displaying statistics tables
type definitions for constraints and constraint handlers
SCIP_Real SCIPsetPseudocostdelta(SCIP_SET *set)
Definition: set.c:5908
SCIP_COMPR * SCIPsetFindCompr(SCIP_SET *set, const char *name)
Definition: set.c:4516
SCIP_RETCODE SCIPsetSetCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, char value)
Definition: set.c:3334
type definitions for displaying runtime statistics
memory allocation routines
SCIP_Bool SCIPsetIsPositive(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6076