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-2026 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 copyiisfinders, /**< should the IIS finders be copied */
94 SCIP_Bool copydisplays, /**< should the display columns be copied */
95 SCIP_Bool copydialogs, /**< should the dialogs be copied */
96 SCIP_Bool copytables, /**< should the statistics tables be copied */
97 SCIP_Bool copyexprhdlrs, /**< should the expression handlers be copied */
98 SCIP_Bool copynlpis, /**< should the NLP interfaces be copied */
99 SCIP_Bool* allvalid /**< pointer to store whether all plugins were validly copied */
100 );
101
102/** copies parameters from sourcescip to targetscip */
104 SCIP_SET* sourceset, /**< source SCIP_SET data structure */
105 SCIP_SET* targetset, /**< target SCIP_SET data structure */
106 SCIP_MESSAGEHDLR* messagehdlr /**< message handler of target SCIP */
107 );
108
109/** creates global SCIP settings */
111 SCIP_SET** set, /**< pointer to SCIP settings */
112 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
113 BMS_BLKMEM* blkmem, /**< block memory */
114 SCIP* scip /**< SCIP data structure */
115 );
116
117/** frees global SCIP settings */
119 SCIP_SET** set, /**< pointer to SCIP settings */
120 BMS_BLKMEM* blkmem /**< block memory */
121 );
122
123/** returns current stage of SCIP */
125 SCIP_SET* set /**< pointer to SCIP settings */
126 );
127
128/** creates a SCIP_Bool parameter, sets it to its default value, and adds it to the parameter set */
130 SCIP_SET* set, /**< global SCIP settings */
131 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
132 BMS_BLKMEM* blkmem, /**< block memory */
133 const char* name, /**< name of the parameter */
134 const char* desc, /**< description of the parameter */
135 SCIP_Bool* valueptr, /**< pointer to store the current parameter value, or NULL */
136 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
137 SCIP_Bool defaultvalue, /**< default value of the parameter */
138 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
139 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
140 );
141
142/** creates a int parameter, sets it to its default value, and adds it to the parameter set */
144 SCIP_SET* set, /**< global SCIP settings */
145 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
146 BMS_BLKMEM* blkmem, /**< block memory */
147 const char* name, /**< name of the parameter */
148 const char* desc, /**< description of the parameter */
149 int* valueptr, /**< pointer to store the current parameter value, or NULL */
150 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
151 int defaultvalue, /**< default value of the parameter */
152 int minvalue, /**< minimum value for parameter */
153 int maxvalue, /**< maximum value for parameter */
154 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
155 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
156 );
157
158/** creates a SCIP_Longint parameter, sets it to its default value, and adds it to the parameter set */
160 SCIP_SET* set, /**< global SCIP settings */
161 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
162 BMS_BLKMEM* blkmem, /**< block memory */
163 const char* name, /**< name of the parameter */
164 const char* desc, /**< description of the parameter */
165 SCIP_Longint* valueptr, /**< pointer to store the current parameter value, or NULL */
166 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
167 SCIP_Longint defaultvalue, /**< default value of the parameter */
168 SCIP_Longint minvalue, /**< minimum value for parameter */
169 SCIP_Longint maxvalue, /**< maximum value for parameter */
170 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
171 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
172 );
173
174/** creates a SCIP_Real parameter, sets it to its default value, and adds it to the parameter set */
176 SCIP_SET* set, /**< global SCIP settings */
177 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
178 BMS_BLKMEM* blkmem, /**< block memory */
179 const char* name, /**< name of the parameter */
180 const char* desc, /**< description of the parameter */
181 SCIP_Real* valueptr, /**< pointer to store the current parameter value, or NULL */
182 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
183 SCIP_Real defaultvalue, /**< default value of the parameter */
184 SCIP_Real minvalue, /**< minimum value for parameter */
185 SCIP_Real maxvalue, /**< maximum value for parameter */
186 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
187 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
188 );
189
190/** creates a char parameter, sets it to its default value, and adds it to the parameter set */
192 SCIP_SET* set, /**< global SCIP settings */
193 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
194 BMS_BLKMEM* blkmem, /**< block memory */
195 const char* name, /**< name of the parameter */
196 const char* desc, /**< description of the parameter */
197 char* valueptr, /**< pointer to store the current parameter value, or NULL */
198 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
199 char defaultvalue, /**< default value of the parameter */
200 const char* allowedvalues, /**< array with possible parameter values, or NULL if not restricted */
201 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
202 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
203 );
204
205/** creates a string parameter, sets it to its default value, and adds it to the parameter set */
207 SCIP_SET* set, /**< global SCIP settings */
208 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
209 BMS_BLKMEM* blkmem, /**< block memory */
210 const char* name, /**< name of the parameter */
211 const char* desc, /**< description of the parameter */
212 char** valueptr, /**< pointer to store the current parameter value, or NULL */
213 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
214 const char* defaultvalue, /**< default value of the parameter */
215 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
216 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
217 );
218
219/** gets the fixing status value of an existing parameter */
221 SCIP_SET* set, /**< global SCIP settings */
222 const char* name /**< name of the parameter */
223 );
224
225/** returns the pointer to the SCIP parameter with the given name */
227 SCIP_SET* set, /**< global SCIP settings */
228 const char* name /**< name of the parameter */
229 );
230
231/** gets the value of an existing SCIP_Bool parameter */
233 SCIP_SET* set, /**< global SCIP settings */
234 const char* name, /**< name of the parameter */
235 SCIP_Bool* value /**< pointer to store the parameter */
236 );
237
238/** gets the value of an existing Int parameter */
240 SCIP_SET* set, /**< global SCIP settings */
241 const char* name, /**< name of the parameter */
242 int* value /**< pointer to store the parameter */
243 );
244
245/** gets the value of an existing SCIP_Longint parameter */
247 SCIP_SET* set, /**< global SCIP settings */
248 const char* name, /**< name of the parameter */
249 SCIP_Longint* value /**< pointer to store the parameter */
250 );
251
252/** gets the value of an existing SCIP_Real parameter */
254 SCIP_SET* set, /**< global SCIP settings */
255 const char* name, /**< name of the parameter */
256 SCIP_Real* value /**< pointer to store the parameter */
257 );
258
259/** gets the value of an existing Char parameter */
261 SCIP_SET* set, /**< global SCIP settings */
262 const char* name, /**< name of the parameter */
263 char* value /**< pointer to store the parameter */
264 );
265
266/** gets the value of an existing String parameter */
268 SCIP_SET* set, /**< global SCIP settings */
269 const char* name, /**< name of the parameter */
270 char** value /**< pointer to store the parameter */
271 );
272
273/** changes the fixing status of an existing parameter */
275 SCIP_SET* set, /**< global SCIP settings */
276 const char* name, /**< name of the parameter */
277 SCIP_Bool fixed /**< new fixing status of the parameter */
278 );
279
280/** changes the value of an existing SCIP_Bool parameter */
282 SCIP_SET* set, /**< global SCIP settings */
283 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
284 SCIP_PARAM* param, /**< parameter */
285 SCIP_Bool value /**< new value of the parameter */
286 );
287
288/** changes the value of an existing SCIP_Bool parameter */
290 SCIP_SET* set, /**< global SCIP settings */
291 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
292 const char* name, /**< name of the parameter */
293 SCIP_Bool value /**< new value of the parameter */
294 );
295
296/** changes the default value of an existing SCIP_Bool parameter */
298 SCIP_SET* set, /**< global SCIP settings */
299 const char* name, /**< name of the parameter */
300 SCIP_Bool defaultvalue /**< new default value of the parameter */
301 );
302
303/** changes the value of an existing Int parameter */
305 SCIP_SET* set, /**< global SCIP settings */
306 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
307 SCIP_PARAM* param, /**< parameter */
308 int value /**< new value of the parameter */
309 );
310
311/** changes the value of an existing Int parameter */
313 SCIP_SET* set, /**< global SCIP settings */
314 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
315 const char* name, /**< name of the parameter */
316 int value /**< new value of the parameter */
317 );
318
319/** changes the default value of an existing Int parameter */
321 SCIP_SET* set, /**< global SCIP settings */
322 const char* name, /**< name of the parameter */
323 int defaultvalue /**< new default value of the parameter */
324 );
325
326/** changes the value of an existing SCIP_Longint parameter */
328 SCIP_SET* set, /**< global SCIP settings */
329 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
330 SCIP_PARAM* param, /**< parameter */
331 SCIP_Longint value /**< new value of the parameter */
332 );
333
334/** changes the value of an existing SCIP_Longint parameter */
336 SCIP_SET* set, /**< global SCIP settings */
337 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
338 const char* name, /**< name of the parameter */
339 SCIP_Longint value /**< new value of the parameter */
340 );
341
342/** changes the value of an existing SCIP_Real parameter */
344 SCIP_SET* set, /**< global SCIP settings */
345 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
346 SCIP_PARAM* param, /**< parameter */
347 SCIP_Real value /**< new value of the parameter */
348 );
349
350/** changes the value of an existing SCIP_Real parameter */
352 SCIP_SET* set, /**< global SCIP settings */
353 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
354 const char* name, /**< name of the parameter */
355 SCIP_Real value /**< new value of the parameter */
356 );
357
358/** changes the value of an existing Char parameter */
360 SCIP_SET* set, /**< global SCIP settings */
361 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
362 SCIP_PARAM* param, /**< parameter */
363 char value /**< new value of the parameter */
364 );
365
366/** changes the value of an existing Char parameter */
368 SCIP_SET* set, /**< global SCIP settings */
369 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
370 const char* name, /**< name of the parameter */
371 char value /**< new value of the parameter */
372 );
373
374/** changes the value of an existing String parameter */
376 SCIP_SET* set, /**< global SCIP settings */
377 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
378 SCIP_PARAM* param, /**< parameter */
379 const char* value /**< new value of the parameter */
380 );
381
382/** changes the value of an existing String parameter */
384 SCIP_SET* set, /**< global SCIP settings */
385 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
386 const char* name, /**< name of the parameter */
387 const char* value /**< new value of the parameter */
388 );
389
390/** changes the value of an existing parameter */
392 SCIP_SET* set, /**< global SCIP settings */
393 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
394 const char* name, /**< name of the parameter */
395 const char* value /**< new value of the parameter as string */
396 );
397
398/** reads parameters from a file */
400 SCIP_SET* set, /**< global SCIP settings */
401 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
402 const char* filename /**< file name */
403 );
404
405/** writes all parameters in the parameter set to a file */
407 SCIP_SET* set, /**< global SCIP settings */
408 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
409 const char* filename, /**< file name, or NULL for stdout */
410 SCIP_Bool comments, /**< should parameter descriptions be written as comments? */
411 SCIP_Bool onlychanged /**< should only the parameters been written, that are changed from default? */
412 );
413
414/** resets a single parameters to its default value */
416 SCIP_SET* set, /**< global SCIP settings */
417 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
418 const char* name /**< name of the parameter */
419 );
420
421/** resets all parameters to their default values */
423 SCIP_SET* set, /**< global SCIP settings */
424 SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
425 );
426
427/** checks whether the value pointers attached to each parameter are unique
428 *
429 * When creating a parameter a value pointer can be attached. This function checks whether these pointers are
430 * unique. Duplicate pointers indicate an error.
431 */
433 SCIP_SET* set /**< global SCIP settings */
434 );
435
436/** sets parameters to
437 *
438 * - \ref SCIP_PARAMEMPHASIS_DEFAULT to use default values (see also SCIPsetResetParams())
439 * - \ref SCIP_PARAMEMPHASIS_COUNTER to get feasible and "fast" counting process
440 * - \ref SCIP_PARAMEMPHASIS_CPSOLVER to get CP like search (e.g. no LP relaxation)
441 * - \ref SCIP_PARAMEMPHASIS_EASYCIP to solve easy problems fast
442 * - \ref SCIP_PARAMEMPHASIS_FEASIBILITY to detect feasibility fast
443 * - \ref SCIP_PARAMEMPHASIS_HARDLP to be capable to handle hard LPs
444 * - \ref SCIP_PARAMEMPHASIS_OPTIMALITY to prove optimality fast
445 * - \ref SCIP_PARAMEMPHASIS_PHASEFEAS to find feasible solutions during a 3 phase solution process
446 * - \ref SCIP_PARAMEMPHASIS_PHASEIMPROVE to find improved solutions during a 3 phase solution process
447 * - \ref SCIP_PARAMEMPHASIS_PHASEPROOF to proof optimality during a 3 phase solution process
448 */
450 SCIP_SET* set, /**< global SCIP settings */
451 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
452 SCIP_PARAMEMPHASIS paramemphasis, /**< parameter settings */
453 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
454 );
455
456/** set parameters for reoptimization */
458 SCIP_SET* set, /**< SCIP data structure */
459 SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
460 );
461
462/** enable or disable all plugin timers depending on the value of the flag \p enabled */
464 SCIP_SET* set, /**< SCIP settings */
465 SCIP_Bool enabled /**< should plugin clocks be enabled? */
466 );
467
468/** sets parameters to deactivate separators and heuristics that use auxiliary SCIP instances; should be called for
469 * auxiliary SCIP instances to avoid recursion
470 */
472 SCIP_SET* set, /**< global SCIP settings */
473 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
474 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
475 );
476
477/** sets heuristic parameters values to
478 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all heuristic parameters
479 * - SCIP_PARAMSETTING_FAST such that the time spend for heuristic is decreased
480 * - SCIP_PARAMSETTING_AGGRESSIVE such that the heuristic are called more aggregative
481 * - SCIP_PARAMSETTING_OFF which turn off all heuristics
482 */
484 SCIP_SET* set, /**< global SCIP settings */
485 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
486 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
487 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
488 );
489
490/** sets presolving parameters to
491 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all presolving parameters
492 * - SCIP_PARAMSETTING_FAST such that the time spend for presolving is decreased
493 * - SCIP_PARAMSETTING_AGGRESSIVE such that the presolving is more aggregative
494 * - SCIP_PARAMSETTING_OFF which turn off all presolving
495 */
497 SCIP_SET* set, /**< global SCIP settings */
498 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
499 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
500 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
501 );
502
503/** sets separating parameters to
504 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all separating parameters
505 * - SCIP_PARAMSETTING_FAST such that the time spend for separating is decreased
506 * - SCIP_PARAMSETTING_AGGRESSIVE such that the separating is done more aggregative
507 * - SCIP_PARAMSETTING_OFF which turn off all separating
508 */
510 SCIP_SET* set, /**< global SCIP settings */
511 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
512 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
513 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
514 );
515
516/** returns the array of all available SCIP parameters */
518 SCIP_SET* set /**< global SCIP settings */
519 );
520
521/** returns the total number of all available SCIP parameters */
523 SCIP_SET* set /**< global SCIP settings */
524 );
525
526/** inserts file reader in file reader list */
528 SCIP_SET* set, /**< global SCIP settings */
529 SCIP_READER* reader /**< file reader */
530 );
531
532/** returns the file reader of the given name, or NULL if not existing */
534 SCIP_SET* set, /**< global SCIP settings */
535 const char* name /**< name of file reader */
536 );
537
538/** inserts variable pricer in variable pricer list */
540 SCIP_SET* set, /**< global SCIP settings */
541 SCIP_PRICER* pricer /**< variable pricer */
542 );
543
544/** returns the variable pricer of the given name, or NULL if not existing */
546 SCIP_SET* set, /**< global SCIP settings */
547 const char* name /**< name of variable pricer */
548 );
549
550/** sorts pricers by priorities */
552 SCIP_SET* set /**< global SCIP settings */
553 );
554
555/** sorts pricers by name */
557 SCIP_SET* set /**< global SCIP settings */
558 );
559
560/** inserts Benders' decomposition into the Benders' decomposition list */
562 SCIP_SET* set, /**< global SCIP settings */
563 SCIP_BENDERS* benders /**< Benders' decomposition */
564 );
565
566/** returns the Benders' decomposition of the given name, or NULL if not existing */
568 SCIP_SET* set, /**< global SCIP settings */
569 const char* name /**< name of Benders' decomposition */
570 );
571
572/** sorts Benders' decomposition by priorities */
574 SCIP_SET* set /**< global SCIP settings */
575 );
576
577/** sorts Benders' decomposition by name */
579 SCIP_SET* set /**< global SCIP settings */
580 );
581
582/** inserts constraint handler in constraint handler list */
584 SCIP_SET* set, /**< global SCIP settings */
585 SCIP_CONSHDLR* conshdlr /**< constraint handler */
586 );
587
588/** reinserts a constraint handler with modified sepa priority into the sepa priority sorted array */
590 SCIP_SET* set, /**< global SCIP settings */
591 SCIP_CONSHDLR* conshdlr, /**< constraint handler to be reinserted */
592 int oldpriority /**< the old separation priority of constraint handler */
593 );
594
595/** returns the constraint handler of the given name, or NULL if not existing */
597 SCIP_SET* set, /**< global SCIP settings */
598 const char* name /**< name of constraint handler */
599 );
600
601/** inserts conflict handler in conflict handler list */
603 SCIP_SET* set, /**< global SCIP settings */
604 SCIP_CONFLICTHDLR* conflicthdlr /**< conflict handler */
605 );
606
607/** returns the conflict handler of the given name, or NULL if not existing */
609 SCIP_SET* set, /**< global SCIP settings */
610 const char* name /**< name of conflict handler */
611 );
612
613/** sorts conflict handlers by priorities */
615 SCIP_SET* set /**< global SCIP settings */
616 );
617
618/** sorts conflict handlers by name */
620 SCIP_SET* set /**< global SCIP settings */
621 );
622
623/** inserts presolver in presolver list */
625 SCIP_SET* set, /**< global SCIP settings */
626 SCIP_PRESOL* presol /**< presolver */
627 );
628
629/** returns the presolver of the given name, or NULL if not existing */
631 SCIP_SET* set, /**< global SCIP settings */
632 const char* name /**< name of presolver */
633 );
634
635/** sorts presolvers by priorities */
637 SCIP_SET* set /**< global SCIP settings */
638 );
639
640/** sorts presolvers by name */
642 SCIP_SET* set /**< global SCIP settings */
643 );
644
645/** inserts relaxator in relaxator list */
647 SCIP_SET* set, /**< global SCIP settings */
648 SCIP_RELAX* relax /**< relaxator */
649 );
650
651/** returns the relaxator of the given name, or NULL if not existing */
653 SCIP_SET* set, /**< global SCIP settings */
654 const char* name /**< name of relaxator */
655 );
656
657/** sorts relaxators by priorities */
659 SCIP_SET* set /**< global SCIP settings */
660 );
661
662/** sorts relaxators by name */
664 SCIP_SET* set /**< global SCIP settings */
665 );
666
667/** inserts separator in separator list */
669 SCIP_SET* set, /**< global SCIP settings */
670 SCIP_SEPA* sepa /**< separator */
671 );
672
673/** returns the separator of the given name, or NULL if not existing */
675 SCIP_SET* set, /**< global SCIP settings */
676 const char* name /**< name of separator */
677 );
678
679/** sorts separators by priorities */
681 SCIP_SET* set /**< global SCIP settings */
682 );
683
684/** sorts separators by name */
686 SCIP_SET* set /**< global SCIP settings */
687 );
688
689/** inserts cut selector in cut selector list */
691 SCIP_SET* set, /**< global SCIP settings */
692 SCIP_CUTSEL* cutsel /**< cut selector */
693 );
694
695/** returns the cut selector of the given name, or NULL if not existing */
697 SCIP_SET* set, /**< global SCIP settings */
698 const char* name /**< name of separator */
699 );
700
701/** sorts cut selectors by priorities */
703 SCIP_SET* set /**< global SCIP settings */
704 );
705
706/** inserts propagator in propagator list */
708 SCIP_SET* set, /**< global SCIP settings */
709 SCIP_PROP* prop /**< propagator */
710 );
711
712/** returns the propagator of the given name, or NULL if not existing */
714 SCIP_SET* set, /**< global SCIP settings */
715 const char* name /**< name of propagator */
716 );
717
718/** sorts propagators by priorities */
720 SCIP_SET* set /**< global SCIP settings */
721 );
722
723/** sorts propagators by priorities for presolving */
725 SCIP_SET* set /**< global SCIP settings */
726 );
727
728/** sorts propagators w.r.t. names */
730 SCIP_SET* set /**< global SCIP settings */
731 );
732
733/** inserts concurrent solver type into the concurrent solver type list */
735 SCIP_SET* set, /**< global SCIP settings */
736 SCIP_CONCSOLVERTYPE* concsolvertype /**< concurrent solver type */
737 );
738
739/** returns the concurrent solver type with the given name, or NULL if not existing */
741 SCIP_SET* set, /**< global SCIP settings */
742 const char* name /**< name of concurrent solver type */
743 );
744
745/** inserts concurrent solver into the concurrent solver list */
747 SCIP_SET* set, /**< global SCIP settings */
748 SCIP_CONCSOLVER* concsolver /**< concurrent solver */
749 );
750
751/** frees all concurrent solvers in the concurrent solver list */
753 SCIP_SET* set /**< global SCIP settings */
754 );
755
756/** inserts primal heuristic in primal heuristic list */
758 SCIP_SET* set, /**< global SCIP settings */
759 SCIP_HEUR* heur /**< primal heuristic */
760 );
761
762/** returns the primal heuristic of the given name, or NULL if not existing */
764 SCIP_SET* set, /**< global SCIP settings */
765 const char* name /**< name of primal heuristic */
766 );
767
768/** sorts heuristics by priorities */
770 SCIP_SET* set /**< global SCIP settings */
771 );
772
773/** sorts heuristics by name */
775 SCIP_SET* set /**< global SCIP settings */
776 );
777
778/** inserts tree compression in tree compression list */
780 SCIP_SET* set, /**< global SCIP settings */
781 SCIP_COMPR* compr /**< tree compression */
782 );
783
784/** returns the tree compression of the given name, or NULL if not existing */
786 SCIP_SET* set, /**< global SCIP settings */
787 const char* name /**< name of tree compression */
788 );
789
790/** sorts compressions by priorities */
792 SCIP_SET* set /**< global SCIP settings */
793 );
794
795/** sorts heuristics by names */
797 SCIP_SET* set /**< global SCIP settings */
798 );
799
800/** inserts event handler in event handler list */
802 SCIP_SET* set, /**< global SCIP settings */
803 SCIP_EVENTHDLR* eventhdlr /**< event handler */
804 );
805
806/** returns the event handler of the given name, or NULL if not existing */
808 SCIP_SET* set, /**< global SCIP settings */
809 const char* name /**< name of event handler */
810 );
811
812/** inserts node selector in node selector list */
814 SCIP_SET* set, /**< global SCIP settings */
815 SCIP_NODESEL* nodesel /**< node selector */
816 );
817
818/** returns the node selector of the given name, or NULL if not existing */
820 SCIP_SET* set, /**< global SCIP settings */
821 const char* name /**< name of event handler */
822 );
823
824/** returns node selector with highest priority in the current mode */
826 SCIP_SET* set, /**< global SCIP settings */
827 SCIP_STAT* stat /**< dynamic problem statistics */
828 );
829
830/** inserts branching rule in branching rule list */
832 SCIP_SET* set, /**< global SCIP settings */
833 SCIP_BRANCHRULE* branchrule /**< branching rule */
834 );
835
836/** returns the branching rule of the given name, or NULL if not existing */
838 SCIP_SET* set, /**< global SCIP settings */
839 const char* name /**< name of event handler */
840 );
841
842/** sorts branching rules by priorities */
844 SCIP_SET* set /**< global SCIP settings */
845 );
846
847/** sorts branching rules by name */
849 SCIP_SET* set /**< global SCIP settings */
850 );
851
852/** inserts IIS finders in IIS finder list */
854 SCIP_SET* set, /**< global SCIP settings */
855 SCIP_IISFINDER* iisfinder /**< IIS finder */
856 );
857
858/** returns the IIS finder of the given name, or NULL if not existing */
860 SCIP_SET* set, /**< global SCIP settings */
861 const char* name /**< name of IIS finder */
862 );
863
864/** sorts the IIS finders by priorities */
866 SCIP_SET* set /**< global SCIP settings */
867 );
868
869/** inserts display column in display column list */
871 SCIP_SET* set, /**< global SCIP settings */
872 SCIP_DISP* disp /**< display column */
873 );
874
875/** returns the display column of the given name, or NULL if not existing */
877 SCIP_SET* set, /**< global SCIP settings */
878 const char* name /**< name of display */
879 );
880
881/** inserts statistics table in statistics table list */
883 SCIP_SET* set, /**< global SCIP settings */
884 SCIP_TABLE* table /**< statistics table */
885 );
886
887/** returns the statistics table of the given name, or NULL if not existing */
889 SCIP_SET* set, /**< global SCIP settings */
890 const char* name /**< name of statistics table */
891 );
892
893/** inserts dialog in dialog list */
895 SCIP_SET* set, /**< global SCIP settings */
896 SCIP_DIALOG* dialog /**< dialog */
897 );
898
899/** returns if the dialog already exists */
901 SCIP_SET* set, /**< global SCIP settings */
902 SCIP_DIALOG* dialog /**< dialog */
903 );
904
905/** inserts expression handler in expression handler list */
907 SCIP_SET* set, /**< global SCIP settings */
908 SCIP_EXPRHDLR* exprhdlr /**< expression handler */
909 );
910
911/** returns the expression handler of the given name, or NULL if not existing */
912SCIP_EXPORT /* need SCIP_EXPORT here, because func is exposed in API via SCIPfindExprhdlr() macro */
914 SCIP_SET* set, /**< global SCIP settings */
915 const char* name /**< name of expression handler */
916 );
917
918/** sorts expression handlers by name */
920 SCIP_SET* set /**< global SCIP settings */
921 );
922
923/** inserts NLPI in NLPI list */
925 SCIP_SET* set, /**< global SCIP settings */
926 SCIP_NLPI* nlpi /**< NLPI */
927 );
928
929/** returns the NLPI of the given name, or NULL if not existing */
931 SCIP_SET* set, /**< global SCIP settings */
932 const char* name /**< name of NLPI */
933 );
934
935/** sorts NLPIs by priorities */
937 SCIP_SET* set /**< global SCIP settings */
938 );
939
940/** set priority of an NLPI */
942 SCIP_SET* set, /**< global SCIP settings */
943 SCIP_NLPI* nlpi, /**< NLPI */
944 int priority /**< new priority of NLPI */
945 );
946
947/** inserts information about an external code in external codes list */
949 SCIP_SET* set, /**< global SCIP settings */
950 const char* name, /**< name of external code */
951 const char* description /**< description of external code, can be NULL */
952 );
953
954/** inserts bandit virtual function table into set */
956 SCIP_SET* set, /**< global SCIP settings */
957 SCIP_BANDITVTABLE* banditvtable /**< bandit algorithm virtual function table */
958 );
959
960/** returns the bandit virtual function table of the given name, or NULL if not existing */
962 SCIP_SET* set, /**< global SCIP settings */
963 const char* name /**< name of bandit algorithm virtual function table */
964 );
965
966/** calls init methods of all plugins */
968 SCIP_SET* set, /**< global SCIP settings */
969 BMS_BLKMEM* blkmem, /**< block memory */
970 SCIP_STAT* stat /**< dynamic problem statistics */
971 );
972
973/** calls exit methods of all plugins */
975 SCIP_SET* set, /**< global SCIP settings */
976 BMS_BLKMEM* blkmem, /**< block memory */
977 SCIP_STAT* stat /**< dynamic problem statistics */
978 );
979
980/** calls initpre methods of all plugins */
982 SCIP_SET* set, /**< global SCIP settings */
983 BMS_BLKMEM* blkmem, /**< block memory */
984 SCIP_STAT* stat /**< dynamic problem statistics */
985 );
986
987/** calls exitpre methods of all plugins */
989 SCIP_SET* set, /**< global SCIP settings */
990 BMS_BLKMEM* blkmem, /**< block memory */
991 SCIP_STAT* stat /**< dynamic problem statistics */
992 );
993
994/** calls initsol methods of all plugins */
996 SCIP_SET* set, /**< global SCIP settings */
997 BMS_BLKMEM* blkmem, /**< block memory */
998 SCIP_STAT* stat /**< dynamic problem statistics */
999 );
1000
1001/** calls exitsol methods of all plugins */
1003 SCIP_SET* set, /**< global SCIP settings */
1004 BMS_BLKMEM* blkmem, /**< block memory */
1005 SCIP_STAT* stat, /**< dynamic problem statistics */
1006 SCIP_Bool restart /**< was this exit solve call triggered by a restart? */
1007 );
1008
1009/** calculate memory size for dynamically allocated arrays */
1011 SCIP_SET* set, /**< global SCIP settings */
1012 int num /**< minimum number of entries to store */
1013 );
1014
1015/** calculate memory size for tree array */
1017 SCIP_SET* set, /**< global SCIP settings */
1018 int num /**< minimum number of entries to store */
1019 );
1020
1021/** calculate memory size for path array */
1023 SCIP_SET* set, /**< global SCIP settings */
1024 int num /**< minimum number of entries to store */
1025 );
1026
1027/** sets verbosity level for message output */
1029 SCIP_SET* set, /**< global SCIP settings */
1030 SCIP_VERBLEVEL verblevel /**< verbosity level for message output */
1031 );
1032
1033/** sets feasibility tolerance */
1035 SCIP_SET* set, /**< global SCIP settings */
1036 SCIP_LP* lp, /**< LP data, or NULL */
1037 SCIP_Real feastol /**< new feasibility tolerance */
1038 );
1039
1040/** sets feasibility tolerance for reduced costs in LP solution */
1042 SCIP_SET* set, /**< global SCIP settings */
1043 SCIP_Real dualfeastol /**< new reduced costs feasibility tolerance */
1044 );
1045
1046/** sets LP convergence tolerance used in barrier algorithm */
1048 SCIP_SET* set, /**< global SCIP settings */
1049 SCIP_Real barrierconvtol /**< new convergence tolerance used in barrier algorithm */
1050 );
1051
1052/** sets primal feasibility tolerance for relaxations (relaxfeastol)
1053 *
1054 * @note Set to SCIP_INVALID to apply relaxation-specific feasibility tolerance only.
1055 *
1056 * @return Previous value of relaxfeastol.
1057 */
1059 SCIP_SET* set, /**< global SCIP settings */
1060 SCIP_Real relaxfeastol /**< new primal feasibility tolerance for relaxations, or SCIP_INVALID */
1061 );
1062
1063/** marks that some limit parameter was changed */
1065 SCIP_SET* set /**< global SCIP settings */
1066 );
1067
1068/** returns the maximal number of variables priced into the LP per round */
1070 SCIP_SET* set, /**< global SCIP settings */
1071 SCIP_Bool root /**< are we at the root node? */
1072 );
1073
1074/** returns factor for the maximal number of cuts generated per round */
1076 SCIP_SET* set, /**< global SCIP settings */
1077 SCIP_Bool root /**< are we at the root node? */
1078 );
1079
1080/** returns the maximal number of cuts separated per round */
1082 SCIP_SET* set, /**< global SCIP settings */
1083 SCIP_Bool root /**< are we at the root node? */
1084 );
1085
1086/** returns the maximal ratio between coefficients to ensure in rowprep cleanup */
1088 SCIP_SET* set /**< global SCIP settings */
1089 );
1090
1091/** returns user defined objective value (in original space) for reference purposes */
1093 SCIP_SET* set /**< global SCIP settings */
1094 );
1095
1096/** returns debug solution data */
1098 SCIP_SET* set /**< global SCIP settings */
1099 );
1100
1101/** Checks if an iteratively updated value is reliable or should be recomputed from scratch.
1102 * This is useful, if the value, e.g., the activity of a linear constraint or the pseudo objective value, gets a high
1103 * absolute value during the optimization process which is later reduced significantly. In this case, the last digits
1104 * were cancelled out when increasing the value and are random after decreasing it.
1105 * We dot not consider the cancellations which can occur during increasing the absolute value because they just cannot
1106 * be expressed using fixed precision floating point arithmetic, anymore.
1107 * The idea to get more reliable values is to always store the last reliable value, where increasing the absolute of
1108 * the value is viewed as preserving reliability. Then, after each update, the new absolute value can be compared
1109 * against the last reliable one with this method, checking whether it was decreased by a factor of at least
1110 * "lp/recompfac" and should be recomputed.
1111 */
1113 SCIP_SET* set, /**< global SCIP settings */
1114 SCIP_Real newvalue, /**< new value after update */
1115 SCIP_Real oldvalue /**< old value, i.e., last reliable value */
1116 );
1117
1118/** modifies an initial seed value with the global shift of random seeds */
1119unsigned int SCIPsetInitializeRandomSeed(
1120 SCIP_SET* set, /**< global SCIP settings */
1121 unsigned int initialseedvalue /**< initial seed value to be modified */
1122 );
1123
1124/** returns value treated as infinity */
1126 SCIP_SET* set /**< global SCIP settings */
1127 );
1128
1129/** returns the minimum value that is regarded as huge and should be handled separately (e.g., in activity
1130 * computation)
1131 */
1133 SCIP_SET* set /**< global SCIP settings */
1134 );
1135
1136/** returns value treated as zero */
1138 SCIP_SET* set /**< global SCIP settings */
1139 );
1140
1141/** returns value treated as zero for sums of floating point values */
1143 SCIP_SET* set /**< global SCIP settings */
1144 );
1145
1146/** returns feasibility tolerance for constraints */
1147#ifdef __GNUC__
1148__attribute__ ((pure))
1149#endif
1151 SCIP_SET* set /**< global SCIP settings */
1152 );
1153
1154/** returns factor w.r.t. primal feasibility tolerance that determines default (and maximal) feasibility tolerance */
1156 SCIP_SET* set /**< global SCIP settings */
1157 );
1158
1159/** returns feasibility tolerance for reduced costs */
1160#ifdef __GNUC__
1161__attribute__ ((pure))
1162#endif
1164 SCIP_SET* set /**< global SCIP settings */
1165 );
1166
1167/** returns convergence tolerance used in barrier algorithm */
1169 SCIP_SET* set /**< global SCIP settings */
1170 );
1171
1172/** returns minimal variable distance value to use for pseudo cost updates */
1174 SCIP_SET* set /**< global SCIP settings */
1175 );
1176
1177/** returns minimal minimal objective distance value to use for pseudo cost updates */
1179 SCIP_SET* set /**< global SCIP settings */
1180 );
1181
1182/** return the delta to use for computing the cutoff bound for integral objectives */
1184 SCIP_SET* set /**< global SCIP settings */
1185 );
1186
1187/** return the primal feasibility tolerance for relaxations */
1189 SCIP_SET* set /**< global SCIP settings */
1190 );
1191
1192/** returns minimal decrease factor that causes the recomputation of a value
1193 * (e.g., pseudo objective) instead of an update */
1195 SCIP_SET* set /**< global SCIP settings */
1196 );
1197
1198/** checks if values are in range of epsilon */
1200 SCIP_SET* set, /**< global SCIP settings */
1201 SCIP_Real val1, /**< first value to be compared */
1202 SCIP_Real val2 /**< second value to be compared */
1203 );
1204
1205/** checks if val1 is (more than epsilon) lower than val2 */
1207 SCIP_SET* set, /**< global SCIP settings */
1208 SCIP_Real val1, /**< first value to be compared */
1209 SCIP_Real val2 /**< second value to be compared */
1210 );
1211
1212/** checks if val1 is not (more than epsilon) greater than val2 */
1214 SCIP_SET* set, /**< global SCIP settings */
1215 SCIP_Real val1, /**< first value to be compared */
1216 SCIP_Real val2 /**< second value to be compared */
1217 );
1218
1219/** checks if val1 is (more than epsilon) greater than val2 */
1221 SCIP_SET* set, /**< global SCIP settings */
1222 SCIP_Real val1, /**< first value to be compared */
1223 SCIP_Real val2 /**< second value to be compared */
1224 );
1225
1226/** checks if val1 is not (more than epsilon) lower than val2 */
1228 SCIP_SET* set, /**< global SCIP settings */
1229 SCIP_Real val1, /**< first value to be compared */
1230 SCIP_Real val2 /**< second value to be compared */
1231 );
1232
1233/** checks if value is (positive) infinite */
1235 SCIP_SET* set, /**< global SCIP settings */
1236 SCIP_Real val /**< value to be compared against infinity */
1237 );
1238
1239/** checks if value is huge and should be handled separately (e.g., in activity computation) */
1241 SCIP_SET* set, /**< global SCIP settings */
1242 SCIP_Real val /**< value to be checked whether it is huge */
1243 );
1244
1245/** checks if value is in range epsilon of 0.0 */
1247 SCIP_SET* set, /**< global SCIP settings */
1248 SCIP_Real val /**< value to be compared against zero */
1249 );
1250
1251/** checks if value is greater than epsilon */
1253 SCIP_SET* set, /**< global SCIP settings */
1254 SCIP_Real val /**< value to be compared against zero */
1255 );
1256
1257/** checks if value is lower than -epsilon */
1259 SCIP_SET* set, /**< global SCIP settings */
1260 SCIP_Real val /**< value to be compared against zero */
1261 );
1262
1263/** checks if value is integral within epsilon */
1265 SCIP_SET* set, /**< global SCIP settings */
1266 SCIP_Real val /**< value to be compared against zero */
1267 );
1268
1269/** checks whether the product val * scalar is integral in epsilon scaled by scalar */
1271 SCIP_SET* set, /**< global SCIP settings */
1272 SCIP_Real val, /**< unscaled value to check for scaled integrality */
1273 SCIP_Real scalar /**< value to scale val with for checking for integrality */
1274 );
1275
1276/** checks if given fractional part is smaller than epsilon */
1278 SCIP_SET* set, /**< global SCIP settings */
1279 SCIP_Real val /**< value to be compared against zero */
1280 );
1281
1282/** rounds value + feasibility tolerance down to the next integer in epsilon tolerance */
1284 SCIP_SET* set, /**< global SCIP settings */
1285 SCIP_Real val /**< value to be compared against zero */
1286 );
1287
1288/** rounds value - feasibility tolerance up to the next integer in epsilon tolerance */
1290 SCIP_SET* set, /**< global SCIP settings */
1291 SCIP_Real val /**< value to be compared against zero */
1292 );
1293
1294/** rounds value to the nearest integer in epsilon tolerance */
1296 SCIP_SET* set, /**< global SCIP settings */
1297 SCIP_Real val /**< value to be compared against zero */
1298 );
1299
1300/** returns fractional part of value, i.e. x - floor(x) in epsilon tolerance */
1302 SCIP_SET* set, /**< global SCIP settings */
1303 SCIP_Real val /**< value to return fractional part for */
1304 );
1305
1306/** checks if values are in range of sumepsilon */
1308 SCIP_SET* set, /**< global SCIP settings */
1309 SCIP_Real val1, /**< first value to be compared */
1310 SCIP_Real val2 /**< second value to be compared */
1311 );
1312
1313/** checks if val1 is (more than sumepsilon) lower than val2 */
1315 SCIP_SET* set, /**< global SCIP settings */
1316 SCIP_Real val1, /**< first value to be compared */
1317 SCIP_Real val2 /**< second value to be compared */
1318 );
1319
1320/** checks if val1 is not (more than sumepsilon) greater than val2 */
1322 SCIP_SET* set, /**< global SCIP settings */
1323 SCIP_Real val1, /**< first value to be compared */
1324 SCIP_Real val2 /**< second value to be compared */
1325 );
1326
1327/** checks if val1 is (more than sumepsilon) greater than val2 */
1329 SCIP_SET* set, /**< global SCIP settings */
1330 SCIP_Real val1, /**< first value to be compared */
1331 SCIP_Real val2 /**< second value to be compared */
1332 );
1333
1334/** checks if val1 is not (more than sumepsilon) lower than val2 */
1336 SCIP_SET* set, /**< global SCIP settings */
1337 SCIP_Real val1, /**< first value to be compared */
1338 SCIP_Real val2 /**< second value to be compared */
1339 );
1340
1341/** checks if value is in range sumepsilon of 0.0 */
1343 SCIP_SET* set, /**< global SCIP settings */
1344 SCIP_Real val /**< value to be compared against zero */
1345 );
1346
1347/** checks if value is greater than sumepsilon */
1349 SCIP_SET* set, /**< global SCIP settings */
1350 SCIP_Real val /**< value to be compared against zero */
1351 );
1352
1353/** checks if value is lower than -sumepsilon */
1355 SCIP_SET* set, /**< global SCIP settings */
1356 SCIP_Real val /**< value to be compared against zero */
1357 );
1358
1359/** rounds value + sumepsilon tolerance down to the next integer */
1361 SCIP_SET* set, /**< global SCIP settings */
1362 SCIP_Real val /**< value to process */
1363 );
1364
1365/** rounds value - sumepsilon tolerance up to the next integer */
1367 SCIP_SET* set, /**< global SCIP settings */
1368 SCIP_Real val /**< value to process */
1369 );
1370
1371/** rounds value to the nearest integer in sumepsilon tolerance */
1373 SCIP_SET* set, /**< global SCIP settings */
1374 SCIP_Real val /**< value to process */
1375 );
1376
1377/** returns fractional part of value, i.e. x - floor(x) in sumepsilon tolerance */
1379 SCIP_SET* set, /**< global SCIP settings */
1380 SCIP_Real val /**< value to process */
1381 );
1382
1383/** checks if relative difference of values is in range of feastol */
1385 SCIP_SET* set, /**< global SCIP settings */
1386 SCIP_Real val1, /**< first value to be compared */
1387 SCIP_Real val2 /**< second value to be compared */
1388 );
1389
1390/** checks if relative difference of val1 and val2 is lower than feastol */
1392 SCIP_SET* set, /**< global SCIP settings */
1393 SCIP_Real val1, /**< first value to be compared */
1394 SCIP_Real val2 /**< second value to be compared */
1395 );
1396
1397/** checks if relative difference of val1 and val2 is not greater than feastol */
1399 SCIP_SET* set, /**< global SCIP settings */
1400 SCIP_Real val1, /**< first value to be compared */
1401 SCIP_Real val2 /**< second value to be compared */
1402 );
1403
1404/** checks if relative difference of val1 and val2 is greater than feastol */
1406 SCIP_SET* set, /**< global SCIP settings */
1407 SCIP_Real val1, /**< first value to be compared */
1408 SCIP_Real val2 /**< second value to be compared */
1409 );
1410
1411/** checks if relative difference of val1 and val2 is not lower than -feastol */
1413 SCIP_SET* set, /**< global SCIP settings */
1414 SCIP_Real val1, /**< first value to be compared */
1415 SCIP_Real val2 /**< second value to be compared */
1416 );
1417
1418/** checks if value is in range feasibility tolerance of 0.0 */
1420 SCIP_SET* set, /**< global SCIP settings */
1421 SCIP_Real val /**< value to be compared against zero */
1422 );
1423
1424/** checks if value is greater than feasibility tolerance */
1426 SCIP_SET* set, /**< global SCIP settings */
1427 SCIP_Real val /**< value to be compared against zero */
1428 );
1429
1430/** checks if value is lower than -feasibility tolerance */
1432 SCIP_SET* set, /**< global SCIP settings */
1433 SCIP_Real val /**< value to be compared against zero */
1434 );
1435
1436/** checks if value is integral within the feasibility bounds */
1438 SCIP_SET* set, /**< global SCIP settings */
1439 SCIP_Real val /**< value to be compared against zero */
1440 );
1441
1442/** checks if given fractional part is smaller than feastol */
1444 SCIP_SET* set, /**< global SCIP settings */
1445 SCIP_Real val /**< value to be compared against zero */
1446 );
1447
1448/** rounds value + feasibility tolerance down to the next integer */
1450 SCIP_SET* set, /**< global SCIP settings */
1451 SCIP_Real val /**< value to be compared against zero */
1452 );
1453
1454/** rounds value - feasibility tolerance up to the next integer */
1456 SCIP_SET* set, /**< global SCIP settings */
1457 SCIP_Real val /**< value to be compared against zero */
1458 );
1459
1460/** rounds value to the nearest integer in feasibility tolerance */
1462 SCIP_SET* set, /**< global SCIP settings */
1463 SCIP_Real val /**< value to be compared against zero */
1464 );
1465
1466/** returns fractional part of value, i.e. x - floor(x) in feasibility tolerance */
1468 SCIP_SET* set, /**< global SCIP settings */
1469 SCIP_Real val /**< value to return fractional part for */
1470 );
1471
1472/** checks if relative difference of values is in range of dual feasibility tolerance */
1474 SCIP_SET* set, /**< global SCIP settings */
1475 SCIP_Real val1, /**< first value to be compared */
1476 SCIP_Real val2 /**< second value to be compared */
1477 );
1478
1479/** checks if relative difference of val1 and val2 is lower than dual feasibility tolerance */
1481 SCIP_SET* set, /**< global SCIP settings */
1482 SCIP_Real val1, /**< first value to be compared */
1483 SCIP_Real val2 /**< second value to be compared */
1484 );
1485
1486/** checks if relative difference of val1 and val2 is not greater than dual feasibility tolerance */
1488 SCIP_SET* set, /**< global SCIP settings */
1489 SCIP_Real val1, /**< first value to be compared */
1490 SCIP_Real val2 /**< second value to be compared */
1491 );
1492
1493/** checks if relative difference of val1 and val2 is greater than dual feasibility tolerance */
1495 SCIP_SET* set, /**< global SCIP settings */
1496 SCIP_Real val1, /**< first value to be compared */
1497 SCIP_Real val2 /**< second value to be compared */
1498 );
1499
1500/** checks if relative difference of val1 and val2 is not lower than -dual feasibility tolerance */
1502 SCIP_SET* set, /**< global SCIP settings */
1503 SCIP_Real val1, /**< first value to be compared */
1504 SCIP_Real val2 /**< second value to be compared */
1505 );
1506
1507/** checks if value is in range dual feasibility tolerance of 0.0 */
1509 SCIP_SET* set, /**< global SCIP settings */
1510 SCIP_Real val /**< value to be compared against zero */
1511 );
1512
1513/** checks if value is greater than dual feasibility tolerance */
1515 SCIP_SET* set, /**< global SCIP settings */
1516 SCIP_Real val /**< value to be compared against zero */
1517 );
1518
1519/** checks if value is lower than -dual feasibility tolerance */
1521 SCIP_SET* set, /**< global SCIP settings */
1522 SCIP_Real val /**< value to be compared against zero */
1523 );
1524
1525/** checks if value is integral within the dual feasibility bounds */
1527 SCIP_SET* set, /**< global SCIP settings */
1528 SCIP_Real val /**< value to be compared against zero */
1529 );
1530
1531/** checks if given fractional part is smaller than dual feasibility tolerance */
1533 SCIP_SET* set, /**< global SCIP settings */
1534 SCIP_Real val /**< value to be compared against zero */
1535 );
1536
1537/** rounds value + dual feasibility tolerance down to the next integer */
1539 SCIP_SET* set, /**< global SCIP settings */
1540 SCIP_Real val /**< value to be compared against zero */
1541 );
1542
1543/** rounds value - dual feasibility tolerance up to the next integer */
1545 SCIP_SET* set, /**< global SCIP settings */
1546 SCIP_Real val /**< value to be compared against zero */
1547 );
1548
1549/** rounds value to the nearest integer in dual feasibility tolerance */
1551 SCIP_SET* set, /**< global SCIP settings */
1552 SCIP_Real val /**< value to be compared against zero */
1553 );
1554
1555/** returns fractional part of value, i.e. x - floor(x) in dual feasibility tolerance */
1557 SCIP_SET* set, /**< global SCIP settings */
1558 SCIP_Real val /**< value to return fractional part for */
1559 );
1560
1561/** checks if the given new lower bound is at least min(oldub - oldlb, |oldlb|) times the bound
1562 * strengthening epsilon better than the old one or the change in the lower bound would fix the
1563 * sign of the variable
1564 */
1566 SCIP_SET* set, /**< global SCIP settings */
1567 SCIP_Real newlb, /**< new lower bound */
1568 SCIP_Real oldlb, /**< old lower bound */
1569 SCIP_Real oldub /**< old upper bound */
1570 );
1571
1572/** checks if the given new upper bound is at least min(oldub - oldlb, |oldub|) times the bound
1573 * strengthening epsilon better than the old one or the change in the upper bound would fix the
1574 * sign of the variable
1575 */
1577 SCIP_SET* set, /**< global SCIP settings */
1578 SCIP_Real newub, /**< new upper bound */
1579 SCIP_Real oldlb, /**< old lower bound */
1580 SCIP_Real oldub /**< old upper bound */
1581 );
1582
1583/** checks if the given cut's efficacy is larger than the minimal cut efficacy */
1585 SCIP_SET* set, /**< global SCIP settings */
1586 SCIP_Bool root, /**< should the root's minimal cut efficacy be used? */
1587 SCIP_Real efficacy /**< efficacy of the cut */
1588 );
1589
1590/** checks if relative difference of values is in range of epsilon */
1592 SCIP_SET* set, /**< global SCIP settings */
1593 SCIP_Real val1, /**< first value to be compared */
1594 SCIP_Real val2 /**< second value to be compared */
1595 );
1596
1597/** checks if relative difference of val1 and val2 is lower than epsilon */
1599 SCIP_SET* set, /**< global SCIP settings */
1600 SCIP_Real val1, /**< first value to be compared */
1601 SCIP_Real val2 /**< second value to be compared */
1602 );
1603
1604/** checks if relative difference of val1 and val2 is not greater than epsilon */
1606 SCIP_SET* set, /**< global SCIP settings */
1607 SCIP_Real val1, /**< first value to be compared */
1608 SCIP_Real val2 /**< second value to be compared */
1609 );
1610
1611/** checks if relative difference of val1 and val2 is greater than epsilon */
1613 SCIP_SET* set, /**< global SCIP settings */
1614 SCIP_Real val1, /**< first value to be compared */
1615 SCIP_Real val2 /**< second value to be compared */
1616 );
1617
1618/** checks if relative difference of val1 and val2 is not lower than -epsilon */
1620 SCIP_SET* set, /**< global SCIP settings */
1621 SCIP_Real val1, /**< first value to be compared */
1622 SCIP_Real val2 /**< second value to be compared */
1623 );
1624
1625/** checks if relative difference of values is in range of sumepsilon */
1627 SCIP_SET* set, /**< global SCIP settings */
1628 SCIP_Real val1, /**< first value to be compared */
1629 SCIP_Real val2 /**< second value to be compared */
1630 );
1631
1632/** checks if relative difference of val1 and val2 is lower than sumepsilon */
1634 SCIP_SET* set, /**< global SCIP settings */
1635 SCIP_Real val1, /**< first value to be compared */
1636 SCIP_Real val2 /**< second value to be compared */
1637 );
1638
1639/** checks if relative difference of val1 and val2 is not greater than sumepsilon */
1641 SCIP_SET* set, /**< global SCIP settings */
1642 SCIP_Real val1, /**< first value to be compared */
1643 SCIP_Real val2 /**< second value to be compared */
1644 );
1645
1646/** checks if relative difference of val1 and val2 is greater than sumepsilon */
1648 SCIP_SET* set, /**< global SCIP settings */
1649 SCIP_Real val1, /**< first value to be compared */
1650 SCIP_Real val2 /**< second value to be compared */
1651 );
1652
1653/** checks if relative difference of val1 and val2 is not lower than -sumepsilon */
1655 SCIP_SET* set, /**< global SCIP settings */
1656 SCIP_Real val1, /**< first value to be compared */
1657 SCIP_Real val2 /**< second value to be compared */
1658 );
1659
1660/** returns the flag indicating whether sub-SCIPs that could cause recursion have been deactivated */
1662 SCIP_SET* set /**< global SCIP settings */
1663 );
1664
1665
1666#ifdef NDEBUG
1667
1668/* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
1669 * speed up the algorithms.
1670 */
1671
1672#define SCIPsetInfinity(set) ( (set)->num_infinity )
1673#define SCIPsetGetHugeValue(set) ( (set)->num_hugeval )
1674#define SCIPsetEpsilon(set) ( (set)->num_epsilon )
1675#define SCIPsetSumepsilon(set) ( (set)->num_sumepsilon )
1676#define SCIPsetFeastol(set) ( (set)->num_feastol )
1677#define SCIPsetLPFeastolFactor(set) ( (set)->num_lpfeastolfactor )
1678#define SCIPsetDualfeastol(set) ( (set)->num_dualfeastol )
1679#define SCIPsetBarrierconvtol(set) ( (set)->num_barrierconvtol )
1680#define SCIPsetPseudocosteps(set) ( (set)->num_pseudocosteps )
1681#define SCIPsetPseudocostdelta(set) ( (set)->num_pseudocostdelta )
1682#define SCIPsetRelaxfeastol(set) ( (set)->num_relaxfeastol )
1683#define SCIPsetCutoffbounddelta(set) ( MIN(100.0 * SCIPsetFeastol(set), 0.0001) )
1684#define SCIPsetRecompfac(set) ( (set)->num_recompfac )
1685#define SCIPsetIsEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_epsilon) )
1686#define SCIPsetIsLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_epsilon) )
1687#define SCIPsetIsLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_epsilon) )
1688#define SCIPsetIsGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_epsilon) )
1689#define SCIPsetIsGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_epsilon) )
1690#define SCIPsetIsInfinity(set, val) ( (val) >= (set)->num_infinity )
1691#define SCIPsetIsHugeValue(set, val) ( (val) >= (set)->num_hugeval )
1692#define SCIPsetIsZero(set, val) ( EPSZ(val, (set)->num_epsilon) )
1693#define SCIPsetIsPositive(set, val) ( EPSP(val, (set)->num_epsilon) )
1694#define SCIPsetIsNegative(set, val) ( EPSN(val, (set)->num_epsilon) )
1695#define SCIPsetIsIntegral(set, val) ( EPSISINT(val, (set)->num_epsilon) )
1696#define SCIPsetIsScalingIntegral(set, val, scalar) \
1697 ( EPSISINT((scalar)*(val), MAX(REALABS(scalar), 1.0)*(set)->num_epsilon) )
1698#define SCIPsetIsFracIntegral(set, val) ( !EPSP(val, (set)->num_epsilon) )
1699#define SCIPsetFloor(set, val) ( EPSFLOOR(val, (set)->num_epsilon) )
1700#define SCIPsetCeil(set, val) ( EPSCEIL(val, (set)->num_epsilon) )
1701#define SCIPsetRound(set, val) ( EPSROUND(val, (set)->num_epsilon) )
1702#define SCIPsetFrac(set, val) ( EPSFRAC(val, (set)->num_epsilon) )
1703
1704#define SCIPsetIsSumEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_sumepsilon) )
1705#define SCIPsetIsSumLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_sumepsilon) )
1706#define SCIPsetIsSumLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_sumepsilon) )
1707#define SCIPsetIsSumGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_sumepsilon) )
1708#define SCIPsetIsSumGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_sumepsilon) )
1709#define SCIPsetIsSumZero(set, val) ( EPSZ(val, (set)->num_sumepsilon) )
1710#define SCIPsetIsSumPositive(set, val) ( EPSP(val, (set)->num_sumepsilon) )
1711#define SCIPsetIsSumNegative(set, val) ( EPSN(val, (set)->num_sumepsilon) )
1712#define SCIPsetSumFloor(set, val) ( EPSFLOOR(val, (set)->num_sumepsilon) )
1713#define SCIPsetSumCeil(set, val) ( EPSCEIL(val, (set)->num_sumepsilon) )
1714#define SCIPsetSumRound(set, val) ( EPSROUND(val, (set)->num_sumepsilon) )
1715#define SCIPsetSumFrac(set, val) ( EPSFRAC(val, (set)->num_sumepsilon) )
1716
1717#define SCIPsetIsFeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1718#define SCIPsetIsFeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1719#define SCIPsetIsFeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1720#define SCIPsetIsFeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1721#define SCIPsetIsFeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1722#define SCIPsetIsFeasZero(set, val) ( EPSZ(val, (set)->num_feastol) )
1723#define SCIPsetIsFeasPositive(set, val) ( EPSP(val, (set)->num_feastol) )
1724#define SCIPsetIsFeasNegative(set, val) ( EPSN(val, (set)->num_feastol) )
1725#define SCIPsetIsFeasIntegral(set, val) ( EPSISINT(val, (set)->num_feastol) )
1726#define SCIPsetIsFeasFracIntegral(set, val) ( !EPSP(val, (set)->num_feastol) )
1727#define SCIPsetFeasFloor(set, val) ( EPSFLOOR(val, (set)->num_feastol) )
1728#define SCIPsetFeasCeil(set, val) ( EPSCEIL(val, (set)->num_feastol) )
1729#define SCIPsetFeasRound(set, val) ( EPSROUND(val, (set)->num_feastol) )
1730#define SCIPsetFeasFrac(set, val) ( EPSFRAC(val, (set)->num_feastol) )
1731
1732#define SCIPsetIsDualfeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1733#define SCIPsetIsDualfeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1734#define SCIPsetIsDualfeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1735#define SCIPsetIsDualfeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1736#define SCIPsetIsDualfeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1737#define SCIPsetIsDualfeasZero(set, val) ( EPSZ(val, (set)->num_dualfeastol) )
1738#define SCIPsetIsDualfeasPositive(set, val) ( EPSP(val, (set)->num_dualfeastol) )
1739#define SCIPsetIsDualfeasNegative(set, val) ( EPSN(val, (set)->num_dualfeastol) )
1740#define SCIPsetIsDualfeasIntegral(set, val) ( EPSISINT(val, (set)->num_dualfeastol) )
1741#define SCIPsetIsDualfeasFracIntegral(set, val) ( !EPSP(val, (set)->num_dualfeastol) )
1742#define SCIPsetDualfeasFloor(set, val) ( EPSFLOOR(val, (set)->num_dualfeastol) )
1743#define SCIPsetDualfeasCeil(set, val) ( EPSCEIL(val, (set)->num_dualfeastol) )
1744#define SCIPsetDualfeasRound(set, val) ( EPSROUND(val, (set)->num_dualfeastol) )
1745#define SCIPsetDualfeasFrac(set, val) ( EPSFRAC(val, (set)->num_dualfeastol) )
1746
1747#define SCIPsetIsLbBetter(set, newlb, oldlb, oldub) ( ((oldlb) < 0.0 && (newlb) >= 0.0) || EPSGT(newlb, oldlb, \
1748 set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldlb)), 1e-3)) )
1749#define SCIPsetIsUbBetter(set, newub, oldlb, oldub) ( ((oldub) > 0.0 && (newub) <= 0.0) || EPSLT(newub, oldub, \
1750 set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldub)), 1e-3)) )
1751#define SCIPsetIsEfficacious(set, root, efficacy) \
1752 ( root ? EPSP(efficacy, (set)->sepa_minefficacyroot) : EPSP(efficacy, (set)->sepa_minefficacy) )
1753
1754#define SCIPsetIsRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1755#define SCIPsetIsRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1756#define SCIPsetIsRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1757#define SCIPsetIsRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1758#define SCIPsetIsRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1759
1760#define SCIPsetIsSumRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1761#define SCIPsetIsSumRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1762#define SCIPsetIsSumRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1763#define SCIPsetIsSumRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1764#define SCIPsetIsSumRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1765#define SCIPsetIsUpdateUnreliable(set, newvalue, oldvalue) \
1766 ( (ABS(oldvalue) / MAX(ABS(newvalue), set->num_epsilon)) >= set->num_recompfac )
1767#define SCIPsetInitializeRandomSeed(set, val) ( (val + (set)->random_randomseedshiftmultiplier * (set)->random_randomseedshift) )
1768
1769#define SCIPsetGetSubscipsOff(set) ( (set)->subscipsoff )
1770
1771#endif
1772
1773#define SCIPsetAllocBuffer(set,ptr) ( (BMSallocBufferMemory((set)->buffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1774#define SCIPsetAllocBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1775#define SCIPsetAllocBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1776#define SCIPsetDuplicateBufferSize(set,ptr,source,size) ( (BMSduplicateBufferMemory((set)->buffer, (ptr), (source), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1777#define SCIPsetDuplicateBufferArray(set,ptr,source,num) ( (BMSduplicateBufferMemoryArray((set)->buffer, (ptr), (source), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1778#define SCIPsetReallocBufferSize(set,ptr,size) ( (BMSreallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1779#define SCIPsetReallocBufferArray(set,ptr,num) ( (BMSreallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1780#define SCIPsetFreeBuffer(set,ptr) BMSfreeBufferMemory((set)->buffer, (ptr))
1781#define SCIPsetFreeBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->buffer, (ptr))
1782#define SCIPsetFreeBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->buffer, (ptr))
1783
1784#define SCIPsetAllocCleanBuffer(set,ptr) ( (BMSallocBufferMemory((set)->cleanbuffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1785#define SCIPsetAllocCleanBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->cleanbuffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1786#define SCIPsetAllocCleanBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->cleanbuffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1787#define SCIPsetFreeCleanBuffer(set,ptr) BMSfreeBufferMemory((set)->cleanbuffer, (ptr))
1788#define SCIPsetFreeCleanBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->cleanbuffer, (ptr))
1789#define SCIPsetFreeCleanBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->cleanbuffer, (ptr))
1790
1791/* if we have a C99 compiler */
1792#ifdef SCIP_HAVE_VARIADIC_MACROS
1793
1794/** prints a debugging message if SCIP_DEBUG flag is set */
1795#ifdef SCIP_DEBUG
1796#define SCIPsetDebugMsg(set, ...) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
1797#define SCIPsetDebugMsgPrint(set, ...) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
1798#else
1799#define SCIPsetDebugMsg(set, ...) while ( FALSE ) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
1800#define SCIPsetDebugMsgPrint(set, ...) while ( FALSE ) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
1801#endif
1802
1803#else
1804/* if we do not have a C99 compiler, use a workaround that prints a message, but not the file and linenumber */
1805
1806/** prints a debugging message if SCIP_DEBUG flag is set */
1807#ifdef SCIP_DEBUG
1808#define SCIPsetDebugMsg printf("debug: "), SCIPsetDebugMessagePrint
1809#define SCIPsetDebugMsgPrint printf("debug: "), SCIPsetDebugMessagePrint
1810#else
1811#define SCIPsetDebugMsg while ( FALSE ) SCIPsetDebugMsgPrint
1812#define SCIPsetDebugMsgPrint while ( FALSE ) SCIPsetDebugMessagePrint
1813#endif
1814
1815#endif
1816
1817
1818/** prints a debug message */
1819#ifdef __GNUC__
1820__attribute__((format(printf, 4, 5)))
1821#endif
1822SCIP_EXPORT
1824 SCIP_SET* set, /**< global SCIP settings */
1825 const char* sourcefile, /**< name of the source file that called the function */
1826 int sourceline, /**< line in the source file where the function was called */
1827 const char* formatstr, /**< format string like in printf() function */
1828 ... /**< format arguments line in printf() function */
1829 );
1830
1831/** prints a debug message without precode */
1832#ifdef __GNUC__
1833__attribute__((format(printf, 2, 3)))
1834#endif
1835SCIP_EXPORT
1837 SCIP_SET* set, /**< global SCIP settings */
1838 const char* formatstr, /**< format string like in printf() function */
1839 ... /**< format arguments line in printf() function */
1840 );
1841
1842
1843#ifdef __cplusplus
1844}
1845#endif
1846
1847#endif
struct SCIP_DebugSolData SCIP_DEBUGSOLDATA
Definition debug.h:59
common defines and data types used in all packages of SCIP
#define SCIP_Longint
Definition def.h:148
#define SCIP_Bool
Definition def.h:98
#define SCIP_Real
Definition def.h:163
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:4603
SCIP_Bool SCIPsetIsDualfeasZero(SCIP_SET *set, SCIP_Real val)
Definition set.c:7292
SCIP_DISP * SCIPsetFindDisp(SCIP_SET *set, const char *name)
Definition set.c:5283
SCIP_Real SCIPsetFloor(SCIP_SET *set, SCIP_Real val)
Definition set.c:6716
SCIP_RETCODE SCIPsetIncludeReader(SCIP_SET *set, SCIP_READER *reader)
Definition set.c:3917
void SCIPsetSortBranchrules(SCIP_SET *set)
Definition set.c:5164
SCIP_Bool SCIPsetIsDualfeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7220
SCIP_RETCODE SCIPsetSetSeparating(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition set.c:3884
void SCIPsetSortBranchrulesName(SCIP_SET *set)
Definition set.c:5179
SCIP_RETCODE SCIPsetSetBarrierconvtol(SCIP_SET *set, SCIP_Real barrierconvtol)
Definition set.c:6160
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:3229
int SCIPsetCalcTreeGrowSize(SCIP_SET *set, int num)
Definition set.c:6089
void SCIPsetSortConflicthdlrsName(SCIP_SET *set)
Definition set.c:4323
SCIP_Bool SCIPsetIsLbBetter(SCIP_SET *set, SCIP_Real newlb, SCIP_Real oldlb, SCIP_Real oldub)
Definition set.c:7402
void SCIPsetSortPresolsName(SCIP_SET *set)
Definition set.c:4396
SCIP_RETCODE SCIPsetResetParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name)
Definition set.c:3767
SCIP_EXPRHDLR * SCIPsetFindExprhdlr(SCIP_SET *set, const char *name)
Definition set.c:5426
SCIP_Bool SCIPsetIsRelLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7487
SCIP_Bool SCIPsetIsEfficacious(SCIP_SET *set, SCIP_Bool root, SCIP_Real efficacy)
Definition set.c:7447
SCIP_NODESEL * SCIPsetFindNodesel(SCIP_SET *set, const char *name)
Definition set.c:5062
SCIP_Bool SCIPsetExistsDialog(SCIP_SET *set, SCIP_DIALOG *dialog)
Definition set.c:5370
SCIP_RETCODE SCIPsetSetFeastol(SCIP_SET *set, SCIP_LP *lp, SCIP_Real feastol)
Definition set.c:6126
void SCIPsetSortPresols(SCIP_SET *set)
Definition set.c:4381
SCIP_PRICER * SCIPsetFindPricer(SCIP_SET *set, const char *name)
Definition set.c:3982
SCIP_RETCODE SCIPsetSetRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Real value)
Definition set.c:3631
SCIP_RETCODE SCIPsetWriteParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
Definition set.c:3751
SCIP_Bool SCIPsetIsFeasPositive(SCIP_SET *set, SCIP_Real val)
Definition set.c:7076
SCIP_TABLE * SCIPsetFindTable(SCIP_SET *set, const char *name)
Definition set.c:5328
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:3324
SCIP_Bool SCIPsetIsHugeValue(SCIP_SET *set, SCIP_Real val)
Definition set.c:6526
SCIP_IISFINDER * SCIPsetFindIISfinder(SCIP_SET *set, const char *name)
Definition set.c:5217
SCIP_Bool SCIPsetIsDualfeasFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:7337
SCIP_RETCODE SCIPsetIncludeBenders(SCIP_SET *set, SCIP_BENDERS *benders)
Definition set.c:4032
SCIP_Real SCIPsetDualfeasCeil(SCIP_SET *set, SCIP_Real val)
Definition set.c:7363
SCIP_Bool SCIPsetIsGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6617
SCIP_RETCODE SCIPsetSetStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, const char *value)
Definition set.c:3707
SCIP_Real SCIPsetSumRound(SCIP_SET *set, SCIP_Real val)
Definition set.c:6921
SCIP_COMPR * SCIPsetFindCompr(SCIP_SET *set, const char *name)
Definition set.c:4938
SCIP_Real SCIPsetFeasCeil(SCIP_SET *set, SCIP_Real val)
Definition set.c:7136
SCIP_RETCODE SCIPsetGetCharParam(SCIP_SET *set, const char *name, char *value)
Definition set.c:3424
SCIP_Real SCIPsetSumFloor(SCIP_SET *set, SCIP_Real val)
Definition set.c:6897
SCIP_Bool SCIPsetIsFeasFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:7110
SCIP_RETCODE SCIPsetIncludeIISfinder(SCIP_SET *set, SCIP_IISFINDER *iisfinder)
Definition set.c:5194
SCIP_RETCODE SCIPsetIncludeBranchrule(SCIP_SET *set, SCIP_BRANCHRULE *branchrule)
Definition set.c:5120
SCIP_RETCODE SCIPsetSetDefaultIntParam(SCIP_SET *set, const char *name, int defaultvalue)
Definition set.c:3556
SCIP_Bool SCIPsetIsFeasNegative(SCIP_SET *set, SCIP_Real val)
Definition set.c:7087
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:3253
SCIP_Bool SCIPsetGetSubscipsOff(SCIP_SET *set)
Definition set.c:7703
SCIP_RETCODE SCIPsetIncludeRelax(SCIP_SET *set, SCIP_RELAX *relax)
Definition set.c:4411
SCIP_Real SCIPsetSetRelaxfeastol(SCIP_SET *set, SCIP_Real relaxfeastol)
Definition set.c:6178
SCIP_Bool SCIPsetIsSumRelGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7679
SCIP_RETCODE SCIPsetIncludeBanditvtable(SCIP_SET *set, SCIP_BANDITVTABLE *banditvtable)
Definition set.c:4709
SCIP_RETCODE SCIPsetIncludeConcsolverType(SCIP_SET *set, SCIP_CONCSOLVERTYPE *concsolvertype)
Definition set.c:4752
SCIP_Real SCIPsetFeastol(SCIP_SET *set)
Definition set.c:6422
SCIP_RETCODE SCIPsetInitsolPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5870
SCIP_RETCODE SCIPsetGetLongintParam(SCIP_SET *set, const char *name, SCIP_Longint *value)
Definition set.c:3396
SCIP_RETCODE SCIPsetIncludeSepa(SCIP_SET *set, SCIP_SEPA *sepa)
Definition set.c:4485
SCIP_RETCODE SCIPsetIncludeTable(SCIP_SET *set, SCIP_TABLE *table)
Definition set.c:5303
SCIP_Real SCIPsetPseudocosteps(SCIP_SET *set)
Definition set.c:6460
SCIP_RETCODE SCIPsetGetStringParam(SCIP_SET *set, const char *name, char **value)
Definition set.c:3438
SCIP_RETCODE SCIPsetSetHeuristics(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition set.c:3848
SCIP_Bool SCIPsetIsSumGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6824
SCIP_RETCODE SCIPsetInitPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5561
SCIP_RETCODE SCIPsetSetDualfeastol(SCIP_SET *set, SCIP_Real dualfeastol)
Definition set.c:6147
SCIP_RETCODE SCIPsetSetReoptimizationParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition set.c:807
SCIP_RETCODE SCIPsetSetIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, int value)
Definition set.c:3541
SCIP_PARAM ** SCIPsetGetParams(SCIP_SET *set)
Definition set.c:3897
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:3301
SCIP_Real SCIPsetCeil(SCIP_SET *set, SCIP_Real val)
Definition set.c:6728
SCIP_RETCODE SCIPsetIncludeConflicthdlr(SCIP_SET *set, SCIP_CONFLICTHDLR *conflicthdlr)
Definition set.c:4264
int SCIPsetGetSepaMaxcuts(SCIP_SET *set, SCIP_Bool root)
Definition set.c:6233
SCIP_RETCODE SCIPsetFreeConcsolvers(SCIP_SET *set)
Definition set.c:4818
SCIP_Bool SCIPsetIsRelEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7463
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:3207
SCIP_RETCODE SCIPsetIncludePricer(SCIP_SET *set, SCIP_PRICER *pricer)
Definition set.c:3959
SCIP_Bool SCIPsetIsDualfeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7196
SCIP_Bool SCIPsetIsFeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7017
SCIP_Bool SCIPsetIsFeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6993
SCIP_Real SCIPsetFeasRound(SCIP_SET *set, SCIP_Real val)
Definition set.c:7148
SCIP_Bool SCIPsetIsFeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6945
void SCIPsetSortPropsPresol(SCIP_SET *set)
Definition set.c:4679
SCIP_Bool SCIPsetIsPositive(SCIP_SET *set, SCIP_Real val)
Definition set.c:6648
SCIP_Bool SCIPsetIsSumRelGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7655
SCIP_RETCODE SCIPsetCheckParamValuePtrUnique(SCIP_SET *set)
Definition set.c:3794
SCIP_RELAX * SCIPsetFindRelax(SCIP_SET *set, const char *name)
Definition set.c:4435
SCIP_RETCODE SCIPsetSetDefaultBoolParam(SCIP_SET *set, const char *name, SCIP_Bool defaultvalue)
Definition set.c:3503
SCIP_HEUR * SCIPsetFindHeur(SCIP_SET *set, const char *name)
Definition set.c:4864
SCIP_Bool SCIPsetIsLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6577
void SCIPsetSortRelaxsName(SCIP_SET *set)
Definition set.c:4470
void SCIPsetDebugMessagePrint(SCIP_SET *set, const char *formatstr,...)
Definition set.c:7783
void SCIPsetSortPropsName(SCIP_SET *set)
Definition set.c:4694
SCIP_Bool SCIPsetIsScalingIntegral(SCIP_SET *set, SCIP_Real val, SCIP_Real scalar)
Definition set.c:6682
SCIP_Real SCIPsetFeasFloor(SCIP_SET *set, SCIP_Real val)
Definition set.c:7124
SCIP_Real SCIPsetRelaxfeastol(SCIP_SET *set)
Definition set.c:6494
SCIP_Bool SCIPsetIsParamFixed(SCIP_SET *set, const char *name)
Definition set.c:3346
SCIP_RETCODE SCIPsetIncludeDisp(SCIP_SET *set, SCIP_DISP *disp)
Definition set.c:5251
SCIP_RETCODE SCIPsetSetLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Longint value)
Definition set.c:3593
void SCIPsetSortRelaxs(SCIP_SET *set)
Definition set.c:4455
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:3277
SCIP_Bool SCIPsetIsSumLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6804
void SCIPsetPrintDebugMessage(SCIP_SET *set, const char *sourcefile, int sourceline, const char *formatstr,...)
Definition set.c:7739
SCIP_Bool SCIPsetIsDualfeasNegative(SCIP_SET *set, SCIP_Real val)
Definition set.c:7314
SCIP_CONCSOLVERTYPE * SCIPsetFindConcsolverType(SCIP_SET *set, const char *name)
Definition set.c:4774
SCIP_RETCODE SCIPsetSetVerbLevel(SCIP_SET *set, SCIP_VERBLEVEL verblevel)
Definition set.c:6107
SCIP_RETCODE SCIPsetGetBoolParam(SCIP_SET *set, const char *name, SCIP_Bool *value)
Definition set.c:3368
SCIP_CONSHDLR * SCIPsetFindConshdlr(SCIP_SET *set, const char *name)
Definition set.c:4244
SCIP_Real SCIPsetDualfeastol(SCIP_SET *set)
Definition set.c:6432
void SCIPsetSortComprs(SCIP_SET *set)
Definition set.c:4958
void SCIPsetSortIISfinders(SCIP_SET *set)
Definition set.c:5237
SCIP_RETCODE SCIPsetIncludeConcsolver(SCIP_SET *set, SCIP_CONCSOLVER *concsolver)
Definition set.c:4794
SCIP_Real SCIPsetEpsilon(SCIP_SET *set)
Definition set.c:6402
SCIP_RETCODE SCIPsetChgParamFixed(SCIP_SET *set, const char *name, SCIP_Bool fixed)
Definition set.c:3452
SCIP_BENDERS * SCIPsetFindBenders(SCIP_SET *set, const char *name)
Definition set.c:4055
SCIP_Bool SCIPsetIsSumRelEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7583
SCIP_CUTSEL * SCIPsetFindCutsel(SCIP_SET *set, const char *name)
Definition set.c:4583
SCIP_RETCODE SCIPsetIncludeExprhdlr(SCIP_SET *set, SCIP_EXPRHDLR *exprhdlr)
Definition set.c:5392
void SCIPsetSortComprsName(SCIP_SET *set)
Definition set.c:4973
SCIP_RETCODE SCIPsetExitprePlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5832
SCIP_Bool SCIPsetIsSumGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6844
void SCIPsetSortPricersName(SCIP_SET *set)
Definition set.c:4017
SCIP_RETCODE SCIPsetChgRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Real value)
Definition set.c:3608
SCIP_Bool SCIPsetIsEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6537
SCIP_Bool SCIPsetIsFeasZero(SCIP_SET *set, SCIP_Real val)
Definition set.c:7065
SCIP_RETCODE SCIPsetChgBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Bool value)
Definition set.c:3466
SCIP_Bool SCIPsetIsSumNegative(SCIP_SET *set, SCIP_Real val)
Definition set.c:6886
SCIP_STAGE SCIPsetGetStage(SCIP_SET *set)
Definition set.c:3197
SCIP_Bool SCIPsetIsSumLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6784
SCIP_RETCODE SCIPsetIncludeProp(SCIP_SET *set, SCIP_PROP *prop)
Definition set.c:4617
SCIP_RETCODE SCIPsetIncludeCutsel(SCIP_SET *set, SCIP_CUTSEL *cutsel)
Definition set.c:4559
SCIP_Real SCIPsetGetSepaMaxCoefRatioRowprep(SCIP_SET *set)
Definition set.c:6247
SCIP_Bool SCIPsetIsFeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6969
SCIP_RETCODE SCIPsetIncludeConshdlr(SCIP_SET *set, SCIP_CONSHDLR *conshdlr)
Definition set.c:4105
void SCIPsetSortPricers(SCIP_SET *set)
Definition set.c:4002
SCIP_Real SCIPsetFrac(SCIP_SET *set, SCIP_Real val)
Definition set.c:6752
SCIP_RETCODE SCIPsetSetCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, char value)
Definition set.c:3669
SCIP_RETCODE SCIPsetSetSubscipsOff(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_Bool quiet)
Definition set.c:3831
SCIP_Bool SCIPsetIsUbBetter(SCIP_SET *set, SCIP_Real newub, SCIP_Real oldlb, SCIP_Real oldub)
Definition set.c:7426
void SCIPsetSortSepas(SCIP_SET *set)
Definition set.c:4529
void SCIPsetReinsertConshdlrSepaPrio(SCIP_SET *set, SCIP_CONSHDLR *conshdlr, int oldpriority)
Definition set.c:4161
SCIP_RETCODE SCIPsetIncludeHeur(SCIP_SET *set, SCIP_HEUR *heur)
Definition set.c:4840
SCIP_Real SCIPsetLPFeastolFactor(SCIP_SET *set)
Definition set.c:6442
SCIP_Real SCIPsetInfinity(SCIP_SET *set)
Definition set.c:6380
SCIP_RETCODE SCIPsetGetIntParam(SCIP_SET *set, const char *name, int *value)
Definition set.c:3382
SCIP_RETCODE SCIPsetIncludeEventhdlr(SCIP_SET *set, SCIP_EVENTHDLR *eventhdlr)
Definition set.c:4988
void SCIPsetSortProps(SCIP_SET *set)
Definition set.c:4664
SCIP_RETCODE SCIPsetCreate(SCIP_SET **set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, SCIP *scip)
Definition set.c:1184
SCIP_Real SCIPsetSumepsilon(SCIP_SET *set)
Definition set.c:6412
SCIP_RETCODE SCIPsetSetPresolving(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition set.c:3866
SCIP_Bool SCIPsetIsLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6557
SCIP_Bool SCIPsetIsInfinity(SCIP_SET *set, SCIP_Real val)
Definition set.c:6515
SCIP_RETCODE SCIPsetGetRealParam(SCIP_SET *set, const char *name, SCIP_Real *value)
Definition set.c:3410
void SCIPsetSortHeurs(SCIP_SET *set)
Definition set.c:4884
SCIP_Bool SCIPsetIsSumZero(SCIP_SET *set, SCIP_Real val)
Definition set.c:6864
SCIP_RETCODE SCIPsetIncludePresol(SCIP_SET *set, SCIP_PRESOL *presol)
Definition set.c:4338
SCIP_Real SCIPsetDualfeasRound(SCIP_SET *set, SCIP_Real val)
Definition set.c:7375
SCIP_RETCODE SCIPsetChgStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, const char *value)
Definition set.c:3684
SCIP_Bool SCIPsetIsDualfeasIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:7325
SCIP_Bool SCIPsetIsRelGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7559
SCIP_RETCODE SCIPsetIncludeNodesel(SCIP_SET *set, SCIP_NODESEL *nodesel)
Definition set.c:5031
SCIP_SEPA * SCIPsetFindSepa(SCIP_SET *set, const char *name)
Definition set.c:4509
SCIP_RETCODE SCIPsetIncludeCompr(SCIP_SET *set, SCIP_COMPR *compr)
Definition set.c:4914
int SCIPsetCalcPathGrowSize(SCIP_SET *set, int num)
Definition set.c:6098
SCIP_Bool SCIPsetIsDualfeasPositive(SCIP_SET *set, SCIP_Real val)
Definition set.c:7303
void SCIPsetSortHeursName(SCIP_SET *set)
Definition set.c:4899
SCIP_RETCODE SCIPsetChgCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, char value)
Definition set.c:3646
void SCIPsetSortNlpis(SCIP_SET *set)
Definition set.c:5501
SCIP_NLPI * SCIPsetFindNlpi(SCIP_SET *set, const char *name)
Definition set.c:5481
SCIP_RETCODE SCIPsetResetParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition set.c:3779
void SCIPsetSortBenders(SCIP_SET *set)
Definition set.c:4075
void SCIPsetSortExprhdlrs(SCIP_SET *set)
Definition set.c:5444
SCIP_Real SCIPsetGetSepaMaxcutsGenFactor(SCIP_SET *set, SCIP_Bool root)
Definition set.c:6219
SCIP_Bool SCIPsetIsDualfeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7172
void SCIPsetEnableOrDisablePluginClocks(SCIP_SET *set, SCIP_Bool enabled)
Definition set.c:865
int SCIPsetGetNParams(SCIP_SET *set)
Definition set.c:3907
SCIP_Bool SCIPsetIsDualfeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7244
SCIP_Bool SCIPsetIsSumRelLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7607
SCIP_PARAM * SCIPsetGetParam(SCIP_SET *set, const char *name)
Definition set.c:3357
SCIP_Bool SCIPsetIsRelGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7535
SCIP_RETCODE SCIPsetExitsolPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat, SCIP_Bool restart)
Definition set.c:5979
SCIP_Bool SCIPsetIsGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6597
void SCIPsetSortSepasName(SCIP_SET *set)
Definition set.c:4544
SCIP_Bool SCIPsetIsSumEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6764
SCIP_RETCODE SCIPsetChgIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, int value)
Definition set.c:3518
SCIP_PROP * SCIPsetFindProp(SCIP_SET *set, const char *name)
Definition set.c:4644
SCIP_CONFLICTHDLR * SCIPsetFindConflicthdlr(SCIP_SET *set, const char *name)
Definition set.c:4288
SCIP_Bool SCIPsetIsIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6670
SCIP_Real SCIPsetDualfeasFrac(SCIP_SET *set, SCIP_Real val)
Definition set.c:7387
SCIP_Bool SCIPsetIsZero(SCIP_SET *set, SCIP_Real val)
Definition set.c:6637
SCIP_Bool SCIPsetIsUpdateUnreliable(SCIP_SET *set, SCIP_Real newvalue, SCIP_Real oldvalue)
Definition set.c:7723
SCIP_Real SCIPsetDualfeasFloor(SCIP_SET *set, SCIP_Real val)
Definition set.c:7351
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 copyiisfinders, SCIP_Bool copydisplays, SCIP_Bool copydialogs, SCIP_Bool copytables, SCIP_Bool copyexprhdlrs, SCIP_Bool copynlpis, SCIP_Bool *allvalid)
Definition set.c:931
SCIP_RETCODE SCIPsetSetBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Bool value)
Definition set.c:3488
SCIP_Bool SCIPsetIsFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6702
SCIP_RETCODE SCIPsetIncludeNlpi(SCIP_SET *set, SCIP_NLPI *nlpi)
Definition set.c:5458
int SCIPsetGetPriceMaxvars(SCIP_SET *set, SCIP_Bool root)
Definition set.c:6205
SCIP_Real SCIPsetPseudocostdelta(SCIP_SET *set)
Definition set.c:6470
SCIP_Real SCIPsetSumCeil(SCIP_SET *set, SCIP_Real val)
Definition set.c:6909
SCIP_Real SCIPsetSumFrac(SCIP_SET *set, SCIP_Real val)
Definition set.c:6933
SCIP_Real SCIPsetFeasFrac(SCIP_SET *set, SCIP_Real val)
Definition set.c:7160
SCIP_RETCODE SCIPsetSetParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, const char *value)
Definition set.c:3722
SCIP_Real SCIPsetCutoffbounddelta(SCIP_SET *set)
Definition set.c:6480
SCIP_DEBUGSOLDATA * SCIPsetGetDebugSolData(SCIP_SET *set)
Definition set.c:6272
SCIP_RETCODE SCIPsetExitPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5682
SCIP_Bool SCIPsetIsSumRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7631
SCIP_BRANCHRULE * SCIPsetFindBranchrule(SCIP_SET *set, const char *name)
Definition set.c:5144
SCIP_Bool SCIPsetIsDualfeasGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7268
SCIP_Real SCIPsetGetReferencevalue(SCIP_SET *set)
Definition set.c:6261
SCIP_READER * SCIPsetFindReader(SCIP_SET *set, const char *name)
Definition set.c:3939
SCIP_Real SCIPsetRecompfac(SCIP_SET *set)
Definition set.c:6505
SCIP_Bool SCIPsetIsFeasGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7041
SCIP_RETCODE SCIPsetIncludeDialog(SCIP_SET *set, SCIP_DIALOG *dialog)
Definition set.c:5348
void SCIPsetSortBendersName(SCIP_SET *set)
Definition set.c:4090
SCIP_EVENTHDLR * SCIPsetFindEventhdlr(SCIP_SET *set, const char *name)
Definition set.c:5011
SCIP_RETCODE SCIPsetInitprePlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5794
SCIP_Real SCIPsetGetHugeValue(SCIP_SET *set)
Definition set.c:6392
SCIP_Bool SCIPsetIsRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7511
SCIP_RETCODE SCIPsetReadParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename)
Definition set.c:3737
void SCIPsetSortConflicthdlrs(SCIP_SET *set)
Definition set.c:4308
void SCIPsetSetLimitChanged(SCIP_SET *set)
Definition set.c:6195
SCIP_Real SCIPsetBarrierconvtol(SCIP_SET *set)
Definition set.c:6450
SCIP_RETCODE SCIPsetFree(SCIP_SET **set, BMS_BLKMEM *blkmem)
Definition set.c:2995
SCIP_PRESOL * SCIPsetFindPresol(SCIP_SET *set, const char *name)
Definition set.c:4361
SCIP_RETCODE SCIPsetSetEmphasis(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMEMPHASIS paramemphasis, SCIP_Bool quiet)
Definition set.c:3816
SCIP_Real SCIPsetRound(SCIP_SET *set, SCIP_Real val)
Definition set.c:6740
SCIP_RETCODE SCIPsetCopyParams(SCIP_SET *sourceset, SCIP_SET *targetset, SCIP_MESSAGEHDLR *messagehdlr)
Definition set.c:1167
SCIP_Bool SCIPsetIsSumPositive(SCIP_SET *set, SCIP_Real val)
Definition set.c:6875
int SCIPsetCalcMemGrowSize(SCIP_SET *set, int num)
Definition set.c:6080
SCIP_RETCODE SCIPsetIncludeExternalCode(SCIP_SET *set, const char *name, const char *description)
Definition set.c:5529
SCIP_RETCODE SCIPsetChgLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Longint value)
Definition set.c:3570
SCIP_NODESEL * SCIPsetGetNodesel(SCIP_SET *set, SCIP_STAT *stat)
Definition set.c:5082
SCIP_Bool SCIPsetIsFeasIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:7098
SCIP_Bool SCIPsetIsNegative(SCIP_SET *set, SCIP_Real val)
Definition set.c:6659
unsigned int SCIPsetInitializeRandomSeed(SCIP_SET *set, unsigned int initialseedvalue)
Definition set.c:7800
void SCIPsetSetPriorityNlpi(SCIP_SET *set, SCIP_NLPI *nlpi, int priority)
Definition set.c:5515
SCIP_BANDITVTABLE * SCIPsetFindBanditvtable(SCIP_SET *set, const char *name)
Definition set.c:4731
datastructures for global SCIP settings
type definitions for bandit selection algorithms
struct SCIP_BanditVTable SCIP_BANDITVTABLE
Definition type_bandit.h:53
type definitions for Benders' decomposition methods
struct SCIP_Benders SCIP_BENDERS
type definitions for branching rules
struct SCIP_Branchrule SCIP_BRANCHRULE
Definition type_branch.h:56
type definitions for clocks and timing issues
type definitions for tree compression
struct SCIP_Compr SCIP_COMPR
Definition type_compr.h:52
struct SCIP_ConcSolver SCIP_CONCSOLVER
struct SCIP_ConcSolverType SCIP_CONCSOLVERTYPE
type definitions for conflict analysis
struct SCIP_Conflicthdlr SCIP_CONFLICTHDLR
type definitions for constraints and constraint handlers
struct SCIP_Conshdlr SCIP_CONSHDLR
Definition type_cons.h:62
struct SCIP_Cutsel SCIP_CUTSEL
Definition type_cutsel.h:52
struct SCIP_Dialog SCIP_DIALOG
Definition type_dialog.h:50
type definitions for displaying runtime statistics
struct SCIP_Disp SCIP_DISP
Definition type_disp.h:75
type definitions for managing events
struct SCIP_Eventhdlr SCIP_EVENTHDLR
Definition type_event.h:159
struct SCIP_Exprhdlr SCIP_EXPRHDLR
Definition type_expr.h:194
type definitions for primal heuristics
struct SCIP_Heur SCIP_HEUR
Definition type_heur.h:76
struct SCIP_IISfinder SCIP_IISFINDER
struct SCIP_Lp SCIP_LP
Definition type_lp.h:111
enum SCIP_VerbLevel SCIP_VERBLEVEL
struct SCIP_Messagehdlr SCIP_MESSAGEHDLR
struct SCIP_Nlpi SCIP_NLPI
Definition type_nlpi.h:51
type definitions for node selectors
struct SCIP_Nodesel SCIP_NODESEL
type definitions for handling parameter settings
struct SCIP_Param SCIP_PARAM
enum SCIP_ParamSetting SCIP_PARAMSETTING
struct SCIP_ParamData SCIP_PARAMDATA
enum SCIP_ParamEmphasis SCIP_PARAMEMPHASIS
#define SCIP_DECL_PARAMCHGD(x)
type definitions for presolvers
struct SCIP_Presol SCIP_PRESOL
Definition type_presol.h:50
type definitions for variable pricers
struct SCIP_Pricer SCIP_PRICER
Definition type_pricer.h:44
type definitions for propagators
struct SCIP_Prop SCIP_PROP
Definition type_prop.h:51
type definitions for input file readers
struct SCIP_Reader SCIP_READER
Definition type_reader.h:53
type definitions for relaxators
struct SCIP_Relax SCIP_RELAX
Definition type_relax.h:50
enum SCIP_Retcode SCIP_RETCODE
type definitions for SCIP's main datastructure
struct Scip SCIP
Definition type_scip.h:39
type definitions for separators
struct SCIP_Sepa SCIP_SEPA
Definition type_sepa.h:51
type definitions for global SCIP settings
struct SCIP_Set SCIP_SET
Definition type_set.h:71
enum SCIP_Stage SCIP_STAGE
Definition type_set.h:59
type definitions for problem statistics
struct SCIP_Stat SCIP_STAT
Definition type_stat.h:66
type definitions for displaying statistics tables
struct SCIP_Table SCIP_TABLE
Definition type_table.h:59