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-2017 Konrad-Zuse-Zentrum */
7 /* fuer Informationstechnik Berlin */
8 /* */
9 /* SCIP is distributed under the terms of the ZIB Academic License. */
10 /* */
11 /* You should have received a copy of the ZIB Academic License */
12 /* along with SCIP; see the file COPYING. If not email to scip@zib.de. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file 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_set.h"
32 #include "scip/type_stat.h"
33 #include "scip/type_clock.h"
34 #include "scip/type_paramset.h"
35 #include "scip/type_event.h"
36 #include "scip/type_scip.h"
37 #include "scip/type_branch.h"
38 #include "scip/type_conflict.h"
39 #include "scip/type_cons.h"
40 #include "scip/type_disp.h"
41 #include "scip/type_heur.h"
42 #include "scip/type_compr.h"
43 #include "scip/type_nodesel.h"
44 #include "scip/type_presol.h"
45 #include "scip/type_pricer.h"
46 #include "scip/type_reader.h"
47 #include "scip/type_relax.h"
48 #include "scip/type_sepa.h"
49 #include "scip/type_prop.h"
50 #include "scip/struct_set.h"
51 
52 
53 #ifdef NDEBUG
54 #include "scip/pub_misc.h"
55 #endif
56 
57 #ifdef __cplusplus
58 extern "C" {
59 #endif
60 
61 /** copies plugins from sourcescip to targetscip; in case that a constraint handler which does not need constraints
62  * cannot be copied, valid will return FALSE. All plugins can declare that, if their copy process failed, the
63  * copied SCIP instance might not represent the same problem semantics as the original.
64  * Note that in this case dual reductions might be invalid. */
65 extern
67  SCIP_SET* sourceset, /**< source SCIP_SET data structure */
68  SCIP_SET* targetset, /**< target SCIP_SET data structure */
69  SCIP_Bool copyreaders, /**< should the file readers be copied */
70  SCIP_Bool copypricers, /**< should the variable pricers be copied */
71  SCIP_Bool copyconshdlrs, /**< should the constraint handlers be copied */
72  SCIP_Bool copyconflicthdlrs, /**< should the conflict handlers be copied */
73  SCIP_Bool copypresolvers, /**< should the presolvers be copied */
74  SCIP_Bool copyrelaxators, /**< should the relaxators be copied */
75  SCIP_Bool copyseparators, /**< should the separators be copied */
76  SCIP_Bool copypropagators, /**< should the propagators be copied */
77  SCIP_Bool copyheuristics, /**< should the heuristics be copied */
78  SCIP_Bool copyeventhdlrs, /**< should the event handlers be copied */
79  SCIP_Bool copynodeselectors, /**< should the node selectors be copied */
80  SCIP_Bool copybranchrules, /**< should the branchrules be copied */
81  SCIP_Bool copydisplays, /**< should the display columns be copied */
82  SCIP_Bool copydialogs, /**< should the dialogs be copied */
83  SCIP_Bool copynlpis, /**< should the NLP interfaces be copied */
84  SCIP_Bool* allvalid /**< pointer to store whether all plugins were validly copied */
85  );
86 
87 /** copies parameters from sourcescip to targetscip */
88 extern
90  SCIP_SET* sourceset, /**< source SCIP_SET data structure */
91  SCIP_SET* targetset, /**< target SCIP_SET data structure */
92  SCIP_MESSAGEHDLR* messagehdlr /**< message handler of target SCIP */
93  );
94 
95 /** creates global SCIP settings */
96 extern
98  SCIP_SET** set, /**< pointer to SCIP settings */
99  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
100  BMS_BLKMEM* blkmem, /**< block memory */
101  SCIP* scip /**< SCIP data structure */
102  );
103 
104 /** frees global SCIP settings */
105 extern
107  SCIP_SET** set, /**< pointer to SCIP settings */
108  BMS_BLKMEM* blkmem /**< block memory */
109  );
110 
111 /** returns current stage of SCIP */
112 extern
114  SCIP_SET* set /**< pointer to SCIP settings */
115  );
116 
117 /** creates a SCIP_Bool parameter, sets it to its default value, and adds it to the parameter set */
118 extern
120  SCIP_SET* set, /**< global SCIP settings */
121  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
122  BMS_BLKMEM* blkmem, /**< block memory */
123  const char* name, /**< name of the parameter */
124  const char* desc, /**< description of the parameter */
125  SCIP_Bool* valueptr, /**< pointer to store the current parameter value, or NULL */
126  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
127  SCIP_Bool defaultvalue, /**< default value of the parameter */
128  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
129  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
130  );
131 
132 /** creates a int parameter, sets it to its default value, and adds it to the parameter set */
133 extern
135  SCIP_SET* set, /**< global SCIP settings */
136  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
137  BMS_BLKMEM* blkmem, /**< block memory */
138  const char* name, /**< name of the parameter */
139  const char* desc, /**< description of the parameter */
140  int* valueptr, /**< pointer to store the current parameter value, or NULL */
141  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
142  int defaultvalue, /**< default value of the parameter */
143  int minvalue, /**< minimum value for parameter */
144  int maxvalue, /**< maximum value for parameter */
145  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
146  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
147  );
148 
149 /** creates a SCIP_Longint parameter, sets it to its default value, and adds it to the parameter set */
150 extern
152  SCIP_SET* set, /**< global SCIP settings */
153  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
154  BMS_BLKMEM* blkmem, /**< block memory */
155  const char* name, /**< name of the parameter */
156  const char* desc, /**< description of the parameter */
157  SCIP_Longint* valueptr, /**< pointer to store the current parameter value, or NULL */
158  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
159  SCIP_Longint defaultvalue, /**< default value of the parameter */
160  SCIP_Longint minvalue, /**< minimum value for parameter */
161  SCIP_Longint maxvalue, /**< maximum value for parameter */
162  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
163  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
164  );
165 
166 /** creates a SCIP_Real parameter, sets it to its default value, and adds it to the parameter set */
167 extern
169  SCIP_SET* set, /**< global SCIP settings */
170  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
171  BMS_BLKMEM* blkmem, /**< block memory */
172  const char* name, /**< name of the parameter */
173  const char* desc, /**< description of the parameter */
174  SCIP_Real* valueptr, /**< pointer to store the current parameter value, or NULL */
175  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
176  SCIP_Real defaultvalue, /**< default value of the parameter */
177  SCIP_Real minvalue, /**< minimum value for parameter */
178  SCIP_Real maxvalue, /**< maximum value for parameter */
179  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
180  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
181  );
182 
183 /** creates a char parameter, sets it to its default value, and adds it to the parameter set */
184 extern
186  SCIP_SET* set, /**< global SCIP settings */
187  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
188  BMS_BLKMEM* blkmem, /**< block memory */
189  const char* name, /**< name of the parameter */
190  const char* desc, /**< description of the parameter */
191  char* valueptr, /**< pointer to store the current parameter value, or NULL */
192  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
193  char defaultvalue, /**< default value of the parameter */
194  const char* allowedvalues, /**< array with possible parameter values, or NULL if not restricted */
195  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
196  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
197  );
198 
199 /** creates a string parameter, sets it to its default value, and adds it to the parameter set */
200 extern
202  SCIP_SET* set, /**< global SCIP settings */
203  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
204  BMS_BLKMEM* blkmem, /**< block memory */
205  const char* name, /**< name of the parameter */
206  const char* desc, /**< description of the parameter */
207  char** valueptr, /**< pointer to store the current parameter value, or NULL */
208  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
209  const char* defaultvalue, /**< default value of the parameter */
210  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
211  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
212  );
213 
214 /** gets the fixing status value of an existing parameter */
215 extern
217  SCIP_SET* set, /**< global SCIP settings */
218  const char* name /**< name of the parameter */
219  );
220 
221 /** returns the pointer to the SCIP parameter with the given name */
222 extern
224  SCIP_SET* set, /**< global SCIP settings */
225  const char* name /**< name of the parameter */
226  );
227 
228 /** gets the value of an existing SCIP_Bool parameter */
230  SCIP_SET* set, /**< global SCIP settings */
231  const char* name, /**< name of the parameter */
232  SCIP_Bool* value /**< pointer to store the parameter */
233  );
234 
235 /** gets the value of an existing Int parameter */
236 extern
238  SCIP_SET* set, /**< global SCIP settings */
239  const char* name, /**< name of the parameter */
240  int* value /**< pointer to store the parameter */
241  );
242 
243 /** gets the value of an existing SCIP_Longint parameter */
244 extern
246  SCIP_SET* set, /**< global SCIP settings */
247  const char* name, /**< name of the parameter */
248  SCIP_Longint* value /**< pointer to store the parameter */
249  );
250 
251 /** gets the value of an existing SCIP_Real parameter */
252 extern
254  SCIP_SET* set, /**< global SCIP settings */
255  const char* name, /**< name of the parameter */
256  SCIP_Real* value /**< pointer to store the parameter */
257  );
258 
259 /** gets the value of an existing Char parameter */
260 extern
262  SCIP_SET* set, /**< global SCIP settings */
263  const char* name, /**< name of the parameter */
264  char* value /**< pointer to store the parameter */
265  );
266 
267 /** gets the value of an existing String parameter */
268 extern
270  SCIP_SET* set, /**< global SCIP settings */
271  const char* name, /**< name of the parameter */
272  char** value /**< pointer to store the parameter */
273  );
274 
275 /** changes the fixing status of an existing parameter */
276 extern
278  SCIP_SET* set, /**< global SCIP settings */
279  const char* name, /**< name of the parameter */
280  SCIP_Bool fixed /**< new fixing status of the parameter */
281  );
282 
283 /** changes the value of an existing parameter */
284 extern
286  SCIP_SET* set, /**< global SCIP settings */
287  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
288  const char* name, /**< name of the parameter */
289  void* value /**< new value of the parameter */
290  );
291 
292 /** changes the value of an existing SCIP_Bool parameter */
293 extern
295  SCIP_SET* set, /**< global SCIP settings */
296  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
297  SCIP_PARAM* param, /**< parameter */
298  SCIP_Bool value /**< new value of the parameter */
299  );
300 
301 /** changes the value of an existing SCIP_Bool parameter */
302 extern
304  SCIP_SET* set, /**< global SCIP settings */
305  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
306  const char* name, /**< name of the parameter */
307  SCIP_Bool value /**< new value of the parameter */
308  );
309 
310 /** changes the default value of an existing SCIP_Bool parameter */
311 extern
313  SCIP_SET* set, /**< global SCIP settings */
314  const char* name, /**< name of the parameter */
315  SCIP_Bool defaultvalue /**< new default value of the parameter */
316  );
317 
318 /** changes the value of an existing Int parameter */
319 extern
321  SCIP_SET* set, /**< global SCIP settings */
322  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
323  SCIP_PARAM* param, /**< parameter */
324  int value /**< new value of the parameter */
325  );
326 
327 /** changes the value of an existing Int parameter */
328 extern
330  SCIP_SET* set, /**< global SCIP settings */
331  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
332  const char* name, /**< name of the parameter */
333  int value /**< new value of the parameter */
334  );
335 
336 /** changes the default value of an existing Int parameter */
337 extern
339  SCIP_SET* set, /**< global SCIP settings */
340  const char* name, /**< name of the parameter */
341  int defaultvalue /**< new default value of the parameter */
342  );
343 
344 /** changes the value of an existing SCIP_Longint parameter */
345 extern
347  SCIP_SET* set, /**< global SCIP settings */
348  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
349  SCIP_PARAM* param, /**< parameter */
350  SCIP_Longint value /**< new value of the parameter */
351  );
352 
353 /** changes the value of an existing SCIP_Longint parameter */
354 extern
356  SCIP_SET* set, /**< global SCIP settings */
357  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
358  const char* name, /**< name of the parameter */
359  SCIP_Longint value /**< new value of the parameter */
360  );
361 
362 /** changes the value of an existing SCIP_Real parameter */
363 extern
365  SCIP_SET* set, /**< global SCIP settings */
366  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
367  SCIP_PARAM* param, /**< parameter */
368  SCIP_Real value /**< new value of the parameter */
369  );
370 
371 /** changes the value of an existing SCIP_Real parameter */
372 extern
374  SCIP_SET* set, /**< global SCIP settings */
375  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
376  const char* name, /**< name of the parameter */
377  SCIP_Real value /**< new value of the parameter */
378  );
379 
380 /** changes the value of an existing Char parameter */
381 extern
383  SCIP_SET* set, /**< global SCIP settings */
384  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
385  SCIP_PARAM* param, /**< parameter */
386  char value /**< new value of the parameter */
387  );
388 
389 /** changes the value of an existing Char parameter */
390 extern
392  SCIP_SET* set, /**< global SCIP settings */
393  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
394  const char* name, /**< name of the parameter */
395  char value /**< new value of the parameter */
396  );
397 
398 /** changes the value of an existing String parameter */
399 extern
401  SCIP_SET* set, /**< global SCIP settings */
402  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
403  SCIP_PARAM* param, /**< parameter */
404  const char* value /**< new value of the parameter */
405  );
406 
407 /** changes the value of an existing String parameter */
408 extern
410  SCIP_SET* set, /**< global SCIP settings */
411  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
412  const char* name, /**< name of the parameter */
413  const char* value /**< new value of the parameter */
414  );
415 
416 /** reads parameters from a file */
417 extern
419  SCIP_SET* set, /**< global SCIP settings */
420  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
421  const char* filename /**< file name */
422  );
423 
424 /** writes all parameters in the parameter set to a file */
425 extern
427  SCIP_SET* set, /**< global SCIP settings */
428  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
429  const char* filename, /**< file name, or NULL for stdout */
430  SCIP_Bool comments, /**< should parameter descriptions be written as comments? */
431  SCIP_Bool onlychanged /**< should only the parameters been written, that are changed from default? */
432  );
433 
434 /** resets a single parameters to its default value */
435 extern
437  SCIP_SET* set, /**< global SCIP settings */
438  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
439  const char* name /**< name of the parameter */
440  );
441 
442 /** resets all parameters to their default values */
443 extern
445  SCIP_SET* set, /**< global SCIP settings */
446  SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
447  );
448 
449 /** sets parameters to
450  *
451  * - \ref SCIP_PARAMEMPHASIS_DEFAULT to use default values (see also SCIPsetResetParams())
452  * - \ref SCIP_PARAMEMPHASIS_COUNTER to get feasible and "fast" counting process
453  * - \ref SCIP_PARAMEMPHASIS_CPSOLVER to get CP like search (e.g. no LP relaxation)
454  * - \ref SCIP_PARAMEMPHASIS_EASYCIP to solve easy problems fast
455  * - \ref SCIP_PARAMEMPHASIS_FEASIBILITY to detect feasibility fast
456  * - \ref SCIP_PARAMEMPHASIS_HARDLP to be capable to handle hard LPs
457  * - \ref SCIP_PARAMEMPHASIS_OPTIMALITY to prove optimality fast
458  * - \ref SCIP_PARAMEMPHASIS_PHASEFEAS to find feasible solutions during a 3 phase solution process
459  * - \ref SCIP_PARAMEMPHASIS_PHASEIMPROVE to find improved solutions during a 3 phase solution process
460  * - \ref SCIP_PARAMEMPHASIS_PHASEPROOF to proof optimality during a 3 phase solution process
461  */
462 extern
464  SCIP_SET* set, /**< global SCIP settings */
465  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
466  SCIP_PARAMEMPHASIS paramemphasis, /**< parameter settings */
467  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
468  );
469 
470 /** set parameters for reoptimization */
471 extern
473  SCIP_SET* set, /**< SCIP data structure */
474  SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
475  );
476 
477 /** enable or disable all plugin timers depending on the value of the flag \p enabled */
478 extern
480  SCIP_SET* set, /**< SCIP settings */
481  SCIP_Bool enabled /**< should plugin clocks be enabled? */
482  );
483 
484 /** sets parameters to deactivate separators and heuristics that use auxiliary SCIP instances; should be called for
485  * auxiliary SCIP instances to avoid recursion
486  */
487 extern
489  SCIP_SET* set, /**< global SCIP settings */
490  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
491  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
492  );
493 
494 /** sets heuristic parameters values to
495  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all heuristic parameters
496  * - SCIP_PARAMSETTING_FAST such that the time spend for heuristic is decreased
497  * - SCIP_PARAMSETTING_AGGRESSIVE such that the heuristic are called more aggregative
498  * - SCIP_PARAMSETTING_OFF which turn off all heuristics
499  */
500 extern
502  SCIP_SET* set, /**< global SCIP settings */
503  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
504  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
505  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
506  );
507 
508 /** sets presolving parameters to
509  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all presolving parameters
510  * - SCIP_PARAMSETTING_FAST such that the time spend for presolving is decreased
511  * - SCIP_PARAMSETTING_AGGRESSIVE such that the presolving is more aggregative
512  * - SCIP_PARAMSETTING_OFF which turn off all presolving
513  */
514 extern
516  SCIP_SET* set, /**< global SCIP settings */
517  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
518  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
519  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
520  );
521 
522 /** sets separating parameters to
523  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all separating parameters
524  * - SCIP_PARAMSETTING_FAST such that the time spend for separating is decreased
525  * - SCIP_PARAMSETTING_AGGRESSIVE such that the separating is done more aggregative
526  * - SCIP_PARAMSETTING_OFF which turn off all separating
527  */
528 extern
530  SCIP_SET* set, /**< global SCIP settings */
531  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
532  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
533  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
534  );
535 
536 /** returns the array of all available SCIP parameters */
537 extern
539  SCIP_SET* set /**< global SCIP settings */
540  );
541 
542 /** returns the total number of all available SCIP parameters */
543 extern
545  SCIP_SET* set /**< global SCIP settings */
546  );
547 
548 /** inserts file reader in file reader list */
549 extern
551  SCIP_SET* set, /**< global SCIP settings */
552  SCIP_READER* reader /**< file reader */
553  );
554 
555 /** returns the file reader of the given name, or NULL if not existing */
556 extern
558  SCIP_SET* set, /**< global SCIP settings */
559  const char* name /**< name of file reader */
560  );
561 
562 /** inserts variable pricer in variable pricer list */
563 extern
565  SCIP_SET* set, /**< global SCIP settings */
566  SCIP_PRICER* pricer /**< variable pricer */
567  );
568 
569 /** returns the variable pricer of the given name, or NULL if not existing */
570 extern
572  SCIP_SET* set, /**< global SCIP settings */
573  const char* name /**< name of variable pricer */
574  );
575 
576 /** sorts pricers by priorities */
577 extern
578 void SCIPsetSortPricers(
579  SCIP_SET* set /**< global SCIP settings */
580  );
581 
582 /** sorts pricers by name */
583 extern
585  SCIP_SET* set /**< global SCIP settings */
586  );
587 
588 /** inserts constraint handler in constraint handler list */
589 extern
591  SCIP_SET* set, /**< global SCIP settings */
592  SCIP_CONSHDLR* conshdlr /**< constraint handler */
593  );
594 
595 /** reinserts a constraint handler with modified sepa priority into the sepa priority sorted array */
596 extern
598  SCIP_SET* set, /**< global SCIP settings */
599  SCIP_CONSHDLR* conshdlr, /**< constraint handler to be reinserted */
600  int oldpriority /**< the old separation priority of constraint handler */
601  );
602 
603 /** returns the constraint handler of the given name, or NULL if not existing */
604 extern
606  SCIP_SET* set, /**< global SCIP settings */
607  const char* name /**< name of constraint handler */
608  );
609 
610 /** inserts conflict handler in conflict handler list */
611 extern
613  SCIP_SET* set, /**< global SCIP settings */
614  SCIP_CONFLICTHDLR* conflicthdlr /**< conflict handler */
615  );
616 
617 /** returns the conflict handler of the given name, or NULL if not existing */
618 extern
620  SCIP_SET* set, /**< global SCIP settings */
621  const char* name /**< name of conflict handler */
622  );
623 
624 /** sorts conflict handlers by priorities */
625 extern
627  SCIP_SET* set /**< global SCIP settings */
628  );
629 
630 /** sorts conflict handlers by name */
631 extern
633  SCIP_SET* set /**< global SCIP settings */
634  );
635 
636 /** inserts presolver in presolver list */
637 extern
639  SCIP_SET* set, /**< global SCIP settings */
640  SCIP_PRESOL* presol /**< presolver */
641  );
642 
643 /** returns the presolver of the given name, or NULL if not existing */
644 extern
646  SCIP_SET* set, /**< global SCIP settings */
647  const char* name /**< name of presolver */
648  );
649 
650 /** sorts presolvers by priorities */
651 extern
652 void SCIPsetSortPresols(
653  SCIP_SET* set /**< global SCIP settings */
654  );
655 
656 /** sorts presolvers by name */
657 extern
659  SCIP_SET* set /**< global SCIP settings */
660  );
661 
662 /** inserts relaxator in relaxator list */
663 extern
665  SCIP_SET* set, /**< global SCIP settings */
666  SCIP_RELAX* relax /**< relaxator */
667  );
668 
669 /** returns the relaxator of the given name, or NULL if not existing */
670 extern
672  SCIP_SET* set, /**< global SCIP settings */
673  const char* name /**< name of relaxator */
674  );
675 
676 /** sorts relaxators by priorities */
677 extern
678 void SCIPsetSortRelaxs(
679  SCIP_SET* set /**< global SCIP settings */
680  );
681 
682 /** sorts relaxators by name */
683 extern
685  SCIP_SET* set /**< global SCIP settings */
686  );
687 
688 /** inserts separator in separator list */
689 extern
691  SCIP_SET* set, /**< global SCIP settings */
692  SCIP_SEPA* sepa /**< separator */
693  );
694 
695 /** returns the separator of the given name, or NULL if not existing */
696 extern
698  SCIP_SET* set, /**< global SCIP settings */
699  const char* name /**< name of separator */
700  );
701 
702 /** sorts separators by priorities */
703 extern
704 void SCIPsetSortSepas(
705  SCIP_SET* set /**< global SCIP settings */
706  );
707 
708 /** sorts separators by name */
709 extern
711  SCIP_SET* set /**< global SCIP settings */
712  );
713 
714 /** inserts propagator in propagator list */
715 extern
717  SCIP_SET* set, /**< global SCIP settings */
718  SCIP_PROP* prop /**< propagator */
719  );
720 
721 /** returns the propagator of the given name, or NULL if not existing */
722 extern
724  SCIP_SET* set, /**< global SCIP settings */
725  const char* name /**< name of propagator */
726  );
727 
728 /** sorts propagators by priorities */
729 extern
730 void SCIPsetSortProps(
731  SCIP_SET* set /**< global SCIP settings */
732  );
733 
734 /** sorts propagators by priorities for presolving */
735 extern
737  SCIP_SET* set /**< global SCIP settings */
738  );
739 
740 /** sorts propagators w.r.t. names */
741 extern
743  SCIP_SET* set /**< global SCIP settings */
744  );
745 
746 /** inserts concurrent solver type into the concurrent solver type list */
747 extern
749  SCIP_SET* set, /**< global SCIP settings */
750  SCIP_CONCSOLVERTYPE* concsolvertype /**< concurrent solver type */
751  );
752 
753 /** returns the concurrent solver type with the given name, or NULL if not existing */
754 extern
756  SCIP_SET* set, /**< global SCIP settings */
757  const char* name /**< name of concurrent solver type */
758  );
759 
760 /** inserts concurrent solver into the concurrent solver list */
761 extern
763  SCIP_SET* set, /**< global SCIP settings */
764  SCIP_CONCSOLVER* concsolver /**< concurrent solver */
765  );
766 
767 /** frees all concurrent solvers in the concurrent solver list */
768 extern
770  SCIP_SET* set /**< global SCIP settings */
771  );
772 
773 /** inserts primal heuristic in primal heuristic list */
774 extern
776  SCIP_SET* set, /**< global SCIP settings */
777  SCIP_HEUR* heur /**< primal heuristic */
778  );
779 
780 /** returns the primal heuristic of the given name, or NULL if not existing */
781 extern
783  SCIP_SET* set, /**< global SCIP settings */
784  const char* name /**< name of primal heuristic */
785  );
786 
787 /** sorts heuristics by priorities */
788 extern
789 void SCIPsetSortHeurs(
790  SCIP_SET* set /**< global SCIP settings */
791  );
792 
793 /** sorts heuristics by name */
794 extern
796  SCIP_SET* set /**< global SCIP settings */
797  );
798 
799 /** inserts tree compression in tree compression list */
800 extern
802  SCIP_SET* set, /**< global SCIP settings */
803  SCIP_COMPR* compr /**< tree compression */
804  );
805 
806 /** returns the tree compression of the given name, or NULL if not existing */
807 extern
809  SCIP_SET* set, /**< global SCIP settings */
810  const char* name /**< name of tree compression */
811  );
812 
813 /** sorts compressions by priorities */
814 extern
815 void SCIPsetSortComprs(
816  SCIP_SET* set /**< global SCIP settings */
817  );
818 
819 /** sorts heuristics by names */
820 extern
822  SCIP_SET* set /**< global SCIP settings */
823  );
824 
825 /** inserts event handler in event handler list */
826 extern
828  SCIP_SET* set, /**< global SCIP settings */
829  SCIP_EVENTHDLR* eventhdlr /**< event handler */
830  );
831 
832 /** returns the event handler of the given name, or NULL if not existing */
833 extern
835  SCIP_SET* set, /**< global SCIP settings */
836  const char* name /**< name of event handler */
837  );
838 
839 /** inserts node selector in node selector list */
840 extern
842  SCIP_SET* set, /**< global SCIP settings */
843  SCIP_NODESEL* nodesel /**< node selector */
844  );
845 
846 /** returns the node selector of the given name, or NULL if not existing */
847 extern
849  SCIP_SET* set, /**< global SCIP settings */
850  const char* name /**< name of event handler */
851  );
852 
853 /** returns node selector with highest priority in the current mode */
854 extern
856  SCIP_SET* set, /**< global SCIP settings */
857  SCIP_STAT* stat /**< dynamic problem statistics */
858  );
859 
860 /** inserts branching rule in branching rule list */
861 extern
863  SCIP_SET* set, /**< global SCIP settings */
864  SCIP_BRANCHRULE* branchrule /**< branching rule */
865  );
866 
867 /** returns the branching rule of the given name, or NULL if not existing */
868 extern
870  SCIP_SET* set, /**< global SCIP settings */
871  const char* name /**< name of event handler */
872  );
873 
874 /** sorts branching rules by priorities */
875 extern
877  SCIP_SET* set /**< global SCIP settings */
878  );
879 
880 /** sorts branching rules by name */
881 extern
883  SCIP_SET* set /**< global SCIP settings */
884  );
885 
886 /** inserts display column in display column list */
887 extern
889  SCIP_SET* set, /**< global SCIP settings */
890  SCIP_DISP* disp /**< display column */
891  );
892 
893 /** returns the display column of the given name, or NULL if not existing */
894 extern
896  SCIP_SET* set, /**< global SCIP settings */
897  const char* name /**< name of event handler */
898  );
899 
900 /** inserts dialog in dialog list */
901 extern
903  SCIP_SET* set, /**< global SCIP settings */
904  SCIP_DIALOG* dialog /**< dialog */
905  );
906 
907 /** returns if the dialog already exists */
908 extern
910  SCIP_SET* set, /**< global SCIP settings */
911  SCIP_DIALOG* dialog /**< dialog */
912  );
913 
914 /** inserts NLPI in NLPI list */
915 extern
917  SCIP_SET* set, /**< global SCIP settings */
918  SCIP_NLPI* nlpi /**< NLPI */
919  );
920 
921 /** returns the NLPI of the given name, or NULL if not existing */
922 extern
924  SCIP_SET* set, /**< global SCIP settings */
925  const char* name /**< name of NLPI */
926  );
927 
928 /** sorts NLPIs by priorities */
929 extern
930 void SCIPsetSortNlpis(
931  SCIP_SET* set /**< global SCIP settings */
932  );
933 
934 /** set priority of an NLPI */
935 extern
937  SCIP_SET* set, /**< global SCIP settings */
938  SCIP_NLPI* nlpi, /**< NLPI */
939  int priority /**< new priority of NLPI */
940  );
941 
942 /** inserts information about an external code in external codes list */
943 extern
945  SCIP_SET* set, /**< global SCIP settings */
946  const char* name, /**< name of external code */
947  const char* description /**< description of external code, can be NULL */
948  );
949 
950 /** calls init methods of all plugins */
951 extern
953  SCIP_SET* set, /**< global SCIP settings */
954  BMS_BLKMEM* blkmem, /**< block memory */
955  SCIP_STAT* stat /**< dynamic problem statistics */
956  );
957 
958 /** calls exit methods of all plugins */
959 extern
961  SCIP_SET* set, /**< global SCIP settings */
962  BMS_BLKMEM* blkmem, /**< block memory */
963  SCIP_STAT* stat /**< dynamic problem statistics */
964  );
965 
966 /** calls initpre methods of all plugins */
967 extern
969  SCIP_SET* set, /**< global SCIP settings */
970  BMS_BLKMEM* blkmem, /**< block memory */
971  SCIP_STAT* stat /**< dynamic problem statistics */
972  );
973 
974 /** calls exitpre methods of all plugins */
975 extern
977  SCIP_SET* set, /**< global SCIP settings */
978  BMS_BLKMEM* blkmem, /**< block memory */
979  SCIP_STAT* stat /**< dynamic problem statistics */
980  );
981 
982 /** calls initsol methods of all plugins */
983 extern
985  SCIP_SET* set, /**< global SCIP settings */
986  BMS_BLKMEM* blkmem, /**< block memory */
987  SCIP_STAT* stat /**< dynamic problem statistics */
988  );
989 
990 /** calls exitsol methods of all plugins */
991 extern
993  SCIP_SET* set, /**< global SCIP settings */
994  BMS_BLKMEM* blkmem, /**< block memory */
995  SCIP_STAT* stat, /**< dynamic problem statistics */
996  SCIP_Bool restart /**< was this exit solve call triggered by a restart? */
997  );
998 
999 /** calculate memory size for dynamically allocated arrays */
1000 extern
1002  SCIP_SET* set, /**< global SCIP settings */
1003  int num /**< minimum number of entries to store */
1004  );
1005 
1006 /** calculate memory size for tree array */
1007 extern
1009  SCIP_SET* set, /**< global SCIP settings */
1010  int num /**< minimum number of entries to store */
1011  );
1012 
1013 /** calculate memory size for path array */
1014 extern
1016  SCIP_SET* set, /**< global SCIP settings */
1017  int num /**< minimum number of entries to store */
1018  );
1019 
1020 /** sets verbosity level for message output */
1021 extern
1023  SCIP_SET* set, /**< global SCIP settings */
1024  SCIP_VERBLEVEL verblevel /**< verbosity level for message output */
1025  );
1026 
1027 /** sets feasibility tolerance */
1028 extern
1030  SCIP_SET* set, /**< global SCIP settings */
1031  SCIP_Real feastol /**< new feasibility tolerance */
1032  );
1033 
1034 /** sets primal feasibility tolerance of LP solver */
1035 extern
1037  SCIP_SET* set, /**< global SCIP settings */
1038  SCIP_Real lpfeastol, /**< new primal feasibility tolerance of LP solver */
1039  SCIP_Bool printnewvalue /**< should "numerics/lpfeastol = ..." be printed? */
1040  );
1041 
1042 /** sets feasibility tolerance for reduced costs in LP solution */
1043 extern
1045  SCIP_SET* set, /**< global SCIP settings */
1046  SCIP_Real dualfeastol /**< new reduced costs feasibility tolerance */
1047  );
1048 
1049 /** sets LP convergence tolerance used in barrier algorithm */
1050 extern
1052  SCIP_SET* set, /**< global SCIP settings */
1053  SCIP_Real barrierconvtol /**< new convergence tolerance used in barrier algorithm */
1054  );
1055 
1056 /** marks that some limit parameter was changed */
1057 extern
1059  SCIP_SET* set /**< global SCIP settings */
1060  );
1061 
1062 /** returns the maximal number of variables priced into the LP per round */
1063 extern
1065  SCIP_SET* set, /**< global SCIP settings */
1066  SCIP_Bool root /**< are we at the root node? */
1067  );
1068 
1069 /** returns the maximal number of cuts separated per round */
1070 extern
1072  SCIP_SET* set, /**< global SCIP settings */
1073  SCIP_Bool root /**< are we at the root node? */
1074  );
1075 
1076 /** returns user defined objective value (in original space) for reference purposes */
1077 extern
1079  SCIP_SET* set /**< global SCIP settings */
1080  );
1081 
1082 /** returns debug solution data */
1083 extern
1085  SCIP_SET* set /**< global SCIP settings */
1086  );
1087 
1088 /** Checks, if an iteratively updated value is reliable or should be recomputed from scratch.
1089  * This is useful, if the value, e.g., the activity of a linear constraint or the pseudo objective value, gets a high
1090  * absolute value during the optimization process which is later reduced significantly. In this case, the last digits
1091  * were cancelled out when increasing the value and are random after decreasing it.
1092  * We dot not consider the cancellations which can occur during increasing the absolute value because they just cannot
1093  * be expressed using fixed precision floating point arithmetic, anymore.
1094  * The idea to get more reliable values is to always store the last reliable value, where increasing the absolute of
1095  * the value is viewed as preserving reliability. Then, after each update, the new absolute value can be compared
1096  * against the last reliable one with this method, checking whether it was decreased by a factor of at least
1097  * "lp/recompfac" and should be recomputed.
1098  */
1099 extern
1101  SCIP_SET* set, /**< global SCIP settings */
1102  SCIP_Real newvalue, /**< new value after update */
1103  SCIP_Real oldvalue /**< old value, i.e., last reliable value */
1104  );
1105 
1106 /** modifies an initial seed value with the global shift of random seeds */
1107 extern
1109  SCIP_SET* set, /**< global SCIP settings */
1110  int initialseedvalue /**< initial seed value to be modified */
1111  );
1112 
1113 /** returns value treated as infinity */
1114 extern
1116  SCIP_SET* set /**< global SCIP settings */
1117  );
1118 
1119 /** returns the minimum value that is regarded as huge and should be handled separately (e.g., in activity
1120  * computation)
1121  */
1122 extern
1124  SCIP_SET* set /**< global SCIP settings */
1125  );
1126 
1127 /** returns value treated as zero */
1128 extern
1130  SCIP_SET* set /**< global SCIP settings */
1131  );
1132 
1133 /** returns value treated as zero for sums of floating point values */
1134 extern
1136  SCIP_SET* set /**< global SCIP settings */
1137  );
1138 
1139 /** returns feasibility tolerance for constraints */
1140 extern
1142  SCIP_SET* set /**< global SCIP settings */
1143  );
1144 
1145 /** returns primal feasibility tolerance of LP solver given as minimum of lpfeastol option and tolerance specified by separation storage */
1146 extern
1148  SCIP_SET* set /**< global SCIP settings */
1149  );
1150 
1151 /** returns primal feasibility tolerance as specified by separation storage, or SCIP_INVALID */
1152 extern
1154  SCIP_SET* set /**< global SCIP settings */
1155  );
1156 
1157 /** returns feasibility tolerance for reduced costs */
1158 extern
1160  SCIP_SET* set /**< global SCIP settings */
1161  );
1162 
1163 /** returns convergence tolerance used in barrier algorithm */
1164 extern
1166  SCIP_SET* set /**< global SCIP settings */
1167  );
1168 
1169 /** returns minimal variable distance value to use for pseudo cost updates */
1170 extern
1172  SCIP_SET* set /**< global SCIP settings */
1173  );
1174 
1175 /** returns minimal minimal objective distance value to use for pseudo cost updates */
1176 extern
1178  SCIP_SET* set /**< global SCIP settings */
1179  );
1180 
1181 /** return the delta to use for computing the cutoff bound for integral objectives */
1182 extern
1184  SCIP_SET* set /**< global SCIP settings */
1185  );
1186 
1187 /** returns minimal decrease factor that causes the recomputation of a value
1188  * (e.g., pseudo objective) instead of an update */
1189 extern
1191  SCIP_SET* set /**< global SCIP settings */
1192  );
1193 
1194 /** checks, if values are in range of epsilon */
1195 extern
1197  SCIP_SET* set, /**< global SCIP settings */
1198  SCIP_Real val1, /**< first value to be compared */
1199  SCIP_Real val2 /**< second value to be compared */
1200  );
1201 
1202 /** checks, if val1 is (more than epsilon) lower than val2 */
1203 extern
1205  SCIP_SET* set, /**< global SCIP settings */
1206  SCIP_Real val1, /**< first value to be compared */
1207  SCIP_Real val2 /**< second value to be compared */
1208  );
1209 
1210 /** checks, if val1 is not (more than epsilon) greater than val2 */
1211 extern
1213  SCIP_SET* set, /**< global SCIP settings */
1214  SCIP_Real val1, /**< first value to be compared */
1215  SCIP_Real val2 /**< second value to be compared */
1216  );
1217 
1218 /** checks, if val1 is (more than epsilon) greater than val2 */
1219 extern
1221  SCIP_SET* set, /**< global SCIP settings */
1222  SCIP_Real val1, /**< first value to be compared */
1223  SCIP_Real val2 /**< second value to be compared */
1224  );
1225 
1226 /** checks, if val1 is not (more than epsilon) lower than val2 */
1227 extern
1229  SCIP_SET* set, /**< global SCIP settings */
1230  SCIP_Real val1, /**< first value to be compared */
1231  SCIP_Real val2 /**< second value to be compared */
1232  );
1233 
1234 /** checks, if value is (positive) infinite */
1235 extern
1237  SCIP_SET* set, /**< global SCIP settings */
1238  SCIP_Real val /**< value to be compared against infinity */
1239  );
1240 
1241 /** checks, if value is huge and should be handled separately (e.g., in activity computation) */
1242 extern
1244  SCIP_SET* set, /**< global SCIP settings */
1245  SCIP_Real val /**< value to be checked whether it is huge */
1246  );
1247 
1248 /** checks, if value is in range epsilon of 0.0 */
1249 extern
1251  SCIP_SET* set, /**< global SCIP settings */
1252  SCIP_Real val /**< value to be compared against zero */
1253  );
1254 
1255 /** checks, if value is greater than epsilon */
1256 extern
1258  SCIP_SET* set, /**< global SCIP settings */
1259  SCIP_Real val /**< value to be compared against zero */
1260  );
1261 
1262 /** checks, if value is lower than -epsilon */
1263 extern
1265  SCIP_SET* set, /**< global SCIP settings */
1266  SCIP_Real val /**< value to be compared against zero */
1267  );
1268 
1269 /** checks, if value is integral within epsilon */
1270 extern
1272  SCIP_SET* set, /**< global SCIP settings */
1273  SCIP_Real val /**< value to be compared against zero */
1274  );
1275 
1276 /** checks whether the product val * scalar is integral in epsilon scaled by scalar */
1277 extern
1279  SCIP_SET* set, /**< global SCIP settings */
1280  SCIP_Real val, /**< unscaled value to check for scaled integrality */
1281  SCIP_Real scalar /**< value to scale val with for checking for integrality */
1282  );
1283 
1284 /** checks, if given fractional part is smaller than epsilon */
1285 extern
1287  SCIP_SET* set, /**< global SCIP settings */
1288  SCIP_Real val /**< value to be compared against zero */
1289  );
1290 
1291 /** rounds value + feasibility tolerance down to the next integer in epsilon tolerance */
1292 extern
1294  SCIP_SET* set, /**< global SCIP settings */
1295  SCIP_Real val /**< value to be compared against zero */
1296  );
1297 
1298 /** rounds value - feasibility tolerance up to the next integer in epsilon tolerance */
1299 extern
1301  SCIP_SET* set, /**< global SCIP settings */
1302  SCIP_Real val /**< value to be compared against zero */
1303  );
1304 
1305 /** rounds value to the nearest integer in epsilon tolerance */
1306 extern
1308  SCIP_SET* set, /**< global SCIP settings */
1309  SCIP_Real val /**< value to be compared against zero */
1310  );
1311 
1312 /** returns fractional part of value, i.e. x - floor(x) in epsilon tolerance */
1313 extern
1315  SCIP_SET* set, /**< global SCIP settings */
1316  SCIP_Real val /**< value to return fractional part for */
1317  );
1318 
1319 /** checks, if values are in range of sumepsilon */
1320 extern
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 val1 is (more than sumepsilon) lower than val2 */
1328 extern
1330  SCIP_SET* set, /**< global SCIP settings */
1331  SCIP_Real val1, /**< first value to be compared */
1332  SCIP_Real val2 /**< second value to be compared */
1333  );
1334 
1335 /** checks, if val1 is not (more than sumepsilon) greater than val2 */
1336 extern
1338  SCIP_SET* set, /**< global SCIP settings */
1339  SCIP_Real val1, /**< first value to be compared */
1340  SCIP_Real val2 /**< second value to be compared */
1341  );
1342 
1343 /** checks, if val1 is (more than sumepsilon) greater than val2 */
1344 extern
1346  SCIP_SET* set, /**< global SCIP settings */
1347  SCIP_Real val1, /**< first value to be compared */
1348  SCIP_Real val2 /**< second value to be compared */
1349  );
1350 
1351 /** checks, if val1 is not (more than sumepsilon) lower than val2 */
1352 extern
1354  SCIP_SET* set, /**< global SCIP settings */
1355  SCIP_Real val1, /**< first value to be compared */
1356  SCIP_Real val2 /**< second value to be compared */
1357  );
1358 
1359 /** checks, if value is in range sumepsilon of 0.0 */
1360 extern
1362  SCIP_SET* set, /**< global SCIP settings */
1363  SCIP_Real val /**< value to be compared against zero */
1364  );
1365 
1366 /** checks, if value is greater than sumepsilon */
1367 extern
1369  SCIP_SET* set, /**< global SCIP settings */
1370  SCIP_Real val /**< value to be compared against zero */
1371  );
1372 
1373 /** checks, if value is lower than -sumepsilon */
1374 extern
1376  SCIP_SET* set, /**< global SCIP settings */
1377  SCIP_Real val /**< value to be compared against zero */
1378  );
1379 
1380 /** rounds value + sumepsilon tolerance down to the next integer */
1381 extern
1383  SCIP_SET* set, /**< global SCIP settings */
1384  SCIP_Real val /**< value to process */
1385  );
1386 
1387 /** rounds value - sumepsilon tolerance up to the next integer */
1388 extern
1390  SCIP_SET* set, /**< global SCIP settings */
1391  SCIP_Real val /**< value to process */
1392  );
1393 
1394 /** rounds value to the nearest integer in sumepsilon tolerance */
1395 extern
1397  SCIP_SET* set, /**< global SCIP settings */
1398  SCIP_Real val /**< value to process */
1399  );
1400 
1401 /** returns fractional part of value, i.e. x - floor(x) in sumepsilon tolerance */
1402 extern
1404  SCIP_SET* set, /**< global SCIP settings */
1405  SCIP_Real val /**< value to process */
1406  );
1407 
1408 /** checks, if relative difference of values is in range of feastol */
1409 extern
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 lower than feastol */
1417 extern
1419  SCIP_SET* set, /**< global SCIP settings */
1420  SCIP_Real val1, /**< first value to be compared */
1421  SCIP_Real val2 /**< second value to be compared */
1422  );
1423 
1424 /** checks, if relative difference of val1 and val2 is not greater than feastol */
1425 extern
1427  SCIP_SET* set, /**< global SCIP settings */
1428  SCIP_Real val1, /**< first value to be compared */
1429  SCIP_Real val2 /**< second value to be compared */
1430  );
1431 
1432 /** checks, if relative difference of val1 and val2 is greater than feastol */
1433 extern
1435  SCIP_SET* set, /**< global SCIP settings */
1436  SCIP_Real val1, /**< first value to be compared */
1437  SCIP_Real val2 /**< second value to be compared */
1438  );
1439 
1440 /** checks, if relative difference of val1 and val2 is not lower than -feastol */
1441 extern
1443  SCIP_SET* set, /**< global SCIP settings */
1444  SCIP_Real val1, /**< first value to be compared */
1445  SCIP_Real val2 /**< second value to be compared */
1446  );
1447 
1448 /** checks, if value is in range feasibility tolerance of 0.0 */
1449 extern
1451  SCIP_SET* set, /**< global SCIP settings */
1452  SCIP_Real val /**< value to be compared against zero */
1453  );
1454 
1455 /** checks, if value is greater than feasibility tolerance */
1456 extern
1458  SCIP_SET* set, /**< global SCIP settings */
1459  SCIP_Real val /**< value to be compared against zero */
1460  );
1461 
1462 /** checks, if value is lower than -feasibility tolerance */
1463 extern
1465  SCIP_SET* set, /**< global SCIP settings */
1466  SCIP_Real val /**< value to be compared against zero */
1467  );
1468 
1469 /** checks, if value is integral within the feasibility bounds */
1470 extern
1472  SCIP_SET* set, /**< global SCIP settings */
1473  SCIP_Real val /**< value to be compared against zero */
1474  );
1475 
1476 /** checks, if given fractional part is smaller than feastol */
1477 extern
1479  SCIP_SET* set, /**< global SCIP settings */
1480  SCIP_Real val /**< value to be compared against zero */
1481  );
1482 
1483 /** rounds value + feasibility tolerance down to the next integer */
1484 extern
1486  SCIP_SET* set, /**< global SCIP settings */
1487  SCIP_Real val /**< value to be compared against zero */
1488  );
1489 
1490 /** rounds value - feasibility tolerance up to the next integer */
1491 extern
1493  SCIP_SET* set, /**< global SCIP settings */
1494  SCIP_Real val /**< value to be compared against zero */
1495  );
1496 
1497 /** rounds value to the nearest integer in feasibility tolerance */
1498 extern
1500  SCIP_SET* set, /**< global SCIP settings */
1501  SCIP_Real val /**< value to be compared against zero */
1502  );
1503 
1504 /** returns fractional part of value, i.e. x - floor(x) in feasibility tolerance */
1505 extern
1507  SCIP_SET* set, /**< global SCIP settings */
1508  SCIP_Real val /**< value to return fractional part for */
1509  );
1510 
1511 /** checks, if relative difference of values is in range of dual feasibility tolerance */
1512 extern
1514  SCIP_SET* set, /**< global SCIP settings */
1515  SCIP_Real val1, /**< first value to be compared */
1516  SCIP_Real val2 /**< second value to be compared */
1517  );
1518 
1519 /** checks, if relative difference of val1 and val2 is lower than dual feasibility tolerance */
1520 extern
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 not greater than dual feasibility tolerance */
1528 extern
1530  SCIP_SET* set, /**< global SCIP settings */
1531  SCIP_Real val1, /**< first value to be compared */
1532  SCIP_Real val2 /**< second value to be compared */
1533  );
1534 
1535 /** checks, if relative difference of val1 and val2 is greater than dual feasibility tolerance */
1536 extern
1538  SCIP_SET* set, /**< global SCIP settings */
1539  SCIP_Real val1, /**< first value to be compared */
1540  SCIP_Real val2 /**< second value to be compared */
1541  );
1542 
1543 /** checks, if relative difference of val1 and val2 is not lower than -dual feasibility tolerance */
1544 extern
1546  SCIP_SET* set, /**< global SCIP settings */
1547  SCIP_Real val1, /**< first value to be compared */
1548  SCIP_Real val2 /**< second value to be compared */
1549  );
1550 
1551 /** checks, if value is in range dual feasibility tolerance of 0.0 */
1552 extern
1554  SCIP_SET* set, /**< global SCIP settings */
1555  SCIP_Real val /**< value to be compared against zero */
1556  );
1557 
1558 /** checks, if value is greater than dual feasibility tolerance */
1559 extern
1561  SCIP_SET* set, /**< global SCIP settings */
1562  SCIP_Real val /**< value to be compared against zero */
1563  );
1564 
1565 /** checks, if value is lower than -dual feasibility tolerance */
1566 extern
1568  SCIP_SET* set, /**< global SCIP settings */
1569  SCIP_Real val /**< value to be compared against zero */
1570  );
1571 
1572 /** checks, if value is integral within the dual feasibility bounds */
1573 extern
1575  SCIP_SET* set, /**< global SCIP settings */
1576  SCIP_Real val /**< value to be compared against zero */
1577  );
1578 
1579 /** checks, if given fractional part is smaller than dual feasibility tolerance */
1580 extern
1582  SCIP_SET* set, /**< global SCIP settings */
1583  SCIP_Real val /**< value to be compared against zero */
1584  );
1585 
1586 /** rounds value + dual feasibility tolerance down to the next integer */
1587 extern
1589  SCIP_SET* set, /**< global SCIP settings */
1590  SCIP_Real val /**< value to be compared against zero */
1591  );
1592 
1593 /** rounds value - dual feasibility tolerance up to the next integer */
1594 extern
1596  SCIP_SET* set, /**< global SCIP settings */
1597  SCIP_Real val /**< value to be compared against zero */
1598  );
1599 
1600 /** rounds value to the nearest integer in dual feasibility tolerance */
1601 extern
1603  SCIP_SET* set, /**< global SCIP settings */
1604  SCIP_Real val /**< value to be compared against zero */
1605  );
1606 
1607 /** returns fractional part of value, i.e. x - floor(x) in dual feasibility tolerance */
1608 extern
1610  SCIP_SET* set, /**< global SCIP settings */
1611  SCIP_Real val /**< value to return fractional part for */
1612  );
1613 
1614 /** checks, if the given new lower bound is at least min(oldub - oldlb, |oldlb|) times the bound
1615  * strengthening epsilon better than the old one or the change in the lower bound would fix the
1616  * sign of the variable
1617  */
1618 extern
1620  SCIP_SET* set, /**< global SCIP settings */
1621  SCIP_Real newlb, /**< new lower bound */
1622  SCIP_Real oldlb, /**< old lower bound */
1623  SCIP_Real oldub /**< old upper bound */
1624  );
1625 
1626 /** checks, if the given new upper bound is at least min(oldub - oldlb, |oldub|) times the bound
1627  * strengthening epsilon better than the old one or the change in the upper bound would fix the
1628  * sign of the variable
1629  */
1630 extern
1632  SCIP_SET* set, /**< global SCIP settings */
1633  SCIP_Real newub, /**< new upper bound */
1634  SCIP_Real oldlb, /**< old lower bound */
1635  SCIP_Real oldub /**< old upper bound */
1636  );
1637 
1638 /** checks, if the given cut's efficacy is larger than the minimal cut efficacy */
1639 extern
1641  SCIP_SET* set, /**< global SCIP settings */
1642  SCIP_Bool root, /**< should the root's minimal cut efficacy be used? */
1643  SCIP_Real efficacy /**< efficacy of the cut */
1644  );
1645 
1646 /** checks, if relative difference of values is in range of epsilon */
1647 extern
1649  SCIP_SET* set, /**< global SCIP settings */
1650  SCIP_Real val1, /**< first value to be compared */
1651  SCIP_Real val2 /**< second value to be compared */
1652  );
1653 
1654 /** checks, if relative difference of val1 and val2 is lower than epsilon */
1655 extern
1657  SCIP_SET* set, /**< global SCIP settings */
1658  SCIP_Real val1, /**< first value to be compared */
1659  SCIP_Real val2 /**< second value to be compared */
1660  );
1661 
1662 /** checks, if relative difference of val1 and val2 is not greater than epsilon */
1663 extern
1665  SCIP_SET* set, /**< global SCIP settings */
1666  SCIP_Real val1, /**< first value to be compared */
1667  SCIP_Real val2 /**< second value to be compared */
1668  );
1669 
1670 /** checks, if relative difference of val1 and val2 is greater than epsilon */
1671 extern
1673  SCIP_SET* set, /**< global SCIP settings */
1674  SCIP_Real val1, /**< first value to be compared */
1675  SCIP_Real val2 /**< second value to be compared */
1676  );
1677 
1678 /** checks, if relative difference of val1 and val2 is not lower than -epsilon */
1679 extern
1681  SCIP_SET* set, /**< global SCIP settings */
1682  SCIP_Real val1, /**< first value to be compared */
1683  SCIP_Real val2 /**< second value to be compared */
1684  );
1685 
1686 /** checks, if relative difference of values is in range of sumepsilon */
1687 extern
1689  SCIP_SET* set, /**< global SCIP settings */
1690  SCIP_Real val1, /**< first value to be compared */
1691  SCIP_Real val2 /**< second value to be compared */
1692  );
1693 
1694 /** checks, if relative difference of val1 and val2 is lower than sumepsilon */
1695 extern
1697  SCIP_SET* set, /**< global SCIP settings */
1698  SCIP_Real val1, /**< first value to be compared */
1699  SCIP_Real val2 /**< second value to be compared */
1700  );
1701 
1702 /** checks, if relative difference of val1 and val2 is not greater than sumepsilon */
1703 extern
1705  SCIP_SET* set, /**< global SCIP settings */
1706  SCIP_Real val1, /**< first value to be compared */
1707  SCIP_Real val2 /**< second value to be compared */
1708  );
1709 
1710 /** checks, if relative difference of val1 and val2 is greater than sumepsilon */
1711 extern
1713  SCIP_SET* set, /**< global SCIP settings */
1714  SCIP_Real val1, /**< first value to be compared */
1715  SCIP_Real val2 /**< second value to be compared */
1716  );
1717 
1718 /** checks, if relative difference of val1 and val2 is not lower than -sumepsilon */
1719 extern
1721  SCIP_SET* set, /**< global SCIP settings */
1722  SCIP_Real val1, /**< first value to be compared */
1723  SCIP_Real val2 /**< second value to be compared */
1724  );
1725 
1726 
1727 #ifdef NDEBUG
1728 
1729 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
1730  * speed up the algorithms.
1731  */
1732 
1733 #define SCIPsetInfinity(set) ( (set)->num_infinity )
1734 #define SCIPsetGetHugeValue(set) ( (set)->num_hugeval )
1735 #define SCIPsetEpsilon(set) ( (set)->num_epsilon )
1736 #define SCIPsetSumepsilon(set) ( (set)->num_sumepsilon )
1737 #define SCIPsetFeastol(set) ( (set)->num_feastol )
1738 #define SCIPsetLpfeastol(set) ( (set)->sepa_primfeastol == SCIP_INVALID ? (set)->num_lpfeastol : MIN((set)->num_lpfeastol, (set)->sepa_primfeastol) )
1739 #define SCIPsetSepaprimfeastol(set) ( (set)->sepa_primfeastol )
1740 #define SCIPsetDualfeastol(set) ( (set)->num_dualfeastol )
1741 #define SCIPsetBarrierconvtol(set) ( (set)->num_barrierconvtol )
1742 #define SCIPsetPseudocosteps(set) ( (set)->num_pseudocosteps )
1743 #define SCIPsetPseudocostdelta(set) ( (set)->num_pseudocostdelta )
1744 #define SCIPsetCutoffbounddelta(set) ( MIN(100.0 * SCIPsetFeastol(set), 0.0001) )
1745 #define SCIPsetRecompfac(set) ( (set)->num_recompfac )
1746 #define SCIPsetIsEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_epsilon) )
1747 #define SCIPsetIsLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_epsilon) )
1748 #define SCIPsetIsLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_epsilon) )
1749 #define SCIPsetIsGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_epsilon) )
1750 #define SCIPsetIsGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_epsilon) )
1751 #define SCIPsetIsInfinity(set, val) ( (val) >= (set)->num_infinity )
1752 #define SCIPsetIsHugeValue(set, val) ( (val) >= (set)->num_hugeval )
1753 #define SCIPsetIsZero(set, val) ( EPSZ(val, (set)->num_epsilon) )
1754 #define SCIPsetIsPositive(set, val) ( EPSP(val, (set)->num_epsilon) )
1755 #define SCIPsetIsNegative(set, val) ( EPSN(val, (set)->num_epsilon) )
1756 #define SCIPsetIsIntegral(set, val) ( EPSISINT(val, (set)->num_epsilon) )
1757 #define SCIPsetIsScalingIntegral(set, val, scalar) \
1758  ( EPSISINT((scalar)*(val), MAX(REALABS(scalar), 1.0)*(set)->num_epsilon) )
1759 #define SCIPsetIsFracIntegral(set, val) ( !EPSP(val, (set)->num_epsilon) )
1760 #define SCIPsetFloor(set, val) ( EPSFLOOR(val, (set)->num_epsilon) )
1761 #define SCIPsetCeil(set, val) ( EPSCEIL(val, (set)->num_epsilon) )
1762 #define SCIPsetRound(set, val) ( EPSROUND(val, (set)->num_epsilon) )
1763 #define SCIPsetFrac(set, val) ( EPSFRAC(val, (set)->num_epsilon) )
1764 
1765 #define SCIPsetIsSumEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_sumepsilon) )
1766 #define SCIPsetIsSumLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_sumepsilon) )
1767 #define SCIPsetIsSumLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_sumepsilon) )
1768 #define SCIPsetIsSumGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_sumepsilon) )
1769 #define SCIPsetIsSumGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_sumepsilon) )
1770 #define SCIPsetIsSumZero(set, val) ( EPSZ(val, (set)->num_sumepsilon) )
1771 #define SCIPsetIsSumPositive(set, val) ( EPSP(val, (set)->num_sumepsilon) )
1772 #define SCIPsetIsSumNegative(set, val) ( EPSN(val, (set)->num_sumepsilon) )
1773 #define SCIPsetSumFloor(set, val) ( EPSFLOOR(val, (set)->num_sumepsilon) )
1774 #define SCIPsetSumCeil(set, val) ( EPSCEIL(val, (set)->num_sumepsilon) )
1775 #define SCIPsetSumRound(set, val) ( EPSROUND(val, (set)->num_sumepsilon) )
1776 #define SCIPsetSumFrac(set, val) ( EPSFRAC(val, (set)->num_sumepsilon) )
1777 
1778 #define SCIPsetIsFeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1779 #define SCIPsetIsFeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1780 #define SCIPsetIsFeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1781 #define SCIPsetIsFeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1782 #define SCIPsetIsFeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1783 #define SCIPsetIsFeasZero(set, val) ( EPSZ(val, (set)->num_feastol) )
1784 #define SCIPsetIsFeasPositive(set, val) ( EPSP(val, (set)->num_feastol) )
1785 #define SCIPsetIsFeasNegative(set, val) ( EPSN(val, (set)->num_feastol) )
1786 #define SCIPsetIsFeasIntegral(set, val) ( EPSISINT(val, (set)->num_feastol) )
1787 #define SCIPsetIsFeasFracIntegral(set, val) ( !EPSP(val, (set)->num_feastol) )
1788 #define SCIPsetFeasFloor(set, val) ( EPSFLOOR(val, (set)->num_feastol) )
1789 #define SCIPsetFeasCeil(set, val) ( EPSCEIL(val, (set)->num_feastol) )
1790 #define SCIPsetFeasRound(set, val) ( EPSROUND(val, (set)->num_feastol) )
1791 #define SCIPsetFeasFrac(set, val) ( EPSFRAC(val, (set)->num_feastol) )
1792 
1793 #define SCIPsetIsDualfeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1794 #define SCIPsetIsDualfeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1795 #define SCIPsetIsDualfeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1796 #define SCIPsetIsDualfeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1797 #define SCIPsetIsDualfeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1798 #define SCIPsetIsDualfeasZero(set, val) ( EPSZ(val, (set)->num_dualfeastol) )
1799 #define SCIPsetIsDualfeasPositive(set, val) ( EPSP(val, (set)->num_dualfeastol) )
1800 #define SCIPsetIsDualfeasNegative(set, val) ( EPSN(val, (set)->num_dualfeastol) )
1801 #define SCIPsetIsDualfeasIntegral(set, val) ( EPSISINT(val, (set)->num_dualfeastol) )
1802 #define SCIPsetIsDualfeasFracIntegral(set, val) ( !EPSP(val, (set)->num_dualfeastol) )
1803 #define SCIPsetDualfeasFloor(set, val) ( EPSFLOOR(val, (set)->num_dualfeastol) )
1804 #define SCIPsetDualfeasCeil(set, val) ( EPSCEIL(val, (set)->num_dualfeastol) )
1805 #define SCIPsetDualfeasRound(set, val) ( EPSROUND(val, (set)->num_dualfeastol) )
1806 #define SCIPsetDualfeasFrac(set, val) ( EPSFRAC(val, (set)->num_dualfeastol) )
1807 
1808 #define SCIPsetIsLbBetter(set, newlb, oldlb, oldub) ( EPSGT(newlb, oldlb, \
1809  set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldlb)), 1e-3)) )
1810 #define SCIPsetIsUbBetter(set, newub, oldlb, oldub) ( EPSLT(newub, oldub, \
1811  set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldub)), 1e-3)) )
1812 #define SCIPsetIsEfficacious(set, root, efficacy) \
1813  ( root ? EPSP(efficacy, (set)->sepa_minefficacyroot) : EPSP(efficacy, (set)->sepa_minefficacy) )
1814 
1815 #define SCIPsetIsRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1816 #define SCIPsetIsRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1817 #define SCIPsetIsRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1818 #define SCIPsetIsRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1819 #define SCIPsetIsRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1820 
1821 #define SCIPsetIsSumRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1822 #define SCIPsetIsSumRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1823 #define SCIPsetIsSumRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1824 #define SCIPsetIsSumRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1825 #define SCIPsetIsSumRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1826 #define SCIPsetIsUpdateUnreliable(set, newvalue, oldvalue) \
1827  ( (ABS(oldvalue) / MAX(ABS(newvalue), set->num_epsilon)) >= set->num_recompfac )
1828 #define SCIPsetInitializeRandomSeed(set, val) ( (val + (set)->random_randomseedshift) )
1829 
1830 #endif
1831 
1832 #define SCIPsetAllocBuffer(set,ptr) ( (BMSallocBufferMemory((set)->buffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1833 #define SCIPsetAllocBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1834 #define SCIPsetAllocBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1835 #define SCIPsetDuplicateBufferSize(set,ptr,source,size) ( (BMSduplicateBufferMemory((set)->buffer, (ptr), (source), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1836 #define SCIPsetDuplicateBufferArray(set,ptr,source,num) ( (BMSduplicateBufferMemoryArray((set)->buffer, (ptr), (source), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1837 #define SCIPsetReallocBufferSize(set,ptr,size) ( (BMSreallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1838 #define SCIPsetReallocBufferArray(set,ptr,num) ( (BMSreallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1839 #define SCIPsetFreeBuffer(set,ptr) BMSfreeBufferMemory((set)->buffer, (ptr))
1840 #define SCIPsetFreeBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->buffer, (ptr))
1841 #define SCIPsetFreeBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->buffer, (ptr))
1842 
1843 #define SCIPsetAllocCleanBuffer(set,ptr) ( (BMSallocBufferMemory((set)->cleanbuffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1844 #define SCIPsetAllocCleanBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->cleanbuffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1845 #define SCIPsetAllocCleanBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->cleanbuffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1846 #define SCIPsetFreeCleanBuffer(set,ptr) BMSfreeBufferMemory((set)->cleanbuffer, (ptr))
1847 #define SCIPsetFreeCleanBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->cleanbuffer, (ptr))
1848 #define SCIPsetFreeCleanBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->cleanbuffer, (ptr))
1849 
1850 /* if we have a C99 compiler */
1851 #ifdef SCIP_HAVE_VARIADIC_MACROS
1852 
1853 /** prints a debugging message if SCIP_DEBUG flag is set */
1854 #ifdef SCIP_DEBUG
1855 #define SCIPsetDebugMsg(set, ...) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
1856 #define SCIPsetDebugMsgPrint(set, ...) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
1857 #else
1858 #define SCIPsetDebugMsg(set, ...) while ( FALSE ) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
1859 #define SCIPsetDebugMsgPrint(set, ...) while ( FALSE ) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
1860 #endif
1861 
1862 #else
1863 /* if we do not have a C99 compiler, use a workaround that prints a message, but not the file and linenumber */
1864 
1865 /** prints a debugging message if SCIP_DEBUG flag is set */
1866 #ifdef SCIP_DEBUG
1867 #define SCIPsetDebugMsg printf("debug: "), SCIPsetDebugMessagePrint
1868 #define SCIPsetDebugMsgPrint printf("debug: "), SCIPsetDebugMessagePrint
1869 #else
1870 #define SCIPsetDebugMsg while ( FALSE ) SCIPsetDebugMsgPrint
1871 #define SCIPsetDebugMsgPrint while ( FALSE ) SCIPsetDebugMessagePrint
1872 #endif
1873 
1874 #endif
1875 
1876 
1877 /** prints a debug message */
1878 extern
1880  SCIP_SET* set, /**< global SCIP settings */
1881  const char* sourcefile, /**< name of the source file that called the function */
1882  int sourceline, /**< line in the source file where the function was called */
1883  const char* formatstr, /**< format string like in printf() function */
1884  ... /**< format arguments line in printf() function */
1885  );
1886 
1887 /** prints a debug message without precode */
1888 extern
1890  SCIP_SET* set, /**< global SCIP settings */
1891  const char* formatstr, /**< format string like in printf() function */
1892  ... /**< format arguments line in printf() function */
1893  );
1894 
1895 
1896 #ifdef __cplusplus
1897 }
1898 #endif
1899 
1900 #endif
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 copynlpis, SCIP_Bool *allvalid)
Definition: set.c:832
int SCIPsetCalcTreeGrowSize(SCIP_SET *set, int num)
Definition: set.c:5105
SCIP_Real SCIPsetSepaprimfeastol(SCIP_SET *set)
Definition: set.c:5459
SCIP_Real SCIPsetBarrierconvtol(SCIP_SET *set)
Definition: set.c:5467
SCIP_Bool SCIPsetIsSumEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5753
SCIP_NODESEL * SCIPsetFindNodesel(SCIP_SET *set, const char *name)
Definition: set.c:4348
SCIP_RETCODE SCIPsetIncludeCompr(SCIP_SET *set, SCIP_COMPR *compr)
Definition: set.c:4200
SCIP_RETCODE SCIPsetWriteParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
Definition: set.c:3223
void SCIPsetSortRelaxs(SCIP_SET *set)
Definition: set.c:3842
SCIP_RETCODE SCIPsetIncludeDialog(SCIP_SET *set, SCIP_DIALOG *dialog)
Definition: set.c:4532
int SCIPsetGetSepaMaxcuts(SCIP_SET *set, SCIP_Bool root)
Definition: set.c:5252
SCIP_RETCODE SCIPsetGetBoolParam(SCIP_SET *set, const char *name, SCIP_Bool *value)
Definition: set.c:2840
SCIP_RETCODE SCIPsetIncludeReader(SCIP_SET *set, SCIP_READER *reader)
Definition: set.c:3375
SCIP_Bool SCIPsetIsLbBetter(SCIP_SET *set, SCIP_Real newlb, SCIP_Real oldlb, SCIP_Real oldub)
Definition: set.c:6345
SCIP_Bool SCIPsetIsFeasFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6074
SCIP_Real SCIPsetSumFrac(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5909
SCIP_Bool SCIPsetIsSumRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6561
SCIP_Real SCIPsetFeasFloor(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6087
void SCIPsetSortComprs(SCIP_SET *set)
Definition: set.c:4244
SCIP_Real SCIPsetSumFloor(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5876
SCIP_Bool SCIPsetIsSumRelGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6605
int SCIPsetGetPriceMaxvars(SCIP_SET *set, SCIP_Bool root)
Definition: set.c:5238
SCIP_Real SCIPsetCeil(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5720
SCIP_Bool SCIPsetIsUpdateUnreliable(SCIP_SET *set, SCIP_Real newvalue, SCIP_Real oldvalue)
Definition: set.c:6637
struct SCIP_ParamData SCIP_PARAMDATA
Definition: type_paramset.h:76
void SCIPsetSortRelaxsName(SCIP_SET *set)
Definition: set.c:3857
SCIP_RETCODE SCIPsetResetParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name)
Definition: set.c:3239
void SCIPsetSortPresolsName(SCIP_SET *set)
Definition: set.c:3783
SCIP_RETCODE SCIPsetSetLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Longint value)
Definition: set.c:3080
SCIP_Bool SCIPsetIsFeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5942
SCIP_RETCODE SCIPsetGetIntParam(SCIP_SET *set, const char *name, int *value)
Definition: set.c:2854
SCIP_Bool SCIPsetIsSumRelLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6539
SCIP_RETCODE SCIPsetSetPresolving(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: set.c:3324
SCIP_Bool SCIPsetIsEfficacious(SCIP_SET *set, SCIP_Bool root, SCIP_Real efficacy)
Definition: set.c:6392
SCIP_Bool SCIPsetIsUbBetter(SCIP_SET *set, SCIP_Real newub, SCIP_Real oldlb, SCIP_Real oldub)
Definition: set.c:6370
SCIP_Bool SCIPsetIsRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6451
SCIP_RETCODE SCIPsetInitprePlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:4866
SCIP_Bool SCIPsetIsHugeValue(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5533
SCIP_STAGE SCIPsetGetStage(SCIP_SET *set)
Definition: set.c:2669
SCIP_READER * SCIPsetFindReader(SCIP_SET *set, const char *name)
Definition: set.c:3397
SCIP_Real SCIPsetSumCeil(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5887
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:53
SCIP_Bool SCIPsetIsDualfeasFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6285
SCIP_Bool SCIPsetIsSumNegative(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5865
SCIP_Bool SCIPsetIsGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5616
SCIP_RETCODE SCIPsetSetSeparating(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: set.c:3342
SCIP_Bool SCIPsetIsRelGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6473
SCIP_DISP * SCIPsetFindDisp(SCIP_SET *set, const char *name)
Definition: set.c:4512
type definitions for global SCIP settings
SCIP_Bool SCIPsetIsEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5544
enum SCIP_VerbLevel SCIP_VERBLEVEL
Definition: type_message.h:48
void SCIPsetSortProps(SCIP_SET *set)
Definition: set.c:3993
SCIP_RETCODE SCIPsetSetIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, int value)
Definition: set.c:3028
SCIP_Real SCIPsetGetReferencevalue(SCIP_SET *set)
Definition: set.c:5266
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:2679
void SCIPsetSetLimitChanged(SCIP_SET *set)
Definition: set.c:5228
SCIP_RETCODE SCIPsetSetDefaultIntParam(SCIP_SET *set, const char *name, int defaultvalue)
Definition: set.c:3043
SCIP_Bool SCIPsetIsLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5580
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:2725
type definitions for presolvers
SCIP_RETCODE SCIPsetSetVerbLevel(SCIP_SET *set, SCIP_VERBLEVEL verblevel)
Definition: set.c:5123
SCIP_RETCODE SCIPsetExitsolPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat, SCIP_Bool restart)
Definition: set.c:5014
SCIP_Real SCIPsetInfinity(SCIP_SET *set)
Definition: set.c:5384
SCIP_RETCODE SCIPsetSetEmphasis(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMEMPHASIS paramemphasis, SCIP_Bool quiet)
Definition: set.c:3274
SCIP_RETCODE SCIPsetSetBarrierconvtol(SCIP_SET *set, SCIP_Real barrierconvtol)
Definition: set.c:5215
SCIP_Real SCIPsetDualfeastol(SCIP_SET *set)
Definition: set.c:5436
void SCIPsetEnableOrDisablePluginClocks(SCIP_SET *set, SCIP_Bool enabled)
Definition: set.c:772
SCIP_Bool SCIPsetIsDualfeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6131
void SCIPsetSortPresols(SCIP_SET *set)
Definition: set.c:3768
type definitions for branching rules
type definitions for problem statistics
SCIP_PROP * SCIPsetFindProp(SCIP_SET *set, const char *name)
Definition: set.c:3973
SCIP_RETCODE SCIPsetExitPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:4773
enum SCIP_ParamSetting SCIP_PARAMSETTING
Definition: type_paramset.h:56
SCIP_RETCODE SCIPsetResetParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition: set.c:3251
SCIP_Bool SCIPsetIsRelLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6429
void SCIPsetSortBranchrulesName(SCIP_SET *set)
Definition: set.c:4465
SCIP_Bool SCIPsetIsDualfeasPositive(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6252
SCIP_RETCODE SCIPsetSetDefaultBoolParam(SCIP_SET *set, const char *name, SCIP_Bool defaultvalue)
Definition: set.c:2990
SCIP_DEBUGSOLDATA * SCIPsetGetDebugSolData(SCIP_SET *set)
Definition: set.c:5277
struct SCIP_DebugSolData SCIP_DEBUGSOLDATA
Definition: debug.h:47
SCIP_SEPA * SCIPsetFindSepa(SCIP_SET *set, const char *name)
Definition: set.c:3896
SCIP_Bool SCIPsetIsFeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5964
SCIP_Bool SCIPsetIsZero(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5634
SCIP_Bool SCIPsetIsFeasZero(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6030
void SCIPsetSortSepas(SCIP_SET *set)
Definition: set.c:3916
SCIP_Bool SCIPsetIsNegative(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5656
SCIP_Bool SCIPsetIsFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5696
SCIP_RETCODE SCIPsetCopyParams(SCIP_SET *sourceset, SCIP_SET *targetset, SCIP_MESSAGEHDLR *messagehdlr)
Definition: set.c:1035
SCIP_RETCODE SCIPsetIncludePresol(SCIP_SET *set, SCIP_PRESOL *presol)
Definition: set.c:3725
type definitions for variable pricers
SCIP_RETCODE SCIPsetGetRealParam(SCIP_SET *set, const char *name, SCIP_Real *value)
Definition: set.c:2882
SCIP_Bool SCIPsetIsFeasPositive(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6041
type definitions for primal heuristics
SCIP_Real SCIPsetFeastol(SCIP_SET *set)
Definition: set.c:5426
SCIP_RETCODE SCIPsetIncludeRelax(SCIP_SET *set, SCIP_RELAX *relax)
Definition: set.c:3798
SCIP_Real SCIPsetGetHugeValue(SCIP_SET *set)
Definition: set.c:5396
type definitions for SCIP&#39;s main datastructure
SCIP_Bool SCIPsetIsSumPositive(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5854
SCIP_Real SCIPsetPseudocosteps(SCIP_SET *set)
Definition: set.c:5477
SCIP_RETCODE SCIPsetSetHeuristics(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: set.c:3306
int SCIPsetInitializeRandomSeed(SCIP_SET *set, int initialseedvalue)
Definition: set.c:6702
SCIP_Real SCIPsetDualfeasFrac(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6331
SCIP_BRANCHRULE * SCIPsetFindBranchrule(SCIP_SET *set, const char *name)
Definition: set.c:4430
SCIP_Real SCIPsetRound(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5731
SCIP_Bool SCIPsetIsDualfeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6153
void SCIPsetPrintDebugMessage(SCIP_SET *set, const char *sourcefile, int sourceline, const char *formatstr,...)
Definition: set.c:6653
void SCIPsetSortConflicthdlrsName(SCIP_SET *set)
Definition: set.c:3710
#define SCIP_DECL_PARAMCHGD(x)
Definition: type_paramset.h:91
SCIP_EVENTHDLR * SCIPsetFindEventhdlr(SCIP_SET *set, const char *name)
Definition: set.c:4297
SCIP_PRICER * SCIPsetFindPricer(SCIP_SET *set, const char *name)
Definition: set.c:3440
SCIP_RETCODE SCIPsetChgParamFixed(SCIP_SET *set, const char *name, SCIP_Bool fixed)
Definition: set.c:2924
void SCIPsetSortConflicthdlrs(SCIP_SET *set)
Definition: set.c:3695
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:2796
void SCIPsetSortHeurs(SCIP_SET *set)
Definition: set.c:4170
SCIP_RETCODE SCIPsetIncludeDisp(SCIP_SET *set, SCIP_DISP *disp)
Definition: set.c:4480
SCIP_PRESOL * SCIPsetFindPresol(SCIP_SET *set, const char *name)
Definition: set.c:3748
SCIP_RETCODE SCIPsetSetParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, void *value)
Definition: set.c:2938
SCIP_RETCODE SCIPsetChgStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, const char *value)
Definition: set.c:3171
SCIP_RETCODE SCIPsetGetCharParam(SCIP_SET *set, const char *name, char *value)
Definition: set.c:2896
SCIP_RETCODE SCIPsetSetBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Bool value)
Definition: set.c:2975
type definitions for relaxators
SCIP_Real SCIPsetFeasFrac(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6120
void SCIPsetSortHeursName(SCIP_SET *set)
Definition: set.c:4185
SCIP_RETCODE SCIPsetFree(SCIP_SET **set, BMS_BLKMEM *blkmem)
Definition: set.c:2516
int SCIPsetCalcMemGrowSize(SCIP_SET *set, int num)
Definition: set.c:5096
type definitions for conflict analysis
SCIP_Bool SCIPsetIsLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5562
type definitions for managing events
SCIP_Bool SCIPsetIsFeasIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6063
SCIP_Bool SCIPsetIsDualfeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6175
SCIP_Real SCIPsetEpsilon(SCIP_SET *set)
Definition: set.c:5406
SCIP_Bool SCIPsetIsDualfeasIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6274
SCIP_Bool SCIPsetIsGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5598
SCIP_RETCODE SCIPsetIncludeConflicthdlr(SCIP_SET *set, SCIP_CONFLICTHDLR *conflicthdlr)
Definition: set.c:3651
void SCIPsetSetPriorityNlpi(SCIP_SET *set, SCIP_NLPI *nlpi, int priority)
Definition: set.c:4633
public data structures and miscellaneous methods
#define SCIP_Bool
Definition: def.h:61
SCIP_RETCODE SCIPsetInitsolPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:4930
void SCIPsetSortPropsName(SCIP_SET *set)
Definition: set.c:4023
SCIP_RETCODE SCIPsetChgCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, char value)
Definition: set.c:3133
SCIP_Real SCIPsetLpfeastol(SCIP_SET *set)
Definition: set.c:5446
int SCIPsetGetNParams(SCIP_SET *set)
Definition: set.c:3365
SCIP_RETCODE SCIPsetChgRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Real value)
Definition: set.c:3095
SCIP_RETCODE SCIPsetIncludeBranchrule(SCIP_SET *set, SCIP_BRANCHRULE *branchrule)
Definition: set.c:4406
SCIP_RETCODE SCIPsetIncludeSepa(SCIP_SET *set, SCIP_SEPA *sepa)
Definition: set.c:3872
type definitions for input file readers
SCIP_RETCODE SCIPsetIncludeEventhdlr(SCIP_SET *set, SCIP_EVENTHDLR *eventhdlr)
Definition: set.c:4274
SCIP_CONSHDLR * SCIPsetFindConshdlr(SCIP_SET *set, const char *name)
Definition: set.c:3631
SCIP_Real SCIPsetSumRound(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5898
void SCIPsetSortBranchrules(SCIP_SET *set)
Definition: set.c:4450
SCIP_RETCODE SCIPsetSetSubscipsOff(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_Bool quiet)
Definition: set.c:3289
SCIP_RETCODE SCIPsetSetReoptimizationParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition: set.c:709
SCIP_RELAX * SCIPsetFindRelax(SCIP_SET *set, const char *name)
Definition: set.c:3822
SCIP_CONCSOLVERTYPE * SCIPsetFindConcsolverType(SCIP_SET *set, const char *name)
Definition: set.c:4060
SCIP_Real SCIPsetDualfeasFloor(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6298
SCIP_Bool SCIPsetIsSumRelEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6517
SCIP_RETCODE SCIPsetInitPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:4679
SCIP_Bool SCIPsetIsDualfeasZero(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6241
SCIP_RETCODE SCIPsetReadParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename)
Definition: set.c:3209
SCIP_RETCODE SCIPsetSetRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Real value)
Definition: set.c:3118
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:2749
SCIP_Bool SCIPsetIsSumLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5789
type definitions for clocks and timing issues
SCIP_Bool SCIPsetIsFeasNegative(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6052
SCIP_RETCODE SCIPsetIncludeConcsolver(SCIP_SET *set, SCIP_CONCSOLVER *concsolver)
Definition: set.c:4080
SCIP_Bool SCIPsetIsSumLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5771
SCIP_RETCODE SCIPsetIncludeProp(SCIP_SET *set, SCIP_PROP *prop)
Definition: set.c:3946
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:2773
SCIP_PARAM ** SCIPsetGetParams(SCIP_SET *set)
Definition: set.c:3355
SCIP_Bool SCIPsetIsSumZero(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5843
SCIP_Bool SCIPsetExistsDialog(SCIP_SET *set, SCIP_DIALOG *dialog)
Definition: set.c:4554
void SCIPsetReinsertConshdlrSepaPrio(SCIP_SET *set, SCIP_CONSHDLR *conshdlr, int oldpriority)
Definition: set.c:3546
SCIP_Bool SCIPsetIsSumGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5825
enum SCIP_ParamEmphasis SCIP_PARAMEMPHASIS
Definition: type_paramset.h:73
SCIP_Bool SCIPsetIsDualfeasNegative(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6263
void SCIPsetSortSepasName(SCIP_SET *set)
Definition: set.c:3931
SCIP_Bool SCIPsetIsDualfeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6197
SCIP_RETCODE SCIPsetSetDualfeastol(SCIP_SET *set, SCIP_Real dualfeastol)
Definition: set.c:5202
SCIP_Real SCIPsetFrac(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5742
SCIP_RETCODE SCIPsetIncludePricer(SCIP_SET *set, SCIP_PRICER *pricer)
Definition: set.c:3417
int SCIPsetCalcPathGrowSize(SCIP_SET *set, int num)
Definition: set.c:5114
type definitions for propagators
SCIP_Bool SCIPsetIsFeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5986
SCIP_RETCODE SCIPsetGetLongintParam(SCIP_SET *set, const char *name, SCIP_Longint *value)
Definition: set.c:2868
SCIP_Real SCIPsetRecompfac(SCIP_SET *set)
Definition: set.c:5512
SCIP_RETCODE SCIPsetSetFeastol(SCIP_SET *set, SCIP_Real feastol)
Definition: set.c:5142
SCIP_Real SCIPsetFeasCeil(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6098
type definitions for tree compression
void SCIPsetDebugMessagePrint(SCIP_SET *set, const char *formatstr,...)
Definition: set.c:6685
SCIP_CONFLICTHDLR * SCIPsetFindConflicthdlr(SCIP_SET *set, const char *name)
Definition: set.c:3675
type definitions for separators
SCIP_RETCODE SCIPsetSetStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, const char *value)
Definition: set.c:3194
SCIP_RETCODE SCIPsetIncludeNlpi(SCIP_SET *set, SCIP_NLPI *nlpi)
Definition: set.c:4576
SCIP_Bool SCIPsetIsParamFixed(SCIP_SET *set, const char *name)
Definition: set.c:2818
SCIP_RETCODE SCIPsetExitprePlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:4898
SCIP_Bool SCIPsetIsFeasGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6008
SCIP_Bool SCIPsetIsRelGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6495
SCIP_HEUR * SCIPsetFindHeur(SCIP_SET *set, const char *name)
Definition: set.c:4150
SCIP_Bool SCIPsetIsSumGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5807
type definitions for handling parameter settings
void SCIPsetSortNlpis(SCIP_SET *set)
Definition: set.c:4619
#define SCIP_Real
Definition: def.h:135
SCIP_Real SCIPsetFeasRound(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6109
SCIP_RETCODE SCIPsetChgBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Bool value)
Definition: set.c:2953
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:6219
SCIP_RETCODE SCIPsetGetStringParam(SCIP_SET *set, const char *name, char **value)
Definition: set.c:2910
SCIP_RETCODE SCIPsetSetLpfeastol(SCIP_SET *set, SCIP_Real lpfeastol, SCIP_Bool printnewvalue)
Definition: set.c:5164
SCIP_RETCODE SCIPsetIncludeHeur(SCIP_SET *set, SCIP_HEUR *heur)
Definition: set.c:4126
SCIP_RETCODE SCIPsetChgLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Longint value)
Definition: set.c:3057
SCIP_Bool SCIPsetIsRelEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6407
SCIP_Real SCIPsetDualfeasCeil(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6309
#define SCIP_Longint
Definition: def.h:120
SCIP_RETCODE SCIPsetIncludeConshdlr(SCIP_SET *set, SCIP_CONSHDLR *conshdlr)
Definition: set.c:3490
void SCIPsetSortPricersName(SCIP_SET *set)
Definition: set.c:3475
SCIP_Bool SCIPsetIsFeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5920
SCIP_Bool SCIPsetIsScalingIntegral(SCIP_SET *set, SCIP_Real val, SCIP_Real scalar)
Definition: set.c:5678
SCIP_Bool SCIPsetIsIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5667
SCIP_RETCODE SCIPsetCreate(SCIP_SET **set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, SCIP *scip)
Definition: set.c:1052
SCIP_Bool SCIPsetIsInfinity(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5522
void SCIPsetSortComprsName(SCIP_SET *set)
Definition: set.c:4259
SCIP_Bool SCIPsetIsSumRelGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6583
common defines and data types used in all packages of SCIP
struct BMS_BlkMem BMS_BLKMEM
Definition: memory.h:392
SCIP_NODESEL * SCIPsetGetNodesel(SCIP_SET *set, SCIP_STAT *stat)
Definition: set.c:4368
SCIP_RETCODE SCIPsetIncludeNodesel(SCIP_SET *set, SCIP_NODESEL *nodesel)
Definition: set.c:4317
SCIP_RETCODE SCIPsetChgIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, int value)
Definition: set.c:3005
SCIP_Real SCIPsetCutoffbounddelta(SCIP_SET *set)
Definition: set.c:5497
type definitions for node selectors
SCIP_PARAM * SCIPsetGetParam(SCIP_SET *set, const char *name)
Definition: set.c:2829
SCIP_NLPI * SCIPsetFindNlpi(SCIP_SET *set, const char *name)
Definition: set.c:4599
SCIP_RETCODE SCIPsetIncludeExternalCode(SCIP_SET *set, const char *name, const char *description)
Definition: set.c:4647
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:2701
datastructures for global SCIP settings
SCIP_Real SCIPsetSumepsilon(SCIP_SET *set)
Definition: set.c:5416
void SCIPsetSortPricers(SCIP_SET *set)
Definition: set.c:3460
SCIP_Real SCIPsetDualfeasRound(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6320
void SCIPsetSortPropsPresol(SCIP_SET *set)
Definition: set.c:4008
SCIP_Real SCIPsetFloor(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5709
SCIP_RETCODE SCIPsetFreeConcsolvers(SCIP_SET *set)
Definition: set.c:4104
SCIP_RETCODE SCIPsetIncludeConcsolverType(SCIP_SET *set, SCIP_CONCSOLVERTYPE *concsolvertype)
Definition: set.c:4038
type definitions for constraints and constraint handlers
SCIP_Real SCIPsetPseudocostdelta(SCIP_SET *set)
Definition: set.c:5487
SCIP_COMPR * SCIPsetFindCompr(SCIP_SET *set, const char *name)
Definition: set.c:4224
SCIP_RETCODE SCIPsetSetCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, char value)
Definition: set.c:3156
type definitions for displaying runtime statistics
memory allocation routines
SCIP_Bool SCIPsetIsPositive(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5645