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. */
69  SCIP_SET* sourceset, /**< source SCIP_SET data structure */
70  SCIP_SET* targetset, /**< target SCIP_SET data structure */
71  SCIP_Bool copyreaders, /**< should the file readers be copied */
72  SCIP_Bool copypricers, /**< should the variable pricers be copied */
73  SCIP_Bool copyconshdlrs, /**< should the constraint handlers be copied */
74  SCIP_Bool copyconflicthdlrs, /**< should the conflict handlers be copied */
75  SCIP_Bool copypresolvers, /**< should the presolvers be copied */
76  SCIP_Bool copyrelaxators, /**< should the relaxators be copied */
77  SCIP_Bool copyseparators, /**< should the separators be copied */
78  SCIP_Bool copypropagators, /**< should the propagators be copied */
79  SCIP_Bool copyheuristics, /**< should the heuristics be copied */
80  SCIP_Bool copyeventhdlrs, /**< should the event handlers be copied */
81  SCIP_Bool copynodeselectors, /**< should the node selectors be copied */
82  SCIP_Bool copybranchrules, /**< should the branchrules be copied */
83  SCIP_Bool copydisplays, /**< should the display columns be copied */
84  SCIP_Bool copydialogs, /**< should the dialogs be copied */
85  SCIP_Bool copytables, /**< should the statistics tables be copied */
86  SCIP_Bool copynlpis, /**< should the NLP interfaces be copied */
87  SCIP_Bool* allvalid /**< pointer to store whether all plugins were validly copied */
88  );
89 
90 /** copies parameters from sourcescip to targetscip */
92  SCIP_SET* sourceset, /**< source SCIP_SET data structure */
93  SCIP_SET* targetset, /**< target SCIP_SET data structure */
94  SCIP_MESSAGEHDLR* messagehdlr /**< message handler of target SCIP */
95  );
96 
97 /** creates global SCIP settings */
99  SCIP_SET** set, /**< pointer to SCIP settings */
100  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
101  BMS_BLKMEM* blkmem, /**< block memory */
102  SCIP* scip /**< SCIP data structure */
103  );
104 
105 /** frees global SCIP settings */
107  SCIP_SET** set, /**< pointer to SCIP settings */
108  BMS_BLKMEM* blkmem /**< block memory */
109  );
110 
111 /** returns current stage of SCIP */
113  SCIP_SET* set /**< pointer to SCIP settings */
114  );
115 
116 /** creates a SCIP_Bool parameter, sets it to its default value, and adds it to the parameter set */
118  SCIP_SET* set, /**< global SCIP settings */
119  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
120  BMS_BLKMEM* blkmem, /**< block memory */
121  const char* name, /**< name of the parameter */
122  const char* desc, /**< description of the parameter */
123  SCIP_Bool* valueptr, /**< pointer to store the current parameter value, or NULL */
124  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
125  SCIP_Bool defaultvalue, /**< default value of the parameter */
126  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
127  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
128  );
129 
130 /** creates a int parameter, sets it to its default value, and adds it to the parameter set */
132  SCIP_SET* set, /**< global SCIP settings */
133  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
134  BMS_BLKMEM* blkmem, /**< block memory */
135  const char* name, /**< name of the parameter */
136  const char* desc, /**< description of the parameter */
137  int* valueptr, /**< pointer to store the current parameter value, or NULL */
138  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
139  int defaultvalue, /**< default value of the parameter */
140  int minvalue, /**< minimum value for parameter */
141  int maxvalue, /**< maximum value for parameter */
142  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
143  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
144  );
145 
146 /** creates a SCIP_Longint parameter, sets it to its default value, and adds it to the parameter set */
148  SCIP_SET* set, /**< global SCIP settings */
149  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
150  BMS_BLKMEM* blkmem, /**< block memory */
151  const char* name, /**< name of the parameter */
152  const char* desc, /**< description of the parameter */
153  SCIP_Longint* valueptr, /**< pointer to store the current parameter value, or NULL */
154  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
155  SCIP_Longint defaultvalue, /**< default value of the parameter */
156  SCIP_Longint minvalue, /**< minimum value for parameter */
157  SCIP_Longint maxvalue, /**< maximum value for parameter */
158  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
159  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
160  );
161 
162 /** creates a SCIP_Real parameter, sets it to its default value, and adds it to the parameter set */
164  SCIP_SET* set, /**< global SCIP settings */
165  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
166  BMS_BLKMEM* blkmem, /**< block memory */
167  const char* name, /**< name of the parameter */
168  const char* desc, /**< description of the parameter */
169  SCIP_Real* valueptr, /**< pointer to store the current parameter value, or NULL */
170  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
171  SCIP_Real defaultvalue, /**< default value of the parameter */
172  SCIP_Real minvalue, /**< minimum value for parameter */
173  SCIP_Real maxvalue, /**< maximum value for parameter */
174  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
175  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
176  );
177 
178 /** creates a char parameter, sets it to its default value, and adds it to the parameter set */
180  SCIP_SET* set, /**< global SCIP settings */
181  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
182  BMS_BLKMEM* blkmem, /**< block memory */
183  const char* name, /**< name of the parameter */
184  const char* desc, /**< description of the parameter */
185  char* valueptr, /**< pointer to store the current parameter value, or NULL */
186  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
187  char defaultvalue, /**< default value of the parameter */
188  const char* allowedvalues, /**< array with possible parameter values, or NULL if not restricted */
189  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
190  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
191  );
192 
193 /** creates a string parameter, sets it to its default value, and adds it to the parameter set */
195  SCIP_SET* set, /**< global SCIP settings */
196  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
197  BMS_BLKMEM* blkmem, /**< block memory */
198  const char* name, /**< name of the parameter */
199  const char* desc, /**< description of the parameter */
200  char** valueptr, /**< pointer to store the current parameter value, or NULL */
201  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
202  const char* defaultvalue, /**< default value of the parameter */
203  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
204  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
205  );
206 
207 /** gets the fixing status value of an existing parameter */
209  SCIP_SET* set, /**< global SCIP settings */
210  const char* name /**< name of the parameter */
211  );
212 
213 /** returns the pointer to the SCIP parameter with the given name */
215  SCIP_SET* set, /**< global SCIP settings */
216  const char* name /**< name of the parameter */
217  );
218 
219 /** gets the value of an existing SCIP_Bool parameter */
221  SCIP_SET* set, /**< global SCIP settings */
222  const char* name, /**< name of the parameter */
223  SCIP_Bool* value /**< pointer to store the parameter */
224  );
225 
226 /** gets the value of an existing Int parameter */
228  SCIP_SET* set, /**< global SCIP settings */
229  const char* name, /**< name of the parameter */
230  int* value /**< pointer to store the parameter */
231  );
232 
233 /** gets the value of an existing SCIP_Longint parameter */
235  SCIP_SET* set, /**< global SCIP settings */
236  const char* name, /**< name of the parameter */
237  SCIP_Longint* value /**< pointer to store the parameter */
238  );
239 
240 /** gets the value of an existing SCIP_Real parameter */
242  SCIP_SET* set, /**< global SCIP settings */
243  const char* name, /**< name of the parameter */
244  SCIP_Real* value /**< pointer to store the parameter */
245  );
246 
247 /** gets the value of an existing Char parameter */
249  SCIP_SET* set, /**< global SCIP settings */
250  const char* name, /**< name of the parameter */
251  char* value /**< pointer to store the parameter */
252  );
253 
254 /** gets the value of an existing String parameter */
256  SCIP_SET* set, /**< global SCIP settings */
257  const char* name, /**< name of the parameter */
258  char** value /**< pointer to store the parameter */
259  );
260 
261 /** changes the fixing status of an existing parameter */
263  SCIP_SET* set, /**< global SCIP settings */
264  const char* name, /**< name of the parameter */
265  SCIP_Bool fixed /**< new fixing status of the parameter */
266  );
267 
268 /** changes the value of an existing parameter */
270  SCIP_SET* set, /**< global SCIP settings */
271  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
272  const char* name, /**< name of the parameter */
273  void* value /**< new value of the parameter */
274  );
275 
276 /** changes the value of an existing SCIP_Bool parameter */
278  SCIP_SET* set, /**< global SCIP settings */
279  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
280  SCIP_PARAM* param, /**< parameter */
281  SCIP_Bool value /**< new value of the parameter */
282  );
283 
284 /** changes the value of an existing SCIP_Bool parameter */
286  SCIP_SET* set, /**< global SCIP settings */
287  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
288  const char* name, /**< name of the parameter */
289  SCIP_Bool value /**< new value of the parameter */
290  );
291 
292 /** changes the default value of an existing SCIP_Bool parameter */
294  SCIP_SET* set, /**< global SCIP settings */
295  const char* name, /**< name of the parameter */
296  SCIP_Bool defaultvalue /**< new default value of the parameter */
297  );
298 
299 /** changes the value of an existing Int parameter */
301  SCIP_SET* set, /**< global SCIP settings */
302  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
303  SCIP_PARAM* param, /**< parameter */
304  int value /**< new value of the parameter */
305  );
306 
307 /** changes the value of an existing Int parameter */
309  SCIP_SET* set, /**< global SCIP settings */
310  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
311  const char* name, /**< name of the parameter */
312  int value /**< new value of the parameter */
313  );
314 
315 /** changes the default value of an existing Int parameter */
317  SCIP_SET* set, /**< global SCIP settings */
318  const char* name, /**< name of the parameter */
319  int defaultvalue /**< new default value of the parameter */
320  );
321 
322 /** changes the value of an existing SCIP_Longint parameter */
324  SCIP_SET* set, /**< global SCIP settings */
325  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
326  SCIP_PARAM* param, /**< parameter */
327  SCIP_Longint value /**< new value of the parameter */
328  );
329 
330 /** changes the value of an existing SCIP_Longint parameter */
332  SCIP_SET* set, /**< global SCIP settings */
333  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
334  const char* name, /**< name of the parameter */
335  SCIP_Longint value /**< new value of the parameter */
336  );
337 
338 /** changes the value of an existing SCIP_Real parameter */
340  SCIP_SET* set, /**< global SCIP settings */
341  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
342  SCIP_PARAM* param, /**< parameter */
343  SCIP_Real value /**< new value of the parameter */
344  );
345 
346 /** changes the value of an existing SCIP_Real parameter */
348  SCIP_SET* set, /**< global SCIP settings */
349  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
350  const char* name, /**< name of the parameter */
351  SCIP_Real value /**< new value of the parameter */
352  );
353 
354 /** changes the value of an existing Char parameter */
356  SCIP_SET* set, /**< global SCIP settings */
357  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
358  SCIP_PARAM* param, /**< parameter */
359  char value /**< new value of the parameter */
360  );
361 
362 /** changes the value of an existing Char parameter */
364  SCIP_SET* set, /**< global SCIP settings */
365  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
366  const char* name, /**< name of the parameter */
367  char value /**< new value of the parameter */
368  );
369 
370 /** changes the value of an existing String parameter */
372  SCIP_SET* set, /**< global SCIP settings */
373  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
374  SCIP_PARAM* param, /**< parameter */
375  const char* value /**< new value of the parameter */
376  );
377 
378 /** changes the value of an existing String parameter */
380  SCIP_SET* set, /**< global SCIP settings */
381  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
382  const char* name, /**< name of the parameter */
383  const char* value /**< new value of the parameter */
384  );
385 
386 /** reads parameters from a file */
388  SCIP_SET* set, /**< global SCIP settings */
389  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
390  const char* filename /**< file name */
391  );
392 
393 /** writes all parameters in the parameter set to a file */
395  SCIP_SET* set, /**< global SCIP settings */
396  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
397  const char* filename, /**< file name, or NULL for stdout */
398  SCIP_Bool comments, /**< should parameter descriptions be written as comments? */
399  SCIP_Bool onlychanged /**< should only the parameters been written, that are changed from default? */
400  );
401 
402 /** resets a single parameters to its default value */
404  SCIP_SET* set, /**< global SCIP settings */
405  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
406  const char* name /**< name of the parameter */
407  );
408 
409 /** resets all parameters to their default values */
411  SCIP_SET* set, /**< global SCIP settings */
412  SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
413  );
414 
415 /** sets parameters to
416  *
417  * - \ref SCIP_PARAMEMPHASIS_DEFAULT to use default values (see also SCIPsetResetParams())
418  * - \ref SCIP_PARAMEMPHASIS_COUNTER to get feasible and "fast" counting process
419  * - \ref SCIP_PARAMEMPHASIS_CPSOLVER to get CP like search (e.g. no LP relaxation)
420  * - \ref SCIP_PARAMEMPHASIS_EASYCIP to solve easy problems fast
421  * - \ref SCIP_PARAMEMPHASIS_FEASIBILITY to detect feasibility fast
422  * - \ref SCIP_PARAMEMPHASIS_HARDLP to be capable to handle hard LPs
423  * - \ref SCIP_PARAMEMPHASIS_OPTIMALITY to prove optimality fast
424  * - \ref SCIP_PARAMEMPHASIS_PHASEFEAS to find feasible solutions during a 3 phase solution process
425  * - \ref SCIP_PARAMEMPHASIS_PHASEIMPROVE to find improved solutions during a 3 phase solution process
426  * - \ref SCIP_PARAMEMPHASIS_PHASEPROOF to proof optimality during a 3 phase solution process
427  */
429  SCIP_SET* set, /**< global SCIP settings */
430  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
431  SCIP_PARAMEMPHASIS paramemphasis, /**< parameter settings */
432  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
433  );
434 
435 /** set parameters for reoptimization */
437  SCIP_SET* set, /**< SCIP data structure */
438  SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
439  );
440 
441 /** enable or disable all plugin timers depending on the value of the flag \p enabled */
443  SCIP_SET* set, /**< SCIP settings */
444  SCIP_Bool enabled /**< should plugin clocks be enabled? */
445  );
446 
447 /** sets parameters to deactivate separators and heuristics that use auxiliary SCIP instances; should be called for
448  * auxiliary SCIP instances to avoid recursion
449  */
451  SCIP_SET* set, /**< global SCIP settings */
452  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
453  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
454  );
455 
456 /** sets heuristic parameters values to
457  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all heuristic parameters
458  * - SCIP_PARAMSETTING_FAST such that the time spend for heuristic is decreased
459  * - SCIP_PARAMSETTING_AGGRESSIVE such that the heuristic are called more aggregative
460  * - SCIP_PARAMSETTING_OFF which turn off all heuristics
461  */
463  SCIP_SET* set, /**< global SCIP settings */
464  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
465  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
466  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
467  );
468 
469 /** sets presolving parameters to
470  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all presolving parameters
471  * - SCIP_PARAMSETTING_FAST such that the time spend for presolving is decreased
472  * - SCIP_PARAMSETTING_AGGRESSIVE such that the presolving is more aggregative
473  * - SCIP_PARAMSETTING_OFF which turn off all presolving
474  */
476  SCIP_SET* set, /**< global SCIP settings */
477  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
478  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
479  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
480  );
481 
482 /** sets separating parameters to
483  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all separating parameters
484  * - SCIP_PARAMSETTING_FAST such that the time spend for separating is decreased
485  * - SCIP_PARAMSETTING_AGGRESSIVE such that the separating is done more aggregative
486  * - SCIP_PARAMSETTING_OFF which turn off all separating
487  */
489  SCIP_SET* set, /**< global SCIP settings */
490  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
491  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
492  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
493  );
494 
495 /** returns the array of all available SCIP parameters */
497  SCIP_SET* set /**< global SCIP settings */
498  );
499 
500 /** returns the total number of all available SCIP parameters */
502  SCIP_SET* set /**< global SCIP settings */
503  );
504 
505 /** inserts file reader in file reader list */
507  SCIP_SET* set, /**< global SCIP settings */
508  SCIP_READER* reader /**< file reader */
509  );
510 
511 /** returns the file reader of the given name, or NULL if not existing */
513  SCIP_SET* set, /**< global SCIP settings */
514  const char* name /**< name of file reader */
515  );
516 
517 /** inserts variable pricer in variable pricer list */
519  SCIP_SET* set, /**< global SCIP settings */
520  SCIP_PRICER* pricer /**< variable pricer */
521  );
522 
523 /** returns the variable pricer of the given name, or NULL if not existing */
525  SCIP_SET* set, /**< global SCIP settings */
526  const char* name /**< name of variable pricer */
527  );
528 
529 /** sorts pricers by priorities */
530 void SCIPsetSortPricers(
531  SCIP_SET* set /**< global SCIP settings */
532  );
533 
534 /** sorts pricers by name */
536  SCIP_SET* set /**< global SCIP settings */
537  );
538 
539 /** inserts Benders' decomposition into the Benders' decomposition list */
541  SCIP_SET* set, /**< global SCIP settings */
542  SCIP_BENDERS* benders /**< Benders' decomposition */
543  );
544 
545 /** returns the Benders' decomposition of the given name, or NULL if not existing */
547  SCIP_SET* set, /**< global SCIP settings */
548  const char* name /**< name of Benders' decomposition */
549  );
550 
551 /** sorts Benders' decomposition by priorities */
552 void SCIPsetSortBenders(
553  SCIP_SET* set /**< global SCIP settings */
554  );
555 
556 /** sorts Benders' decomposition by name */
558  SCIP_SET* set /**< global SCIP settings */
559  );
560 
561 /** inserts constraint handler in constraint handler list */
563  SCIP_SET* set, /**< global SCIP settings */
564  SCIP_CONSHDLR* conshdlr /**< constraint handler */
565  );
566 
567 /** reinserts a constraint handler with modified sepa priority into the sepa priority sorted array */
569  SCIP_SET* set, /**< global SCIP settings */
570  SCIP_CONSHDLR* conshdlr, /**< constraint handler to be reinserted */
571  int oldpriority /**< the old separation priority of constraint handler */
572  );
573 
574 /** returns the constraint handler of the given name, or NULL if not existing */
576  SCIP_SET* set, /**< global SCIP settings */
577  const char* name /**< name of constraint handler */
578  );
579 
580 /** inserts conflict handler in conflict handler list */
582  SCIP_SET* set, /**< global SCIP settings */
583  SCIP_CONFLICTHDLR* conflicthdlr /**< conflict handler */
584  );
585 
586 /** returns the conflict handler of the given name, or NULL if not existing */
588  SCIP_SET* set, /**< global SCIP settings */
589  const char* name /**< name of conflict handler */
590  );
591 
592 /** sorts conflict handlers by priorities */
594  SCIP_SET* set /**< global SCIP settings */
595  );
596 
597 /** sorts conflict handlers by name */
599  SCIP_SET* set /**< global SCIP settings */
600  );
601 
602 /** inserts presolver in presolver list */
604  SCIP_SET* set, /**< global SCIP settings */
605  SCIP_PRESOL* presol /**< presolver */
606  );
607 
608 /** returns the presolver of the given name, or NULL if not existing */
610  SCIP_SET* set, /**< global SCIP settings */
611  const char* name /**< name of presolver */
612  );
613 
614 /** sorts presolvers by priorities */
615 void SCIPsetSortPresols(
616  SCIP_SET* set /**< global SCIP settings */
617  );
618 
619 /** sorts presolvers by name */
621  SCIP_SET* set /**< global SCIP settings */
622  );
623 
624 /** inserts relaxator in relaxator list */
626  SCIP_SET* set, /**< global SCIP settings */
627  SCIP_RELAX* relax /**< relaxator */
628  );
629 
630 /** returns the relaxator of the given name, or NULL if not existing */
632  SCIP_SET* set, /**< global SCIP settings */
633  const char* name /**< name of relaxator */
634  );
635 
636 /** sorts relaxators by priorities */
637 void SCIPsetSortRelaxs(
638  SCIP_SET* set /**< global SCIP settings */
639  );
640 
641 /** sorts relaxators by name */
643  SCIP_SET* set /**< global SCIP settings */
644  );
645 
646 /** inserts separator in separator list */
648  SCIP_SET* set, /**< global SCIP settings */
649  SCIP_SEPA* sepa /**< separator */
650  );
651 
652 /** returns the separator of the given name, or NULL if not existing */
654  SCIP_SET* set, /**< global SCIP settings */
655  const char* name /**< name of separator */
656  );
657 
658 /** sorts separators by priorities */
659 void SCIPsetSortSepas(
660  SCIP_SET* set /**< global SCIP settings */
661  );
662 
663 /** sorts separators by name */
665  SCIP_SET* set /**< global SCIP settings */
666  );
667 
668 /** inserts propagator in propagator list */
670  SCIP_SET* set, /**< global SCIP settings */
671  SCIP_PROP* prop /**< propagator */
672  );
673 
674 /** returns the propagator of the given name, or NULL if not existing */
676  SCIP_SET* set, /**< global SCIP settings */
677  const char* name /**< name of propagator */
678  );
679 
680 /** sorts propagators by priorities */
681 void SCIPsetSortProps(
682  SCIP_SET* set /**< global SCIP settings */
683  );
684 
685 /** sorts propagators by priorities for presolving */
687  SCIP_SET* set /**< global SCIP settings */
688  );
689 
690 /** sorts propagators w.r.t. names */
692  SCIP_SET* set /**< global SCIP settings */
693  );
694 
695 /** inserts concurrent solver type into the concurrent solver type list */
697  SCIP_SET* set, /**< global SCIP settings */
698  SCIP_CONCSOLVERTYPE* concsolvertype /**< concurrent solver type */
699  );
700 
701 /** returns the concurrent solver type with the given name, or NULL if not existing */
703  SCIP_SET* set, /**< global SCIP settings */
704  const char* name /**< name of concurrent solver type */
705  );
706 
707 /** inserts concurrent solver into the concurrent solver list */
709  SCIP_SET* set, /**< global SCIP settings */
710  SCIP_CONCSOLVER* concsolver /**< concurrent solver */
711  );
712 
713 /** frees all concurrent solvers in the concurrent solver list */
715  SCIP_SET* set /**< global SCIP settings */
716  );
717 
718 /** inserts primal heuristic in primal heuristic list */
720  SCIP_SET* set, /**< global SCIP settings */
721  SCIP_HEUR* heur /**< primal heuristic */
722  );
723 
724 /** returns the primal heuristic of the given name, or NULL if not existing */
726  SCIP_SET* set, /**< global SCIP settings */
727  const char* name /**< name of primal heuristic */
728  );
729 
730 /** sorts heuristics by priorities */
731 void SCIPsetSortHeurs(
732  SCIP_SET* set /**< global SCIP settings */
733  );
734 
735 /** sorts heuristics by name */
737  SCIP_SET* set /**< global SCIP settings */
738  );
739 
740 /** inserts tree compression in tree compression list */
742  SCIP_SET* set, /**< global SCIP settings */
743  SCIP_COMPR* compr /**< tree compression */
744  );
745 
746 /** returns the tree compression of the given name, or NULL if not existing */
748  SCIP_SET* set, /**< global SCIP settings */
749  const char* name /**< name of tree compression */
750  );
751 
752 /** sorts compressions by priorities */
753 void SCIPsetSortComprs(
754  SCIP_SET* set /**< global SCIP settings */
755  );
756 
757 /** sorts heuristics by names */
759  SCIP_SET* set /**< global SCIP settings */
760  );
761 
762 /** inserts event handler in event handler list */
764  SCIP_SET* set, /**< global SCIP settings */
765  SCIP_EVENTHDLR* eventhdlr /**< event handler */
766  );
767 
768 /** returns the event handler of the given name, or NULL if not existing */
770  SCIP_SET* set, /**< global SCIP settings */
771  const char* name /**< name of event handler */
772  );
773 
774 /** inserts node selector in node selector list */
776  SCIP_SET* set, /**< global SCIP settings */
777  SCIP_NODESEL* nodesel /**< node selector */
778  );
779 
780 /** returns the node selector of the given name, or NULL if not existing */
782  SCIP_SET* set, /**< global SCIP settings */
783  const char* name /**< name of event handler */
784  );
785 
786 /** returns node selector with highest priority in the current mode */
788  SCIP_SET* set, /**< global SCIP settings */
789  SCIP_STAT* stat /**< dynamic problem statistics */
790  );
791 
792 /** inserts branching rule in branching rule list */
794  SCIP_SET* set, /**< global SCIP settings */
795  SCIP_BRANCHRULE* branchrule /**< branching rule */
796  );
797 
798 /** returns the branching rule of the given name, or NULL if not existing */
800  SCIP_SET* set, /**< global SCIP settings */
801  const char* name /**< name of event handler */
802  );
803 
804 /** sorts branching rules by priorities */
806  SCIP_SET* set /**< global SCIP settings */
807  );
808 
809 /** sorts branching rules by name */
811  SCIP_SET* set /**< global SCIP settings */
812  );
813 
814 /** inserts display column in display column list */
816  SCIP_SET* set, /**< global SCIP settings */
817  SCIP_DISP* disp /**< display column */
818  );
819 
820 /** returns the display column of the given name, or NULL if not existing */
822  SCIP_SET* set, /**< global SCIP settings */
823  const char* name /**< name of display */
824  );
825 
826 /** inserts statistics table in statistics table list */
828  SCIP_SET* set, /**< global SCIP settings */
829  SCIP_TABLE* table /**< statistics table */
830  );
831 
832 /** returns the statistics table of the given name, or NULL if not existing */
834  SCIP_SET* set, /**< global SCIP settings */
835  const char* name /**< name of statistics table */
836  );
837 
838 /** inserts dialog in dialog list */
840  SCIP_SET* set, /**< global SCIP settings */
841  SCIP_DIALOG* dialog /**< dialog */
842  );
843 
844 /** returns if the dialog already exists */
846  SCIP_SET* set, /**< global SCIP settings */
847  SCIP_DIALOG* dialog /**< dialog */
848  );
849 
850 /** inserts NLPI in NLPI list */
852  SCIP_SET* set, /**< global SCIP settings */
853  SCIP_NLPI* nlpi /**< NLPI */
854  );
855 
856 /** returns the NLPI of the given name, or NULL if not existing */
858  SCIP_SET* set, /**< global SCIP settings */
859  const char* name /**< name of NLPI */
860  );
861 
862 /** sorts NLPIs by priorities */
863 void SCIPsetSortNlpis(
864  SCIP_SET* set /**< global SCIP settings */
865  );
866 
867 /** set priority of an NLPI */
869  SCIP_SET* set, /**< global SCIP settings */
870  SCIP_NLPI* nlpi, /**< NLPI */
871  int priority /**< new priority of NLPI */
872  );
873 
874 /** inserts information about an external code in external codes list */
876  SCIP_SET* set, /**< global SCIP settings */
877  const char* name, /**< name of external code */
878  const char* description /**< description of external code, can be NULL */
879  );
880 
881 /** inserts bandit virtual function table into set */
883  SCIP_SET* set, /**< global SCIP settings */
884  SCIP_BANDITVTABLE* banditvtable /**< bandit algorithm virtual function table */
885  );
886 
887 /** returns the bandit virtual function table of the given name, or NULL if not existing */
889  SCIP_SET* set, /**< global SCIP settings */
890  const char* name /**< name of bandit algorithm virtual function table */
891  );
892 
893 /** calls init methods of all plugins */
895  SCIP_SET* set, /**< global SCIP settings */
896  BMS_BLKMEM* blkmem, /**< block memory */
897  SCIP_STAT* stat /**< dynamic problem statistics */
898  );
899 
900 /** calls exit methods of all plugins */
902  SCIP_SET* set, /**< global SCIP settings */
903  BMS_BLKMEM* blkmem, /**< block memory */
904  SCIP_STAT* stat /**< dynamic problem statistics */
905  );
906 
907 /** calls initpre methods of all plugins */
909  SCIP_SET* set, /**< global SCIP settings */
910  BMS_BLKMEM* blkmem, /**< block memory */
911  SCIP_STAT* stat /**< dynamic problem statistics */
912  );
913 
914 /** calls exitpre methods of all plugins */
916  SCIP_SET* set, /**< global SCIP settings */
917  BMS_BLKMEM* blkmem, /**< block memory */
918  SCIP_STAT* stat /**< dynamic problem statistics */
919  );
920 
921 /** calls initsol methods of all plugins */
923  SCIP_SET* set, /**< global SCIP settings */
924  BMS_BLKMEM* blkmem, /**< block memory */
925  SCIP_STAT* stat /**< dynamic problem statistics */
926  );
927 
928 /** calls exitsol methods of all plugins */
930  SCIP_SET* set, /**< global SCIP settings */
931  BMS_BLKMEM* blkmem, /**< block memory */
932  SCIP_STAT* stat, /**< dynamic problem statistics */
933  SCIP_Bool restart /**< was this exit solve call triggered by a restart? */
934  );
935 
936 /** calculate memory size for dynamically allocated arrays */
938  SCIP_SET* set, /**< global SCIP settings */
939  int num /**< minimum number of entries to store */
940  );
941 
942 /** calculate memory size for tree array */
944  SCIP_SET* set, /**< global SCIP settings */
945  int num /**< minimum number of entries to store */
946  );
947 
948 /** calculate memory size for path array */
950  SCIP_SET* set, /**< global SCIP settings */
951  int num /**< minimum number of entries to store */
952  );
953 
954 /** sets verbosity level for message output */
956  SCIP_SET* set, /**< global SCIP settings */
957  SCIP_VERBLEVEL verblevel /**< verbosity level for message output */
958  );
959 
960 /** sets feasibility tolerance */
962  SCIP_SET* set, /**< global SCIP settings */
963  SCIP_Real feastol /**< new feasibility tolerance */
964  );
965 
966 /** sets primal feasibility tolerance of LP solver */
968  SCIP_SET* set, /**< global SCIP settings */
969  SCIP_Real lpfeastol, /**< new primal feasibility tolerance of LP solver */
970  SCIP_Bool printnewvalue /**< should "numerics/lpfeastol = ..." be printed? */
971  );
972 
973 /** sets feasibility tolerance for reduced costs in LP solution */
975  SCIP_SET* set, /**< global SCIP settings */
976  SCIP_Real dualfeastol /**< new reduced costs feasibility tolerance */
977  );
978 
979 /** sets LP convergence tolerance used in barrier algorithm */
981  SCIP_SET* set, /**< global SCIP settings */
982  SCIP_Real barrierconvtol /**< new convergence tolerance used in barrier algorithm */
983  );
984 
985 /** sets primal feasibility tolerance for relaxations (relaxfeastol)
986  *
987  * @note Set to SCIP_INVALID to apply relaxation-specific feasibility tolerance only.
988  *
989  * @return Previous value of relaxfeastol.
990  */
992  SCIP_SET* set, /**< global SCIP settings */
993  SCIP_Real relaxfeastol /**< new primal feasibility tolerance for relaxations, or SCIP_INVALID */
994  );
995 
996 /** marks that some limit parameter was changed */
998  SCIP_SET* set /**< global SCIP settings */
999  );
1000 
1001 /** returns the maximal number of variables priced into the LP per round */
1003  SCIP_SET* set, /**< global SCIP settings */
1004  SCIP_Bool root /**< are we at the root node? */
1005  );
1006 
1007 /** returns the maximal number of cuts separated per round */
1009  SCIP_SET* set, /**< global SCIP settings */
1010  SCIP_Bool root /**< are we at the root node? */
1011  );
1012 
1013 /** returns user defined objective value (in original space) for reference purposes */
1015  SCIP_SET* set /**< global SCIP settings */
1016  );
1017 
1018 /** returns debug solution data */
1020  SCIP_SET* set /**< global SCIP settings */
1021  );
1022 
1023 /** Checks, if an iteratively updated value is reliable or should be recomputed from scratch.
1024  * This is useful, if the value, e.g., the activity of a linear constraint or the pseudo objective value, gets a high
1025  * absolute value during the optimization process which is later reduced significantly. In this case, the last digits
1026  * were cancelled out when increasing the value and are random after decreasing it.
1027  * We dot not consider the cancellations which can occur during increasing the absolute value because they just cannot
1028  * be expressed using fixed precision floating point arithmetic, anymore.
1029  * The idea to get more reliable values is to always store the last reliable value, where increasing the absolute of
1030  * the value is viewed as preserving reliability. Then, after each update, the new absolute value can be compared
1031  * against the last reliable one with this method, checking whether it was decreased by a factor of at least
1032  * "lp/recompfac" and should be recomputed.
1033  */
1035  SCIP_SET* set, /**< global SCIP settings */
1036  SCIP_Real newvalue, /**< new value after update */
1037  SCIP_Real oldvalue /**< old value, i.e., last reliable value */
1038  );
1039 
1040 /** modifies an initial seed value with the global shift of random seeds */
1041 unsigned int SCIPsetInitializeRandomSeed(
1042  SCIP_SET* set, /**< global SCIP settings */
1043  unsigned int initialseedvalue /**< initial seed value to be modified */
1044  );
1045 
1046 /** returns value treated as infinity */
1048  SCIP_SET* set /**< global SCIP settings */
1049  );
1050 
1051 /** returns the minimum value that is regarded as huge and should be handled separately (e.g., in activity
1052  * computation)
1053  */
1055  SCIP_SET* set /**< global SCIP settings */
1056  );
1057 
1058 /** returns value treated as zero */
1060  SCIP_SET* set /**< global SCIP settings */
1061  );
1062 
1063 /** returns value treated as zero for sums of floating point values */
1065  SCIP_SET* set /**< global SCIP settings */
1066  );
1067 
1068 /** returns feasibility tolerance for constraints */
1070  SCIP_SET* set /**< global SCIP settings */
1071  );
1072 
1073 /** returns primal feasibility tolerance of LP solver given as minimum of lpfeastol option and relaxfeastol */
1075  SCIP_SET* set /**< global SCIP settings */
1076  );
1077 
1078 /** returns feasibility tolerance for reduced costs */
1080  SCIP_SET* set /**< global SCIP settings */
1081  );
1082 
1083 /** returns convergence tolerance used in barrier algorithm */
1085  SCIP_SET* set /**< global SCIP settings */
1086  );
1087 
1088 /** returns minimal variable distance value to use for pseudo cost updates */
1090  SCIP_SET* set /**< global SCIP settings */
1091  );
1092 
1093 /** returns minimal minimal objective distance value to use for pseudo cost updates */
1095  SCIP_SET* set /**< global SCIP settings */
1096  );
1097 
1098 /** return the delta to use for computing the cutoff bound for integral objectives */
1100  SCIP_SET* set /**< global SCIP settings */
1101  );
1102 
1103 /** return the primal feasibility tolerance for relaxations */
1105  SCIP_SET* set /**< global SCIP settings */
1106  );
1107 
1108 /** returns minimal decrease factor that causes the recomputation of a value
1109  * (e.g., pseudo objective) instead of an update */
1111  SCIP_SET* set /**< global SCIP settings */
1112  );
1113 
1114 /** checks, if values are in range of epsilon */
1116  SCIP_SET* set, /**< global SCIP settings */
1117  SCIP_Real val1, /**< first value to be compared */
1118  SCIP_Real val2 /**< second value to be compared */
1119  );
1120 
1121 /** checks, if val1 is (more than epsilon) lower than val2 */
1123  SCIP_SET* set, /**< global SCIP settings */
1124  SCIP_Real val1, /**< first value to be compared */
1125  SCIP_Real val2 /**< second value to be compared */
1126  );
1127 
1128 /** checks, if val1 is not (more than epsilon) greater than val2 */
1130  SCIP_SET* set, /**< global SCIP settings */
1131  SCIP_Real val1, /**< first value to be compared */
1132  SCIP_Real val2 /**< second value to be compared */
1133  );
1134 
1135 /** checks, if val1 is (more than epsilon) greater than val2 */
1137  SCIP_SET* set, /**< global SCIP settings */
1138  SCIP_Real val1, /**< first value to be compared */
1139  SCIP_Real val2 /**< second value to be compared */
1140  );
1141 
1142 /** checks, if val1 is not (more than epsilon) lower than val2 */
1144  SCIP_SET* set, /**< global SCIP settings */
1145  SCIP_Real val1, /**< first value to be compared */
1146  SCIP_Real val2 /**< second value to be compared */
1147  );
1148 
1149 /** checks, if value is (positive) infinite */
1151  SCIP_SET* set, /**< global SCIP settings */
1152  SCIP_Real val /**< value to be compared against infinity */
1153  );
1154 
1155 /** checks, if value is huge and should be handled separately (e.g., in activity computation) */
1157  SCIP_SET* set, /**< global SCIP settings */
1158  SCIP_Real val /**< value to be checked whether it is huge */
1159  );
1160 
1161 /** checks, if value is in range epsilon of 0.0 */
1163  SCIP_SET* set, /**< global SCIP settings */
1164  SCIP_Real val /**< value to be compared against zero */
1165  );
1166 
1167 /** checks, if value is greater than epsilon */
1169  SCIP_SET* set, /**< global SCIP settings */
1170  SCIP_Real val /**< value to be compared against zero */
1171  );
1172 
1173 /** checks, if value is lower than -epsilon */
1175  SCIP_SET* set, /**< global SCIP settings */
1176  SCIP_Real val /**< value to be compared against zero */
1177  );
1178 
1179 /** checks, if value is integral within epsilon */
1181  SCIP_SET* set, /**< global SCIP settings */
1182  SCIP_Real val /**< value to be compared against zero */
1183  );
1184 
1185 /** checks whether the product val * scalar is integral in epsilon scaled by scalar */
1187  SCIP_SET* set, /**< global SCIP settings */
1188  SCIP_Real val, /**< unscaled value to check for scaled integrality */
1189  SCIP_Real scalar /**< value to scale val with for checking for integrality */
1190  );
1191 
1192 /** checks, if given fractional part is smaller than epsilon */
1194  SCIP_SET* set, /**< global SCIP settings */
1195  SCIP_Real val /**< value to be compared against zero */
1196  );
1197 
1198 /** rounds value + feasibility tolerance down to the next integer in epsilon tolerance */
1200  SCIP_SET* set, /**< global SCIP settings */
1201  SCIP_Real val /**< value to be compared against zero */
1202  );
1203 
1204 /** rounds value - feasibility tolerance up to the next integer in epsilon tolerance */
1206  SCIP_SET* set, /**< global SCIP settings */
1207  SCIP_Real val /**< value to be compared against zero */
1208  );
1209 
1210 /** rounds value to the nearest integer in epsilon tolerance */
1212  SCIP_SET* set, /**< global SCIP settings */
1213  SCIP_Real val /**< value to be compared against zero */
1214  );
1215 
1216 /** returns fractional part of value, i.e. x - floor(x) in epsilon tolerance */
1218  SCIP_SET* set, /**< global SCIP settings */
1219  SCIP_Real val /**< value to return fractional part for */
1220  );
1221 
1222 /** checks, if values are in range of sumepsilon */
1224  SCIP_SET* set, /**< global SCIP settings */
1225  SCIP_Real val1, /**< first value to be compared */
1226  SCIP_Real val2 /**< second value to be compared */
1227  );
1228 
1229 /** checks, if val1 is (more than sumepsilon) lower than val2 */
1231  SCIP_SET* set, /**< global SCIP settings */
1232  SCIP_Real val1, /**< first value to be compared */
1233  SCIP_Real val2 /**< second value to be compared */
1234  );
1235 
1236 /** checks, if val1 is not (more than sumepsilon) greater than val2 */
1238  SCIP_SET* set, /**< global SCIP settings */
1239  SCIP_Real val1, /**< first value to be compared */
1240  SCIP_Real val2 /**< second value to be compared */
1241  );
1242 
1243 /** checks, if val1 is (more than sumepsilon) greater than val2 */
1245  SCIP_SET* set, /**< global SCIP settings */
1246  SCIP_Real val1, /**< first value to be compared */
1247  SCIP_Real val2 /**< second value to be compared */
1248  );
1249 
1250 /** checks, if val1 is not (more than sumepsilon) lower than val2 */
1252  SCIP_SET* set, /**< global SCIP settings */
1253  SCIP_Real val1, /**< first value to be compared */
1254  SCIP_Real val2 /**< second value to be compared */
1255  );
1256 
1257 /** checks, if value is in range sumepsilon of 0.0 */
1259  SCIP_SET* set, /**< global SCIP settings */
1260  SCIP_Real val /**< value to be compared against zero */
1261  );
1262 
1263 /** checks, if value is greater than sumepsilon */
1265  SCIP_SET* set, /**< global SCIP settings */
1266  SCIP_Real val /**< value to be compared against zero */
1267  );
1268 
1269 /** checks, if value is lower than -sumepsilon */
1271  SCIP_SET* set, /**< global SCIP settings */
1272  SCIP_Real val /**< value to be compared against zero */
1273  );
1274 
1275 /** rounds value + sumepsilon tolerance down to the next integer */
1277  SCIP_SET* set, /**< global SCIP settings */
1278  SCIP_Real val /**< value to process */
1279  );
1280 
1281 /** rounds value - sumepsilon tolerance up to the next integer */
1283  SCIP_SET* set, /**< global SCIP settings */
1284  SCIP_Real val /**< value to process */
1285  );
1286 
1287 /** rounds value to the nearest integer in sumepsilon tolerance */
1289  SCIP_SET* set, /**< global SCIP settings */
1290  SCIP_Real val /**< value to process */
1291  );
1292 
1293 /** returns fractional part of value, i.e. x - floor(x) in sumepsilon tolerance */
1295  SCIP_SET* set, /**< global SCIP settings */
1296  SCIP_Real val /**< value to process */
1297  );
1298 
1299 /** checks, if relative difference of values is in range of feastol */
1301  SCIP_SET* set, /**< global SCIP settings */
1302  SCIP_Real val1, /**< first value to be compared */
1303  SCIP_Real val2 /**< second value to be compared */
1304  );
1305 
1306 /** checks, if relative difference of val1 and val2 is lower than feastol */
1308  SCIP_SET* set, /**< global SCIP settings */
1309  SCIP_Real val1, /**< first value to be compared */
1310  SCIP_Real val2 /**< second value to be compared */
1311  );
1312 
1313 /** checks, if relative difference of val1 and val2 is not greater than feastol */
1315  SCIP_SET* set, /**< global SCIP settings */
1316  SCIP_Real val1, /**< first value to be compared */
1317  SCIP_Real val2 /**< second value to be compared */
1318  );
1319 
1320 /** checks, if relative difference of val1 and val2 is greater than feastol */
1322  SCIP_SET* set, /**< global SCIP settings */
1323  SCIP_Real val1, /**< first value to be compared */
1324  SCIP_Real val2 /**< second value to be compared */
1325  );
1326 
1327 /** checks, if relative difference of val1 and val2 is not lower than -feastol */
1329  SCIP_SET* set, /**< global SCIP settings */
1330  SCIP_Real val1, /**< first value to be compared */
1331  SCIP_Real val2 /**< second value to be compared */
1332  );
1333 
1334 /** checks, if value is in range feasibility tolerance of 0.0 */
1336  SCIP_SET* set, /**< global SCIP settings */
1337  SCIP_Real val /**< value to be compared against zero */
1338  );
1339 
1340 /** checks, if value is greater than feasibility tolerance */
1342  SCIP_SET* set, /**< global SCIP settings */
1343  SCIP_Real val /**< value to be compared against zero */
1344  );
1345 
1346 /** checks, if value is lower than -feasibility tolerance */
1348  SCIP_SET* set, /**< global SCIP settings */
1349  SCIP_Real val /**< value to be compared against zero */
1350  );
1351 
1352 /** checks, if value is integral within the feasibility bounds */
1354  SCIP_SET* set, /**< global SCIP settings */
1355  SCIP_Real val /**< value to be compared against zero */
1356  );
1357 
1358 /** checks, if given fractional part is smaller than feastol */
1360  SCIP_SET* set, /**< global SCIP settings */
1361  SCIP_Real val /**< value to be compared against zero */
1362  );
1363 
1364 /** rounds value + feasibility tolerance down to the next integer */
1366  SCIP_SET* set, /**< global SCIP settings */
1367  SCIP_Real val /**< value to be compared against zero */
1368  );
1369 
1370 /** rounds value - feasibility tolerance up to the next integer */
1372  SCIP_SET* set, /**< global SCIP settings */
1373  SCIP_Real val /**< value to be compared against zero */
1374  );
1375 
1376 /** rounds value to the nearest integer in feasibility tolerance */
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 feasibility tolerance */
1384  SCIP_SET* set, /**< global SCIP settings */
1385  SCIP_Real val /**< value to return fractional part for */
1386  );
1387 
1388 /** checks, if relative difference of values is in range of dual feasibility tolerance */
1390  SCIP_SET* set, /**< global SCIP settings */
1391  SCIP_Real val1, /**< first value to be compared */
1392  SCIP_Real val2 /**< second value to be compared */
1393  );
1394 
1395 /** checks, if relative difference of val1 and val2 is lower than dual feasibility tolerance */
1397  SCIP_SET* set, /**< global SCIP settings */
1398  SCIP_Real val1, /**< first value to be compared */
1399  SCIP_Real val2 /**< second value to be compared */
1400  );
1401 
1402 /** checks, if relative difference of val1 and val2 is not greater than dual feasibility tolerance */
1404  SCIP_SET* set, /**< global SCIP settings */
1405  SCIP_Real val1, /**< first value to be compared */
1406  SCIP_Real val2 /**< second value to be compared */
1407  );
1408 
1409 /** checks, if relative difference of val1 and val2 is greater than dual feasibility tolerance */
1411  SCIP_SET* set, /**< global SCIP settings */
1412  SCIP_Real val1, /**< first value to be compared */
1413  SCIP_Real val2 /**< second value to be compared */
1414  );
1415 
1416 /** checks, if relative difference of val1 and val2 is not lower than -dual feasibility tolerance */
1418  SCIP_SET* set, /**< global SCIP settings */
1419  SCIP_Real val1, /**< first value to be compared */
1420  SCIP_Real val2 /**< second value to be compared */
1421  );
1422 
1423 /** checks, if value is in range dual feasibility tolerance of 0.0 */
1425  SCIP_SET* set, /**< global SCIP settings */
1426  SCIP_Real val /**< value to be compared against zero */
1427  );
1428 
1429 /** checks, if value is greater than dual feasibility tolerance */
1431  SCIP_SET* set, /**< global SCIP settings */
1432  SCIP_Real val /**< value to be compared against zero */
1433  );
1434 
1435 /** checks, if value is lower than -dual feasibility tolerance */
1437  SCIP_SET* set, /**< global SCIP settings */
1438  SCIP_Real val /**< value to be compared against zero */
1439  );
1440 
1441 /** checks, if value is integral within the dual feasibility bounds */
1443  SCIP_SET* set, /**< global SCIP settings */
1444  SCIP_Real val /**< value to be compared against zero */
1445  );
1446 
1447 /** checks, if given fractional part is smaller than dual feasibility tolerance */
1449  SCIP_SET* set, /**< global SCIP settings */
1450  SCIP_Real val /**< value to be compared against zero */
1451  );
1452 
1453 /** rounds value + dual feasibility tolerance down to the next integer */
1455  SCIP_SET* set, /**< global SCIP settings */
1456  SCIP_Real val /**< value to be compared against zero */
1457  );
1458 
1459 /** rounds value - dual feasibility tolerance up to the next integer */
1461  SCIP_SET* set, /**< global SCIP settings */
1462  SCIP_Real val /**< value to be compared against zero */
1463  );
1464 
1465 /** rounds value to the nearest integer in dual feasibility tolerance */
1467  SCIP_SET* set, /**< global SCIP settings */
1468  SCIP_Real val /**< value to be compared against zero */
1469  );
1470 
1471 /** returns fractional part of value, i.e. x - floor(x) in dual feasibility tolerance */
1473  SCIP_SET* set, /**< global SCIP settings */
1474  SCIP_Real val /**< value to return fractional part for */
1475  );
1476 
1477 /** checks, if the given new lower bound is at least min(oldub - oldlb, |oldlb|) times the bound
1478  * strengthening epsilon better than the old one or the change in the lower bound would fix the
1479  * sign of the variable
1480  */
1482  SCIP_SET* set, /**< global SCIP settings */
1483  SCIP_Real newlb, /**< new lower bound */
1484  SCIP_Real oldlb, /**< old lower bound */
1485  SCIP_Real oldub /**< old upper bound */
1486  );
1487 
1488 /** checks, if the given new upper bound is at least min(oldub - oldlb, |oldub|) times the bound
1489  * strengthening epsilon better than the old one or the change in the upper bound would fix the
1490  * sign of the variable
1491  */
1493  SCIP_SET* set, /**< global SCIP settings */
1494  SCIP_Real newub, /**< new upper bound */
1495  SCIP_Real oldlb, /**< old lower bound */
1496  SCIP_Real oldub /**< old upper bound */
1497  );
1498 
1499 /** checks, if the given cut's efficacy is larger than the minimal cut efficacy */
1501  SCIP_SET* set, /**< global SCIP settings */
1502  SCIP_Bool root, /**< should the root's minimal cut efficacy be used? */
1503  SCIP_Real efficacy /**< efficacy of the cut */
1504  );
1505 
1506 /** checks, if relative difference of values is in range of epsilon */
1508  SCIP_SET* set, /**< global SCIP settings */
1509  SCIP_Real val1, /**< first value to be compared */
1510  SCIP_Real val2 /**< second value to be compared */
1511  );
1512 
1513 /** checks, if relative difference of val1 and val2 is lower than epsilon */
1515  SCIP_SET* set, /**< global SCIP settings */
1516  SCIP_Real val1, /**< first value to be compared */
1517  SCIP_Real val2 /**< second value to be compared */
1518  );
1519 
1520 /** checks, if relative difference of val1 and val2 is not greater than epsilon */
1522  SCIP_SET* set, /**< global SCIP settings */
1523  SCIP_Real val1, /**< first value to be compared */
1524  SCIP_Real val2 /**< second value to be compared */
1525  );
1526 
1527 /** checks, if relative difference of val1 and val2 is greater than epsilon */
1529  SCIP_SET* set, /**< global SCIP settings */
1530  SCIP_Real val1, /**< first value to be compared */
1531  SCIP_Real val2 /**< second value to be compared */
1532  );
1533 
1534 /** checks, if relative difference of val1 and val2 is not lower than -epsilon */
1536  SCIP_SET* set, /**< global SCIP settings */
1537  SCIP_Real val1, /**< first value to be compared */
1538  SCIP_Real val2 /**< second value to be compared */
1539  );
1540 
1541 /** checks, if relative difference of values is in range of sumepsilon */
1543  SCIP_SET* set, /**< global SCIP settings */
1544  SCIP_Real val1, /**< first value to be compared */
1545  SCIP_Real val2 /**< second value to be compared */
1546  );
1547 
1548 /** checks, if relative difference of val1 and val2 is lower than sumepsilon */
1550  SCIP_SET* set, /**< global SCIP settings */
1551  SCIP_Real val1, /**< first value to be compared */
1552  SCIP_Real val2 /**< second value to be compared */
1553  );
1554 
1555 /** checks, if relative difference of val1 and val2 is not greater than sumepsilon */
1557  SCIP_SET* set, /**< global SCIP settings */
1558  SCIP_Real val1, /**< first value to be compared */
1559  SCIP_Real val2 /**< second value to be compared */
1560  );
1561 
1562 /** checks, if relative difference of val1 and val2 is greater than sumepsilon */
1564  SCIP_SET* set, /**< global SCIP settings */
1565  SCIP_Real val1, /**< first value to be compared */
1566  SCIP_Real val2 /**< second value to be compared */
1567  );
1568 
1569 /** checks, if relative difference of val1 and val2 is not lower than -sumepsilon */
1571  SCIP_SET* set, /**< global SCIP settings */
1572  SCIP_Real val1, /**< first value to be compared */
1573  SCIP_Real val2 /**< second value to be compared */
1574  );
1575 
1576 
1577 #ifdef NDEBUG
1578 
1579 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
1580  * speed up the algorithms.
1581  */
1582 
1583 #define SCIPsetInfinity(set) ( (set)->num_infinity )
1584 #define SCIPsetGetHugeValue(set) ( (set)->num_hugeval )
1585 #define SCIPsetEpsilon(set) ( (set)->num_epsilon )
1586 #define SCIPsetSumepsilon(set) ( (set)->num_sumepsilon )
1587 #define SCIPsetFeastol(set) ( (set)->num_feastol )
1588 #define SCIPsetLpfeastol(set) ( (set)->num_relaxfeastol == SCIP_INVALID ? (set)->num_lpfeastol : MIN((set)->num_lpfeastol, (set)->num_relaxfeastol) )
1589 #define SCIPsetDualfeastol(set) ( (set)->num_dualfeastol )
1590 #define SCIPsetBarrierconvtol(set) ( (set)->num_barrierconvtol )
1591 #define SCIPsetPseudocosteps(set) ( (set)->num_pseudocosteps )
1592 #define SCIPsetPseudocostdelta(set) ( (set)->num_pseudocostdelta )
1593 #define SCIPsetRelaxfeastol(set) ( (set)->num_relaxfeastol )
1594 #define SCIPsetCutoffbounddelta(set) ( MIN(100.0 * SCIPsetFeastol(set), 0.0001) )
1595 #define SCIPsetRecompfac(set) ( (set)->num_recompfac )
1596 #define SCIPsetIsEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_epsilon) )
1597 #define SCIPsetIsLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_epsilon) )
1598 #define SCIPsetIsLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_epsilon) )
1599 #define SCIPsetIsGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_epsilon) )
1600 #define SCIPsetIsGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_epsilon) )
1601 #define SCIPsetIsInfinity(set, val) ( (val) >= (set)->num_infinity )
1602 #define SCIPsetIsHugeValue(set, val) ( (val) >= (set)->num_hugeval )
1603 #define SCIPsetIsZero(set, val) ( EPSZ(val, (set)->num_epsilon) )
1604 #define SCIPsetIsPositive(set, val) ( EPSP(val, (set)->num_epsilon) )
1605 #define SCIPsetIsNegative(set, val) ( EPSN(val, (set)->num_epsilon) )
1606 #define SCIPsetIsIntegral(set, val) ( EPSISINT(val, (set)->num_epsilon) )
1607 #define SCIPsetIsScalingIntegral(set, val, scalar) \
1608  ( EPSISINT((scalar)*(val), MAX(REALABS(scalar), 1.0)*(set)->num_epsilon) )
1609 #define SCIPsetIsFracIntegral(set, val) ( !EPSP(val, (set)->num_epsilon) )
1610 #define SCIPsetFloor(set, val) ( EPSFLOOR(val, (set)->num_epsilon) )
1611 #define SCIPsetCeil(set, val) ( EPSCEIL(val, (set)->num_epsilon) )
1612 #define SCIPsetRound(set, val) ( EPSROUND(val, (set)->num_epsilon) )
1613 #define SCIPsetFrac(set, val) ( EPSFRAC(val, (set)->num_epsilon) )
1614 
1615 #define SCIPsetIsSumEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_sumepsilon) )
1616 #define SCIPsetIsSumLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_sumepsilon) )
1617 #define SCIPsetIsSumLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_sumepsilon) )
1618 #define SCIPsetIsSumGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_sumepsilon) )
1619 #define SCIPsetIsSumGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_sumepsilon) )
1620 #define SCIPsetIsSumZero(set, val) ( EPSZ(val, (set)->num_sumepsilon) )
1621 #define SCIPsetIsSumPositive(set, val) ( EPSP(val, (set)->num_sumepsilon) )
1622 #define SCIPsetIsSumNegative(set, val) ( EPSN(val, (set)->num_sumepsilon) )
1623 #define SCIPsetSumFloor(set, val) ( EPSFLOOR(val, (set)->num_sumepsilon) )
1624 #define SCIPsetSumCeil(set, val) ( EPSCEIL(val, (set)->num_sumepsilon) )
1625 #define SCIPsetSumRound(set, val) ( EPSROUND(val, (set)->num_sumepsilon) )
1626 #define SCIPsetSumFrac(set, val) ( EPSFRAC(val, (set)->num_sumepsilon) )
1627 
1628 #define SCIPsetIsFeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1629 #define SCIPsetIsFeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1630 #define SCIPsetIsFeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1631 #define SCIPsetIsFeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1632 #define SCIPsetIsFeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1633 #define SCIPsetIsFeasZero(set, val) ( EPSZ(val, (set)->num_feastol) )
1634 #define SCIPsetIsFeasPositive(set, val) ( EPSP(val, (set)->num_feastol) )
1635 #define SCIPsetIsFeasNegative(set, val) ( EPSN(val, (set)->num_feastol) )
1636 #define SCIPsetIsFeasIntegral(set, val) ( EPSISINT(val, (set)->num_feastol) )
1637 #define SCIPsetIsFeasFracIntegral(set, val) ( !EPSP(val, (set)->num_feastol) )
1638 #define SCIPsetFeasFloor(set, val) ( EPSFLOOR(val, (set)->num_feastol) )
1639 #define SCIPsetFeasCeil(set, val) ( EPSCEIL(val, (set)->num_feastol) )
1640 #define SCIPsetFeasRound(set, val) ( EPSROUND(val, (set)->num_feastol) )
1641 #define SCIPsetFeasFrac(set, val) ( EPSFRAC(val, (set)->num_feastol) )
1642 
1643 #define SCIPsetIsDualfeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1644 #define SCIPsetIsDualfeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1645 #define SCIPsetIsDualfeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1646 #define SCIPsetIsDualfeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1647 #define SCIPsetIsDualfeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1648 #define SCIPsetIsDualfeasZero(set, val) ( EPSZ(val, (set)->num_dualfeastol) )
1649 #define SCIPsetIsDualfeasPositive(set, val) ( EPSP(val, (set)->num_dualfeastol) )
1650 #define SCIPsetIsDualfeasNegative(set, val) ( EPSN(val, (set)->num_dualfeastol) )
1651 #define SCIPsetIsDualfeasIntegral(set, val) ( EPSISINT(val, (set)->num_dualfeastol) )
1652 #define SCIPsetIsDualfeasFracIntegral(set, val) ( !EPSP(val, (set)->num_dualfeastol) )
1653 #define SCIPsetDualfeasFloor(set, val) ( EPSFLOOR(val, (set)->num_dualfeastol) )
1654 #define SCIPsetDualfeasCeil(set, val) ( EPSCEIL(val, (set)->num_dualfeastol) )
1655 #define SCIPsetDualfeasRound(set, val) ( EPSROUND(val, (set)->num_dualfeastol) )
1656 #define SCIPsetDualfeasFrac(set, val) ( EPSFRAC(val, (set)->num_dualfeastol) )
1657 
1658 #define SCIPsetIsLbBetter(set, newlb, oldlb, oldub) ( ((oldlb) < 0.0 && (newlb) >= 0.0) || EPSGT(newlb, oldlb, \
1659  set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldlb)), 1e-3)) )
1660 #define SCIPsetIsUbBetter(set, newub, oldlb, oldub) ( ((oldub) > 0.0 && (newub) <= 0.0) || EPSLT(newub, oldub, \
1661  set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldub)), 1e-3)) )
1662 #define SCIPsetIsEfficacious(set, root, efficacy) \
1663  ( root ? EPSP(efficacy, (set)->sepa_minefficacyroot) : EPSP(efficacy, (set)->sepa_minefficacy) )
1664 
1665 #define SCIPsetIsRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1666 #define SCIPsetIsRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1667 #define SCIPsetIsRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1668 #define SCIPsetIsRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1669 #define SCIPsetIsRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1670 
1671 #define SCIPsetIsSumRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1672 #define SCIPsetIsSumRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1673 #define SCIPsetIsSumRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1674 #define SCIPsetIsSumRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1675 #define SCIPsetIsSumRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1676 #define SCIPsetIsUpdateUnreliable(set, newvalue, oldvalue) \
1677  ( (ABS(oldvalue) / MAX(ABS(newvalue), set->num_epsilon)) >= set->num_recompfac )
1678 #define SCIPsetInitializeRandomSeed(set, val) ( (val + (set)->random_randomseedshift) )
1679 
1680 #endif
1681 
1682 #define SCIPsetAllocBuffer(set,ptr) ( (BMSallocBufferMemory((set)->buffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1683 #define SCIPsetAllocBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1684 #define SCIPsetAllocBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1685 #define SCIPsetDuplicateBufferSize(set,ptr,source,size) ( (BMSduplicateBufferMemory((set)->buffer, (ptr), (source), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1686 #define SCIPsetDuplicateBufferArray(set,ptr,source,num) ( (BMSduplicateBufferMemoryArray((set)->buffer, (ptr), (source), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1687 #define SCIPsetReallocBufferSize(set,ptr,size) ( (BMSreallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1688 #define SCIPsetReallocBufferArray(set,ptr,num) ( (BMSreallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1689 #define SCIPsetFreeBuffer(set,ptr) BMSfreeBufferMemory((set)->buffer, (ptr))
1690 #define SCIPsetFreeBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->buffer, (ptr))
1691 #define SCIPsetFreeBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->buffer, (ptr))
1692 
1693 #define SCIPsetAllocCleanBuffer(set,ptr) ( (BMSallocBufferMemory((set)->cleanbuffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1694 #define SCIPsetAllocCleanBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->cleanbuffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1695 #define SCIPsetAllocCleanBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->cleanbuffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1696 #define SCIPsetFreeCleanBuffer(set,ptr) BMSfreeBufferMemory((set)->cleanbuffer, (ptr))
1697 #define SCIPsetFreeCleanBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->cleanbuffer, (ptr))
1698 #define SCIPsetFreeCleanBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->cleanbuffer, (ptr))
1699 
1700 /* if we have a C99 compiler */
1701 #ifdef SCIP_HAVE_VARIADIC_MACROS
1702 
1703 /** prints a debugging message if SCIP_DEBUG flag is set */
1704 #ifdef SCIP_DEBUG
1705 #define SCIPsetDebugMsg(set, ...) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
1706 #define SCIPsetDebugMsgPrint(set, ...) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
1707 #else
1708 #define SCIPsetDebugMsg(set, ...) while ( FALSE ) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
1709 #define SCIPsetDebugMsgPrint(set, ...) while ( FALSE ) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
1710 #endif
1711 
1712 #else
1713 /* if we do not have a C99 compiler, use a workaround that prints a message, but not the file and linenumber */
1714 
1715 /** prints a debugging message if SCIP_DEBUG flag is set */
1716 #ifdef SCIP_DEBUG
1717 #define SCIPsetDebugMsg printf("debug: "), SCIPsetDebugMessagePrint
1718 #define SCIPsetDebugMsgPrint printf("debug: "), SCIPsetDebugMessagePrint
1719 #else
1720 #define SCIPsetDebugMsg while ( FALSE ) SCIPsetDebugMsgPrint
1721 #define SCIPsetDebugMsgPrint while ( FALSE ) SCIPsetDebugMessagePrint
1722 #endif
1723 
1724 #endif
1725 
1726 
1727 /** prints a debug message */
1730  SCIP_SET* set, /**< global SCIP settings */
1731  const char* sourcefile, /**< name of the source file that called the function */
1732  int sourceline, /**< line in the source file where the function was called */
1733  const char* formatstr, /**< format string like in printf() function */
1734  ... /**< format arguments line in printf() function */
1735  );
1736 
1737 /** prints a debug message without precode */
1740  SCIP_SET* set, /**< global SCIP settings */
1741  const char* formatstr, /**< format string like in printf() function */
1742  ... /**< format arguments line in printf() function */
1743  );
1744 
1745 
1746 #ifdef __cplusplus
1747 }
1748 #endif
1749 
1750 #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:6984
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:7028
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:7060
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
#define SCIP_EXPORT
Definition: def.h:98
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:6962
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:6815
SCIP_Bool SCIPsetIsUbBetter(SCIP_SET *set, SCIP_Real newub, SCIP_Real oldlb, SCIP_Real oldub)
Definition: set.c:6797
SCIP_Bool SCIPsetIsRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6874
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:6896
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:6852
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 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:70
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:6940
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:7125
type definitions for tree compression
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:6918
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:164
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:6830
SCIP_Real SCIPsetDualfeasCeil(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6740
#define SCIP_Longint
Definition: def.h:149
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_EXPORT void SCIPsetDebugMessagePrint(SCIP_SET *set, const char *formatstr,...)
Definition: set.c:7108
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:7006
common defines and data types used in all packages of SCIP
struct BMS_BlkMem BMS_BLKMEM
Definition: memory.h:427
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_EXPORT void SCIPsetPrintDebugMessage(SCIP_SET *set, const char *sourcefile, int sourceline, const char *formatstr,...)
Definition: set.c:7076
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