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-2018 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_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/struct_set.h"
53 
54 
55 #ifdef NDEBUG
56 #include "scip/pub_misc.h"
57 #endif
58 
59 #ifdef __cplusplus
60 extern "C" {
61 #endif
62 
63 /** copies plugins from sourcescip to targetscip; in case that a constraint handler which does not need constraints
64  * cannot be copied, valid will return FALSE. All plugins can declare that, if their copy process failed, the
65  * copied SCIP instance might not represent the same problem semantics as the original.
66  * Note that in this case dual reductions might be invalid. */
67 extern
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 */
91 extern
93  SCIP_SET* sourceset, /**< source SCIP_SET data structure */
94  SCIP_SET* targetset, /**< target SCIP_SET data structure */
95  SCIP_MESSAGEHDLR* messagehdlr /**< message handler of target SCIP */
96  );
97 
98 /** creates global SCIP settings */
99 extern
101  SCIP_SET** set, /**< pointer to SCIP settings */
102  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
103  BMS_BLKMEM* blkmem, /**< block memory */
104  SCIP* scip /**< SCIP data structure */
105  );
106 
107 /** frees global SCIP settings */
108 extern
110  SCIP_SET** set, /**< pointer to SCIP settings */
111  BMS_BLKMEM* blkmem /**< block memory */
112  );
113 
114 /** returns current stage of SCIP */
115 extern
117  SCIP_SET* set /**< pointer to SCIP settings */
118  );
119 
120 /** creates a SCIP_Bool parameter, sets it to its default value, and adds it to the parameter set */
121 extern
123  SCIP_SET* set, /**< global SCIP settings */
124  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
125  BMS_BLKMEM* blkmem, /**< block memory */
126  const char* name, /**< name of the parameter */
127  const char* desc, /**< description of the parameter */
128  SCIP_Bool* valueptr, /**< pointer to store the current parameter value, or NULL */
129  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
130  SCIP_Bool defaultvalue, /**< default value of the parameter */
131  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
132  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
133  );
134 
135 /** creates a int parameter, sets it to its default value, and adds it to the parameter set */
136 extern
138  SCIP_SET* set, /**< global SCIP settings */
139  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
140  BMS_BLKMEM* blkmem, /**< block memory */
141  const char* name, /**< name of the parameter */
142  const char* desc, /**< description of the parameter */
143  int* valueptr, /**< pointer to store the current parameter value, or NULL */
144  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
145  int defaultvalue, /**< default value of the parameter */
146  int minvalue, /**< minimum value for parameter */
147  int maxvalue, /**< maximum value for parameter */
148  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
149  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
150  );
151 
152 /** creates a SCIP_Longint parameter, sets it to its default value, and adds it to the parameter set */
153 extern
155  SCIP_SET* set, /**< global SCIP settings */
156  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
157  BMS_BLKMEM* blkmem, /**< block memory */
158  const char* name, /**< name of the parameter */
159  const char* desc, /**< description of the parameter */
160  SCIP_Longint* valueptr, /**< pointer to store the current parameter value, or NULL */
161  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
162  SCIP_Longint defaultvalue, /**< default value of the parameter */
163  SCIP_Longint minvalue, /**< minimum value for parameter */
164  SCIP_Longint maxvalue, /**< maximum value for parameter */
165  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
166  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
167  );
168 
169 /** creates a SCIP_Real parameter, sets it to its default value, and adds it to the parameter set */
170 extern
172  SCIP_SET* set, /**< global SCIP settings */
173  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
174  BMS_BLKMEM* blkmem, /**< block memory */
175  const char* name, /**< name of the parameter */
176  const char* desc, /**< description of the parameter */
177  SCIP_Real* valueptr, /**< pointer to store the current parameter value, or NULL */
178  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
179  SCIP_Real defaultvalue, /**< default value of the parameter */
180  SCIP_Real minvalue, /**< minimum value for parameter */
181  SCIP_Real maxvalue, /**< maximum value for parameter */
182  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
183  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
184  );
185 
186 /** creates a char parameter, sets it to its default value, and adds it to the parameter set */
187 extern
189  SCIP_SET* set, /**< global SCIP settings */
190  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
191  BMS_BLKMEM* blkmem, /**< block memory */
192  const char* name, /**< name of the parameter */
193  const char* desc, /**< description of the parameter */
194  char* valueptr, /**< pointer to store the current parameter value, or NULL */
195  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
196  char defaultvalue, /**< default value of the parameter */
197  const char* allowedvalues, /**< array with possible parameter values, or NULL if not restricted */
198  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
199  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
200  );
201 
202 /** creates a string parameter, sets it to its default value, and adds it to the parameter set */
203 extern
205  SCIP_SET* set, /**< global SCIP settings */
206  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
207  BMS_BLKMEM* blkmem, /**< block memory */
208  const char* name, /**< name of the parameter */
209  const char* desc, /**< description of the parameter */
210  char** valueptr, /**< pointer to store the current parameter value, or NULL */
211  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
212  const char* defaultvalue, /**< default value of the parameter */
213  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
214  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
215  );
216 
217 /** gets the fixing status value of an existing parameter */
218 extern
220  SCIP_SET* set, /**< global SCIP settings */
221  const char* name /**< name of the parameter */
222  );
223 
224 /** returns the pointer to the SCIP parameter with the given name */
225 extern
227  SCIP_SET* set, /**< global SCIP settings */
228  const char* name /**< name of the parameter */
229  );
230 
231 /** gets the value of an existing SCIP_Bool parameter */
233  SCIP_SET* set, /**< global SCIP settings */
234  const char* name, /**< name of the parameter */
235  SCIP_Bool* value /**< pointer to store the parameter */
236  );
237 
238 /** gets the value of an existing Int parameter */
239 extern
241  SCIP_SET* set, /**< global SCIP settings */
242  const char* name, /**< name of the parameter */
243  int* value /**< pointer to store the parameter */
244  );
245 
246 /** gets the value of an existing SCIP_Longint parameter */
247 extern
249  SCIP_SET* set, /**< global SCIP settings */
250  const char* name, /**< name of the parameter */
251  SCIP_Longint* value /**< pointer to store the parameter */
252  );
253 
254 /** gets the value of an existing SCIP_Real parameter */
255 extern
257  SCIP_SET* set, /**< global SCIP settings */
258  const char* name, /**< name of the parameter */
259  SCIP_Real* value /**< pointer to store the parameter */
260  );
261 
262 /** gets the value of an existing Char parameter */
263 extern
265  SCIP_SET* set, /**< global SCIP settings */
266  const char* name, /**< name of the parameter */
267  char* value /**< pointer to store the parameter */
268  );
269 
270 /** gets the value of an existing String parameter */
271 extern
273  SCIP_SET* set, /**< global SCIP settings */
274  const char* name, /**< name of the parameter */
275  char** value /**< pointer to store the parameter */
276  );
277 
278 /** changes the fixing status of an existing parameter */
279 extern
281  SCIP_SET* set, /**< global SCIP settings */
282  const char* name, /**< name of the parameter */
283  SCIP_Bool fixed /**< new fixing status of the parameter */
284  );
285 
286 /** changes the value of an existing parameter */
287 extern
289  SCIP_SET* set, /**< global SCIP settings */
290  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
291  const char* name, /**< name of the parameter */
292  void* value /**< new value of the parameter */
293  );
294 
295 /** changes the value of an existing SCIP_Bool parameter */
296 extern
298  SCIP_SET* set, /**< global SCIP settings */
299  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
300  SCIP_PARAM* param, /**< parameter */
301  SCIP_Bool value /**< new value of the parameter */
302  );
303 
304 /** changes the value of an existing SCIP_Bool parameter */
305 extern
307  SCIP_SET* set, /**< global SCIP settings */
308  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
309  const char* name, /**< name of the parameter */
310  SCIP_Bool value /**< new value of the parameter */
311  );
312 
313 /** changes the default value of an existing SCIP_Bool parameter */
314 extern
316  SCIP_SET* set, /**< global SCIP settings */
317  const char* name, /**< name of the parameter */
318  SCIP_Bool defaultvalue /**< new default value of the parameter */
319  );
320 
321 /** changes the value of an existing Int parameter */
322 extern
324  SCIP_SET* set, /**< global SCIP settings */
325  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
326  SCIP_PARAM* param, /**< parameter */
327  int value /**< new value of the parameter */
328  );
329 
330 /** changes the value of an existing Int parameter */
331 extern
333  SCIP_SET* set, /**< global SCIP settings */
334  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
335  const char* name, /**< name of the parameter */
336  int value /**< new value of the parameter */
337  );
338 
339 /** changes the default value of an existing Int parameter */
340 extern
342  SCIP_SET* set, /**< global SCIP settings */
343  const char* name, /**< name of the parameter */
344  int defaultvalue /**< new default value of the parameter */
345  );
346 
347 /** changes the value of an existing SCIP_Longint parameter */
348 extern
350  SCIP_SET* set, /**< global SCIP settings */
351  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
352  SCIP_PARAM* param, /**< parameter */
353  SCIP_Longint value /**< new value of the parameter */
354  );
355 
356 /** changes the value of an existing SCIP_Longint parameter */
357 extern
359  SCIP_SET* set, /**< global SCIP settings */
360  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
361  const char* name, /**< name of the parameter */
362  SCIP_Longint value /**< new value of the parameter */
363  );
364 
365 /** changes the value of an existing SCIP_Real parameter */
366 extern
368  SCIP_SET* set, /**< global SCIP settings */
369  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
370  SCIP_PARAM* param, /**< parameter */
371  SCIP_Real value /**< new value of the parameter */
372  );
373 
374 /** changes the value of an existing SCIP_Real parameter */
375 extern
377  SCIP_SET* set, /**< global SCIP settings */
378  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
379  const char* name, /**< name of the parameter */
380  SCIP_Real value /**< new value of the parameter */
381  );
382 
383 /** changes the value of an existing Char parameter */
384 extern
386  SCIP_SET* set, /**< global SCIP settings */
387  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
388  SCIP_PARAM* param, /**< parameter */
389  char value /**< new value of the parameter */
390  );
391 
392 /** changes the value of an existing Char parameter */
393 extern
395  SCIP_SET* set, /**< global SCIP settings */
396  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
397  const char* name, /**< name of the parameter */
398  char value /**< new value of the parameter */
399  );
400 
401 /** changes the value of an existing String parameter */
402 extern
404  SCIP_SET* set, /**< global SCIP settings */
405  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
406  SCIP_PARAM* param, /**< parameter */
407  const char* value /**< new value of the parameter */
408  );
409 
410 /** changes the value of an existing String parameter */
411 extern
413  SCIP_SET* set, /**< global SCIP settings */
414  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
415  const char* name, /**< name of the parameter */
416  const char* value /**< new value of the parameter */
417  );
418 
419 /** reads parameters from a file */
420 extern
422  SCIP_SET* set, /**< global SCIP settings */
423  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
424  const char* filename /**< file name */
425  );
426 
427 /** writes all parameters in the parameter set to a file */
428 extern
430  SCIP_SET* set, /**< global SCIP settings */
431  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
432  const char* filename, /**< file name, or NULL for stdout */
433  SCIP_Bool comments, /**< should parameter descriptions be written as comments? */
434  SCIP_Bool onlychanged /**< should only the parameters been written, that are changed from default? */
435  );
436 
437 /** resets a single parameters to its default value */
438 extern
440  SCIP_SET* set, /**< global SCIP settings */
441  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
442  const char* name /**< name of the parameter */
443  );
444 
445 /** resets all parameters to their default values */
446 extern
448  SCIP_SET* set, /**< global SCIP settings */
449  SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
450  );
451 
452 /** sets parameters to
453  *
454  * - \ref SCIP_PARAMEMPHASIS_DEFAULT to use default values (see also SCIPsetResetParams())
455  * - \ref SCIP_PARAMEMPHASIS_COUNTER to get feasible and "fast" counting process
456  * - \ref SCIP_PARAMEMPHASIS_CPSOLVER to get CP like search (e.g. no LP relaxation)
457  * - \ref SCIP_PARAMEMPHASIS_EASYCIP to solve easy problems fast
458  * - \ref SCIP_PARAMEMPHASIS_FEASIBILITY to detect feasibility fast
459  * - \ref SCIP_PARAMEMPHASIS_HARDLP to be capable to handle hard LPs
460  * - \ref SCIP_PARAMEMPHASIS_OPTIMALITY to prove optimality fast
461  * - \ref SCIP_PARAMEMPHASIS_PHASEFEAS to find feasible solutions during a 3 phase solution process
462  * - \ref SCIP_PARAMEMPHASIS_PHASEIMPROVE to find improved solutions during a 3 phase solution process
463  * - \ref SCIP_PARAMEMPHASIS_PHASEPROOF to proof optimality during a 3 phase solution process
464  */
465 extern
467  SCIP_SET* set, /**< global SCIP settings */
468  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
469  SCIP_PARAMEMPHASIS paramemphasis, /**< parameter settings */
470  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
471  );
472 
473 /** set parameters for reoptimization */
474 extern
476  SCIP_SET* set, /**< SCIP data structure */
477  SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
478  );
479 
480 /** enable or disable all plugin timers depending on the value of the flag \p enabled */
481 extern
483  SCIP_SET* set, /**< SCIP settings */
484  SCIP_Bool enabled /**< should plugin clocks be enabled? */
485  );
486 
487 /** sets parameters to deactivate separators and heuristics that use auxiliary SCIP instances; should be called for
488  * auxiliary SCIP instances to avoid recursion
489  */
490 extern
492  SCIP_SET* set, /**< global SCIP settings */
493  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
494  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
495  );
496 
497 /** sets heuristic parameters values to
498  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all heuristic parameters
499  * - SCIP_PARAMSETTING_FAST such that the time spend for heuristic is decreased
500  * - SCIP_PARAMSETTING_AGGRESSIVE such that the heuristic are called more aggregative
501  * - SCIP_PARAMSETTING_OFF which turn off all heuristics
502  */
503 extern
505  SCIP_SET* set, /**< global SCIP settings */
506  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
507  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
508  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
509  );
510 
511 /** sets presolving parameters to
512  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all presolving parameters
513  * - SCIP_PARAMSETTING_FAST such that the time spend for presolving is decreased
514  * - SCIP_PARAMSETTING_AGGRESSIVE such that the presolving is more aggregative
515  * - SCIP_PARAMSETTING_OFF which turn off all presolving
516  */
517 extern
519  SCIP_SET* set, /**< global SCIP settings */
520  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
521  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
522  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
523  );
524 
525 /** sets separating parameters to
526  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all separating parameters
527  * - SCIP_PARAMSETTING_FAST such that the time spend for separating is decreased
528  * - SCIP_PARAMSETTING_AGGRESSIVE such that the separating is done more aggregative
529  * - SCIP_PARAMSETTING_OFF which turn off all separating
530  */
531 extern
533  SCIP_SET* set, /**< global SCIP settings */
534  SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
535  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
536  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
537  );
538 
539 /** returns the array of all available SCIP parameters */
540 extern
542  SCIP_SET* set /**< global SCIP settings */
543  );
544 
545 /** returns the total number of all available SCIP parameters */
546 extern
548  SCIP_SET* set /**< global SCIP settings */
549  );
550 
551 /** inserts file reader in file reader list */
552 extern
554  SCIP_SET* set, /**< global SCIP settings */
555  SCIP_READER* reader /**< file reader */
556  );
557 
558 /** returns the file reader of the given name, or NULL if not existing */
559 extern
561  SCIP_SET* set, /**< global SCIP settings */
562  const char* name /**< name of file reader */
563  );
564 
565 /** inserts variable pricer in variable pricer list */
566 extern
568  SCIP_SET* set, /**< global SCIP settings */
569  SCIP_PRICER* pricer /**< variable pricer */
570  );
571 
572 /** returns the variable pricer of the given name, or NULL if not existing */
573 extern
575  SCIP_SET* set, /**< global SCIP settings */
576  const char* name /**< name of variable pricer */
577  );
578 
579 /** sorts pricers by priorities */
580 extern
581 void SCIPsetSortPricers(
582  SCIP_SET* set /**< global SCIP settings */
583  );
584 
585 /** sorts pricers by name */
586 extern
588  SCIP_SET* set /**< global SCIP settings */
589  );
590 
591 /** inserts constraint handler in constraint handler list */
592 extern
594  SCIP_SET* set, /**< global SCIP settings */
595  SCIP_CONSHDLR* conshdlr /**< constraint handler */
596  );
597 
598 /** reinserts a constraint handler with modified sepa priority into the sepa priority sorted array */
599 extern
601  SCIP_SET* set, /**< global SCIP settings */
602  SCIP_CONSHDLR* conshdlr, /**< constraint handler to be reinserted */
603  int oldpriority /**< the old separation priority of constraint handler */
604  );
605 
606 /** returns the constraint handler of the given name, or NULL if not existing */
607 extern
609  SCIP_SET* set, /**< global SCIP settings */
610  const char* name /**< name of constraint handler */
611  );
612 
613 /** inserts conflict handler in conflict handler list */
614 extern
616  SCIP_SET* set, /**< global SCIP settings */
617  SCIP_CONFLICTHDLR* conflicthdlr /**< conflict handler */
618  );
619 
620 /** returns the conflict handler of the given name, or NULL if not existing */
621 extern
623  SCIP_SET* set, /**< global SCIP settings */
624  const char* name /**< name of conflict handler */
625  );
626 
627 /** sorts conflict handlers by priorities */
628 extern
630  SCIP_SET* set /**< global SCIP settings */
631  );
632 
633 /** sorts conflict handlers by name */
634 extern
636  SCIP_SET* set /**< global SCIP settings */
637  );
638 
639 /** inserts presolver in presolver list */
640 extern
642  SCIP_SET* set, /**< global SCIP settings */
643  SCIP_PRESOL* presol /**< presolver */
644  );
645 
646 /** returns the presolver of the given name, or NULL if not existing */
647 extern
649  SCIP_SET* set, /**< global SCIP settings */
650  const char* name /**< name of presolver */
651  );
652 
653 /** sorts presolvers by priorities */
654 extern
655 void SCIPsetSortPresols(
656  SCIP_SET* set /**< global SCIP settings */
657  );
658 
659 /** sorts presolvers by name */
660 extern
662  SCIP_SET* set /**< global SCIP settings */
663  );
664 
665 /** inserts relaxator in relaxator list */
666 extern
668  SCIP_SET* set, /**< global SCIP settings */
669  SCIP_RELAX* relax /**< relaxator */
670  );
671 
672 /** returns the relaxator of the given name, or NULL if not existing */
673 extern
675  SCIP_SET* set, /**< global SCIP settings */
676  const char* name /**< name of relaxator */
677  );
678 
679 /** sorts relaxators by priorities */
680 extern
681 void SCIPsetSortRelaxs(
682  SCIP_SET* set /**< global SCIP settings */
683  );
684 
685 /** sorts relaxators by name */
686 extern
688  SCIP_SET* set /**< global SCIP settings */
689  );
690 
691 /** inserts separator in separator list */
692 extern
694  SCIP_SET* set, /**< global SCIP settings */
695  SCIP_SEPA* sepa /**< separator */
696  );
697 
698 /** returns the separator of the given name, or NULL if not existing */
699 extern
701  SCIP_SET* set, /**< global SCIP settings */
702  const char* name /**< name of separator */
703  );
704 
705 /** sorts separators by priorities */
706 extern
707 void SCIPsetSortSepas(
708  SCIP_SET* set /**< global SCIP settings */
709  );
710 
711 /** sorts separators by name */
712 extern
714  SCIP_SET* set /**< global SCIP settings */
715  );
716 
717 /** inserts propagator in propagator list */
718 extern
720  SCIP_SET* set, /**< global SCIP settings */
721  SCIP_PROP* prop /**< propagator */
722  );
723 
724 /** returns the propagator of the given name, or NULL if not existing */
725 extern
727  SCIP_SET* set, /**< global SCIP settings */
728  const char* name /**< name of propagator */
729  );
730 
731 /** sorts propagators by priorities */
732 extern
733 void SCIPsetSortProps(
734  SCIP_SET* set /**< global SCIP settings */
735  );
736 
737 /** sorts propagators by priorities for presolving */
738 extern
740  SCIP_SET* set /**< global SCIP settings */
741  );
742 
743 /** sorts propagators w.r.t. names */
744 extern
746  SCIP_SET* set /**< global SCIP settings */
747  );
748 
749 /** inserts concurrent solver type into the concurrent solver type list */
750 extern
752  SCIP_SET* set, /**< global SCIP settings */
753  SCIP_CONCSOLVERTYPE* concsolvertype /**< concurrent solver type */
754  );
755 
756 /** returns the concurrent solver type with the given name, or NULL if not existing */
757 extern
759  SCIP_SET* set, /**< global SCIP settings */
760  const char* name /**< name of concurrent solver type */
761  );
762 
763 /** inserts concurrent solver into the concurrent solver list */
764 extern
766  SCIP_SET* set, /**< global SCIP settings */
767  SCIP_CONCSOLVER* concsolver /**< concurrent solver */
768  );
769 
770 /** frees all concurrent solvers in the concurrent solver list */
771 extern
773  SCIP_SET* set /**< global SCIP settings */
774  );
775 
776 /** inserts primal heuristic in primal heuristic list */
777 extern
779  SCIP_SET* set, /**< global SCIP settings */
780  SCIP_HEUR* heur /**< primal heuristic */
781  );
782 
783 /** returns the primal heuristic of the given name, or NULL if not existing */
784 extern
786  SCIP_SET* set, /**< global SCIP settings */
787  const char* name /**< name of primal heuristic */
788  );
789 
790 /** sorts heuristics by priorities */
791 extern
792 void SCIPsetSortHeurs(
793  SCIP_SET* set /**< global SCIP settings */
794  );
795 
796 /** sorts heuristics by name */
797 extern
799  SCIP_SET* set /**< global SCIP settings */
800  );
801 
802 /** inserts tree compression in tree compression list */
803 extern
805  SCIP_SET* set, /**< global SCIP settings */
806  SCIP_COMPR* compr /**< tree compression */
807  );
808 
809 /** returns the tree compression of the given name, or NULL if not existing */
810 extern
812  SCIP_SET* set, /**< global SCIP settings */
813  const char* name /**< name of tree compression */
814  );
815 
816 /** sorts compressions by priorities */
817 extern
818 void SCIPsetSortComprs(
819  SCIP_SET* set /**< global SCIP settings */
820  );
821 
822 /** sorts heuristics by names */
823 extern
825  SCIP_SET* set /**< global SCIP settings */
826  );
827 
828 /** inserts event handler in event handler list */
829 extern
831  SCIP_SET* set, /**< global SCIP settings */
832  SCIP_EVENTHDLR* eventhdlr /**< event handler */
833  );
834 
835 /** returns the event handler of the given name, or NULL if not existing */
836 extern
838  SCIP_SET* set, /**< global SCIP settings */
839  const char* name /**< name of event handler */
840  );
841 
842 /** inserts node selector in node selector list */
843 extern
845  SCIP_SET* set, /**< global SCIP settings */
846  SCIP_NODESEL* nodesel /**< node selector */
847  );
848 
849 /** returns the node selector of the given name, or NULL if not existing */
850 extern
852  SCIP_SET* set, /**< global SCIP settings */
853  const char* name /**< name of event handler */
854  );
855 
856 /** returns node selector with highest priority in the current mode */
857 extern
859  SCIP_SET* set, /**< global SCIP settings */
860  SCIP_STAT* stat /**< dynamic problem statistics */
861  );
862 
863 /** inserts branching rule in branching rule list */
864 extern
866  SCIP_SET* set, /**< global SCIP settings */
867  SCIP_BRANCHRULE* branchrule /**< branching rule */
868  );
869 
870 /** returns the branching rule of the given name, or NULL if not existing */
871 extern
873  SCIP_SET* set, /**< global SCIP settings */
874  const char* name /**< name of event handler */
875  );
876 
877 /** sorts branching rules by priorities */
878 extern
880  SCIP_SET* set /**< global SCIP settings */
881  );
882 
883 /** sorts branching rules by name */
884 extern
886  SCIP_SET* set /**< global SCIP settings */
887  );
888 
889 /** inserts display column in display column list */
890 extern
892  SCIP_SET* set, /**< global SCIP settings */
893  SCIP_DISP* disp /**< display column */
894  );
895 
896 /** returns the display column of the given name, or NULL if not existing */
897 extern
899  SCIP_SET* set, /**< global SCIP settings */
900  const char* name /**< name of display */
901  );
902 
903 /** inserts statistics table in statistics table list */
904 extern
906  SCIP_SET* set, /**< global SCIP settings */
907  SCIP_TABLE* table /**< statistics table */
908  );
909 
910 /** returns the statistics table of the given name, or NULL if not existing */
911 extern
913  SCIP_SET* set, /**< global SCIP settings */
914  const char* name /**< name of statistics table */
915  );
916 
917 /** inserts dialog in dialog list */
918 extern
920  SCIP_SET* set, /**< global SCIP settings */
921  SCIP_DIALOG* dialog /**< dialog */
922  );
923 
924 /** returns if the dialog already exists */
925 extern
927  SCIP_SET* set, /**< global SCIP settings */
928  SCIP_DIALOG* dialog /**< dialog */
929  );
930 
931 /** inserts NLPI in NLPI list */
932 extern
934  SCIP_SET* set, /**< global SCIP settings */
935  SCIP_NLPI* nlpi /**< NLPI */
936  );
937 
938 /** returns the NLPI of the given name, or NULL if not existing */
939 extern
941  SCIP_SET* set, /**< global SCIP settings */
942  const char* name /**< name of NLPI */
943  );
944 
945 /** sorts NLPIs by priorities */
946 extern
947 void SCIPsetSortNlpis(
948  SCIP_SET* set /**< global SCIP settings */
949  );
950 
951 /** set priority of an NLPI */
952 extern
954  SCIP_SET* set, /**< global SCIP settings */
955  SCIP_NLPI* nlpi, /**< NLPI */
956  int priority /**< new priority of NLPI */
957  );
958 
959 /** inserts information about an external code in external codes list */
960 extern
962  SCIP_SET* set, /**< global SCIP settings */
963  const char* name, /**< name of external code */
964  const char* description /**< description of external code, can be NULL */
965  );
966 
967 /** inserts bandit virtual function table into set */
968 extern
970  SCIP_SET* set, /**< global SCIP settings */
971  SCIP_BANDITVTABLE* banditvtable /**< bandit algorithm virtual function table */
972  );
973 
974 /** returns the bandit virtual function table of the given name, or NULL if not existing */
975 extern
977  SCIP_SET* set, /**< global SCIP settings */
978  const char* name /**< name of bandit algorithm virtual function table */
979  );
980 
981 /** calls init methods of all plugins */
982 extern
984  SCIP_SET* set, /**< global SCIP settings */
985  BMS_BLKMEM* blkmem, /**< block memory */
986  SCIP_STAT* stat /**< dynamic problem statistics */
987  );
988 
989 /** calls exit methods of all plugins */
990 extern
992  SCIP_SET* set, /**< global SCIP settings */
993  BMS_BLKMEM* blkmem, /**< block memory */
994  SCIP_STAT* stat /**< dynamic problem statistics */
995  );
996 
997 /** calls initpre methods of all plugins */
998 extern
1000  SCIP_SET* set, /**< global SCIP settings */
1001  BMS_BLKMEM* blkmem, /**< block memory */
1002  SCIP_STAT* stat /**< dynamic problem statistics */
1003  );
1004 
1005 /** calls exitpre methods of all plugins */
1006 extern
1008  SCIP_SET* set, /**< global SCIP settings */
1009  BMS_BLKMEM* blkmem, /**< block memory */
1010  SCIP_STAT* stat /**< dynamic problem statistics */
1011  );
1012 
1013 /** calls initsol methods of all plugins */
1014 extern
1016  SCIP_SET* set, /**< global SCIP settings */
1017  BMS_BLKMEM* blkmem, /**< block memory */
1018  SCIP_STAT* stat /**< dynamic problem statistics */
1019  );
1020 
1021 /** calls exitsol methods of all plugins */
1022 extern
1024  SCIP_SET* set, /**< global SCIP settings */
1025  BMS_BLKMEM* blkmem, /**< block memory */
1026  SCIP_STAT* stat, /**< dynamic problem statistics */
1027  SCIP_Bool restart /**< was this exit solve call triggered by a restart? */
1028  );
1029 
1030 /** calculate memory size for dynamically allocated arrays */
1031 extern
1033  SCIP_SET* set, /**< global SCIP settings */
1034  int num /**< minimum number of entries to store */
1035  );
1036 
1037 /** calculate memory size for tree array */
1038 extern
1040  SCIP_SET* set, /**< global SCIP settings */
1041  int num /**< minimum number of entries to store */
1042  );
1043 
1044 /** calculate memory size for path array */
1045 extern
1047  SCIP_SET* set, /**< global SCIP settings */
1048  int num /**< minimum number of entries to store */
1049  );
1050 
1051 /** sets verbosity level for message output */
1052 extern
1054  SCIP_SET* set, /**< global SCIP settings */
1055  SCIP_VERBLEVEL verblevel /**< verbosity level for message output */
1056  );
1057 
1058 /** sets feasibility tolerance */
1059 extern
1061  SCIP_SET* set, /**< global SCIP settings */
1062  SCIP_Real feastol /**< new feasibility tolerance */
1063  );
1064 
1065 /** sets primal feasibility tolerance of LP solver */
1066 extern
1068  SCIP_SET* set, /**< global SCIP settings */
1069  SCIP_Real lpfeastol, /**< new primal feasibility tolerance of LP solver */
1070  SCIP_Bool printnewvalue /**< should "numerics/lpfeastol = ..." be printed? */
1071  );
1072 
1073 /** sets feasibility tolerance for reduced costs in LP solution */
1074 extern
1076  SCIP_SET* set, /**< global SCIP settings */
1077  SCIP_Real dualfeastol /**< new reduced costs feasibility tolerance */
1078  );
1079 
1080 /** sets LP convergence tolerance used in barrier algorithm */
1081 extern
1083  SCIP_SET* set, /**< global SCIP settings */
1084  SCIP_Real barrierconvtol /**< new convergence tolerance used in barrier algorithm */
1085  );
1086 
1087 /** sets primal feasibility tolerance for relaxations (relaxfeastol)
1088  *
1089  * @note Set to SCIP_INVALID to apply relaxation-specific feasibility tolerance only.
1090  *
1091  * @return Previous value of relaxfeastol.
1092  */
1093 extern
1095  SCIP_SET* set, /**< global SCIP settings */
1096  SCIP_Real relaxfeastol /**< new primal feasibility tolerance for relaxations, or SCIP_INVALID */
1097  );
1098 
1099 /** marks that some limit parameter was changed */
1100 extern
1102  SCIP_SET* set /**< global SCIP settings */
1103  );
1104 
1105 /** returns the maximal number of variables priced into the LP per round */
1106 extern
1108  SCIP_SET* set, /**< global SCIP settings */
1109  SCIP_Bool root /**< are we at the root node? */
1110  );
1111 
1112 /** returns the maximal number of cuts separated per round */
1113 extern
1115  SCIP_SET* set, /**< global SCIP settings */
1116  SCIP_Bool root /**< are we at the root node? */
1117  );
1118 
1119 /** returns user defined objective value (in original space) for reference purposes */
1120 extern
1122  SCIP_SET* set /**< global SCIP settings */
1123  );
1124 
1125 /** returns debug solution data */
1126 extern
1128  SCIP_SET* set /**< global SCIP settings */
1129  );
1130 
1131 /** Checks, if an iteratively updated value is reliable or should be recomputed from scratch.
1132  * This is useful, if the value, e.g., the activity of a linear constraint or the pseudo objective value, gets a high
1133  * absolute value during the optimization process which is later reduced significantly. In this case, the last digits
1134  * were cancelled out when increasing the value and are random after decreasing it.
1135  * We dot not consider the cancellations which can occur during increasing the absolute value because they just cannot
1136  * be expressed using fixed precision floating point arithmetic, anymore.
1137  * The idea to get more reliable values is to always store the last reliable value, where increasing the absolute of
1138  * the value is viewed as preserving reliability. Then, after each update, the new absolute value can be compared
1139  * against the last reliable one with this method, checking whether it was decreased by a factor of at least
1140  * "lp/recompfac" and should be recomputed.
1141  */
1142 extern
1144  SCIP_SET* set, /**< global SCIP settings */
1145  SCIP_Real newvalue, /**< new value after update */
1146  SCIP_Real oldvalue /**< old value, i.e., last reliable value */
1147  );
1148 
1149 /** modifies an initial seed value with the global shift of random seeds */
1150 extern
1152  SCIP_SET* set, /**< global SCIP settings */
1153  int initialseedvalue /**< initial seed value to be modified */
1154  );
1155 
1156 /** returns value treated as infinity */
1157 extern
1159  SCIP_SET* set /**< global SCIP settings */
1160  );
1161 
1162 /** returns the minimum value that is regarded as huge and should be handled separately (e.g., in activity
1163  * computation)
1164  */
1165 extern
1167  SCIP_SET* set /**< global SCIP settings */
1168  );
1169 
1170 /** returns value treated as zero */
1171 extern
1173  SCIP_SET* set /**< global SCIP settings */
1174  );
1175 
1176 /** returns value treated as zero for sums of floating point values */
1177 extern
1179  SCIP_SET* set /**< global SCIP settings */
1180  );
1181 
1182 /** returns feasibility tolerance for constraints */
1183 extern
1185  SCIP_SET* set /**< global SCIP settings */
1186  );
1187 
1188 /** returns primal feasibility tolerance of LP solver given as minimum of lpfeastol option and relaxfeastol */
1189 extern
1191  SCIP_SET* set /**< global SCIP settings */
1192  );
1193 
1194 /** returns feasibility tolerance for reduced costs */
1195 extern
1197  SCIP_SET* set /**< global SCIP settings */
1198  );
1199 
1200 /** returns convergence tolerance used in barrier algorithm */
1201 extern
1203  SCIP_SET* set /**< global SCIP settings */
1204  );
1205 
1206 /** returns minimal variable distance value to use for pseudo cost updates */
1207 extern
1209  SCIP_SET* set /**< global SCIP settings */
1210  );
1211 
1212 /** returns minimal minimal objective distance value to use for pseudo cost updates */
1213 extern
1215  SCIP_SET* set /**< global SCIP settings */
1216  );
1217 
1218 /** return the delta to use for computing the cutoff bound for integral objectives */
1219 extern
1221  SCIP_SET* set /**< global SCIP settings */
1222  );
1223 
1224 /** return the primal feasibility tolerance for relaxations */
1225 extern
1227  SCIP_SET* set /**< global SCIP settings */
1228  );
1229 
1230 /** returns minimal decrease factor that causes the recomputation of a value
1231  * (e.g., pseudo objective) instead of an update */
1232 extern
1234  SCIP_SET* set /**< global SCIP settings */
1235  );
1236 
1237 /** checks, if values are in range of epsilon */
1238 extern
1240  SCIP_SET* set, /**< global SCIP settings */
1241  SCIP_Real val1, /**< first value to be compared */
1242  SCIP_Real val2 /**< second value to be compared */
1243  );
1244 
1245 /** checks, if val1 is (more than epsilon) lower than val2 */
1246 extern
1248  SCIP_SET* set, /**< global SCIP settings */
1249  SCIP_Real val1, /**< first value to be compared */
1250  SCIP_Real val2 /**< second value to be compared */
1251  );
1252 
1253 /** checks, if val1 is not (more than epsilon) greater than val2 */
1254 extern
1256  SCIP_SET* set, /**< global SCIP settings */
1257  SCIP_Real val1, /**< first value to be compared */
1258  SCIP_Real val2 /**< second value to be compared */
1259  );
1260 
1261 /** checks, if val1 is (more than epsilon) greater than val2 */
1262 extern
1264  SCIP_SET* set, /**< global SCIP settings */
1265  SCIP_Real val1, /**< first value to be compared */
1266  SCIP_Real val2 /**< second value to be compared */
1267  );
1268 
1269 /** checks, if val1 is not (more than epsilon) lower than val2 */
1270 extern
1272  SCIP_SET* set, /**< global SCIP settings */
1273  SCIP_Real val1, /**< first value to be compared */
1274  SCIP_Real val2 /**< second value to be compared */
1275  );
1276 
1277 /** checks, if value is (positive) infinite */
1278 extern
1280  SCIP_SET* set, /**< global SCIP settings */
1281  SCIP_Real val /**< value to be compared against infinity */
1282  );
1283 
1284 /** checks, if value is huge and should be handled separately (e.g., in activity computation) */
1285 extern
1287  SCIP_SET* set, /**< global SCIP settings */
1288  SCIP_Real val /**< value to be checked whether it is huge */
1289  );
1290 
1291 /** checks, if value is in range epsilon of 0.0 */
1292 extern
1294  SCIP_SET* set, /**< global SCIP settings */
1295  SCIP_Real val /**< value to be compared against zero */
1296  );
1297 
1298 /** checks, if value is greater than epsilon */
1299 extern
1301  SCIP_SET* set, /**< global SCIP settings */
1302  SCIP_Real val /**< value to be compared against zero */
1303  );
1304 
1305 /** checks, if value is lower than -epsilon */
1306 extern
1308  SCIP_SET* set, /**< global SCIP settings */
1309  SCIP_Real val /**< value to be compared against zero */
1310  );
1311 
1312 /** checks, if value is integral within epsilon */
1313 extern
1315  SCIP_SET* set, /**< global SCIP settings */
1316  SCIP_Real val /**< value to be compared against zero */
1317  );
1318 
1319 /** checks whether the product val * scalar is integral in epsilon scaled by scalar */
1320 extern
1322  SCIP_SET* set, /**< global SCIP settings */
1323  SCIP_Real val, /**< unscaled value to check for scaled integrality */
1324  SCIP_Real scalar /**< value to scale val with for checking for integrality */
1325  );
1326 
1327 /** checks, if given fractional part is smaller than epsilon */
1328 extern
1330  SCIP_SET* set, /**< global SCIP settings */
1331  SCIP_Real val /**< value to be compared against zero */
1332  );
1333 
1334 /** rounds value + feasibility tolerance down to the next integer in epsilon tolerance */
1335 extern
1337  SCIP_SET* set, /**< global SCIP settings */
1338  SCIP_Real val /**< value to be compared against zero */
1339  );
1340 
1341 /** rounds value - feasibility tolerance up to the next integer in epsilon tolerance */
1342 extern
1344  SCIP_SET* set, /**< global SCIP settings */
1345  SCIP_Real val /**< value to be compared against zero */
1346  );
1347 
1348 /** rounds value to the nearest integer in epsilon tolerance */
1349 extern
1351  SCIP_SET* set, /**< global SCIP settings */
1352  SCIP_Real val /**< value to be compared against zero */
1353  );
1354 
1355 /** returns fractional part of value, i.e. x - floor(x) in epsilon tolerance */
1356 extern
1358  SCIP_SET* set, /**< global SCIP settings */
1359  SCIP_Real val /**< value to return fractional part for */
1360  );
1361 
1362 /** checks, if values are in range of sumepsilon */
1363 extern
1365  SCIP_SET* set, /**< global SCIP settings */
1366  SCIP_Real val1, /**< first value to be compared */
1367  SCIP_Real val2 /**< second value to be compared */
1368  );
1369 
1370 /** checks, if val1 is (more than sumepsilon) lower than val2 */
1371 extern
1373  SCIP_SET* set, /**< global SCIP settings */
1374  SCIP_Real val1, /**< first value to be compared */
1375  SCIP_Real val2 /**< second value to be compared */
1376  );
1377 
1378 /** checks, if val1 is not (more than sumepsilon) greater than val2 */
1379 extern
1381  SCIP_SET* set, /**< global SCIP settings */
1382  SCIP_Real val1, /**< first value to be compared */
1383  SCIP_Real val2 /**< second value to be compared */
1384  );
1385 
1386 /** checks, if val1 is (more than sumepsilon) greater than val2 */
1387 extern
1389  SCIP_SET* set, /**< global SCIP settings */
1390  SCIP_Real val1, /**< first value to be compared */
1391  SCIP_Real val2 /**< second value to be compared */
1392  );
1393 
1394 /** checks, if val1 is not (more than sumepsilon) lower than val2 */
1395 extern
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 value is in range sumepsilon of 0.0 */
1403 extern
1405  SCIP_SET* set, /**< global SCIP settings */
1406  SCIP_Real val /**< value to be compared against zero */
1407  );
1408 
1409 /** checks, if value is greater than sumepsilon */
1410 extern
1412  SCIP_SET* set, /**< global SCIP settings */
1413  SCIP_Real val /**< value to be compared against zero */
1414  );
1415 
1416 /** checks, if value is lower than -sumepsilon */
1417 extern
1419  SCIP_SET* set, /**< global SCIP settings */
1420  SCIP_Real val /**< value to be compared against zero */
1421  );
1422 
1423 /** rounds value + sumepsilon tolerance down to the next integer */
1424 extern
1426  SCIP_SET* set, /**< global SCIP settings */
1427  SCIP_Real val /**< value to process */
1428  );
1429 
1430 /** rounds value - sumepsilon tolerance up to the next integer */
1431 extern
1433  SCIP_SET* set, /**< global SCIP settings */
1434  SCIP_Real val /**< value to process */
1435  );
1436 
1437 /** rounds value to the nearest integer in sumepsilon tolerance */
1438 extern
1440  SCIP_SET* set, /**< global SCIP settings */
1441  SCIP_Real val /**< value to process */
1442  );
1443 
1444 /** returns fractional part of value, i.e. x - floor(x) in sumepsilon tolerance */
1445 extern
1447  SCIP_SET* set, /**< global SCIP settings */
1448  SCIP_Real val /**< value to process */
1449  );
1450 
1451 /** checks, if relative difference of values is in range of feastol */
1452 extern
1454  SCIP_SET* set, /**< global SCIP settings */
1455  SCIP_Real val1, /**< first value to be compared */
1456  SCIP_Real val2 /**< second value to be compared */
1457  );
1458 
1459 /** checks, if relative difference of val1 and val2 is lower than feastol */
1460 extern
1462  SCIP_SET* set, /**< global SCIP settings */
1463  SCIP_Real val1, /**< first value to be compared */
1464  SCIP_Real val2 /**< second value to be compared */
1465  );
1466 
1467 /** checks, if relative difference of val1 and val2 is not greater than feastol */
1468 extern
1470  SCIP_SET* set, /**< global SCIP settings */
1471  SCIP_Real val1, /**< first value to be compared */
1472  SCIP_Real val2 /**< second value to be compared */
1473  );
1474 
1475 /** checks, if relative difference of val1 and val2 is greater than feastol */
1476 extern
1478  SCIP_SET* set, /**< global SCIP settings */
1479  SCIP_Real val1, /**< first value to be compared */
1480  SCIP_Real val2 /**< second value to be compared */
1481  );
1482 
1483 /** checks, if relative difference of val1 and val2 is not lower than -feastol */
1484 extern
1486  SCIP_SET* set, /**< global SCIP settings */
1487  SCIP_Real val1, /**< first value to be compared */
1488  SCIP_Real val2 /**< second value to be compared */
1489  );
1490 
1491 /** checks, if value is in range feasibility tolerance of 0.0 */
1492 extern
1494  SCIP_SET* set, /**< global SCIP settings */
1495  SCIP_Real val /**< value to be compared against zero */
1496  );
1497 
1498 /** checks, if value is greater than feasibility tolerance */
1499 extern
1501  SCIP_SET* set, /**< global SCIP settings */
1502  SCIP_Real val /**< value to be compared against zero */
1503  );
1504 
1505 /** checks, if value is lower than -feasibility tolerance */
1506 extern
1508  SCIP_SET* set, /**< global SCIP settings */
1509  SCIP_Real val /**< value to be compared against zero */
1510  );
1511 
1512 /** checks, if value is integral within the feasibility bounds */
1513 extern
1515  SCIP_SET* set, /**< global SCIP settings */
1516  SCIP_Real val /**< value to be compared against zero */
1517  );
1518 
1519 /** checks, if given fractional part is smaller than feastol */
1520 extern
1522  SCIP_SET* set, /**< global SCIP settings */
1523  SCIP_Real val /**< value to be compared against zero */
1524  );
1525 
1526 /** rounds value + feasibility tolerance down to the next integer */
1527 extern
1529  SCIP_SET* set, /**< global SCIP settings */
1530  SCIP_Real val /**< value to be compared against zero */
1531  );
1532 
1533 /** rounds value - feasibility tolerance up to the next integer */
1534 extern
1536  SCIP_SET* set, /**< global SCIP settings */
1537  SCIP_Real val /**< value to be compared against zero */
1538  );
1539 
1540 /** rounds value to the nearest integer in feasibility tolerance */
1541 extern
1543  SCIP_SET* set, /**< global SCIP settings */
1544  SCIP_Real val /**< value to be compared against zero */
1545  );
1546 
1547 /** returns fractional part of value, i.e. x - floor(x) in feasibility tolerance */
1548 extern
1550  SCIP_SET* set, /**< global SCIP settings */
1551  SCIP_Real val /**< value to return fractional part for */
1552  );
1553 
1554 /** checks, if relative difference of values is in range of dual feasibility tolerance */
1555 extern
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 lower than dual feasibility tolerance */
1563 extern
1565  SCIP_SET* set, /**< global SCIP settings */
1566  SCIP_Real val1, /**< first value to be compared */
1567  SCIP_Real val2 /**< second value to be compared */
1568  );
1569 
1570 /** checks, if relative difference of val1 and val2 is not greater than dual feasibility tolerance */
1571 extern
1573  SCIP_SET* set, /**< global SCIP settings */
1574  SCIP_Real val1, /**< first value to be compared */
1575  SCIP_Real val2 /**< second value to be compared */
1576  );
1577 
1578 /** checks, if relative difference of val1 and val2 is greater than dual feasibility tolerance */
1579 extern
1581  SCIP_SET* set, /**< global SCIP settings */
1582  SCIP_Real val1, /**< first value to be compared */
1583  SCIP_Real val2 /**< second value to be compared */
1584  );
1585 
1586 /** checks, if relative difference of val1 and val2 is not lower than -dual feasibility tolerance */
1587 extern
1589  SCIP_SET* set, /**< global SCIP settings */
1590  SCIP_Real val1, /**< first value to be compared */
1591  SCIP_Real val2 /**< second value to be compared */
1592  );
1593 
1594 /** checks, if value is in range dual feasibility tolerance of 0.0 */
1595 extern
1597  SCIP_SET* set, /**< global SCIP settings */
1598  SCIP_Real val /**< value to be compared against zero */
1599  );
1600 
1601 /** checks, if value is greater than dual feasibility tolerance */
1602 extern
1604  SCIP_SET* set, /**< global SCIP settings */
1605  SCIP_Real val /**< value to be compared against zero */
1606  );
1607 
1608 /** checks, if value is lower than -dual feasibility tolerance */
1609 extern
1611  SCIP_SET* set, /**< global SCIP settings */
1612  SCIP_Real val /**< value to be compared against zero */
1613  );
1614 
1615 /** checks, if value is integral within the dual feasibility bounds */
1616 extern
1618  SCIP_SET* set, /**< global SCIP settings */
1619  SCIP_Real val /**< value to be compared against zero */
1620  );
1621 
1622 /** checks, if given fractional part is smaller than dual feasibility tolerance */
1623 extern
1625  SCIP_SET* set, /**< global SCIP settings */
1626  SCIP_Real val /**< value to be compared against zero */
1627  );
1628 
1629 /** rounds value + dual feasibility tolerance down to the next integer */
1630 extern
1632  SCIP_SET* set, /**< global SCIP settings */
1633  SCIP_Real val /**< value to be compared against zero */
1634  );
1635 
1636 /** rounds value - dual feasibility tolerance up to the next integer */
1637 extern
1639  SCIP_SET* set, /**< global SCIP settings */
1640  SCIP_Real val /**< value to be compared against zero */
1641  );
1642 
1643 /** rounds value to the nearest integer in dual feasibility tolerance */
1644 extern
1646  SCIP_SET* set, /**< global SCIP settings */
1647  SCIP_Real val /**< value to be compared against zero */
1648  );
1649 
1650 /** returns fractional part of value, i.e. x - floor(x) in dual feasibility tolerance */
1651 extern
1653  SCIP_SET* set, /**< global SCIP settings */
1654  SCIP_Real val /**< value to return fractional part for */
1655  );
1656 
1657 /** checks, if the given new lower bound is at least min(oldub - oldlb, |oldlb|) times the bound
1658  * strengthening epsilon better than the old one or the change in the lower bound would fix the
1659  * sign of the variable
1660  */
1661 extern
1663  SCIP_SET* set, /**< global SCIP settings */
1664  SCIP_Real newlb, /**< new lower bound */
1665  SCIP_Real oldlb, /**< old lower bound */
1666  SCIP_Real oldub /**< old upper bound */
1667  );
1668 
1669 /** checks, if the given new upper bound is at least min(oldub - oldlb, |oldub|) times the bound
1670  * strengthening epsilon better than the old one or the change in the upper bound would fix the
1671  * sign of the variable
1672  */
1673 extern
1675  SCIP_SET* set, /**< global SCIP settings */
1676  SCIP_Real newub, /**< new upper bound */
1677  SCIP_Real oldlb, /**< old lower bound */
1678  SCIP_Real oldub /**< old upper bound */
1679  );
1680 
1681 /** checks, if the given cut's efficacy is larger than the minimal cut efficacy */
1682 extern
1684  SCIP_SET* set, /**< global SCIP settings */
1685  SCIP_Bool root, /**< should the root's minimal cut efficacy be used? */
1686  SCIP_Real efficacy /**< efficacy of the cut */
1687  );
1688 
1689 /** checks, if relative difference of values is in range of epsilon */
1690 extern
1692  SCIP_SET* set, /**< global SCIP settings */
1693  SCIP_Real val1, /**< first value to be compared */
1694  SCIP_Real val2 /**< second value to be compared */
1695  );
1696 
1697 /** checks, if relative difference of val1 and val2 is lower than epsilon */
1698 extern
1700  SCIP_SET* set, /**< global SCIP settings */
1701  SCIP_Real val1, /**< first value to be compared */
1702  SCIP_Real val2 /**< second value to be compared */
1703  );
1704 
1705 /** checks, if relative difference of val1 and val2 is not greater than epsilon */
1706 extern
1708  SCIP_SET* set, /**< global SCIP settings */
1709  SCIP_Real val1, /**< first value to be compared */
1710  SCIP_Real val2 /**< second value to be compared */
1711  );
1712 
1713 /** checks, if relative difference of val1 and val2 is greater than epsilon */
1714 extern
1716  SCIP_SET* set, /**< global SCIP settings */
1717  SCIP_Real val1, /**< first value to be compared */
1718  SCIP_Real val2 /**< second value to be compared */
1719  );
1720 
1721 /** checks, if relative difference of val1 and val2 is not lower than -epsilon */
1722 extern
1724  SCIP_SET* set, /**< global SCIP settings */
1725  SCIP_Real val1, /**< first value to be compared */
1726  SCIP_Real val2 /**< second value to be compared */
1727  );
1728 
1729 /** checks, if relative difference of values is in range of sumepsilon */
1730 extern
1732  SCIP_SET* set, /**< global SCIP settings */
1733  SCIP_Real val1, /**< first value to be compared */
1734  SCIP_Real val2 /**< second value to be compared */
1735  );
1736 
1737 /** checks, if relative difference of val1 and val2 is lower than sumepsilon */
1738 extern
1740  SCIP_SET* set, /**< global SCIP settings */
1741  SCIP_Real val1, /**< first value to be compared */
1742  SCIP_Real val2 /**< second value to be compared */
1743  );
1744 
1745 /** checks, if relative difference of val1 and val2 is not greater than sumepsilon */
1746 extern
1748  SCIP_SET* set, /**< global SCIP settings */
1749  SCIP_Real val1, /**< first value to be compared */
1750  SCIP_Real val2 /**< second value to be compared */
1751  );
1752 
1753 /** checks, if relative difference of val1 and val2 is greater than sumepsilon */
1754 extern
1756  SCIP_SET* set, /**< global SCIP settings */
1757  SCIP_Real val1, /**< first value to be compared */
1758  SCIP_Real val2 /**< second value to be compared */
1759  );
1760 
1761 /** checks, if relative difference of val1 and val2 is not lower than -sumepsilon */
1762 extern
1764  SCIP_SET* set, /**< global SCIP settings */
1765  SCIP_Real val1, /**< first value to be compared */
1766  SCIP_Real val2 /**< second value to be compared */
1767  );
1768 
1769 
1770 #ifdef NDEBUG
1771 
1772 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
1773  * speed up the algorithms.
1774  */
1775 
1776 #define SCIPsetInfinity(set) ( (set)->num_infinity )
1777 #define SCIPsetGetHugeValue(set) ( (set)->num_hugeval )
1778 #define SCIPsetEpsilon(set) ( (set)->num_epsilon )
1779 #define SCIPsetSumepsilon(set) ( (set)->num_sumepsilon )
1780 #define SCIPsetFeastol(set) ( (set)->num_feastol )
1781 #define SCIPsetLpfeastol(set) ( (set)->num_relaxfeastol == SCIP_INVALID ? (set)->num_lpfeastol : MIN((set)->num_lpfeastol, (set)->num_relaxfeastol) )
1782 #define SCIPsetDualfeastol(set) ( (set)->num_dualfeastol )
1783 #define SCIPsetBarrierconvtol(set) ( (set)->num_barrierconvtol )
1784 #define SCIPsetPseudocosteps(set) ( (set)->num_pseudocosteps )
1785 #define SCIPsetPseudocostdelta(set) ( (set)->num_pseudocostdelta )
1786 #define SCIPsetRelaxfeastol(set) ( (set)->num_relaxfeastol )
1787 #define SCIPsetCutoffbounddelta(set) ( MIN(100.0 * SCIPsetFeastol(set), 0.0001) )
1788 #define SCIPsetRecompfac(set) ( (set)->num_recompfac )
1789 #define SCIPsetIsEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_epsilon) )
1790 #define SCIPsetIsLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_epsilon) )
1791 #define SCIPsetIsLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_epsilon) )
1792 #define SCIPsetIsGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_epsilon) )
1793 #define SCIPsetIsGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_epsilon) )
1794 #define SCIPsetIsInfinity(set, val) ( (val) >= (set)->num_infinity )
1795 #define SCIPsetIsHugeValue(set, val) ( (val) >= (set)->num_hugeval )
1796 #define SCIPsetIsZero(set, val) ( EPSZ(val, (set)->num_epsilon) )
1797 #define SCIPsetIsPositive(set, val) ( EPSP(val, (set)->num_epsilon) )
1798 #define SCIPsetIsNegative(set, val) ( EPSN(val, (set)->num_epsilon) )
1799 #define SCIPsetIsIntegral(set, val) ( EPSISINT(val, (set)->num_epsilon) )
1800 #define SCIPsetIsScalingIntegral(set, val, scalar) \
1801  ( EPSISINT((scalar)*(val), MAX(REALABS(scalar), 1.0)*(set)->num_epsilon) )
1802 #define SCIPsetIsFracIntegral(set, val) ( !EPSP(val, (set)->num_epsilon) )
1803 #define SCIPsetFloor(set, val) ( EPSFLOOR(val, (set)->num_epsilon) )
1804 #define SCIPsetCeil(set, val) ( EPSCEIL(val, (set)->num_epsilon) )
1805 #define SCIPsetRound(set, val) ( EPSROUND(val, (set)->num_epsilon) )
1806 #define SCIPsetFrac(set, val) ( EPSFRAC(val, (set)->num_epsilon) )
1807 
1808 #define SCIPsetIsSumEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_sumepsilon) )
1809 #define SCIPsetIsSumLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_sumepsilon) )
1810 #define SCIPsetIsSumLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_sumepsilon) )
1811 #define SCIPsetIsSumGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_sumepsilon) )
1812 #define SCIPsetIsSumGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_sumepsilon) )
1813 #define SCIPsetIsSumZero(set, val) ( EPSZ(val, (set)->num_sumepsilon) )
1814 #define SCIPsetIsSumPositive(set, val) ( EPSP(val, (set)->num_sumepsilon) )
1815 #define SCIPsetIsSumNegative(set, val) ( EPSN(val, (set)->num_sumepsilon) )
1816 #define SCIPsetSumFloor(set, val) ( EPSFLOOR(val, (set)->num_sumepsilon) )
1817 #define SCIPsetSumCeil(set, val) ( EPSCEIL(val, (set)->num_sumepsilon) )
1818 #define SCIPsetSumRound(set, val) ( EPSROUND(val, (set)->num_sumepsilon) )
1819 #define SCIPsetSumFrac(set, val) ( EPSFRAC(val, (set)->num_sumepsilon) )
1820 
1821 #define SCIPsetIsFeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1822 #define SCIPsetIsFeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1823 #define SCIPsetIsFeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1824 #define SCIPsetIsFeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1825 #define SCIPsetIsFeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1826 #define SCIPsetIsFeasZero(set, val) ( EPSZ(val, (set)->num_feastol) )
1827 #define SCIPsetIsFeasPositive(set, val) ( EPSP(val, (set)->num_feastol) )
1828 #define SCIPsetIsFeasNegative(set, val) ( EPSN(val, (set)->num_feastol) )
1829 #define SCIPsetIsFeasIntegral(set, val) ( EPSISINT(val, (set)->num_feastol) )
1830 #define SCIPsetIsFeasFracIntegral(set, val) ( !EPSP(val, (set)->num_feastol) )
1831 #define SCIPsetFeasFloor(set, val) ( EPSFLOOR(val, (set)->num_feastol) )
1832 #define SCIPsetFeasCeil(set, val) ( EPSCEIL(val, (set)->num_feastol) )
1833 #define SCIPsetFeasRound(set, val) ( EPSROUND(val, (set)->num_feastol) )
1834 #define SCIPsetFeasFrac(set, val) ( EPSFRAC(val, (set)->num_feastol) )
1835 
1836 #define SCIPsetIsDualfeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1837 #define SCIPsetIsDualfeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1838 #define SCIPsetIsDualfeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1839 #define SCIPsetIsDualfeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1840 #define SCIPsetIsDualfeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1841 #define SCIPsetIsDualfeasZero(set, val) ( EPSZ(val, (set)->num_dualfeastol) )
1842 #define SCIPsetIsDualfeasPositive(set, val) ( EPSP(val, (set)->num_dualfeastol) )
1843 #define SCIPsetIsDualfeasNegative(set, val) ( EPSN(val, (set)->num_dualfeastol) )
1844 #define SCIPsetIsDualfeasIntegral(set, val) ( EPSISINT(val, (set)->num_dualfeastol) )
1845 #define SCIPsetIsDualfeasFracIntegral(set, val) ( !EPSP(val, (set)->num_dualfeastol) )
1846 #define SCIPsetDualfeasFloor(set, val) ( EPSFLOOR(val, (set)->num_dualfeastol) )
1847 #define SCIPsetDualfeasCeil(set, val) ( EPSCEIL(val, (set)->num_dualfeastol) )
1848 #define SCIPsetDualfeasRound(set, val) ( EPSROUND(val, (set)->num_dualfeastol) )
1849 #define SCIPsetDualfeasFrac(set, val) ( EPSFRAC(val, (set)->num_dualfeastol) )
1850 
1851 #define SCIPsetIsLbBetter(set, newlb, oldlb, oldub) ( EPSGT(newlb, oldlb, \
1852  set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldlb)), 1e-3)) )
1853 #define SCIPsetIsUbBetter(set, newub, oldlb, oldub) ( EPSLT(newub, oldub, \
1854  set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldub)), 1e-3)) )
1855 #define SCIPsetIsEfficacious(set, root, efficacy) \
1856  ( root ? EPSP(efficacy, (set)->sepa_minefficacyroot) : EPSP(efficacy, (set)->sepa_minefficacy) )
1857 
1858 #define SCIPsetIsRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1859 #define SCIPsetIsRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1860 #define SCIPsetIsRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1861 #define SCIPsetIsRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1862 #define SCIPsetIsRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1863 
1864 #define SCIPsetIsSumRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1865 #define SCIPsetIsSumRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1866 #define SCIPsetIsSumRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1867 #define SCIPsetIsSumRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1868 #define SCIPsetIsSumRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1869 #define SCIPsetIsUpdateUnreliable(set, newvalue, oldvalue) \
1870  ( (ABS(oldvalue) / MAX(ABS(newvalue), set->num_epsilon)) >= set->num_recompfac )
1871 #define SCIPsetInitializeRandomSeed(set, val) ( (val + (set)->random_randomseedshift) )
1872 
1873 #endif
1874 
1875 #define SCIPsetAllocBuffer(set,ptr) ( (BMSallocBufferMemory((set)->buffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1876 #define SCIPsetAllocBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1877 #define SCIPsetAllocBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1878 #define SCIPsetDuplicateBufferSize(set,ptr,source,size) ( (BMSduplicateBufferMemory((set)->buffer, (ptr), (source), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1879 #define SCIPsetDuplicateBufferArray(set,ptr,source,num) ( (BMSduplicateBufferMemoryArray((set)->buffer, (ptr), (source), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1880 #define SCIPsetReallocBufferSize(set,ptr,size) ( (BMSreallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1881 #define SCIPsetReallocBufferArray(set,ptr,num) ( (BMSreallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1882 #define SCIPsetFreeBuffer(set,ptr) BMSfreeBufferMemory((set)->buffer, (ptr))
1883 #define SCIPsetFreeBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->buffer, (ptr))
1884 #define SCIPsetFreeBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->buffer, (ptr))
1885 
1886 #define SCIPsetAllocCleanBuffer(set,ptr) ( (BMSallocBufferMemory((set)->cleanbuffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1887 #define SCIPsetAllocCleanBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->cleanbuffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1888 #define SCIPsetAllocCleanBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->cleanbuffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1889 #define SCIPsetFreeCleanBuffer(set,ptr) BMSfreeBufferMemory((set)->cleanbuffer, (ptr))
1890 #define SCIPsetFreeCleanBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->cleanbuffer, (ptr))
1891 #define SCIPsetFreeCleanBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->cleanbuffer, (ptr))
1892 
1893 /* if we have a C99 compiler */
1894 #ifdef SCIP_HAVE_VARIADIC_MACROS
1895 
1896 /** prints a debugging message if SCIP_DEBUG flag is set */
1897 #ifdef SCIP_DEBUG
1898 #define SCIPsetDebugMsg(set, ...) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
1899 #define SCIPsetDebugMsgPrint(set, ...) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
1900 #else
1901 #define SCIPsetDebugMsg(set, ...) while ( FALSE ) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
1902 #define SCIPsetDebugMsgPrint(set, ...) while ( FALSE ) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
1903 #endif
1904 
1905 #else
1906 /* if we do not have a C99 compiler, use a workaround that prints a message, but not the file and linenumber */
1907 
1908 /** prints a debugging message if SCIP_DEBUG flag is set */
1909 #ifdef SCIP_DEBUG
1910 #define SCIPsetDebugMsg printf("debug: "), SCIPsetDebugMessagePrint
1911 #define SCIPsetDebugMsgPrint printf("debug: "), SCIPsetDebugMessagePrint
1912 #else
1913 #define SCIPsetDebugMsg while ( FALSE ) SCIPsetDebugMsgPrint
1914 #define SCIPsetDebugMsgPrint while ( FALSE ) SCIPsetDebugMessagePrint
1915 #endif
1916 
1917 #endif
1918 
1919 
1920 /** prints a debug message */
1921 extern
1923  SCIP_SET* set, /**< global SCIP settings */
1924  const char* sourcefile, /**< name of the source file that called the function */
1925  int sourceline, /**< line in the source file where the function was called */
1926  const char* formatstr, /**< format string like in printf() function */
1927  ... /**< format arguments line in printf() function */
1928  );
1929 
1930 /** prints a debug message without precode */
1931 extern
1933  SCIP_SET* set, /**< global SCIP settings */
1934  const char* formatstr, /**< format string like in printf() function */
1935  ... /**< format arguments line in printf() function */
1936  );
1937 
1938 
1939 #ifdef __cplusplus
1940 }
1941 #endif
1942 
1943 #endif
int SCIPsetCalcTreeGrowSize(SCIP_SET *set, int num)
Definition: set.c:5335
SCIP_Real SCIPsetBarrierconvtol(SCIP_SET *set)
Definition: set.c:5711
SCIP_Bool SCIPsetIsSumEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6007
SCIP_NODESEL * SCIPsetFindNodesel(SCIP_SET *set, const char *name)
Definition: set.c:4503
SCIP_RETCODE SCIPsetIncludeCompr(SCIP_SET *set, SCIP_COMPR *compr)
Definition: set.c:4355
SCIP_RETCODE SCIPsetWriteParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
Definition: set.c:3335
void SCIPsetSortRelaxs(SCIP_SET *set)
Definition: set.c:3954
SCIP_RETCODE SCIPsetIncludeDialog(SCIP_SET *set, SCIP_DIALOG *dialog)
Definition: set.c:4732
int SCIPsetGetSepaMaxcuts(SCIP_SET *set, SCIP_Bool root)
Definition: set.c:5504
SCIP_RETCODE SCIPsetGetBoolParam(SCIP_SET *set, const char *name, SCIP_Bool *value)
Definition: set.c:2952
SCIP_RETCODE SCIPsetIncludeReader(SCIP_SET *set, SCIP_READER *reader)
Definition: set.c:3487
SCIP_Bool SCIPsetIsLbBetter(SCIP_SET *set, SCIP_Real newlb, SCIP_Real oldlb, SCIP_Real oldub)
Definition: set.c:6599
SCIP_Bool SCIPsetIsFeasFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6328
SCIP_Real SCIPsetSumFrac(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6163
SCIP_Bool SCIPsetIsSumRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6815
SCIP_Real SCIPsetFeasFloor(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6341
void SCIPsetSortComprs(SCIP_SET *set)
Definition: set.c:4399
SCIP_Real SCIPsetSumFloor(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6130
SCIP_Bool SCIPsetIsSumRelGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6859
int SCIPsetGetPriceMaxvars(SCIP_SET *set, SCIP_Bool root)
Definition: set.c:5490
SCIP_Real SCIPsetCeil(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5974
SCIP_Bool SCIPsetIsUpdateUnreliable(SCIP_SET *set, SCIP_Real newvalue, SCIP_Real oldvalue)
Definition: set.c:6891
struct SCIP_ParamData SCIP_PARAMDATA
Definition: type_paramset.h:76
void SCIPsetSortRelaxsName(SCIP_SET *set)
Definition: set.c:3969
SCIP_RETCODE SCIPsetResetParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name)
Definition: set.c:3351
void SCIPsetSortPresolsName(SCIP_SET *set)
Definition: set.c:3895
SCIP_RETCODE SCIPsetSetLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Longint value)
Definition: set.c:3192
SCIP_Bool SCIPsetIsFeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6196
SCIP_RETCODE SCIPsetGetIntParam(SCIP_SET *set, const char *name, int *value)
Definition: set.c:2966
SCIP_Bool SCIPsetIsSumRelLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6793
SCIP_RETCODE SCIPsetSetPresolving(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: set.c:3436
SCIP_Bool SCIPsetIsEfficacious(SCIP_SET *set, SCIP_Bool root, SCIP_Real efficacy)
Definition: set.c:6646
SCIP_Bool SCIPsetIsUbBetter(SCIP_SET *set, SCIP_Real newub, SCIP_Real oldlb, SCIP_Real oldub)
Definition: set.c:6624
SCIP_Bool SCIPsetIsRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6705
SCIP_RETCODE SCIPsetInitprePlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:5078
SCIP_Bool SCIPsetIsHugeValue(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5787
SCIP_STAGE SCIPsetGetStage(SCIP_SET *set)
Definition: set.c:2781
SCIP_READER * SCIPsetFindReader(SCIP_SET *set, const char *name)
Definition: set.c:3509
SCIP_Real SCIPsetSumCeil(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6141
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:53
SCIP_Bool SCIPsetIsDualfeasFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6539
SCIP_Bool SCIPsetIsSumNegative(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6119
SCIP_Bool SCIPsetIsGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5870
SCIP_RETCODE SCIPsetSetSeparating(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: set.c:3454
SCIP_Bool SCIPsetIsRelGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6727
SCIP_DISP * SCIPsetFindDisp(SCIP_SET *set, const char *name)
Definition: set.c:4667
type definitions for global SCIP settings
SCIP_Bool SCIPsetIsEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5798
enum SCIP_VerbLevel SCIP_VERBLEVEL
Definition: type_message.h:48
void SCIPsetSortProps(SCIP_SET *set)
Definition: set.c:4105
SCIP_RETCODE SCIPsetSetIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, int value)
Definition: set.c:3140
SCIP_Real SCIPsetGetReferencevalue(SCIP_SET *set)
Definition: set.c:5518
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:2791
void SCIPsetSetLimitChanged(SCIP_SET *set)
Definition: set.c:5480
SCIP_RETCODE SCIPsetSetDefaultIntParam(SCIP_SET *set, const char *name, int defaultvalue)
Definition: set.c:3155
SCIP_Bool SCIPsetIsLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5834
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:2837
type definitions for presolvers
SCIP_RETCODE SCIPsetSetVerbLevel(SCIP_SET *set, SCIP_VERBLEVEL verblevel)
Definition: set.c:5353
SCIP_RETCODE SCIPsetExitsolPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat, SCIP_Bool restart)
Definition: set.c:5238
SCIP_Real SCIPsetInfinity(SCIP_SET *set)
Definition: set.c:5636
SCIP_RETCODE SCIPsetSetEmphasis(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMEMPHASIS paramemphasis, SCIP_Bool quiet)
Definition: set.c:3386
SCIP_RETCODE SCIPsetIncludeTable(SCIP_SET *set, SCIP_TABLE *table)
Definition: set.c:4687
SCIP_RETCODE SCIPsetSetBarrierconvtol(SCIP_SET *set, SCIP_Real barrierconvtol)
Definition: set.c:5445
SCIP_Real SCIPsetDualfeastol(SCIP_SET *set)
Definition: set.c:5688
void SCIPsetEnableOrDisablePluginClocks(SCIP_SET *set, SCIP_Bool enabled)
Definition: set.c:817
SCIP_Bool SCIPsetIsDualfeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6385
void SCIPsetSortPresols(SCIP_SET *set)
Definition: set.c:3880
type definitions for branching rules
type definitions for problem statistics
SCIP_PROP * SCIPsetFindProp(SCIP_SET *set, const char *name)
Definition: set.c:4085
SCIP_RETCODE SCIPsetExitPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:4979
enum SCIP_ParamSetting SCIP_PARAMSETTING
Definition: type_paramset.h:56
SCIP_RETCODE SCIPsetResetParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition: set.c:3363
SCIP_Bool SCIPsetIsRelLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6683
void SCIPsetSortBranchrulesName(SCIP_SET *set)
Definition: set.c:4620
SCIP_Bool SCIPsetIsDualfeasPositive(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6506
SCIP_RETCODE SCIPsetSetDefaultBoolParam(SCIP_SET *set, const char *name, SCIP_Bool defaultvalue)
Definition: set.c:3102
SCIP_DEBUGSOLDATA * SCIPsetGetDebugSolData(SCIP_SET *set)
Definition: set.c:5529
struct SCIP_DebugSolData SCIP_DEBUGSOLDATA
Definition: debug.h:44
SCIP_SEPA * SCIPsetFindSepa(SCIP_SET *set, const char *name)
Definition: set.c:4008
SCIP_Bool SCIPsetIsFeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6218
SCIP_Bool SCIPsetIsZero(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5888
SCIP_Bool SCIPsetIsFeasZero(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6284
void SCIPsetSortSepas(SCIP_SET *set)
Definition: set.c:4028
SCIP_Bool SCIPsetIsNegative(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5910
SCIP_Bool SCIPsetIsFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5950
SCIP_RETCODE SCIPsetCopyParams(SCIP_SET *sourceset, SCIP_SET *targetset, SCIP_MESSAGEHDLR *messagehdlr)
Definition: set.c:1090
SCIP_RETCODE SCIPsetIncludePresol(SCIP_SET *set, SCIP_PRESOL *presol)
Definition: set.c:3837
type definitions for variable pricers
SCIP_RETCODE SCIPsetGetRealParam(SCIP_SET *set, const char *name, SCIP_Real *value)
Definition: set.c:2994
SCIP_Bool SCIPsetIsFeasPositive(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6295
type definitions for primal heuristics
SCIP_Real SCIPsetFeastol(SCIP_SET *set)
Definition: set.c:5678
SCIP_RETCODE SCIPsetIncludeRelax(SCIP_SET *set, SCIP_RELAX *relax)
Definition: set.c:3910
SCIP_Real SCIPsetGetHugeValue(SCIP_SET *set)
Definition: set.c:5648
type definitions for SCIP&#39;s main datastructure
SCIP_Bool SCIPsetIsSumPositive(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6108
SCIP_Real SCIPsetPseudocosteps(SCIP_SET *set)
Definition: set.c:5721
SCIP_RETCODE SCIPsetSetHeuristics(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: set.c:3418
int SCIPsetInitializeRandomSeed(SCIP_SET *set, int initialseedvalue)
Definition: set.c:6956
SCIP_Real SCIPsetDualfeasFrac(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6585
SCIP_BRANCHRULE * SCIPsetFindBranchrule(SCIP_SET *set, const char *name)
Definition: set.c:4585
SCIP_Real SCIPsetRound(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5985
SCIP_Bool SCIPsetIsDualfeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6407
void SCIPsetPrintDebugMessage(SCIP_SET *set, const char *sourcefile, int sourceline, const char *formatstr,...)
Definition: set.c:6907
void SCIPsetSortConflicthdlrsName(SCIP_SET *set)
Definition: set.c:3822
#define SCIP_DECL_PARAMCHGD(x)
Definition: type_paramset.h:91
SCIP_EVENTHDLR * SCIPsetFindEventhdlr(SCIP_SET *set, const char *name)
Definition: set.c:4452
SCIP_PRICER * SCIPsetFindPricer(SCIP_SET *set, const char *name)
Definition: set.c:3552
SCIP_RETCODE SCIPsetChgParamFixed(SCIP_SET *set, const char *name, SCIP_Bool fixed)
Definition: set.c:3036
type definitions for bandit selection algorithms
void SCIPsetSortConflicthdlrs(SCIP_SET *set)
Definition: set.c:3807
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:2908
void SCIPsetSortHeurs(SCIP_SET *set)
Definition: set.c:4325
SCIP_RETCODE SCIPsetIncludeDisp(SCIP_SET *set, SCIP_DISP *disp)
Definition: set.c:4635
SCIP_PRESOL * SCIPsetFindPresol(SCIP_SET *set, const char *name)
Definition: set.c:3860
SCIP_RETCODE SCIPsetSetParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, void *value)
Definition: set.c:3050
SCIP_RETCODE SCIPsetChgStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, const char *value)
Definition: set.c:3283
SCIP_RETCODE SCIPsetGetCharParam(SCIP_SET *set, const char *name, char *value)
Definition: set.c:3008
SCIP_RETCODE SCIPsetSetBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Bool value)
Definition: set.c:3087
type definitions for relaxators
SCIP_Real SCIPsetFeasFrac(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6374
void SCIPsetSortHeursName(SCIP_SET *set)
Definition: set.c:4340
SCIP_RETCODE SCIPsetFree(SCIP_SET **set, BMS_BLKMEM *blkmem)
Definition: set.c:2614
int SCIPsetCalcMemGrowSize(SCIP_SET *set, int num)
Definition: set.c:5326
type definitions for conflict analysis
SCIP_Bool SCIPsetIsLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5816
SCIP_Real SCIPsetSetRelaxfeastol(SCIP_SET *set, SCIP_Real relaxfeastol)
Definition: set.c:5463
type definitions for managing events
SCIP_Bool SCIPsetIsFeasIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6317
SCIP_Bool SCIPsetIsDualfeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6429
SCIP_Real SCIPsetEpsilon(SCIP_SET *set)
Definition: set.c:5658
SCIP_Bool SCIPsetIsDualfeasIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6528
SCIP_Bool SCIPsetIsGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:5852
SCIP_RETCODE SCIPsetIncludeConflicthdlr(SCIP_SET *set, SCIP_CONFLICTHDLR *conflicthdlr)
Definition: set.c:3763
void SCIPsetSetPriorityNlpi(SCIP_SET *set, SCIP_NLPI *nlpi, int priority)
Definition: set.c:4833
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:5142
void SCIPsetSortPropsName(SCIP_SET *set)
Definition: set.c:4135
SCIP_RETCODE SCIPsetChgCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, char value)
Definition: set.c:3245
SCIP_Real SCIPsetLpfeastol(SCIP_SET *set)
Definition: set.c:5698
SCIP_BANDITVTABLE * SCIPsetFindBanditvtable(SCIP_SET *set, const char *name)
Definition: set.c:4172
int SCIPsetGetNParams(SCIP_SET *set)
Definition: set.c:3477
SCIP_RETCODE SCIPsetChgRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Real value)
Definition: set.c:3207
SCIP_RETCODE SCIPsetIncludeBranchrule(SCIP_SET *set, SCIP_BRANCHRULE *branchrule)
Definition: set.c:4561
SCIP_RETCODE SCIPsetIncludeSepa(SCIP_SET *set, SCIP_SEPA *sepa)
Definition: set.c:3984
type definitions for input file readers
SCIP_RETCODE SCIPsetIncludeEventhdlr(SCIP_SET *set, SCIP_EVENTHDLR *eventhdlr)
Definition: set.c:4429
SCIP_CONSHDLR * SCIPsetFindConshdlr(SCIP_SET *set, const char *name)
Definition: set.c:3743
SCIP_Real SCIPsetSumRound(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6152
SCIP_TABLE * SCIPsetFindTable(SCIP_SET *set, const char *name)
Definition: set.c:4712
void SCIPsetSortBranchrules(SCIP_SET *set)
Definition: set.c:4605
SCIP_Real SCIPsetRelaxfeastol(SCIP_SET *set)
Definition: set.c:5755
SCIP_RETCODE SCIPsetSetSubscipsOff(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_Bool quiet)
Definition: set.c:3401
SCIP_RETCODE SCIPsetSetReoptimizationParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition: set.c:759
SCIP_RELAX * SCIPsetFindRelax(SCIP_SET *set, const char *name)
Definition: set.c:3934
SCIP_CONCSOLVERTYPE * SCIPsetFindConcsolverType(SCIP_SET *set, const char *name)
Definition: set.c:4215
SCIP_Real SCIPsetDualfeasFloor(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6552
SCIP_Bool SCIPsetIsSumRelEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6771
SCIP_RETCODE SCIPsetInitPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:4879
SCIP_Bool SCIPsetIsDualfeasZero(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6495
SCIP_RETCODE SCIPsetReadParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename)
Definition: set.c:3321
SCIP_RETCODE SCIPsetSetRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Real value)
Definition: set.c:3230
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:2861
SCIP_Bool SCIPsetIsSumLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6043
type definitions for clocks and timing issues
SCIP_Bool SCIPsetIsFeasNegative(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6306
SCIP_RETCODE SCIPsetIncludeConcsolver(SCIP_SET *set, SCIP_CONCSOLVER *concsolver)
Definition: set.c:4235
SCIP_Bool SCIPsetIsSumLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6025
SCIP_RETCODE SCIPsetIncludeProp(SCIP_SET *set, SCIP_PROP *prop)
Definition: set.c:4058
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:2885
SCIP_PARAM ** SCIPsetGetParams(SCIP_SET *set)
Definition: set.c:3467
SCIP_Bool SCIPsetIsSumZero(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6097
SCIP_Bool SCIPsetExistsDialog(SCIP_SET *set, SCIP_DIALOG *dialog)
Definition: set.c:4754
void SCIPsetReinsertConshdlrSepaPrio(SCIP_SET *set, SCIP_CONSHDLR *conshdlr, int oldpriority)
Definition: set.c:3658
SCIP_Bool SCIPsetIsSumGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6079
enum SCIP_ParamEmphasis SCIP_PARAMEMPHASIS
Definition: type_paramset.h:73
SCIP_Bool SCIPsetIsDualfeasNegative(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6517
void SCIPsetSortSepasName(SCIP_SET *set)
Definition: set.c:4043
SCIP_Bool SCIPsetIsDualfeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6451
SCIP_RETCODE SCIPsetSetDualfeastol(SCIP_SET *set, SCIP_Real dualfeastol)
Definition: set.c:5432
SCIP_Real SCIPsetFrac(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5996
SCIP_RETCODE SCIPsetIncludePricer(SCIP_SET *set, SCIP_PRICER *pricer)
Definition: set.c:3529
int SCIPsetCalcPathGrowSize(SCIP_SET *set, int num)
Definition: set.c:5344
type definitions for propagators
SCIP_Bool SCIPsetIsFeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6240
SCIP_RETCODE SCIPsetGetLongintParam(SCIP_SET *set, const char *name, SCIP_Longint *value)
Definition: set.c:2980
SCIP_Real SCIPsetRecompfac(SCIP_SET *set)
Definition: set.c:5766
SCIP_RETCODE SCIPsetSetFeastol(SCIP_SET *set, SCIP_Real feastol)
Definition: set.c:5372
SCIP_Real SCIPsetFeasCeil(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6352
type definitions for tree compression
void SCIPsetDebugMessagePrint(SCIP_SET *set, const char *formatstr,...)
Definition: set.c:6939
SCIP_CONFLICTHDLR * SCIPsetFindConflicthdlr(SCIP_SET *set, const char *name)
Definition: set.c:3787
type definitions for separators
SCIP_RETCODE SCIPsetSetStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, const char *value)
Definition: set.c:3306
SCIP_RETCODE SCIPsetIncludeNlpi(SCIP_SET *set, SCIP_NLPI *nlpi)
Definition: set.c:4776
SCIP_RETCODE SCIPsetIncludeBanditvtable(SCIP_SET *set, SCIP_BANDITVTABLE *banditvtable)
Definition: set.c:4150
SCIP_Bool SCIPsetIsParamFixed(SCIP_SET *set, const char *name)
Definition: set.c:2930
SCIP_RETCODE SCIPsetExitprePlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition: set.c:5110
SCIP_Bool SCIPsetIsFeasGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6262
SCIP_Bool SCIPsetIsRelGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6749
SCIP_HEUR * SCIPsetFindHeur(SCIP_SET *set, const char *name)
Definition: set.c:4305
SCIP_Bool SCIPsetIsSumGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6061
type definitions for handling parameter settings
void SCIPsetSortNlpis(SCIP_SET *set)
Definition: set.c:4819
#define SCIP_Real
Definition: def.h:149
SCIP_Real SCIPsetFeasRound(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6363
SCIP_RETCODE SCIPsetChgBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Bool value)
Definition: set.c:3065
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:6473
SCIP_RETCODE SCIPsetGetStringParam(SCIP_SET *set, const char *name, char **value)
Definition: set.c:3022
SCIP_RETCODE SCIPsetSetLpfeastol(SCIP_SET *set, SCIP_Real lpfeastol, SCIP_Bool printnewvalue)
Definition: set.c:5394
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:877
SCIP_RETCODE SCIPsetIncludeHeur(SCIP_SET *set, SCIP_HEUR *heur)
Definition: set.c:4281
SCIP_RETCODE SCIPsetChgLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Longint value)
Definition: set.c:3169
SCIP_Bool SCIPsetIsRelEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6661
SCIP_Real SCIPsetDualfeasCeil(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6563
#define SCIP_Longint
Definition: def.h:134
SCIP_RETCODE SCIPsetIncludeConshdlr(SCIP_SET *set, SCIP_CONSHDLR *conshdlr)
Definition: set.c:3602
void SCIPsetSortPricersName(SCIP_SET *set)
Definition: set.c:3587
SCIP_Bool SCIPsetIsFeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6174
SCIP_Bool SCIPsetIsScalingIntegral(SCIP_SET *set, SCIP_Real val, SCIP_Real scalar)
Definition: set.c:5932
SCIP_Bool SCIPsetIsIntegral(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5921
SCIP_RETCODE SCIPsetCreate(SCIP_SET **set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, SCIP *scip)
Definition: set.c:1107
SCIP_Bool SCIPsetIsInfinity(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5776
void SCIPsetSortComprsName(SCIP_SET *set)
Definition: set.c:4414
SCIP_Bool SCIPsetIsSumRelGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition: set.c:6837
common defines and data types used in all packages of SCIP
struct BMS_BlkMem BMS_BLKMEM
Definition: memory.h:419
SCIP_NODESEL * SCIPsetGetNodesel(SCIP_SET *set, SCIP_STAT *stat)
Definition: set.c:4523
SCIP_RETCODE SCIPsetIncludeNodesel(SCIP_SET *set, SCIP_NODESEL *nodesel)
Definition: set.c:4472
SCIP_RETCODE SCIPsetChgIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, int value)
Definition: set.c:3117
SCIP_Real SCIPsetCutoffbounddelta(SCIP_SET *set)
Definition: set.c:5741
type definitions for node selectors
SCIP_PARAM * SCIPsetGetParam(SCIP_SET *set, const char *name)
Definition: set.c:2941
SCIP_NLPI * SCIPsetFindNlpi(SCIP_SET *set, const char *name)
Definition: set.c:4799
SCIP_RETCODE SCIPsetIncludeExternalCode(SCIP_SET *set, const char *name, const char *description)
Definition: set.c:4847
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:2813
datastructures for global SCIP settings
SCIP_Real SCIPsetSumepsilon(SCIP_SET *set)
Definition: set.c:5668
void SCIPsetSortPricers(SCIP_SET *set)
Definition: set.c:3572
SCIP_Real SCIPsetDualfeasRound(SCIP_SET *set, SCIP_Real val)
Definition: set.c:6574
void SCIPsetSortPropsPresol(SCIP_SET *set)
Definition: set.c:4120
SCIP_Real SCIPsetFloor(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5963
SCIP_RETCODE SCIPsetFreeConcsolvers(SCIP_SET *set)
Definition: set.c:4259
SCIP_RETCODE SCIPsetIncludeConcsolverType(SCIP_SET *set, SCIP_CONCSOLVERTYPE *concsolvertype)
Definition: set.c:4193
type definitions for displaying statistics tables
type definitions for constraints and constraint handlers
SCIP_Real SCIPsetPseudocostdelta(SCIP_SET *set)
Definition: set.c:5731
SCIP_COMPR * SCIPsetFindCompr(SCIP_SET *set, const char *name)
Definition: set.c:4379
SCIP_RETCODE SCIPsetSetCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, char value)
Definition: set.c:3268
type definitions for displaying runtime statistics
memory allocation routines
SCIP_Bool SCIPsetIsPositive(SCIP_SET *set, SCIP_Real val)
Definition: set.c:5899