Scippy

SCIP

Solving Constraint Integer Programs

set.h
Go to the documentation of this file.
1/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2/* */
3/* This file is part of the program and library */
4/* SCIP --- Solving Constraint Integer Programs */
5/* */
6/* Copyright (c) 2002-2025 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:141
#define SCIP_Bool
Definition: def.h:91
#define SCIP_Real
Definition: def.h:156
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
Definition: heur_padm.c:135
type definitions for bandit selection algorithms
type definitions for Benders' decomposition methods
type definitions for branching rules
type definitions for clocks and timing issues
type definitions for tree compression
type definitions for conflict analysis
type definitions for constraints and constraint handlers
type definitions for displaying runtime statistics
type definitions for managing events
type definitions for primal heuristics
enum SCIP_VerbLevel SCIP_VERBLEVEL
Definition: type_message.h:64
type definitions for node selectors
type definitions for handling parameter settings
enum SCIP_ParamSetting SCIP_PARAMSETTING
Definition: type_paramset.h:65
struct SCIP_ParamData SCIP_PARAMDATA
Definition: type_paramset.h:87
enum SCIP_ParamEmphasis SCIP_PARAMEMPHASIS
Definition: type_paramset.h:84
#define SCIP_DECL_PARAMCHGD(x)
type definitions for presolvers
type definitions for variable pricers
type definitions for propagators
type definitions for input file readers
type definitions for relaxators
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:63
type definitions for SCIP's main datastructure
type definitions for separators
type definitions for global SCIP settings
enum SCIP_Stage SCIP_STAGE
Definition: type_set.h:59
type definitions for problem statistics
type definitions for displaying statistics tables