SCIP Doxygen Documentation
 
Loading...
Searching...
No Matches
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-2024 Zuse Institute Berlin (ZIB) */
7/* */
8/* Licensed under the Apache License, Version 2.0 (the "License"); */
9/* you may not use this file except in compliance with the License. */
10/* You may obtain a copy of the License at */
11/* */
12/* http://www.apache.org/licenses/LICENSE-2.0 */
13/* */
14/* Unless required by applicable law or agreed to in writing, software */
15/* distributed under the License is distributed on an "AS IS" BASIS, */
16/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
17/* See the License for the specific language governing permissions and */
18/* limitations under the License. */
19/* */
20/* You should have received a copy of the Apache-2.0 license */
21/* along with SCIP; see the file LICENSE. If not visit scipopt.org. */
22/* */
23/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
24
25/**@file set.h
26 * @ingroup INTERNALAPI
27 * @brief internal methods for global SCIP settings
28 * @author Tobias Achterberg
29 * @author Timo Berthold
30 */
31
32/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
33
34#ifndef __SCIP_SET_H__
35#define __SCIP_SET_H__
36
37
38#include "scip/def.h"
40#include "scip/type_bandit.h"
41#include "scip/type_set.h"
42#include "scip/type_stat.h"
43#include "scip/type_clock.h"
44#include "scip/type_paramset.h"
45#include "scip/type_event.h"
46#include "scip/type_scip.h"
47#include "scip/type_branch.h"
48#include "scip/type_conflict.h"
49#include "scip/type_cons.h"
50#include "scip/type_disp.h"
51#include "scip/type_heur.h"
52#include "scip/type_compr.h"
53#include "scip/type_nodesel.h"
54#include "scip/type_presol.h"
55#include "scip/type_pricer.h"
56#include "scip/type_reader.h"
57#include "scip/type_relax.h"
58#include "scip/type_sepa.h"
59#include "scip/type_table.h"
60#include "scip/type_prop.h"
61#include "scip/type_benders.h"
62#include "scip/struct_set.h"
63
64
65#ifdef NDEBUG
66#include "scip/pub_misc.h"
67#endif
68
69#ifdef __cplusplus
70extern "C" {
71#endif
72
73/** copies plugins from sourcescip to targetscip; in case that a constraint handler which does not need constraints
74 * cannot be copied, valid will return FALSE. All plugins can declare that, if their copy process failed, the
75 * copied SCIP instance might not represent the same problem semantics as the original.
76 * Note that in this case dual reductions might be invalid. */
78 SCIP_SET* sourceset, /**< source SCIP_SET data structure */
79 SCIP_SET* targetset, /**< target SCIP_SET data structure */
80 SCIP_Bool copyreaders, /**< should the file readers be copied */
81 SCIP_Bool copypricers, /**< should the variable pricers be copied */
82 SCIP_Bool copyconshdlrs, /**< should the constraint handlers be copied */
83 SCIP_Bool copyconflicthdlrs, /**< should the conflict handlers be copied */
84 SCIP_Bool copypresolvers, /**< should the presolvers be copied */
85 SCIP_Bool copyrelaxators, /**< should the relaxators be copied */
86 SCIP_Bool copyseparators, /**< should the separators be copied */
87 SCIP_Bool copycutselectors, /**< should the cut selectors be copied */
88 SCIP_Bool copypropagators, /**< should the propagators be copied */
89 SCIP_Bool copyheuristics, /**< should the heuristics be copied */
90 SCIP_Bool copyeventhdlrs, /**< should the event handlers be copied */
91 SCIP_Bool copynodeselectors, /**< should the node selectors be copied */
92 SCIP_Bool copybranchrules, /**< should the branchrules be copied */
93 SCIP_Bool copydisplays, /**< should the display columns be copied */
94 SCIP_Bool copydialogs, /**< should the dialogs be copied */
95 SCIP_Bool copytables, /**< should the statistics tables be copied */
96 SCIP_Bool copyexprhdlrs, /**< should the expression handlers be copied */
97 SCIP_Bool copynlpis, /**< should the NLP interfaces be copied */
98 SCIP_Bool* allvalid /**< pointer to store whether all plugins were validly copied */
99 );
100
101/** copies parameters from sourcescip to targetscip */
103 SCIP_SET* sourceset, /**< source SCIP_SET data structure */
104 SCIP_SET* targetset, /**< target SCIP_SET data structure */
105 SCIP_MESSAGEHDLR* messagehdlr /**< message handler of target SCIP */
106 );
107
108/** creates global SCIP settings */
110 SCIP_SET** set, /**< pointer to SCIP settings */
111 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
112 BMS_BLKMEM* blkmem, /**< block memory */
113 SCIP* scip /**< SCIP data structure */
114 );
115
116/** frees global SCIP settings */
118 SCIP_SET** set, /**< pointer to SCIP settings */
119 BMS_BLKMEM* blkmem /**< block memory */
120 );
121
122/** returns current stage of SCIP */
124 SCIP_SET* set /**< pointer to SCIP settings */
125 );
126
127/** creates a SCIP_Bool parameter, sets it to its default value, and adds it to the parameter set */
129 SCIP_SET* set, /**< global SCIP settings */
130 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
131 BMS_BLKMEM* blkmem, /**< block memory */
132 const char* name, /**< name of the parameter */
133 const char* desc, /**< description of the parameter */
134 SCIP_Bool* valueptr, /**< pointer to store the current parameter value, or NULL */
135 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
136 SCIP_Bool defaultvalue, /**< default value of the parameter */
137 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
138 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
139 );
140
141/** creates a int parameter, sets it to its default value, and adds it to the parameter set */
143 SCIP_SET* set, /**< global SCIP settings */
144 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
145 BMS_BLKMEM* blkmem, /**< block memory */
146 const char* name, /**< name of the parameter */
147 const char* desc, /**< description of the parameter */
148 int* valueptr, /**< pointer to store the current parameter value, or NULL */
149 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
150 int defaultvalue, /**< default value of the parameter */
151 int minvalue, /**< minimum value for parameter */
152 int maxvalue, /**< maximum value for parameter */
153 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
154 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
155 );
156
157/** creates a SCIP_Longint parameter, sets it to its default value, and adds it to the parameter set */
159 SCIP_SET* set, /**< global SCIP settings */
160 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
161 BMS_BLKMEM* blkmem, /**< block memory */
162 const char* name, /**< name of the parameter */
163 const char* desc, /**< description of the parameter */
164 SCIP_Longint* valueptr, /**< pointer to store the current parameter value, or NULL */
165 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
166 SCIP_Longint defaultvalue, /**< default value of the parameter */
167 SCIP_Longint minvalue, /**< minimum value for parameter */
168 SCIP_Longint maxvalue, /**< maximum value for parameter */
169 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
170 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
171 );
172
173/** creates a SCIP_Real parameter, sets it to its default value, and adds it to the parameter set */
175 SCIP_SET* set, /**< global SCIP settings */
176 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
177 BMS_BLKMEM* blkmem, /**< block memory */
178 const char* name, /**< name of the parameter */
179 const char* desc, /**< description of the parameter */
180 SCIP_Real* valueptr, /**< pointer to store the current parameter value, or NULL */
181 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
182 SCIP_Real defaultvalue, /**< default value of the parameter */
183 SCIP_Real minvalue, /**< minimum value for parameter */
184 SCIP_Real maxvalue, /**< maximum value for parameter */
185 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
186 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
187 );
188
189/** creates a char parameter, sets it to its default value, and adds it to the parameter set */
191 SCIP_SET* set, /**< global SCIP settings */
192 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
193 BMS_BLKMEM* blkmem, /**< block memory */
194 const char* name, /**< name of the parameter */
195 const char* desc, /**< description of the parameter */
196 char* valueptr, /**< pointer to store the current parameter value, or NULL */
197 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
198 char defaultvalue, /**< default value of the parameter */
199 const char* allowedvalues, /**< array with possible parameter values, or NULL if not restricted */
200 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
201 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
202 );
203
204/** creates a string parameter, sets it to its default value, and adds it to the parameter set */
206 SCIP_SET* set, /**< global SCIP settings */
207 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
208 BMS_BLKMEM* blkmem, /**< block memory */
209 const char* name, /**< name of the parameter */
210 const char* desc, /**< description of the parameter */
211 char** valueptr, /**< pointer to store the current parameter value, or NULL */
212 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
213 const char* defaultvalue, /**< default value of the parameter */
214 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
215 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
216 );
217
218/** gets the fixing status value of an existing parameter */
219SCIP_Bool SCIPsetIsParamFixed(
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 */
226 SCIP_SET* set, /**< global SCIP settings */
227 const char* name /**< name of the parameter */
228 );
229
230/** gets the value of an existing SCIP_Bool parameter */
232 SCIP_SET* set, /**< global SCIP settings */
233 const char* name, /**< name of the parameter */
234 SCIP_Bool* value /**< pointer to store the parameter */
235 );
236
237/** gets the value of an existing Int parameter */
239 SCIP_SET* set, /**< global SCIP settings */
240 const char* name, /**< name of the parameter */
241 int* value /**< pointer to store the parameter */
242 );
243
244/** gets the value of an existing SCIP_Longint parameter */
246 SCIP_SET* set, /**< global SCIP settings */
247 const char* name, /**< name of the parameter */
248 SCIP_Longint* value /**< pointer to store the parameter */
249 );
250
251/** gets the value of an existing SCIP_Real parameter */
253 SCIP_SET* set, /**< global SCIP settings */
254 const char* name, /**< name of the parameter */
255 SCIP_Real* value /**< pointer to store the parameter */
256 );
257
258/** gets the value of an existing Char parameter */
260 SCIP_SET* set, /**< global SCIP settings */
261 const char* name, /**< name of the parameter */
262 char* value /**< pointer to store the parameter */
263 );
264
265/** gets the value of an existing String parameter */
267 SCIP_SET* set, /**< global SCIP settings */
268 const char* name, /**< name of the parameter */
269 char** value /**< pointer to store the parameter */
270 );
271
272/** changes the fixing status of an existing parameter */
274 SCIP_SET* set, /**< global SCIP settings */
275 const char* name, /**< name of the parameter */
276 SCIP_Bool fixed /**< new fixing status of the parameter */
277 );
278
279/** changes the value of an existing SCIP_Bool parameter */
281 SCIP_SET* set, /**< global SCIP settings */
282 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
283 SCIP_PARAM* param, /**< parameter */
284 SCIP_Bool value /**< new value of the parameter */
285 );
286
287/** changes the value of an existing SCIP_Bool parameter */
289 SCIP_SET* set, /**< global SCIP settings */
290 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
291 const char* name, /**< name of the parameter */
292 SCIP_Bool value /**< new value of the parameter */
293 );
294
295/** changes the default value of an existing SCIP_Bool parameter */
297 SCIP_SET* set, /**< global SCIP settings */
298 const char* name, /**< name of the parameter */
299 SCIP_Bool defaultvalue /**< new default value of the parameter */
300 );
301
302/** changes the value of an existing Int parameter */
304 SCIP_SET* set, /**< global SCIP settings */
305 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
306 SCIP_PARAM* param, /**< parameter */
307 int value /**< new value of the parameter */
308 );
309
310/** changes the value of an existing Int parameter */
312 SCIP_SET* set, /**< global SCIP settings */
313 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
314 const char* name, /**< name of the parameter */
315 int value /**< new value of the parameter */
316 );
317
318/** changes the default value of an existing Int parameter */
320 SCIP_SET* set, /**< global SCIP settings */
321 const char* name, /**< name of the parameter */
322 int defaultvalue /**< new default value of the parameter */
323 );
324
325/** changes the value of an existing SCIP_Longint parameter */
327 SCIP_SET* set, /**< global SCIP settings */
328 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
329 SCIP_PARAM* param, /**< parameter */
330 SCIP_Longint value /**< new value of the parameter */
331 );
332
333/** changes the value of an existing SCIP_Longint parameter */
335 SCIP_SET* set, /**< global SCIP settings */
336 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
337 const char* name, /**< name of the parameter */
338 SCIP_Longint value /**< new value of the parameter */
339 );
340
341/** changes the value of an existing SCIP_Real parameter */
343 SCIP_SET* set, /**< global SCIP settings */
344 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
345 SCIP_PARAM* param, /**< parameter */
346 SCIP_Real value /**< new value of the parameter */
347 );
348
349/** changes the value of an existing SCIP_Real parameter */
351 SCIP_SET* set, /**< global SCIP settings */
352 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
353 const char* name, /**< name of the parameter */
354 SCIP_Real value /**< new value of the parameter */
355 );
356
357/** changes the value of an existing Char parameter */
359 SCIP_SET* set, /**< global SCIP settings */
360 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
361 SCIP_PARAM* param, /**< parameter */
362 char value /**< new value of the parameter */
363 );
364
365/** changes the value of an existing Char parameter */
367 SCIP_SET* set, /**< global SCIP settings */
368 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
369 const char* name, /**< name of the parameter */
370 char value /**< new value of the parameter */
371 );
372
373/** changes the value of an existing String parameter */
375 SCIP_SET* set, /**< global SCIP settings */
376 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
377 SCIP_PARAM* param, /**< parameter */
378 const char* value /**< new value of the parameter */
379 );
380
381/** changes the value of an existing String parameter */
383 SCIP_SET* set, /**< global SCIP settings */
384 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
385 const char* name, /**< name of the parameter */
386 const char* value /**< new value of the parameter */
387 );
388
389/** changes the value of an existing parameter */
391 SCIP_SET* set, /**< global SCIP settings */
392 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
393 const char* name, /**< name of the parameter */
394 const char* value /**< new value of the parameter as string */
395 );
396
397/** reads parameters from a file */
399 SCIP_SET* set, /**< global SCIP settings */
400 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
401 const char* filename /**< file name */
402 );
403
404/** writes all parameters in the parameter set to a file */
406 SCIP_SET* set, /**< global SCIP settings */
407 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
408 const char* filename, /**< file name, or NULL for stdout */
409 SCIP_Bool comments, /**< should parameter descriptions be written as comments? */
410 SCIP_Bool onlychanged /**< should only the parameters been written, that are changed from default? */
411 );
412
413/** resets a single parameters to its default value */
415 SCIP_SET* set, /**< global SCIP settings */
416 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
417 const char* name /**< name of the parameter */
418 );
419
420/** resets all parameters to their default values */
422 SCIP_SET* set, /**< global SCIP settings */
423 SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
424 );
425
426/** sets parameters to
427 *
428 * - \ref SCIP_PARAMEMPHASIS_DEFAULT to use default values (see also SCIPsetResetParams())
429 * - \ref SCIP_PARAMEMPHASIS_COUNTER to get feasible and "fast" counting process
430 * - \ref SCIP_PARAMEMPHASIS_CPSOLVER to get CP like search (e.g. no LP relaxation)
431 * - \ref SCIP_PARAMEMPHASIS_EASYCIP to solve easy problems fast
432 * - \ref SCIP_PARAMEMPHASIS_FEASIBILITY to detect feasibility fast
433 * - \ref SCIP_PARAMEMPHASIS_HARDLP to be capable to handle hard LPs
434 * - \ref SCIP_PARAMEMPHASIS_OPTIMALITY to prove optimality fast
435 * - \ref SCIP_PARAMEMPHASIS_PHASEFEAS to find feasible solutions during a 3 phase solution process
436 * - \ref SCIP_PARAMEMPHASIS_PHASEIMPROVE to find improved solutions during a 3 phase solution process
437 * - \ref SCIP_PARAMEMPHASIS_PHASEPROOF to proof optimality during a 3 phase solution process
438 */
440 SCIP_SET* set, /**< global SCIP settings */
441 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
442 SCIP_PARAMEMPHASIS paramemphasis, /**< parameter settings */
443 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
444 );
445
446/** set parameters for reoptimization */
448 SCIP_SET* set, /**< SCIP data structure */
449 SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
450 );
451
452/** enable or disable all plugin timers depending on the value of the flag \p enabled */
454 SCIP_SET* set, /**< SCIP settings */
455 SCIP_Bool enabled /**< should plugin clocks be enabled? */
456 );
457
458/** sets parameters to deactivate separators and heuristics that use auxiliary SCIP instances; should be called for
459 * auxiliary SCIP instances to avoid recursion
460 */
462 SCIP_SET* set, /**< global SCIP settings */
463 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
464 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
465 );
466
467/** sets heuristic parameters values to
468 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all heuristic parameters
469 * - SCIP_PARAMSETTING_FAST such that the time spend for heuristic is decreased
470 * - SCIP_PARAMSETTING_AGGRESSIVE such that the heuristic are called more aggregative
471 * - SCIP_PARAMSETTING_OFF which turn off all heuristics
472 */
474 SCIP_SET* set, /**< global SCIP settings */
475 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
476 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
477 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
478 );
479
480/** sets presolving parameters to
481 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all presolving parameters
482 * - SCIP_PARAMSETTING_FAST such that the time spend for presolving is decreased
483 * - SCIP_PARAMSETTING_AGGRESSIVE such that the presolving is more aggregative
484 * - SCIP_PARAMSETTING_OFF which turn off all presolving
485 */
487 SCIP_SET* set, /**< global SCIP settings */
488 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
489 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
490 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
491 );
492
493/** sets separating parameters to
494 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all separating parameters
495 * - SCIP_PARAMSETTING_FAST such that the time spend for separating is decreased
496 * - SCIP_PARAMSETTING_AGGRESSIVE such that the separating is done more aggregative
497 * - SCIP_PARAMSETTING_OFF which turn off all separating
498 */
500 SCIP_SET* set, /**< global SCIP settings */
501 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
502 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
503 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
504 );
505
506/** returns the array of all available SCIP parameters */
508 SCIP_SET* set /**< global SCIP settings */
509 );
510
511/** returns the total number of all available SCIP parameters */
513 SCIP_SET* set /**< global SCIP settings */
514 );
515
516/** inserts file reader in file reader list */
518 SCIP_SET* set, /**< global SCIP settings */
519 SCIP_READER* reader /**< file reader */
520 );
521
522/** returns the file reader of the given name, or NULL if not existing */
524 SCIP_SET* set, /**< global SCIP settings */
525 const char* name /**< name of file reader */
526 );
527
528/** inserts variable pricer in variable pricer list */
530 SCIP_SET* set, /**< global SCIP settings */
531 SCIP_PRICER* pricer /**< variable pricer */
532 );
533
534/** returns the variable pricer of the given name, or NULL if not existing */
536 SCIP_SET* set, /**< global SCIP settings */
537 const char* name /**< name of variable pricer */
538 );
539
540/** sorts pricers by priorities */
542 SCIP_SET* set /**< global SCIP settings */
543 );
544
545/** sorts pricers by name */
547 SCIP_SET* set /**< global SCIP settings */
548 );
549
550/** inserts Benders' decomposition into the Benders' decomposition list */
552 SCIP_SET* set, /**< global SCIP settings */
553 SCIP_BENDERS* benders /**< Benders' decomposition */
554 );
555
556/** returns the Benders' decomposition of the given name, or NULL if not existing */
558 SCIP_SET* set, /**< global SCIP settings */
559 const char* name /**< name of Benders' decomposition */
560 );
561
562/** sorts Benders' decomposition by priorities */
564 SCIP_SET* set /**< global SCIP settings */
565 );
566
567/** sorts Benders' decomposition by name */
569 SCIP_SET* set /**< global SCIP settings */
570 );
571
572/** inserts constraint handler in constraint handler list */
574 SCIP_SET* set, /**< global SCIP settings */
575 SCIP_CONSHDLR* conshdlr /**< constraint handler */
576 );
577
578/** reinserts a constraint handler with modified sepa priority into the sepa priority sorted array */
580 SCIP_SET* set, /**< global SCIP settings */
581 SCIP_CONSHDLR* conshdlr, /**< constraint handler to be reinserted */
582 int oldpriority /**< the old separation priority of constraint handler */
583 );
584
585/** returns the constraint handler of the given name, or NULL if not existing */
587 SCIP_SET* set, /**< global SCIP settings */
588 const char* name /**< name of constraint handler */
589 );
590
591/** inserts conflict handler in conflict handler list */
593 SCIP_SET* set, /**< global SCIP settings */
594 SCIP_CONFLICTHDLR* conflicthdlr /**< conflict handler */
595 );
596
597/** returns the conflict handler of the given name, or NULL if not existing */
599 SCIP_SET* set, /**< global SCIP settings */
600 const char* name /**< name of conflict handler */
601 );
602
603/** sorts conflict handlers by priorities */
605 SCIP_SET* set /**< global SCIP settings */
606 );
607
608/** sorts conflict handlers by name */
610 SCIP_SET* set /**< global SCIP settings */
611 );
612
613/** inserts presolver in presolver list */
615 SCIP_SET* set, /**< global SCIP settings */
616 SCIP_PRESOL* presol /**< presolver */
617 );
618
619/** returns the presolver of the given name, or NULL if not existing */
621 SCIP_SET* set, /**< global SCIP settings */
622 const char* name /**< name of presolver */
623 );
624
625/** sorts presolvers by priorities */
627 SCIP_SET* set /**< global SCIP settings */
628 );
629
630/** sorts presolvers by name */
632 SCIP_SET* set /**< global SCIP settings */
633 );
634
635/** inserts relaxator in relaxator list */
637 SCIP_SET* set, /**< global SCIP settings */
638 SCIP_RELAX* relax /**< relaxator */
639 );
640
641/** returns the relaxator of the given name, or NULL if not existing */
643 SCIP_SET* set, /**< global SCIP settings */
644 const char* name /**< name of relaxator */
645 );
646
647/** sorts relaxators by priorities */
649 SCIP_SET* set /**< global SCIP settings */
650 );
651
652/** sorts relaxators by name */
654 SCIP_SET* set /**< global SCIP settings */
655 );
656
657/** inserts separator in separator list */
659 SCIP_SET* set, /**< global SCIP settings */
660 SCIP_SEPA* sepa /**< separator */
661 );
662
663/** returns the separator of the given name, or NULL if not existing */
665 SCIP_SET* set, /**< global SCIP settings */
666 const char* name /**< name of separator */
667 );
668
669/** sorts separators by priorities */
671 SCIP_SET* set /**< global SCIP settings */
672 );
673
674/** sorts separators by name */
676 SCIP_SET* set /**< global SCIP settings */
677 );
678
679/** inserts cut selector in cut selector list */
681 SCIP_SET* set, /**< global SCIP settings */
682 SCIP_CUTSEL* cutsel /**< cut selector */
683 );
684
685/** returns the cut selector of the given name, or NULL if not existing */
687 SCIP_SET* set, /**< global SCIP settings */
688 const char* name /**< name of separator */
689 );
690
691/** sorts cut selectors by priorities */
693 SCIP_SET* set /**< global SCIP settings */
694 );
695
696/** inserts propagator in propagator list */
698 SCIP_SET* set, /**< global SCIP settings */
699 SCIP_PROP* prop /**< propagator */
700 );
701
702/** returns the propagator of the given name, or NULL if not existing */
704 SCIP_SET* set, /**< global SCIP settings */
705 const char* name /**< name of propagator */
706 );
707
708/** sorts propagators by priorities */
710 SCIP_SET* set /**< global SCIP settings */
711 );
712
713/** sorts propagators by priorities for presolving */
715 SCIP_SET* set /**< global SCIP settings */
716 );
717
718/** sorts propagators w.r.t. names */
720 SCIP_SET* set /**< global SCIP settings */
721 );
722
723/** inserts concurrent solver type into the concurrent solver type list */
725 SCIP_SET* set, /**< global SCIP settings */
726 SCIP_CONCSOLVERTYPE* concsolvertype /**< concurrent solver type */
727 );
728
729/** returns the concurrent solver type with the given name, or NULL if not existing */
731 SCIP_SET* set, /**< global SCIP settings */
732 const char* name /**< name of concurrent solver type */
733 );
734
735/** inserts concurrent solver into the concurrent solver list */
737 SCIP_SET* set, /**< global SCIP settings */
738 SCIP_CONCSOLVER* concsolver /**< concurrent solver */
739 );
740
741/** frees all concurrent solvers in the concurrent solver list */
743 SCIP_SET* set /**< global SCIP settings */
744 );
745
746/** inserts primal heuristic in primal heuristic list */
748 SCIP_SET* set, /**< global SCIP settings */
749 SCIP_HEUR* heur /**< primal heuristic */
750 );
751
752/** returns the primal heuristic of the given name, or NULL if not existing */
754 SCIP_SET* set, /**< global SCIP settings */
755 const char* name /**< name of primal heuristic */
756 );
757
758/** sorts heuristics by priorities */
760 SCIP_SET* set /**< global SCIP settings */
761 );
762
763/** sorts heuristics by name */
765 SCIP_SET* set /**< global SCIP settings */
766 );
767
768/** inserts tree compression in tree compression list */
770 SCIP_SET* set, /**< global SCIP settings */
771 SCIP_COMPR* compr /**< tree compression */
772 );
773
774/** returns the tree compression of the given name, or NULL if not existing */
776 SCIP_SET* set, /**< global SCIP settings */
777 const char* name /**< name of tree compression */
778 );
779
780/** sorts compressions by priorities */
782 SCIP_SET* set /**< global SCIP settings */
783 );
784
785/** sorts heuristics by names */
787 SCIP_SET* set /**< global SCIP settings */
788 );
789
790/** inserts event handler in event handler list */
792 SCIP_SET* set, /**< global SCIP settings */
793 SCIP_EVENTHDLR* eventhdlr /**< event handler */
794 );
795
796/** returns the event handler of the given name, or NULL if not existing */
798 SCIP_SET* set, /**< global SCIP settings */
799 const char* name /**< name of event handler */
800 );
801
802/** inserts node selector in node selector list */
804 SCIP_SET* set, /**< global SCIP settings */
805 SCIP_NODESEL* nodesel /**< node selector */
806 );
807
808/** returns the node selector of the given name, or NULL if not existing */
810 SCIP_SET* set, /**< global SCIP settings */
811 const char* name /**< name of event handler */
812 );
813
814/** returns node selector with highest priority in the current mode */
816 SCIP_SET* set, /**< global SCIP settings */
817 SCIP_STAT* stat /**< dynamic problem statistics */
818 );
819
820/** inserts branching rule in branching rule list */
822 SCIP_SET* set, /**< global SCIP settings */
823 SCIP_BRANCHRULE* branchrule /**< branching rule */
824 );
825
826/** returns the branching rule of the given name, or NULL if not existing */
828 SCIP_SET* set, /**< global SCIP settings */
829 const char* name /**< name of event handler */
830 );
831
832/** sorts branching rules by priorities */
834 SCIP_SET* set /**< global SCIP settings */
835 );
836
837/** sorts branching rules by name */
839 SCIP_SET* set /**< global SCIP settings */
840 );
841
842/** inserts display column in display column list */
844 SCIP_SET* set, /**< global SCIP settings */
845 SCIP_DISP* disp /**< display column */
846 );
847
848/** returns the display column of the given name, or NULL if not existing */
850 SCIP_SET* set, /**< global SCIP settings */
851 const char* name /**< name of display */
852 );
853
854/** inserts statistics table in statistics table list */
856 SCIP_SET* set, /**< global SCIP settings */
857 SCIP_TABLE* table /**< statistics table */
858 );
859
860/** returns the statistics table of the given name, or NULL if not existing */
862 SCIP_SET* set, /**< global SCIP settings */
863 const char* name /**< name of statistics table */
864 );
865
866/** inserts dialog in dialog list */
868 SCIP_SET* set, /**< global SCIP settings */
869 SCIP_DIALOG* dialog /**< dialog */
870 );
871
872/** returns if the dialog already exists */
873SCIP_Bool SCIPsetExistsDialog(
874 SCIP_SET* set, /**< global SCIP settings */
875 SCIP_DIALOG* dialog /**< dialog */
876 );
877
878/** inserts expression handler in expression handler list */
880 SCIP_SET* set, /**< global SCIP settings */
881 SCIP_EXPRHDLR* exprhdlr /**< expression handler */
882 );
883
884/** returns the expression handler of the given name, or NULL if not existing */
885SCIP_EXPORT /* need SCIP_EXPORT here, because func is exposed in API via SCIPfindExprhdlr() macro */
887 SCIP_SET* set, /**< global SCIP settings */
888 const char* name /**< name of expression handler */
889 );
890
891/** sorts expression handlers by name */
893 SCIP_SET* set /**< global SCIP settings */
894 );
895
896/** inserts NLPI in NLPI list */
898 SCIP_SET* set, /**< global SCIP settings */
899 SCIP_NLPI* nlpi /**< NLPI */
900 );
901
902/** returns the NLPI of the given name, or NULL if not existing */
904 SCIP_SET* set, /**< global SCIP settings */
905 const char* name /**< name of NLPI */
906 );
907
908/** sorts NLPIs by priorities */
910 SCIP_SET* set /**< global SCIP settings */
911 );
912
913/** set priority of an NLPI */
915 SCIP_SET* set, /**< global SCIP settings */
916 SCIP_NLPI* nlpi, /**< NLPI */
917 int priority /**< new priority of NLPI */
918 );
919
920/** inserts information about an external code in external codes list */
922 SCIP_SET* set, /**< global SCIP settings */
923 const char* name, /**< name of external code */
924 const char* description /**< description of external code, can be NULL */
925 );
926
927/** inserts bandit virtual function table into set */
929 SCIP_SET* set, /**< global SCIP settings */
930 SCIP_BANDITVTABLE* banditvtable /**< bandit algorithm virtual function table */
931 );
932
933/** returns the bandit virtual function table of the given name, or NULL if not existing */
935 SCIP_SET* set, /**< global SCIP settings */
936 const char* name /**< name of bandit algorithm virtual function table */
937 );
938
939/** calls init methods of all plugins */
941 SCIP_SET* set, /**< global SCIP settings */
942 BMS_BLKMEM* blkmem, /**< block memory */
943 SCIP_STAT* stat /**< dynamic problem statistics */
944 );
945
946/** calls exit methods of all plugins */
948 SCIP_SET* set, /**< global SCIP settings */
949 BMS_BLKMEM* blkmem, /**< block memory */
950 SCIP_STAT* stat /**< dynamic problem statistics */
951 );
952
953/** calls initpre methods of all plugins */
955 SCIP_SET* set, /**< global SCIP settings */
956 BMS_BLKMEM* blkmem, /**< block memory */
957 SCIP_STAT* stat /**< dynamic problem statistics */
958 );
959
960/** calls exitpre methods of all plugins */
962 SCIP_SET* set, /**< global SCIP settings */
963 BMS_BLKMEM* blkmem, /**< block memory */
964 SCIP_STAT* stat /**< dynamic problem statistics */
965 );
966
967/** calls initsol methods of all plugins */
969 SCIP_SET* set, /**< global SCIP settings */
970 BMS_BLKMEM* blkmem, /**< block memory */
971 SCIP_STAT* stat /**< dynamic problem statistics */
972 );
973
974/** calls exitsol methods of all plugins */
976 SCIP_SET* set, /**< global SCIP settings */
977 BMS_BLKMEM* blkmem, /**< block memory */
978 SCIP_STAT* stat, /**< dynamic problem statistics */
979 SCIP_Bool restart /**< was this exit solve call triggered by a restart? */
980 );
981
982/** calculate memory size for dynamically allocated arrays */
984 SCIP_SET* set, /**< global SCIP settings */
985 int num /**< minimum number of entries to store */
986 );
987
988/** calculate memory size for tree array */
990 SCIP_SET* set, /**< global SCIP settings */
991 int num /**< minimum number of entries to store */
992 );
993
994/** calculate memory size for path array */
996 SCIP_SET* set, /**< global SCIP settings */
997 int num /**< minimum number of entries to store */
998 );
999
1000/** sets verbosity level for message output */
1002 SCIP_SET* set, /**< global SCIP settings */
1003 SCIP_VERBLEVEL verblevel /**< verbosity level for message output */
1004 );
1005
1006/** sets feasibility tolerance */
1008 SCIP_SET* set, /**< global SCIP settings */
1009 SCIP_LP* lp, /**< LP data, or NULL */
1010 SCIP_Real feastol /**< new feasibility tolerance */
1011 );
1012
1013/** sets feasibility tolerance for reduced costs in LP solution */
1015 SCIP_SET* set, /**< global SCIP settings */
1016 SCIP_Real dualfeastol /**< new reduced costs feasibility tolerance */
1017 );
1018
1019/** sets LP convergence tolerance used in barrier algorithm */
1021 SCIP_SET* set, /**< global SCIP settings */
1022 SCIP_Real barrierconvtol /**< new convergence tolerance used in barrier algorithm */
1023 );
1024
1025/** sets primal feasibility tolerance for relaxations (relaxfeastol)
1026 *
1027 * @note Set to SCIP_INVALID to apply relaxation-specific feasibility tolerance only.
1028 *
1029 * @return Previous value of relaxfeastol.
1030 */
1031SCIP_Real SCIPsetSetRelaxfeastol(
1032 SCIP_SET* set, /**< global SCIP settings */
1033 SCIP_Real relaxfeastol /**< new primal feasibility tolerance for relaxations, or SCIP_INVALID */
1034 );
1035
1036/** marks that some limit parameter was changed */
1038 SCIP_SET* set /**< global SCIP settings */
1039 );
1040
1041/** returns the maximal number of variables priced into the LP per round */
1043 SCIP_SET* set, /**< global SCIP settings */
1044 SCIP_Bool root /**< are we at the root node? */
1045 );
1046
1047/** returns factor for the maximal number of cuts generated per round */
1049 SCIP_SET* set, /**< global SCIP settings */
1050 SCIP_Bool root /**< are we at the root node? */
1051 );
1052
1053/** returns the maximal number of cuts separated per round */
1055 SCIP_SET* set, /**< global SCIP settings */
1056 SCIP_Bool root /**< are we at the root node? */
1057 );
1058
1059/** returns the maximal ratio between coefficients to ensure in rowprep cleanup */
1061 SCIP_SET* set /**< global SCIP settings */
1062 );
1063
1064/** returns user defined objective value (in original space) for reference purposes */
1065SCIP_Real SCIPsetGetReferencevalue(
1066 SCIP_SET* set /**< global SCIP settings */
1067 );
1068
1069/** returns debug solution data */
1071 SCIP_SET* set /**< global SCIP settings */
1072 );
1073
1074/** Checks, if an iteratively updated value is reliable or should be recomputed from scratch.
1075 * This is useful, if the value, e.g., the activity of a linear constraint or the pseudo objective value, gets a high
1076 * absolute value during the optimization process which is later reduced significantly. In this case, the last digits
1077 * were cancelled out when increasing the value and are random after decreasing it.
1078 * We dot not consider the cancellations which can occur during increasing the absolute value because they just cannot
1079 * be expressed using fixed precision floating point arithmetic, anymore.
1080 * The idea to get more reliable values is to always store the last reliable value, where increasing the absolute of
1081 * the value is viewed as preserving reliability. Then, after each update, the new absolute value can be compared
1082 * against the last reliable one with this method, checking whether it was decreased by a factor of at least
1083 * "lp/recompfac" and should be recomputed.
1084 */
1086 SCIP_SET* set, /**< global SCIP settings */
1087 SCIP_Real newvalue, /**< new value after update */
1088 SCIP_Real oldvalue /**< old value, i.e., last reliable value */
1089 );
1090
1091/** modifies an initial seed value with the global shift of random seeds */
1092unsigned int SCIPsetInitializeRandomSeed(
1093 SCIP_SET* set, /**< global SCIP settings */
1094 unsigned int initialseedvalue /**< initial seed value to be modified */
1095 );
1096
1097/** returns value treated as infinity */
1098SCIP_Real SCIPsetInfinity(
1099 SCIP_SET* set /**< global SCIP settings */
1100 );
1101
1102/** returns the minimum value that is regarded as huge and should be handled separately (e.g., in activity
1103 * computation)
1104 */
1105SCIP_Real SCIPsetGetHugeValue(
1106 SCIP_SET* set /**< global SCIP settings */
1107 );
1108
1109/** returns value treated as zero */
1110SCIP_Real SCIPsetEpsilon(
1111 SCIP_SET* set /**< global SCIP settings */
1112 );
1113
1114/** returns value treated as zero for sums of floating point values */
1115SCIP_Real SCIPsetSumepsilon(
1116 SCIP_SET* set /**< global SCIP settings */
1117 );
1118
1119/** returns feasibility tolerance for constraints */
1120#ifdef __GNUC__
1122#endif
1123SCIP_Real SCIPsetFeastol(
1124 SCIP_SET* set /**< global SCIP settings */
1125 );
1126
1127/** returns factor w.r.t. primal feasibility tolerance that determines default (and maximal) feasibility tolerance */
1128SCIP_Real SCIPsetLPFeastolFactor(
1129 SCIP_SET* set /**< global SCIP settings */
1130 );
1131
1132/** returns feasibility tolerance for reduced costs */
1133#ifdef __GNUC__
1135#endif
1136SCIP_Real SCIPsetDualfeastol(
1137 SCIP_SET* set /**< global SCIP settings */
1138 );
1139
1140/** returns convergence tolerance used in barrier algorithm */
1141SCIP_Real SCIPsetBarrierconvtol(
1142 SCIP_SET* set /**< global SCIP settings */
1143 );
1144
1145/** returns minimal variable distance value to use for pseudo cost updates */
1146SCIP_Real SCIPsetPseudocosteps(
1147 SCIP_SET* set /**< global SCIP settings */
1148 );
1149
1150/** returns minimal minimal objective distance value to use for pseudo cost updates */
1151SCIP_Real SCIPsetPseudocostdelta(
1152 SCIP_SET* set /**< global SCIP settings */
1153 );
1154
1155/** return the delta to use for computing the cutoff bound for integral objectives */
1156SCIP_Real SCIPsetCutoffbounddelta(
1157 SCIP_SET* set /**< global SCIP settings */
1158 );
1159
1160/** return the primal feasibility tolerance for relaxations */
1161SCIP_Real SCIPsetRelaxfeastol(
1162 SCIP_SET* set /**< global SCIP settings */
1163 );
1164
1165/** returns minimal decrease factor that causes the recomputation of a value
1166 * (e.g., pseudo objective) instead of an update */
1167SCIP_Real SCIPsetRecompfac(
1168 SCIP_SET* set /**< global SCIP settings */
1169 );
1170
1171/** checks, if values are in range of epsilon */
1172SCIP_Bool SCIPsetIsEQ(
1173 SCIP_SET* set, /**< global SCIP settings */
1174 SCIP_Real val1, /**< first value to be compared */
1175 SCIP_Real val2 /**< second value to be compared */
1176 );
1177
1178/** checks, if val1 is (more than epsilon) lower than val2 */
1179SCIP_Bool SCIPsetIsLT(
1180 SCIP_SET* set, /**< global SCIP settings */
1181 SCIP_Real val1, /**< first value to be compared */
1182 SCIP_Real val2 /**< second value to be compared */
1183 );
1184
1185/** checks, if val1 is not (more than epsilon) greater than val2 */
1186SCIP_Bool SCIPsetIsLE(
1187 SCIP_SET* set, /**< global SCIP settings */
1188 SCIP_Real val1, /**< first value to be compared */
1189 SCIP_Real val2 /**< second value to be compared */
1190 );
1191
1192/** checks, if val1 is (more than epsilon) greater than val2 */
1193SCIP_Bool SCIPsetIsGT(
1194 SCIP_SET* set, /**< global SCIP settings */
1195 SCIP_Real val1, /**< first value to be compared */
1196 SCIP_Real val2 /**< second value to be compared */
1197 );
1198
1199/** checks, if val1 is not (more than epsilon) lower than val2 */
1200SCIP_Bool SCIPsetIsGE(
1201 SCIP_SET* set, /**< global SCIP settings */
1202 SCIP_Real val1, /**< first value to be compared */
1203 SCIP_Real val2 /**< second value to be compared */
1204 );
1205
1206/** checks, if value is (positive) infinite */
1207SCIP_Bool SCIPsetIsInfinity(
1208 SCIP_SET* set, /**< global SCIP settings */
1209 SCIP_Real val /**< value to be compared against infinity */
1210 );
1211
1212/** checks, if value is huge and should be handled separately (e.g., in activity computation) */
1213SCIP_Bool SCIPsetIsHugeValue(
1214 SCIP_SET* set, /**< global SCIP settings */
1215 SCIP_Real val /**< value to be checked whether it is huge */
1216 );
1217
1218/** checks, if value is in range epsilon of 0.0 */
1219SCIP_Bool SCIPsetIsZero(
1220 SCIP_SET* set, /**< global SCIP settings */
1221 SCIP_Real val /**< value to be compared against zero */
1222 );
1223
1224/** checks, if value is greater than epsilon */
1225SCIP_Bool SCIPsetIsPositive(
1226 SCIP_SET* set, /**< global SCIP settings */
1227 SCIP_Real val /**< value to be compared against zero */
1228 );
1229
1230/** checks, if value is lower than -epsilon */
1231SCIP_Bool SCIPsetIsNegative(
1232 SCIP_SET* set, /**< global SCIP settings */
1233 SCIP_Real val /**< value to be compared against zero */
1234 );
1235
1236/** checks, if value is integral within epsilon */
1237SCIP_Bool SCIPsetIsIntegral(
1238 SCIP_SET* set, /**< global SCIP settings */
1239 SCIP_Real val /**< value to be compared against zero */
1240 );
1241
1242/** checks whether the product val * scalar is integral in epsilon scaled by scalar */
1243SCIP_Bool SCIPsetIsScalingIntegral(
1244 SCIP_SET* set, /**< global SCIP settings */
1245 SCIP_Real val, /**< unscaled value to check for scaled integrality */
1246 SCIP_Real scalar /**< value to scale val with for checking for integrality */
1247 );
1248
1249/** checks, if given fractional part is smaller than epsilon */
1250SCIP_Bool SCIPsetIsFracIntegral(
1251 SCIP_SET* set, /**< global SCIP settings */
1252 SCIP_Real val /**< value to be compared against zero */
1253 );
1254
1255/** rounds value + feasibility tolerance down to the next integer in epsilon tolerance */
1256SCIP_Real SCIPsetFloor(
1257 SCIP_SET* set, /**< global SCIP settings */
1258 SCIP_Real val /**< value to be compared against zero */
1259 );
1260
1261/** rounds value - feasibility tolerance up to the next integer in epsilon tolerance */
1262SCIP_Real SCIPsetCeil(
1263 SCIP_SET* set, /**< global SCIP settings */
1264 SCIP_Real val /**< value to be compared against zero */
1265 );
1266
1267/** rounds value to the nearest integer in epsilon tolerance */
1268SCIP_Real SCIPsetRound(
1269 SCIP_SET* set, /**< global SCIP settings */
1270 SCIP_Real val /**< value to be compared against zero */
1271 );
1272
1273/** returns fractional part of value, i.e. x - floor(x) in epsilon tolerance */
1274SCIP_Real SCIPsetFrac(
1275 SCIP_SET* set, /**< global SCIP settings */
1276 SCIP_Real val /**< value to return fractional part for */
1277 );
1278
1279/** checks, if values are in range of sumepsilon */
1280SCIP_Bool SCIPsetIsSumEQ(
1281 SCIP_SET* set, /**< global SCIP settings */
1282 SCIP_Real val1, /**< first value to be compared */
1283 SCIP_Real val2 /**< second value to be compared */
1284 );
1285
1286/** checks, if val1 is (more than sumepsilon) lower than val2 */
1287SCIP_Bool SCIPsetIsSumLT(
1288 SCIP_SET* set, /**< global SCIP settings */
1289 SCIP_Real val1, /**< first value to be compared */
1290 SCIP_Real val2 /**< second value to be compared */
1291 );
1292
1293/** checks, if val1 is not (more than sumepsilon) greater than val2 */
1294SCIP_Bool SCIPsetIsSumLE(
1295 SCIP_SET* set, /**< global SCIP settings */
1296 SCIP_Real val1, /**< first value to be compared */
1297 SCIP_Real val2 /**< second value to be compared */
1298 );
1299
1300/** checks, if val1 is (more than sumepsilon) greater than val2 */
1301SCIP_Bool SCIPsetIsSumGT(
1302 SCIP_SET* set, /**< global SCIP settings */
1303 SCIP_Real val1, /**< first value to be compared */
1304 SCIP_Real val2 /**< second value to be compared */
1305 );
1306
1307/** checks, if val1 is not (more than sumepsilon) lower than val2 */
1308SCIP_Bool SCIPsetIsSumGE(
1309 SCIP_SET* set, /**< global SCIP settings */
1310 SCIP_Real val1, /**< first value to be compared */
1311 SCIP_Real val2 /**< second value to be compared */
1312 );
1313
1314/** checks, if value is in range sumepsilon of 0.0 */
1315SCIP_Bool SCIPsetIsSumZero(
1316 SCIP_SET* set, /**< global SCIP settings */
1317 SCIP_Real val /**< value to be compared against zero */
1318 );
1319
1320/** checks, if value is greater than sumepsilon */
1321SCIP_Bool SCIPsetIsSumPositive(
1322 SCIP_SET* set, /**< global SCIP settings */
1323 SCIP_Real val /**< value to be compared against zero */
1324 );
1325
1326/** checks, if value is lower than -sumepsilon */
1327SCIP_Bool SCIPsetIsSumNegative(
1328 SCIP_SET* set, /**< global SCIP settings */
1329 SCIP_Real val /**< value to be compared against zero */
1330 );
1331
1332/** rounds value + sumepsilon tolerance down to the next integer */
1333SCIP_Real SCIPsetSumFloor(
1334 SCIP_SET* set, /**< global SCIP settings */
1335 SCIP_Real val /**< value to process */
1336 );
1337
1338/** rounds value - sumepsilon tolerance up to the next integer */
1339SCIP_Real SCIPsetSumCeil(
1340 SCIP_SET* set, /**< global SCIP settings */
1341 SCIP_Real val /**< value to process */
1342 );
1343
1344/** rounds value to the nearest integer in sumepsilon tolerance */
1345SCIP_Real SCIPsetSumRound(
1346 SCIP_SET* set, /**< global SCIP settings */
1347 SCIP_Real val /**< value to process */
1348 );
1349
1350/** returns fractional part of value, i.e. x - floor(x) in sumepsilon tolerance */
1351SCIP_Real SCIPsetSumFrac(
1352 SCIP_SET* set, /**< global SCIP settings */
1353 SCIP_Real val /**< value to process */
1354 );
1355
1356/** checks, if relative difference of values is in range of feastol */
1357SCIP_Bool SCIPsetIsFeasEQ(
1358 SCIP_SET* set, /**< global SCIP settings */
1359 SCIP_Real val1, /**< first value to be compared */
1360 SCIP_Real val2 /**< second value to be compared */
1361 );
1362
1363/** checks, if relative difference of val1 and val2 is lower than feastol */
1364SCIP_Bool SCIPsetIsFeasLT(
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 relative difference of val1 and val2 is not greater than feastol */
1371SCIP_Bool SCIPsetIsFeasLE(
1372 SCIP_SET* set, /**< global SCIP settings */
1373 SCIP_Real val1, /**< first value to be compared */
1374 SCIP_Real val2 /**< second value to be compared */
1375 );
1376
1377/** checks, if relative difference of val1 and val2 is greater than feastol */
1378SCIP_Bool SCIPsetIsFeasGT(
1379 SCIP_SET* set, /**< global SCIP settings */
1380 SCIP_Real val1, /**< first value to be compared */
1381 SCIP_Real val2 /**< second value to be compared */
1382 );
1383
1384/** checks, if relative difference of val1 and val2 is not lower than -feastol */
1385SCIP_Bool SCIPsetIsFeasGE(
1386 SCIP_SET* set, /**< global SCIP settings */
1387 SCIP_Real val1, /**< first value to be compared */
1388 SCIP_Real val2 /**< second value to be compared */
1389 );
1390
1391/** checks, if value is in range feasibility tolerance of 0.0 */
1392SCIP_Bool SCIPsetIsFeasZero(
1393 SCIP_SET* set, /**< global SCIP settings */
1394 SCIP_Real val /**< value to be compared against zero */
1395 );
1396
1397/** checks, if value is greater than feasibility tolerance */
1398SCIP_Bool SCIPsetIsFeasPositive(
1399 SCIP_SET* set, /**< global SCIP settings */
1400 SCIP_Real val /**< value to be compared against zero */
1401 );
1402
1403/** checks, if value is lower than -feasibility tolerance */
1404SCIP_Bool SCIPsetIsFeasNegative(
1405 SCIP_SET* set, /**< global SCIP settings */
1406 SCIP_Real val /**< value to be compared against zero */
1407 );
1408
1409/** checks, if value is integral within the feasibility bounds */
1410SCIP_Bool SCIPsetIsFeasIntegral(
1411 SCIP_SET* set, /**< global SCIP settings */
1412 SCIP_Real val /**< value to be compared against zero */
1413 );
1414
1415/** checks, if given fractional part is smaller than feastol */
1417 SCIP_SET* set, /**< global SCIP settings */
1418 SCIP_Real val /**< value to be compared against zero */
1419 );
1420
1421/** rounds value + feasibility tolerance down to the next integer */
1422SCIP_Real SCIPsetFeasFloor(
1423 SCIP_SET* set, /**< global SCIP settings */
1424 SCIP_Real val /**< value to be compared against zero */
1425 );
1426
1427/** rounds value - feasibility tolerance up to the next integer */
1428SCIP_Real SCIPsetFeasCeil(
1429 SCIP_SET* set, /**< global SCIP settings */
1430 SCIP_Real val /**< value to be compared against zero */
1431 );
1432
1433/** rounds value to the nearest integer in feasibility tolerance */
1434SCIP_Real SCIPsetFeasRound(
1435 SCIP_SET* set, /**< global SCIP settings */
1436 SCIP_Real val /**< value to be compared against zero */
1437 );
1438
1439/** returns fractional part of value, i.e. x - floor(x) in feasibility tolerance */
1440SCIP_Real SCIPsetFeasFrac(
1441 SCIP_SET* set, /**< global SCIP settings */
1442 SCIP_Real val /**< value to return fractional part for */
1443 );
1444
1445/** checks, if relative difference of values is in range of dual feasibility tolerance */
1446SCIP_Bool SCIPsetIsDualfeasEQ(
1447 SCIP_SET* set, /**< global SCIP settings */
1448 SCIP_Real val1, /**< first value to be compared */
1449 SCIP_Real val2 /**< second value to be compared */
1450 );
1451
1452/** checks, if relative difference of val1 and val2 is lower than dual feasibility tolerance */
1453SCIP_Bool SCIPsetIsDualfeasLT(
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 not greater than dual feasibility tolerance */
1460SCIP_Bool SCIPsetIsDualfeasLE(
1461 SCIP_SET* set, /**< global SCIP settings */
1462 SCIP_Real val1, /**< first value to be compared */
1463 SCIP_Real val2 /**< second value to be compared */
1464 );
1465
1466/** checks, if relative difference of val1 and val2 is greater than dual feasibility tolerance */
1467SCIP_Bool SCIPsetIsDualfeasGT(
1468 SCIP_SET* set, /**< global SCIP settings */
1469 SCIP_Real val1, /**< first value to be compared */
1470 SCIP_Real val2 /**< second value to be compared */
1471 );
1472
1473/** checks, if relative difference of val1 and val2 is not lower than -dual feasibility tolerance */
1474SCIP_Bool SCIPsetIsDualfeasGE(
1475 SCIP_SET* set, /**< global SCIP settings */
1476 SCIP_Real val1, /**< first value to be compared */
1477 SCIP_Real val2 /**< second value to be compared */
1478 );
1479
1480/** checks, if value is in range dual feasibility tolerance of 0.0 */
1481SCIP_Bool SCIPsetIsDualfeasZero(
1482 SCIP_SET* set, /**< global SCIP settings */
1483 SCIP_Real val /**< value to be compared against zero */
1484 );
1485
1486/** checks, if value is greater than dual feasibility tolerance */
1488 SCIP_SET* set, /**< global SCIP settings */
1489 SCIP_Real val /**< value to be compared against zero */
1490 );
1491
1492/** checks, if value is lower than -dual feasibility tolerance */
1494 SCIP_SET* set, /**< global SCIP settings */
1495 SCIP_Real val /**< value to be compared against zero */
1496 );
1497
1498/** checks, if value is integral within the dual feasibility bounds */
1500 SCIP_SET* set, /**< global SCIP settings */
1501 SCIP_Real val /**< value to be compared against zero */
1502 );
1503
1504/** checks, if given fractional part is smaller than dual feasibility tolerance */
1506 SCIP_SET* set, /**< global SCIP settings */
1507 SCIP_Real val /**< value to be compared against zero */
1508 );
1509
1510/** rounds value + dual feasibility tolerance down to the next integer */
1511SCIP_Real SCIPsetDualfeasFloor(
1512 SCIP_SET* set, /**< global SCIP settings */
1513 SCIP_Real val /**< value to be compared against zero */
1514 );
1515
1516/** rounds value - dual feasibility tolerance up to the next integer */
1517SCIP_Real SCIPsetDualfeasCeil(
1518 SCIP_SET* set, /**< global SCIP settings */
1519 SCIP_Real val /**< value to be compared against zero */
1520 );
1521
1522/** rounds value to the nearest integer in dual feasibility tolerance */
1523SCIP_Real SCIPsetDualfeasRound(
1524 SCIP_SET* set, /**< global SCIP settings */
1525 SCIP_Real val /**< value to be compared against zero */
1526 );
1527
1528/** returns fractional part of value, i.e. x - floor(x) in dual feasibility tolerance */
1529SCIP_Real SCIPsetDualfeasFrac(
1530 SCIP_SET* set, /**< global SCIP settings */
1531 SCIP_Real val /**< value to return fractional part for */
1532 );
1533
1534/** checks, if the given new lower bound is at least min(oldub - oldlb, |oldlb|) times the bound
1535 * strengthening epsilon better than the old one or the change in the lower bound would fix the
1536 * sign of the variable
1537 */
1538SCIP_Bool SCIPsetIsLbBetter(
1539 SCIP_SET* set, /**< global SCIP settings */
1540 SCIP_Real newlb, /**< new lower bound */
1541 SCIP_Real oldlb, /**< old lower bound */
1542 SCIP_Real oldub /**< old upper bound */
1543 );
1544
1545/** checks, if the given new upper bound is at least min(oldub - oldlb, |oldub|) times the bound
1546 * strengthening epsilon better than the old one or the change in the upper bound would fix the
1547 * sign of the variable
1548 */
1549SCIP_Bool SCIPsetIsUbBetter(
1550 SCIP_SET* set, /**< global SCIP settings */
1551 SCIP_Real newub, /**< new upper bound */
1552 SCIP_Real oldlb, /**< old lower bound */
1553 SCIP_Real oldub /**< old upper bound */
1554 );
1555
1556/** checks, if the given cut's efficacy is larger than the minimal cut efficacy */
1557SCIP_Bool SCIPsetIsEfficacious(
1558 SCIP_SET* set, /**< global SCIP settings */
1559 SCIP_Bool root, /**< should the root's minimal cut efficacy be used? */
1560 SCIP_Real efficacy /**< efficacy of the cut */
1561 );
1562
1563/** checks, if relative difference of values is in range of epsilon */
1564SCIP_Bool SCIPsetIsRelEQ(
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 lower than epsilon */
1571SCIP_Bool SCIPsetIsRelLT(
1572 SCIP_SET* set, /**< global SCIP settings */
1573 SCIP_Real val1, /**< first value to be compared */
1574 SCIP_Real val2 /**< second value to be compared */
1575 );
1576
1577/** checks, if relative difference of val1 and val2 is not greater than epsilon */
1578SCIP_Bool SCIPsetIsRelLE(
1579 SCIP_SET* set, /**< global SCIP settings */
1580 SCIP_Real val1, /**< first value to be compared */
1581 SCIP_Real val2 /**< second value to be compared */
1582 );
1583
1584/** checks, if relative difference of val1 and val2 is greater than epsilon */
1585SCIP_Bool SCIPsetIsRelGT(
1586 SCIP_SET* set, /**< global SCIP settings */
1587 SCIP_Real val1, /**< first value to be compared */
1588 SCIP_Real val2 /**< second value to be compared */
1589 );
1590
1591/** checks, if relative difference of val1 and val2 is not lower than -epsilon */
1592SCIP_Bool SCIPsetIsRelGE(
1593 SCIP_SET* set, /**< global SCIP settings */
1594 SCIP_Real val1, /**< first value to be compared */
1595 SCIP_Real val2 /**< second value to be compared */
1596 );
1597
1598/** checks, if relative difference of values is in range of sumepsilon */
1599SCIP_Bool SCIPsetIsSumRelEQ(
1600 SCIP_SET* set, /**< global SCIP settings */
1601 SCIP_Real val1, /**< first value to be compared */
1602 SCIP_Real val2 /**< second value to be compared */
1603 );
1604
1605/** checks, if relative difference of val1 and val2 is lower than sumepsilon */
1606SCIP_Bool SCIPsetIsSumRelLT(
1607 SCIP_SET* set, /**< global SCIP settings */
1608 SCIP_Real val1, /**< first value to be compared */
1609 SCIP_Real val2 /**< second value to be compared */
1610 );
1611
1612/** checks, if relative difference of val1 and val2 is not greater than sumepsilon */
1613SCIP_Bool SCIPsetIsSumRelLE(
1614 SCIP_SET* set, /**< global SCIP settings */
1615 SCIP_Real val1, /**< first value to be compared */
1616 SCIP_Real val2 /**< second value to be compared */
1617 );
1618
1619/** checks, if relative difference of val1 and val2 is greater than sumepsilon */
1620SCIP_Bool SCIPsetIsSumRelGT(
1621 SCIP_SET* set, /**< global SCIP settings */
1622 SCIP_Real val1, /**< first value to be compared */
1623 SCIP_Real val2 /**< second value to be compared */
1624 );
1625
1626/** checks, if relative difference of val1 and val2 is not lower than -sumepsilon */
1627SCIP_Bool SCIPsetIsSumRelGE(
1628 SCIP_SET* set, /**< global SCIP settings */
1629 SCIP_Real val1, /**< first value to be compared */
1630 SCIP_Real val2 /**< second value to be compared */
1631 );
1632
1633/** returns the flag indicating whether sub-SCIPs that could cause recursion have been deactivated */
1634SCIP_Bool SCIPsetGetSubscipsOff(
1635 SCIP_SET* set /**< global SCIP settings */
1636 );
1637
1638
1639#ifdef NDEBUG
1640
1641/* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
1642 * speed up the algorithms.
1643 */
1644
1645#define SCIPsetInfinity(set) ( (set)->num_infinity )
1646#define SCIPsetGetHugeValue(set) ( (set)->num_hugeval )
1647#define SCIPsetEpsilon(set) ( (set)->num_epsilon )
1648#define SCIPsetSumepsilon(set) ( (set)->num_sumepsilon )
1649#define SCIPsetFeastol(set) ( (set)->num_feastol )
1650#define SCIPsetLPFeastolFactor(set) ( (set)->num_lpfeastolfactor )
1651#define SCIPsetDualfeastol(set) ( (set)->num_dualfeastol )
1652#define SCIPsetBarrierconvtol(set) ( (set)->num_barrierconvtol )
1653#define SCIPsetPseudocosteps(set) ( (set)->num_pseudocosteps )
1654#define SCIPsetPseudocostdelta(set) ( (set)->num_pseudocostdelta )
1655#define SCIPsetRelaxfeastol(set) ( (set)->num_relaxfeastol )
1656#define SCIPsetCutoffbounddelta(set) ( MIN(100.0 * SCIPsetFeastol(set), 0.0001) )
1657#define SCIPsetRecompfac(set) ( (set)->num_recompfac )
1658#define SCIPsetIsEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_epsilon) )
1659#define SCIPsetIsLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_epsilon) )
1660#define SCIPsetIsLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_epsilon) )
1661#define SCIPsetIsGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_epsilon) )
1662#define SCIPsetIsGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_epsilon) )
1663#define SCIPsetIsInfinity(set, val) ( (val) >= (set)->num_infinity )
1664#define SCIPsetIsHugeValue(set, val) ( (val) >= (set)->num_hugeval )
1665#define SCIPsetIsZero(set, val) ( EPSZ(val, (set)->num_epsilon) )
1666#define SCIPsetIsPositive(set, val) ( EPSP(val, (set)->num_epsilon) )
1667#define SCIPsetIsNegative(set, val) ( EPSN(val, (set)->num_epsilon) )
1668#define SCIPsetIsIntegral(set, val) ( EPSISINT(val, (set)->num_epsilon) )
1669#define SCIPsetIsScalingIntegral(set, val, scalar) \
1670 ( EPSISINT((scalar)*(val), MAX(REALABS(scalar), 1.0)*(set)->num_epsilon) )
1671#define SCIPsetIsFracIntegral(set, val) ( !EPSP(val, (set)->num_epsilon) )
1672#define SCIPsetFloor(set, val) ( EPSFLOOR(val, (set)->num_epsilon) )
1673#define SCIPsetCeil(set, val) ( EPSCEIL(val, (set)->num_epsilon) )
1674#define SCIPsetRound(set, val) ( EPSROUND(val, (set)->num_epsilon) )
1675#define SCIPsetFrac(set, val) ( EPSFRAC(val, (set)->num_epsilon) )
1676
1677#define SCIPsetIsSumEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_sumepsilon) )
1678#define SCIPsetIsSumLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_sumepsilon) )
1679#define SCIPsetIsSumLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_sumepsilon) )
1680#define SCIPsetIsSumGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_sumepsilon) )
1681#define SCIPsetIsSumGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_sumepsilon) )
1682#define SCIPsetIsSumZero(set, val) ( EPSZ(val, (set)->num_sumepsilon) )
1683#define SCIPsetIsSumPositive(set, val) ( EPSP(val, (set)->num_sumepsilon) )
1684#define SCIPsetIsSumNegative(set, val) ( EPSN(val, (set)->num_sumepsilon) )
1685#define SCIPsetSumFloor(set, val) ( EPSFLOOR(val, (set)->num_sumepsilon) )
1686#define SCIPsetSumCeil(set, val) ( EPSCEIL(val, (set)->num_sumepsilon) )
1687#define SCIPsetSumRound(set, val) ( EPSROUND(val, (set)->num_sumepsilon) )
1688#define SCIPsetSumFrac(set, val) ( EPSFRAC(val, (set)->num_sumepsilon) )
1689
1690#define SCIPsetIsFeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1691#define SCIPsetIsFeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1692#define SCIPsetIsFeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1693#define SCIPsetIsFeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1694#define SCIPsetIsFeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1695#define SCIPsetIsFeasZero(set, val) ( EPSZ(val, (set)->num_feastol) )
1696#define SCIPsetIsFeasPositive(set, val) ( EPSP(val, (set)->num_feastol) )
1697#define SCIPsetIsFeasNegative(set, val) ( EPSN(val, (set)->num_feastol) )
1698#define SCIPsetIsFeasIntegral(set, val) ( EPSISINT(val, (set)->num_feastol) )
1699#define SCIPsetIsFeasFracIntegral(set, val) ( !EPSP(val, (set)->num_feastol) )
1700#define SCIPsetFeasFloor(set, val) ( EPSFLOOR(val, (set)->num_feastol) )
1701#define SCIPsetFeasCeil(set, val) ( EPSCEIL(val, (set)->num_feastol) )
1702#define SCIPsetFeasRound(set, val) ( EPSROUND(val, (set)->num_feastol) )
1703#define SCIPsetFeasFrac(set, val) ( EPSFRAC(val, (set)->num_feastol) )
1704
1705#define SCIPsetIsDualfeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1706#define SCIPsetIsDualfeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1707#define SCIPsetIsDualfeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1708#define SCIPsetIsDualfeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1709#define SCIPsetIsDualfeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1710#define SCIPsetIsDualfeasZero(set, val) ( EPSZ(val, (set)->num_dualfeastol) )
1711#define SCIPsetIsDualfeasPositive(set, val) ( EPSP(val, (set)->num_dualfeastol) )
1712#define SCIPsetIsDualfeasNegative(set, val) ( EPSN(val, (set)->num_dualfeastol) )
1713#define SCIPsetIsDualfeasIntegral(set, val) ( EPSISINT(val, (set)->num_dualfeastol) )
1714#define SCIPsetIsDualfeasFracIntegral(set, val) ( !EPSP(val, (set)->num_dualfeastol) )
1715#define SCIPsetDualfeasFloor(set, val) ( EPSFLOOR(val, (set)->num_dualfeastol) )
1716#define SCIPsetDualfeasCeil(set, val) ( EPSCEIL(val, (set)->num_dualfeastol) )
1717#define SCIPsetDualfeasRound(set, val) ( EPSROUND(val, (set)->num_dualfeastol) )
1718#define SCIPsetDualfeasFrac(set, val) ( EPSFRAC(val, (set)->num_dualfeastol) )
1719
1720#define SCIPsetIsLbBetter(set, newlb, oldlb, oldub) ( ((oldlb) < 0.0 && (newlb) >= 0.0) || EPSGT(newlb, oldlb, \
1721 set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldlb)), 1e-3)) )
1722#define SCIPsetIsUbBetter(set, newub, oldlb, oldub) ( ((oldub) > 0.0 && (newub) <= 0.0) || EPSLT(newub, oldub, \
1723 set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldub)), 1e-3)) )
1724#define SCIPsetIsEfficacious(set, root, efficacy) \
1725 ( root ? EPSP(efficacy, (set)->sepa_minefficacyroot) : EPSP(efficacy, (set)->sepa_minefficacy) )
1726
1727#define SCIPsetIsRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1728#define SCIPsetIsRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1729#define SCIPsetIsRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1730#define SCIPsetIsRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1731#define SCIPsetIsRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1732
1733#define SCIPsetIsSumRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1734#define SCIPsetIsSumRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1735#define SCIPsetIsSumRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1736#define SCIPsetIsSumRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1737#define SCIPsetIsSumRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1738#define SCIPsetIsUpdateUnreliable(set, newvalue, oldvalue) \
1739 ( (ABS(oldvalue) / MAX(ABS(newvalue), set->num_epsilon)) >= set->num_recompfac )
1740#define SCIPsetInitializeRandomSeed(set, val) ( (val + (set)->random_randomseedshift) )
1741
1742#define SCIPsetGetSubscipsOff(set) ( (set)->subscipsoff )
1743
1744#endif
1745
1746#define SCIPsetAllocBuffer(set,ptr) ( (BMSallocBufferMemory((set)->buffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1747#define SCIPsetAllocBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1748#define SCIPsetAllocBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1749#define SCIPsetDuplicateBufferSize(set,ptr,source,size) ( (BMSduplicateBufferMemory((set)->buffer, (ptr), (source), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1750#define SCIPsetDuplicateBufferArray(set,ptr,source,num) ( (BMSduplicateBufferMemoryArray((set)->buffer, (ptr), (source), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1751#define SCIPsetReallocBufferSize(set,ptr,size) ( (BMSreallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1752#define SCIPsetReallocBufferArray(set,ptr,num) ( (BMSreallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1753#define SCIPsetFreeBuffer(set,ptr) BMSfreeBufferMemory((set)->buffer, (ptr))
1754#define SCIPsetFreeBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->buffer, (ptr))
1755#define SCIPsetFreeBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->buffer, (ptr))
1756
1757#define SCIPsetAllocCleanBuffer(set,ptr) ( (BMSallocBufferMemory((set)->cleanbuffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1758#define SCIPsetAllocCleanBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->cleanbuffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1759#define SCIPsetAllocCleanBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->cleanbuffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1760#define SCIPsetFreeCleanBuffer(set,ptr) BMSfreeBufferMemory((set)->cleanbuffer, (ptr))
1761#define SCIPsetFreeCleanBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->cleanbuffer, (ptr))
1762#define SCIPsetFreeCleanBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->cleanbuffer, (ptr))
1763
1764/* if we have a C99 compiler */
1765#ifdef SCIP_HAVE_VARIADIC_MACROS
1766
1767/** prints a debugging message if SCIP_DEBUG flag is set */
1768#ifdef SCIP_DEBUG
1769#define SCIPsetDebugMsg(set, ...) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
1770#define SCIPsetDebugMsgPrint(set, ...) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
1771#else
1772#define SCIPsetDebugMsg(set, ...) while ( FALSE ) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
1773#define SCIPsetDebugMsgPrint(set, ...) while ( FALSE ) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
1774#endif
1775
1776#else
1777/* if we do not have a C99 compiler, use a workaround that prints a message, but not the file and linenumber */
1778
1779/** prints a debugging message if SCIP_DEBUG flag is set */
1780#ifdef SCIP_DEBUG
1781#define SCIPsetDebugMsg printf("debug: "), SCIPsetDebugMessagePrint
1782#define SCIPsetDebugMsgPrint printf("debug: "), SCIPsetDebugMessagePrint
1783#else
1784#define SCIPsetDebugMsg while ( FALSE ) SCIPsetDebugMsgPrint
1785#define SCIPsetDebugMsgPrint while ( FALSE ) SCIPsetDebugMessagePrint
1786#endif
1787
1788#endif
1789
1790
1791/** prints a debug message */
1792#ifdef __GNUC__
1793__attribute__((format(printf, 4, 5)))
1794#endif
1797 SCIP_SET* set, /**< global SCIP settings */
1798 const char* sourcefile, /**< name of the source file that called the function */
1799 int sourceline, /**< line in the source file where the function was called */
1800 const char* formatstr, /**< format string like in printf() function */
1801 ... /**< format arguments line in printf() function */
1802 );
1803
1804/** prints a debug message without precode */
1805#ifdef __GNUC__
1806__attribute__((format(printf, 2, 3)))
1807#endif
1810 SCIP_SET* set, /**< global SCIP settings */
1811 const char* formatstr, /**< format string like in printf() function */
1812 ... /**< format arguments line in printf() function */
1813 );
1814
1815
1816#ifdef __cplusplus
1817}
1818#endif
1819
1820#endif
struct SCIP_DebugSolData SCIP_DEBUGSOLDATA
Definition debug.h:59
common defines and data types used in all packages of SCIP
memory allocation routines
struct BMS_BlkMem BMS_BLKMEM
Definition memory.h:437
public data structures and miscellaneous methods
void SCIPsetSortCutsels(SCIP_SET *set)
Definition set.c:4332
SCIP_Bool SCIPsetIsDualfeasZero(SCIP_SET *set, SCIP_Real val)
Definition set.c:6906
SCIP_DISP * SCIPsetFindDisp(SCIP_SET *set, const char *name)
Definition set.c:4955
SCIP_Real SCIPsetFloor(SCIP_SET *set, SCIP_Real val)
Definition set.c:6374
SCIP_RETCODE SCIPsetIncludeReader(SCIP_SET *set, SCIP_READER *reader)
Definition set.c:3646
void SCIPsetSortBranchrules(SCIP_SET *set)
Definition set.c:4893
SCIP_Bool SCIPsetIsDualfeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6840
SCIP_RETCODE SCIPsetSetSeparating(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition set.c:3613
void SCIPsetSortBranchrulesName(SCIP_SET *set)
Definition set.c:4908
SCIP_RETCODE SCIPsetSetBarrierconvtol(SCIP_SET *set, SCIP_Real barrierconvtol)
Definition set.c:5832
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:2972
int SCIPsetCalcTreeGrowSize(SCIP_SET *set, int num)
Definition set.c:5761
void SCIPsetSortConflicthdlrsName(SCIP_SET *set)
Definition set.c:4052
SCIP_Bool SCIPsetIsLbBetter(SCIP_SET *set, SCIP_Real newlb, SCIP_Real oldlb, SCIP_Real oldub)
Definition set.c:7010
void SCIPsetSortPresolsName(SCIP_SET *set)
Definition set.c:4125
SCIP_RETCODE SCIPsetResetParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name)
Definition set.c:3510
SCIP_EXPRHDLR * SCIPsetFindExprhdlr(SCIP_SET *set, const char *name)
Definition set.c:5098
SCIP_Bool SCIPsetIsRelLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7086
SCIP_Bool SCIPsetIsEfficacious(SCIP_SET *set, SCIP_Bool root, SCIP_Real efficacy)
Definition set.c:7049
SCIP_NODESEL * SCIPsetFindNodesel(SCIP_SET *set, const char *name)
Definition set.c:4791
SCIP_Bool SCIPsetExistsDialog(SCIP_SET *set, SCIP_DIALOG *dialog)
Definition set.c:5042
SCIP_RETCODE SCIPsetSetFeastol(SCIP_SET *set, SCIP_LP *lp, SCIP_Real feastol)
Definition set.c:5798
void SCIPsetSortPresols(SCIP_SET *set)
Definition set.c:4110
SCIP_PRICER * SCIPsetFindPricer(SCIP_SET *set, const char *name)
Definition set.c:3711
SCIP_RETCODE SCIPsetSetRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Real value)
Definition set.c:3374
SCIP_RETCODE SCIPsetWriteParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
Definition set.c:3494
SCIP_Bool SCIPsetIsFeasPositive(SCIP_SET *set, SCIP_Real val)
Definition set.c:6706
SCIP_TABLE * SCIPsetFindTable(SCIP_SET *set, const char *name)
Definition set.c:5000
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:3067
SCIP_Bool SCIPsetIsHugeValue(SCIP_SET *set, SCIP_Real val)
Definition set.c:6198
SCIP_Bool SCIPsetIsDualfeasFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6950
SCIP_RETCODE SCIPsetIncludeBenders(SCIP_SET *set, SCIP_BENDERS *benders)
Definition set.c:3761
SCIP_Real SCIPsetDualfeasCeil(SCIP_SET *set, SCIP_Real val)
Definition set.c:6974
SCIP_Bool SCIPsetIsGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6281
SCIP_RETCODE SCIPsetSetStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, const char *value)
Definition set.c:3450
SCIP_Real SCIPsetSumRound(SCIP_SET *set, SCIP_Real val)
Definition set.c:6563
SCIP_COMPR * SCIPsetFindCompr(SCIP_SET *set, const char *name)
Definition set.c:4667
SCIP_Real SCIPsetFeasCeil(SCIP_SET *set, SCIP_Real val)
Definition set.c:6763
SCIP_RETCODE SCIPsetGetCharParam(SCIP_SET *set, const char *name, char *value)
Definition set.c:3167
SCIP_Real SCIPsetSumFloor(SCIP_SET *set, SCIP_Real val)
Definition set.c:6541
SCIP_Bool SCIPsetIsFeasFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6739
SCIP_RETCODE SCIPsetIncludeBranchrule(SCIP_SET *set, SCIP_BRANCHRULE *branchrule)
Definition set.c:4849
SCIP_RETCODE SCIPsetSetDefaultIntParam(SCIP_SET *set, const char *name, int defaultvalue)
Definition set.c:3299
SCIP_Bool SCIPsetIsFeasNegative(SCIP_SET *set, SCIP_Real val)
Definition set.c:6717
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:2996
SCIP_Bool SCIPsetGetSubscipsOff(SCIP_SET *set)
Definition set.c:7284
SCIP_RETCODE SCIPsetIncludeRelax(SCIP_SET *set, SCIP_RELAX *relax)
Definition set.c:4140
SCIP_Real SCIPsetSetRelaxfeastol(SCIP_SET *set, SCIP_Real relaxfeastol)
Definition set.c:5850
SCIP_Bool SCIPsetIsSumRelGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7262
SCIP_RETCODE SCIPsetIncludeBanditvtable(SCIP_SET *set, SCIP_BANDITVTABLE *banditvtable)
Definition set.c:4438
SCIP_RETCODE SCIPsetIncludeConcsolverType(SCIP_SET *set, SCIP_CONCSOLVERTYPE *concsolvertype)
Definition set.c:4481
SCIP_Real SCIPsetFeastol(SCIP_SET *set)
Definition set.c:6094
SCIP_RETCODE SCIPsetInitsolPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5542
SCIP_RETCODE SCIPsetGetLongintParam(SCIP_SET *set, const char *name, SCIP_Longint *value)
Definition set.c:3139
SCIP_RETCODE SCIPsetIncludeSepa(SCIP_SET *set, SCIP_SEPA *sepa)
Definition set.c:4214
SCIP_RETCODE SCIPsetIncludeTable(SCIP_SET *set, SCIP_TABLE *table)
Definition set.c:4975
SCIP_Real SCIPsetPseudocosteps(SCIP_SET *set)
Definition set.c:6132
SCIP_RETCODE SCIPsetGetStringParam(SCIP_SET *set, const char *name, char **value)
Definition set.c:3181
SCIP_RETCODE SCIPsetSetHeuristics(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition set.c:3577
SCIP_Bool SCIPsetIsSumGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6472
SCIP_RETCODE SCIPsetInitPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5233
SCIP_RETCODE SCIPsetSetDualfeastol(SCIP_SET *set, SCIP_Real dualfeastol)
Definition set.c:5819
SCIP_RETCODE SCIPsetSetReoptimizationParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition set.c:736
SCIP_RETCODE SCIPsetSetIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, int value)
Definition set.c:3284
SCIP_PARAM ** SCIPsetGetParams(SCIP_SET *set)
Definition set.c:3626
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:3044
SCIP_Real SCIPsetCeil(SCIP_SET *set, SCIP_Real val)
Definition set.c:6385
SCIP_RETCODE SCIPsetIncludeConflicthdlr(SCIP_SET *set, SCIP_CONFLICTHDLR *conflicthdlr)
Definition set.c:3993
int SCIPsetGetSepaMaxcuts(SCIP_SET *set, SCIP_Bool root)
Definition set.c:5905
SCIP_RETCODE SCIPsetFreeConcsolvers(SCIP_SET *set)
Definition set.c:4547
SCIP_Bool SCIPsetIsRelEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7064
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:2950
SCIP_RETCODE SCIPsetIncludePricer(SCIP_SET *set, SCIP_PRICER *pricer)
Definition set.c:3688
SCIP_Bool SCIPsetIsDualfeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6818
SCIP_Bool SCIPsetIsFeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6651
SCIP_Bool SCIPsetIsFeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6629
SCIP_Real SCIPsetFeasRound(SCIP_SET *set, SCIP_Real val)
Definition set.c:6774
SCIP_Bool SCIPsetIsFeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6585
void SCIPsetSortPropsPresol(SCIP_SET *set)
Definition set.c:4408
SCIP_Bool SCIPsetIsPositive(SCIP_SET *set, SCIP_Real val)
Definition set.c:6310
SCIP_Bool SCIPsetIsSumRelGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7240
SCIP_RELAX * SCIPsetFindRelax(SCIP_SET *set, const char *name)
Definition set.c:4164
SCIP_RETCODE SCIPsetSetDefaultBoolParam(SCIP_SET *set, const char *name, SCIP_Bool defaultvalue)
Definition set.c:3246
SCIP_HEUR * SCIPsetFindHeur(SCIP_SET *set, const char *name)
Definition set.c:4593
SCIP_Bool SCIPsetIsLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6245
void SCIPsetSortRelaxsName(SCIP_SET *set)
Definition set.c:4199
void SCIPsetDebugMessagePrint(SCIP_SET *set, const char *formatstr,...)
Definition set.c:7364
void SCIPsetSortPropsName(SCIP_SET *set)
Definition set.c:4423
SCIP_Bool SCIPsetIsScalingIntegral(SCIP_SET *set, SCIP_Real val, SCIP_Real scalar)
Definition set.c:6343
SCIP_Real SCIPsetFeasFloor(SCIP_SET *set, SCIP_Real val)
Definition set.c:6752
SCIP_Real SCIPsetRelaxfeastol(SCIP_SET *set)
Definition set.c:6166
SCIP_Bool SCIPsetIsParamFixed(SCIP_SET *set, const char *name)
Definition set.c:3089
SCIP_RETCODE SCIPsetCopyPlugins(SCIP_SET *sourceset, SCIP_SET *targetset, SCIP_Bool copyreaders, SCIP_Bool copypricers, SCIP_Bool copyconshdlrs, SCIP_Bool copyconflicthdlrs, SCIP_Bool copypresolvers, SCIP_Bool copyrelaxators, SCIP_Bool copyseparators, SCIP_Bool copycutselectors, SCIP_Bool copypropagators, SCIP_Bool copyheuristics, SCIP_Bool copyeventhdlrs, SCIP_Bool copynodeselectors, SCIP_Bool copybranchrules, SCIP_Bool copydisplays, SCIP_Bool copydialogs, SCIP_Bool copytables, SCIP_Bool copyexprhdlrs, SCIP_Bool copynlpis, SCIP_Bool *allvalid)
Definition set.c:857
SCIP_RETCODE SCIPsetIncludeDisp(SCIP_SET *set, SCIP_DISP *disp)
Definition set.c:4923
SCIP_RETCODE SCIPsetSetLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Longint value)
Definition set.c:3336
void SCIPsetSortRelaxs(SCIP_SET *set)
Definition set.c:4184
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:3020
SCIP_Bool SCIPsetIsSumLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6454
void SCIPsetPrintDebugMessage(SCIP_SET *set, const char *sourcefile, int sourceline, const char *formatstr,...)
Definition set.c:7320
SCIP_Bool SCIPsetIsDualfeasNegative(SCIP_SET *set, SCIP_Real val)
Definition set.c:6928
SCIP_CONCSOLVERTYPE * SCIPsetFindConcsolverType(SCIP_SET *set, const char *name)
Definition set.c:4503
SCIP_RETCODE SCIPsetSetVerbLevel(SCIP_SET *set, SCIP_VERBLEVEL verblevel)
Definition set.c:5779
SCIP_RETCODE SCIPsetGetBoolParam(SCIP_SET *set, const char *name, SCIP_Bool *value)
Definition set.c:3111
SCIP_CONSHDLR * SCIPsetFindConshdlr(SCIP_SET *set, const char *name)
Definition set.c:3973
SCIP_Real SCIPsetDualfeastol(SCIP_SET *set)
Definition set.c:6104
void SCIPsetSortComprs(SCIP_SET *set)
Definition set.c:4687
SCIP_RETCODE SCIPsetIncludeConcsolver(SCIP_SET *set, SCIP_CONCSOLVER *concsolver)
Definition set.c:4523
SCIP_Real SCIPsetEpsilon(SCIP_SET *set)
Definition set.c:6074
SCIP_RETCODE SCIPsetChgParamFixed(SCIP_SET *set, const char *name, SCIP_Bool fixed)
Definition set.c:3195
SCIP_BENDERS * SCIPsetFindBenders(SCIP_SET *set, const char *name)
Definition set.c:3784
SCIP_Bool SCIPsetIsSumRelEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7174
SCIP_CUTSEL * SCIPsetFindCutsel(SCIP_SET *set, const char *name)
Definition set.c:4312
SCIP_RETCODE SCIPsetIncludeExprhdlr(SCIP_SET *set, SCIP_EXPRHDLR *exprhdlr)
Definition set.c:5064
void SCIPsetSortComprsName(SCIP_SET *set)
Definition set.c:4702
SCIP_RETCODE SCIPsetExitprePlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5504
SCIP_Bool SCIPsetIsSumGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6490
void SCIPsetSortPricersName(SCIP_SET *set)
Definition set.c:3746
SCIP_RETCODE SCIPsetChgRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Real value)
Definition set.c:3351
SCIP_Bool SCIPsetIsEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6209
SCIP_Bool SCIPsetIsFeasZero(SCIP_SET *set, SCIP_Real val)
Definition set.c:6695
SCIP_RETCODE SCIPsetChgBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Bool value)
Definition set.c:3209
SCIP_Bool SCIPsetIsSumNegative(SCIP_SET *set, SCIP_Real val)
Definition set.c:6530
SCIP_STAGE SCIPsetGetStage(SCIP_SET *set)
Definition set.c:2940
SCIP_Bool SCIPsetIsSumLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6436
SCIP_RETCODE SCIPsetIncludeProp(SCIP_SET *set, SCIP_PROP *prop)
Definition set.c:4346
SCIP_RETCODE SCIPsetIncludeCutsel(SCIP_SET *set, SCIP_CUTSEL *cutsel)
Definition set.c:4288
SCIP_Real SCIPsetGetSepaMaxCoefRatioRowprep(SCIP_SET *set)
Definition set.c:5919
SCIP_Bool SCIPsetIsFeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6607
SCIP_RETCODE SCIPsetIncludeConshdlr(SCIP_SET *set, SCIP_CONSHDLR *conshdlr)
Definition set.c:3834
void SCIPsetSortPricers(SCIP_SET *set)
Definition set.c:3731
SCIP_Real SCIPsetFrac(SCIP_SET *set, SCIP_Real val)
Definition set.c:6407
SCIP_RETCODE SCIPsetSetCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, char value)
Definition set.c:3412
SCIP_RETCODE SCIPsetSetSubscipsOff(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_Bool quiet)
Definition set.c:3560
SCIP_Bool SCIPsetIsUbBetter(SCIP_SET *set, SCIP_Real newub, SCIP_Real oldlb, SCIP_Real oldub)
Definition set.c:7031
void SCIPsetSortSepas(SCIP_SET *set)
Definition set.c:4258
void SCIPsetReinsertConshdlrSepaPrio(SCIP_SET *set, SCIP_CONSHDLR *conshdlr, int oldpriority)
Definition set.c:3890
SCIP_RETCODE SCIPsetIncludeHeur(SCIP_SET *set, SCIP_HEUR *heur)
Definition set.c:4569
SCIP_Real SCIPsetLPFeastolFactor(SCIP_SET *set)
Definition set.c:6114
SCIP_Real SCIPsetInfinity(SCIP_SET *set)
Definition set.c:6052
SCIP_RETCODE SCIPsetGetIntParam(SCIP_SET *set, const char *name, int *value)
Definition set.c:3125
SCIP_RETCODE SCIPsetIncludeEventhdlr(SCIP_SET *set, SCIP_EVENTHDLR *eventhdlr)
Definition set.c:4717
void SCIPsetSortProps(SCIP_SET *set)
Definition set.c:4393
SCIP_RETCODE SCIPsetCreate(SCIP_SET **set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, SCIP *scip)
Definition set.c:1100
SCIP_Real SCIPsetSumepsilon(SCIP_SET *set)
Definition set.c:6084
SCIP_RETCODE SCIPsetSetPresolving(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition set.c:3595
SCIP_Bool SCIPsetIsLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6227
SCIP_Bool SCIPsetIsInfinity(SCIP_SET *set, SCIP_Real val)
Definition set.c:6187
SCIP_RETCODE SCIPsetGetRealParam(SCIP_SET *set, const char *name, SCIP_Real *value)
Definition set.c:3153
void SCIPsetSortHeurs(SCIP_SET *set)
Definition set.c:4613
SCIP_Bool SCIPsetIsSumZero(SCIP_SET *set, SCIP_Real val)
Definition set.c:6508
SCIP_RETCODE SCIPsetIncludePresol(SCIP_SET *set, SCIP_PRESOL *presol)
Definition set.c:4067
SCIP_Real SCIPsetDualfeasRound(SCIP_SET *set, SCIP_Real val)
Definition set.c:6985
SCIP_RETCODE SCIPsetChgStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, const char *value)
Definition set.c:3427
SCIP_Bool SCIPsetIsDualfeasIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6939
SCIP_Bool SCIPsetIsRelGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7152
SCIP_RETCODE SCIPsetIncludeNodesel(SCIP_SET *set, SCIP_NODESEL *nodesel)
Definition set.c:4760
SCIP_SEPA * SCIPsetFindSepa(SCIP_SET *set, const char *name)
Definition set.c:4238
SCIP_RETCODE SCIPsetIncludeCompr(SCIP_SET *set, SCIP_COMPR *compr)
Definition set.c:4643
int SCIPsetCalcPathGrowSize(SCIP_SET *set, int num)
Definition set.c:5770
SCIP_Bool SCIPsetIsDualfeasPositive(SCIP_SET *set, SCIP_Real val)
Definition set.c:6917
void SCIPsetSortHeursName(SCIP_SET *set)
Definition set.c:4628
SCIP_RETCODE SCIPsetChgCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, char value)
Definition set.c:3389
void SCIPsetSortNlpis(SCIP_SET *set)
Definition set.c:5173
SCIP_NLPI * SCIPsetFindNlpi(SCIP_SET *set, const char *name)
Definition set.c:5153
SCIP_RETCODE SCIPsetResetParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition set.c:3522
void SCIPsetSortBenders(SCIP_SET *set)
Definition set.c:3804
void SCIPsetSortExprhdlrs(SCIP_SET *set)
Definition set.c:5116
SCIP_Real SCIPsetGetSepaMaxcutsGenFactor(SCIP_SET *set, SCIP_Bool root)
Definition set.c:5891
SCIP_Bool SCIPsetIsDualfeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6796
void SCIPsetEnableOrDisablePluginClocks(SCIP_SET *set, SCIP_Bool enabled)
Definition set.c:794
int SCIPsetGetNParams(SCIP_SET *set)
Definition set.c:3636
SCIP_Bool SCIPsetIsDualfeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6862
SCIP_Bool SCIPsetIsSumRelLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7196
SCIP_PARAM * SCIPsetGetParam(SCIP_SET *set, const char *name)
Definition set.c:3100
SCIP_Bool SCIPsetIsRelGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7130
SCIP_RETCODE SCIPsetExitsolPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat, SCIP_Bool restart)
Definition set.c:5651
SCIP_Bool SCIPsetIsGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6263
void SCIPsetSortSepasName(SCIP_SET *set)
Definition set.c:4273
SCIP_Bool SCIPsetIsSumEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6418
SCIP_RETCODE SCIPsetChgIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, int value)
Definition set.c:3261
SCIP_PROP * SCIPsetFindProp(SCIP_SET *set, const char *name)
Definition set.c:4373
SCIP_CONFLICTHDLR * SCIPsetFindConflicthdlr(SCIP_SET *set, const char *name)
Definition set.c:4017
SCIP_Bool SCIPsetIsIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6332
SCIP_Real SCIPsetDualfeasFrac(SCIP_SET *set, SCIP_Real val)
Definition set.c:6996
SCIP_Bool SCIPsetIsZero(SCIP_SET *set, SCIP_Real val)
Definition set.c:6299
SCIP_Bool SCIPsetIsUpdateUnreliable(SCIP_SET *set, SCIP_Real newvalue, SCIP_Real oldvalue)
Definition set.c:7304
SCIP_Real SCIPsetDualfeasFloor(SCIP_SET *set, SCIP_Real val)
Definition set.c:6963
SCIP_RETCODE SCIPsetSetBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Bool value)
Definition set.c:3231
SCIP_Bool SCIPsetIsFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6361
SCIP_RETCODE SCIPsetIncludeNlpi(SCIP_SET *set, SCIP_NLPI *nlpi)
Definition set.c:5130
int SCIPsetGetPriceMaxvars(SCIP_SET *set, SCIP_Bool root)
Definition set.c:5877
SCIP_Real SCIPsetPseudocostdelta(SCIP_SET *set)
Definition set.c:6142
SCIP_Real SCIPsetSumCeil(SCIP_SET *set, SCIP_Real val)
Definition set.c:6552
SCIP_Real SCIPsetSumFrac(SCIP_SET *set, SCIP_Real val)
Definition set.c:6574
SCIP_Real SCIPsetFeasFrac(SCIP_SET *set, SCIP_Real val)
Definition set.c:6785
SCIP_RETCODE SCIPsetSetParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, const char *value)
Definition set.c:3465
SCIP_Real SCIPsetCutoffbounddelta(SCIP_SET *set)
Definition set.c:6152
SCIP_DEBUGSOLDATA * SCIPsetGetDebugSolData(SCIP_SET *set)
Definition set.c:5944
SCIP_RETCODE SCIPsetExitPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5354
SCIP_Bool SCIPsetIsSumRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7218
SCIP_BRANCHRULE * SCIPsetFindBranchrule(SCIP_SET *set, const char *name)
Definition set.c:4873
SCIP_Bool SCIPsetIsDualfeasGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6884
SCIP_Real SCIPsetGetReferencevalue(SCIP_SET *set)
Definition set.c:5933
SCIP_READER * SCIPsetFindReader(SCIP_SET *set, const char *name)
Definition set.c:3668
SCIP_Real SCIPsetRecompfac(SCIP_SET *set)
Definition set.c:6177
SCIP_Bool SCIPsetIsFeasGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6673
SCIP_RETCODE SCIPsetIncludeDialog(SCIP_SET *set, SCIP_DIALOG *dialog)
Definition set.c:5020
void SCIPsetSortBendersName(SCIP_SET *set)
Definition set.c:3819
SCIP_EVENTHDLR * SCIPsetFindEventhdlr(SCIP_SET *set, const char *name)
Definition set.c:4740
SCIP_RETCODE SCIPsetInitprePlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5466
SCIP_Real SCIPsetGetHugeValue(SCIP_SET *set)
Definition set.c:6064
SCIP_Bool SCIPsetIsRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7108
SCIP_RETCODE SCIPsetReadParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename)
Definition set.c:3480
void SCIPsetSortConflicthdlrs(SCIP_SET *set)
Definition set.c:4037
void SCIPsetSetLimitChanged(SCIP_SET *set)
Definition set.c:5867
SCIP_Real SCIPsetBarrierconvtol(SCIP_SET *set)
Definition set.c:6122
SCIP_RETCODE SCIPsetFree(SCIP_SET **set, BMS_BLKMEM *blkmem)
Definition set.c:2745
SCIP_PRESOL * SCIPsetFindPresol(SCIP_SET *set, const char *name)
Definition set.c:4090
SCIP_RETCODE SCIPsetSetEmphasis(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMEMPHASIS paramemphasis, SCIP_Bool quiet)
Definition set.c:3545
SCIP_Real SCIPsetRound(SCIP_SET *set, SCIP_Real val)
Definition set.c:6396
SCIP_RETCODE SCIPsetCopyParams(SCIP_SET *sourceset, SCIP_SET *targetset, SCIP_MESSAGEHDLR *messagehdlr)
Definition set.c:1083
SCIP_Bool SCIPsetIsSumPositive(SCIP_SET *set, SCIP_Real val)
Definition set.c:6519
int SCIPsetCalcMemGrowSize(SCIP_SET *set, int num)
Definition set.c:5752
SCIP_RETCODE SCIPsetIncludeExternalCode(SCIP_SET *set, const char *name, const char *description)
Definition set.c:5201
SCIP_RETCODE SCIPsetChgLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Longint value)
Definition set.c:3313
SCIP_NODESEL * SCIPsetGetNodesel(SCIP_SET *set, SCIP_STAT *stat)
Definition set.c:4811
SCIP_Bool SCIPsetIsFeasIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6728
SCIP_Bool SCIPsetIsNegative(SCIP_SET *set, SCIP_Real val)
Definition set.c:6321
unsigned int SCIPsetInitializeRandomSeed(SCIP_SET *set, unsigned int initialseedvalue)
Definition set.c:7381
void SCIPsetSetPriorityNlpi(SCIP_SET *set, SCIP_NLPI *nlpi, int priority)
Definition set.c:5187
SCIP_BANDITVTABLE * SCIPsetFindBanditvtable(SCIP_SET *set, const char *name)
Definition set.c:4460
datastructures for global SCIP settings
type definitions for bandit selection algorithms
type definitions for Benders' decomposition methods
type definitions for branching rules
type definitions for clocks and timing issues
type definitions for tree compression
type definitions for conflict analysis
type definitions for constraints and constraint handlers
type definitions for displaying runtime statistics
type definitions for managing events
type definitions for primal heuristics
enum SCIP_VerbLevel SCIP_VERBLEVEL
type definitions for node selectors
type definitions for handling parameter settings
enum SCIP_ParamSetting SCIP_PARAMSETTING
struct SCIP_ParamData SCIP_PARAMDATA
enum SCIP_ParamEmphasis SCIP_PARAMEMPHASIS
#define SCIP_DECL_PARAMCHGD(x)
type definitions for presolvers
type definitions for variable pricers
type definitions for propagators
type definitions for input file readers
type definitions for relaxators
enum SCIP_Retcode SCIP_RETCODE
type definitions for SCIP's main datastructure
type definitions for separators
type definitions for global SCIP settings
enum SCIP_Stage SCIP_STAGE
Definition type_set.h:59
type definitions for problem statistics
type definitions for displaying statistics tables