SCIP Doxygen Documentation
 
Loading...
Searching...
No Matches
set.h
Go to the documentation of this file.
1/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2/* */
3/* This file is part of the program and library */
4/* SCIP --- Solving Constraint Integer Programs */
5/* */
6/* Copyright (c) 2002-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 copydisplays, /**< should the display columns be copied */
94 SCIP_Bool copydialogs, /**< should the dialogs be copied */
95 SCIP_Bool copytables, /**< should the statistics tables be copied */
96 SCIP_Bool copyexprhdlrs, /**< should the expression handlers be copied */
97 SCIP_Bool copynlpis, /**< should the NLP interfaces be copied */
98 SCIP_Bool* allvalid /**< pointer to store whether all plugins were validly copied */
99 );
100
101/** copies parameters from sourcescip to targetscip */
103 SCIP_SET* sourceset, /**< source SCIP_SET data structure */
104 SCIP_SET* targetset, /**< target SCIP_SET data structure */
105 SCIP_MESSAGEHDLR* messagehdlr /**< message handler of target SCIP */
106 );
107
108/** creates global SCIP settings */
110 SCIP_SET** set, /**< pointer to SCIP settings */
111 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
112 BMS_BLKMEM* blkmem, /**< block memory */
113 SCIP* scip /**< SCIP data structure */
114 );
115
116/** frees global SCIP settings */
118 SCIP_SET** set, /**< pointer to SCIP settings */
119 BMS_BLKMEM* blkmem /**< block memory */
120 );
121
122/** returns current stage of SCIP */
124 SCIP_SET* set /**< pointer to SCIP settings */
125 );
126
127/** creates a SCIP_Bool parameter, sets it to its default value, and adds it to the parameter set */
129 SCIP_SET* set, /**< global SCIP settings */
130 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
131 BMS_BLKMEM* blkmem, /**< block memory */
132 const char* name, /**< name of the parameter */
133 const char* desc, /**< description of the parameter */
134 SCIP_Bool* valueptr, /**< pointer to store the current parameter value, or NULL */
135 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
136 SCIP_Bool defaultvalue, /**< default value of the parameter */
137 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
138 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
139 );
140
141/** creates a int parameter, sets it to its default value, and adds it to the parameter set */
143 SCIP_SET* set, /**< global SCIP settings */
144 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
145 BMS_BLKMEM* blkmem, /**< block memory */
146 const char* name, /**< name of the parameter */
147 const char* desc, /**< description of the parameter */
148 int* valueptr, /**< pointer to store the current parameter value, or NULL */
149 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
150 int defaultvalue, /**< default value of the parameter */
151 int minvalue, /**< minimum value for parameter */
152 int maxvalue, /**< maximum value for parameter */
153 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
154 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
155 );
156
157/** creates a SCIP_Longint parameter, sets it to its default value, and adds it to the parameter set */
159 SCIP_SET* set, /**< global SCIP settings */
160 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
161 BMS_BLKMEM* blkmem, /**< block memory */
162 const char* name, /**< name of the parameter */
163 const char* desc, /**< description of the parameter */
164 SCIP_Longint* valueptr, /**< pointer to store the current parameter value, or NULL */
165 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
166 SCIP_Longint defaultvalue, /**< default value of the parameter */
167 SCIP_Longint minvalue, /**< minimum value for parameter */
168 SCIP_Longint maxvalue, /**< maximum value for parameter */
169 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
170 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
171 );
172
173/** creates a SCIP_Real parameter, sets it to its default value, and adds it to the parameter set */
175 SCIP_SET* set, /**< global SCIP settings */
176 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
177 BMS_BLKMEM* blkmem, /**< block memory */
178 const char* name, /**< name of the parameter */
179 const char* desc, /**< description of the parameter */
180 SCIP_Real* valueptr, /**< pointer to store the current parameter value, or NULL */
181 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
182 SCIP_Real defaultvalue, /**< default value of the parameter */
183 SCIP_Real minvalue, /**< minimum value for parameter */
184 SCIP_Real maxvalue, /**< maximum value for parameter */
185 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
186 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
187 );
188
189/** creates a char parameter, sets it to its default value, and adds it to the parameter set */
191 SCIP_SET* set, /**< global SCIP settings */
192 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
193 BMS_BLKMEM* blkmem, /**< block memory */
194 const char* name, /**< name of the parameter */
195 const char* desc, /**< description of the parameter */
196 char* valueptr, /**< pointer to store the current parameter value, or NULL */
197 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
198 char defaultvalue, /**< default value of the parameter */
199 const char* allowedvalues, /**< array with possible parameter values, or NULL if not restricted */
200 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
201 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
202 );
203
204/** creates a string parameter, sets it to its default value, and adds it to the parameter set */
206 SCIP_SET* set, /**< global SCIP settings */
207 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
208 BMS_BLKMEM* blkmem, /**< block memory */
209 const char* name, /**< name of the parameter */
210 const char* desc, /**< description of the parameter */
211 char** valueptr, /**< pointer to store the current parameter value, or NULL */
212 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
213 const char* defaultvalue, /**< default value of the parameter */
214 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
215 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
216 );
217
218/** gets the fixing status value of an existing parameter */
220 SCIP_SET* set, /**< global SCIP settings */
221 const char* name /**< name of the parameter */
222 );
223
224/** returns the pointer to the SCIP parameter with the given name */
226 SCIP_SET* set, /**< global SCIP settings */
227 const char* name /**< name of the parameter */
228 );
229
230/** gets the value of an existing SCIP_Bool parameter */
232 SCIP_SET* set, /**< global SCIP settings */
233 const char* name, /**< name of the parameter */
234 SCIP_Bool* value /**< pointer to store the parameter */
235 );
236
237/** gets the value of an existing Int parameter */
239 SCIP_SET* set, /**< global SCIP settings */
240 const char* name, /**< name of the parameter */
241 int* value /**< pointer to store the parameter */
242 );
243
244/** gets the value of an existing SCIP_Longint parameter */
246 SCIP_SET* set, /**< global SCIP settings */
247 const char* name, /**< name of the parameter */
248 SCIP_Longint* value /**< pointer to store the parameter */
249 );
250
251/** gets the value of an existing SCIP_Real parameter */
253 SCIP_SET* set, /**< global SCIP settings */
254 const char* name, /**< name of the parameter */
255 SCIP_Real* value /**< pointer to store the parameter */
256 );
257
258/** gets the value of an existing Char parameter */
260 SCIP_SET* set, /**< global SCIP settings */
261 const char* name, /**< name of the parameter */
262 char* value /**< pointer to store the parameter */
263 );
264
265/** gets the value of an existing String parameter */
267 SCIP_SET* set, /**< global SCIP settings */
268 const char* name, /**< name of the parameter */
269 char** value /**< pointer to store the parameter */
270 );
271
272/** changes the fixing status of an existing parameter */
274 SCIP_SET* set, /**< global SCIP settings */
275 const char* name, /**< name of the parameter */
276 SCIP_Bool fixed /**< new fixing status of the parameter */
277 );
278
279/** changes the value of an existing SCIP_Bool parameter */
281 SCIP_SET* set, /**< global SCIP settings */
282 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
283 SCIP_PARAM* param, /**< parameter */
284 SCIP_Bool value /**< new value of the parameter */
285 );
286
287/** changes the value of an existing SCIP_Bool parameter */
289 SCIP_SET* set, /**< global SCIP settings */
290 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
291 const char* name, /**< name of the parameter */
292 SCIP_Bool value /**< new value of the parameter */
293 );
294
295/** changes the default value of an existing SCIP_Bool parameter */
297 SCIP_SET* set, /**< global SCIP settings */
298 const char* name, /**< name of the parameter */
299 SCIP_Bool defaultvalue /**< new default value of the parameter */
300 );
301
302/** changes the value of an existing Int parameter */
304 SCIP_SET* set, /**< global SCIP settings */
305 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
306 SCIP_PARAM* param, /**< parameter */
307 int value /**< new value of the parameter */
308 );
309
310/** changes the value of an existing Int parameter */
312 SCIP_SET* set, /**< global SCIP settings */
313 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
314 const char* name, /**< name of the parameter */
315 int value /**< new value of the parameter */
316 );
317
318/** changes the default value of an existing Int parameter */
320 SCIP_SET* set, /**< global SCIP settings */
321 const char* name, /**< name of the parameter */
322 int defaultvalue /**< new default value of the parameter */
323 );
324
325/** changes the value of an existing SCIP_Longint parameter */
327 SCIP_SET* set, /**< global SCIP settings */
328 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
329 SCIP_PARAM* param, /**< parameter */
330 SCIP_Longint value /**< new value of the parameter */
331 );
332
333/** changes the value of an existing SCIP_Longint parameter */
335 SCIP_SET* set, /**< global SCIP settings */
336 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
337 const char* name, /**< name of the parameter */
338 SCIP_Longint value /**< new value of the parameter */
339 );
340
341/** changes the value of an existing SCIP_Real parameter */
343 SCIP_SET* set, /**< global SCIP settings */
344 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
345 SCIP_PARAM* param, /**< parameter */
346 SCIP_Real value /**< new value of the parameter */
347 );
348
349/** changes the value of an existing SCIP_Real parameter */
351 SCIP_SET* set, /**< global SCIP settings */
352 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
353 const char* name, /**< name of the parameter */
354 SCIP_Real value /**< new value of the parameter */
355 );
356
357/** changes the value of an existing Char parameter */
359 SCIP_SET* set, /**< global SCIP settings */
360 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
361 SCIP_PARAM* param, /**< parameter */
362 char value /**< new value of the parameter */
363 );
364
365/** changes the value of an existing Char parameter */
367 SCIP_SET* set, /**< global SCIP settings */
368 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
369 const char* name, /**< name of the parameter */
370 char value /**< new value of the parameter */
371 );
372
373/** changes the value of an existing String parameter */
375 SCIP_SET* set, /**< global SCIP settings */
376 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
377 SCIP_PARAM* param, /**< parameter */
378 const char* value /**< new value of the parameter */
379 );
380
381/** changes the value of an existing String parameter */
383 SCIP_SET* set, /**< global SCIP settings */
384 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
385 const char* name, /**< name of the parameter */
386 const char* value /**< new value of the parameter */
387 );
388
389/** changes the value of an existing parameter */
391 SCIP_SET* set, /**< global SCIP settings */
392 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
393 const char* name, /**< name of the parameter */
394 const char* value /**< new value of the parameter as string */
395 );
396
397/** reads parameters from a file */
399 SCIP_SET* set, /**< global SCIP settings */
400 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
401 const char* filename /**< file name */
402 );
403
404/** writes all parameters in the parameter set to a file */
406 SCIP_SET* set, /**< global SCIP settings */
407 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
408 const char* filename, /**< file name, or NULL for stdout */
409 SCIP_Bool comments, /**< should parameter descriptions be written as comments? */
410 SCIP_Bool onlychanged /**< should only the parameters been written, that are changed from default? */
411 );
412
413/** resets a single parameters to its default value */
415 SCIP_SET* set, /**< global SCIP settings */
416 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
417 const char* name /**< name of the parameter */
418 );
419
420/** resets all parameters to their default values */
422 SCIP_SET* set, /**< global SCIP settings */
423 SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
424 );
425
426/** sets parameters to
427 *
428 * - \ref SCIP_PARAMEMPHASIS_DEFAULT to use default values (see also SCIPsetResetParams())
429 * - \ref SCIP_PARAMEMPHASIS_COUNTER to get feasible and "fast" counting process
430 * - \ref SCIP_PARAMEMPHASIS_CPSOLVER to get CP like search (e.g. no LP relaxation)
431 * - \ref SCIP_PARAMEMPHASIS_EASYCIP to solve easy problems fast
432 * - \ref SCIP_PARAMEMPHASIS_FEASIBILITY to detect feasibility fast
433 * - \ref SCIP_PARAMEMPHASIS_HARDLP to be capable to handle hard LPs
434 * - \ref SCIP_PARAMEMPHASIS_OPTIMALITY to prove optimality fast
435 * - \ref SCIP_PARAMEMPHASIS_PHASEFEAS to find feasible solutions during a 3 phase solution process
436 * - \ref SCIP_PARAMEMPHASIS_PHASEIMPROVE to find improved solutions during a 3 phase solution process
437 * - \ref SCIP_PARAMEMPHASIS_PHASEPROOF to proof optimality during a 3 phase solution process
438 */
440 SCIP_SET* set, /**< global SCIP settings */
441 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
442 SCIP_PARAMEMPHASIS paramemphasis, /**< parameter settings */
443 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
444 );
445
446/** set parameters for reoptimization */
448 SCIP_SET* set, /**< SCIP data structure */
449 SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
450 );
451
452/** enable or disable all plugin timers depending on the value of the flag \p enabled */
454 SCIP_SET* set, /**< SCIP settings */
455 SCIP_Bool enabled /**< should plugin clocks be enabled? */
456 );
457
458/** sets parameters to deactivate separators and heuristics that use auxiliary SCIP instances; should be called for
459 * auxiliary SCIP instances to avoid recursion
460 */
462 SCIP_SET* set, /**< global SCIP settings */
463 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
464 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
465 );
466
467/** sets heuristic parameters values to
468 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all heuristic parameters
469 * - SCIP_PARAMSETTING_FAST such that the time spend for heuristic is decreased
470 * - SCIP_PARAMSETTING_AGGRESSIVE such that the heuristic are called more aggregative
471 * - SCIP_PARAMSETTING_OFF which turn off all heuristics
472 */
474 SCIP_SET* set, /**< global SCIP settings */
475 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
476 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
477 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
478 );
479
480/** sets presolving parameters to
481 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all presolving parameters
482 * - SCIP_PARAMSETTING_FAST such that the time spend for presolving is decreased
483 * - SCIP_PARAMSETTING_AGGRESSIVE such that the presolving is more aggregative
484 * - SCIP_PARAMSETTING_OFF which turn off all presolving
485 */
487 SCIP_SET* set, /**< global SCIP settings */
488 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
489 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
490 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
491 );
492
493/** sets separating parameters to
494 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all separating parameters
495 * - SCIP_PARAMSETTING_FAST such that the time spend for separating is decreased
496 * - SCIP_PARAMSETTING_AGGRESSIVE such that the separating is done more aggregative
497 * - SCIP_PARAMSETTING_OFF which turn off all separating
498 */
500 SCIP_SET* set, /**< global SCIP settings */
501 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
502 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
503 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
504 );
505
506/** returns the array of all available SCIP parameters */
508 SCIP_SET* set /**< global SCIP settings */
509 );
510
511/** returns the total number of all available SCIP parameters */
513 SCIP_SET* set /**< global SCIP settings */
514 );
515
516/** inserts file reader in file reader list */
518 SCIP_SET* set, /**< global SCIP settings */
519 SCIP_READER* reader /**< file reader */
520 );
521
522/** returns the file reader of the given name, or NULL if not existing */
524 SCIP_SET* set, /**< global SCIP settings */
525 const char* name /**< name of file reader */
526 );
527
528/** inserts variable pricer in variable pricer list */
530 SCIP_SET* set, /**< global SCIP settings */
531 SCIP_PRICER* pricer /**< variable pricer */
532 );
533
534/** returns the variable pricer of the given name, or NULL if not existing */
536 SCIP_SET* set, /**< global SCIP settings */
537 const char* name /**< name of variable pricer */
538 );
539
540/** sorts pricers by priorities */
542 SCIP_SET* set /**< global SCIP settings */
543 );
544
545/** sorts pricers by name */
547 SCIP_SET* set /**< global SCIP settings */
548 );
549
550/** inserts Benders' decomposition into the Benders' decomposition list */
552 SCIP_SET* set, /**< global SCIP settings */
553 SCIP_BENDERS* benders /**< Benders' decomposition */
554 );
555
556/** returns the Benders' decomposition of the given name, or NULL if not existing */
558 SCIP_SET* set, /**< global SCIP settings */
559 const char* name /**< name of Benders' decomposition */
560 );
561
562/** sorts Benders' decomposition by priorities */
564 SCIP_SET* set /**< global SCIP settings */
565 );
566
567/** sorts Benders' decomposition by name */
569 SCIP_SET* set /**< global SCIP settings */
570 );
571
572/** inserts constraint handler in constraint handler list */
574 SCIP_SET* set, /**< global SCIP settings */
575 SCIP_CONSHDLR* conshdlr /**< constraint handler */
576 );
577
578/** reinserts a constraint handler with modified sepa priority into the sepa priority sorted array */
580 SCIP_SET* set, /**< global SCIP settings */
581 SCIP_CONSHDLR* conshdlr, /**< constraint handler to be reinserted */
582 int oldpriority /**< the old separation priority of constraint handler */
583 );
584
585/** returns the constraint handler of the given name, or NULL if not existing */
587 SCIP_SET* set, /**< global SCIP settings */
588 const char* name /**< name of constraint handler */
589 );
590
591/** inserts conflict handler in conflict handler list */
593 SCIP_SET* set, /**< global SCIP settings */
594 SCIP_CONFLICTHDLR* conflicthdlr /**< conflict handler */
595 );
596
597/** returns the conflict handler of the given name, or NULL if not existing */
599 SCIP_SET* set, /**< global SCIP settings */
600 const char* name /**< name of conflict handler */
601 );
602
603/** sorts conflict handlers by priorities */
605 SCIP_SET* set /**< global SCIP settings */
606 );
607
608/** sorts conflict handlers by name */
610 SCIP_SET* set /**< global SCIP settings */
611 );
612
613/** inserts presolver in presolver list */
615 SCIP_SET* set, /**< global SCIP settings */
616 SCIP_PRESOL* presol /**< presolver */
617 );
618
619/** returns the presolver of the given name, or NULL if not existing */
621 SCIP_SET* set, /**< global SCIP settings */
622 const char* name /**< name of presolver */
623 );
624
625/** sorts presolvers by priorities */
627 SCIP_SET* set /**< global SCIP settings */
628 );
629
630/** sorts presolvers by name */
632 SCIP_SET* set /**< global SCIP settings */
633 );
634
635/** inserts relaxator in relaxator list */
637 SCIP_SET* set, /**< global SCIP settings */
638 SCIP_RELAX* relax /**< relaxator */
639 );
640
641/** returns the relaxator of the given name, or NULL if not existing */
643 SCIP_SET* set, /**< global SCIP settings */
644 const char* name /**< name of relaxator */
645 );
646
647/** sorts relaxators by priorities */
649 SCIP_SET* set /**< global SCIP settings */
650 );
651
652/** sorts relaxators by name */
654 SCIP_SET* set /**< global SCIP settings */
655 );
656
657/** inserts separator in separator list */
659 SCIP_SET* set, /**< global SCIP settings */
660 SCIP_SEPA* sepa /**< separator */
661 );
662
663/** returns the separator of the given name, or NULL if not existing */
665 SCIP_SET* set, /**< global SCIP settings */
666 const char* name /**< name of separator */
667 );
668
669/** sorts separators by priorities */
671 SCIP_SET* set /**< global SCIP settings */
672 );
673
674/** sorts separators by name */
676 SCIP_SET* set /**< global SCIP settings */
677 );
678
679/** inserts cut selector in cut selector list */
681 SCIP_SET* set, /**< global SCIP settings */
682 SCIP_CUTSEL* cutsel /**< cut selector */
683 );
684
685/** returns the cut selector of the given name, or NULL if not existing */
687 SCIP_SET* set, /**< global SCIP settings */
688 const char* name /**< name of separator */
689 );
690
691/** sorts cut selectors by priorities */
693 SCIP_SET* set /**< global SCIP settings */
694 );
695
696/** inserts propagator in propagator list */
698 SCIP_SET* set, /**< global SCIP settings */
699 SCIP_PROP* prop /**< propagator */
700 );
701
702/** returns the propagator of the given name, or NULL if not existing */
704 SCIP_SET* set, /**< global SCIP settings */
705 const char* name /**< name of propagator */
706 );
707
708/** sorts propagators by priorities */
710 SCIP_SET* set /**< global SCIP settings */
711 );
712
713/** sorts propagators by priorities for presolving */
715 SCIP_SET* set /**< global SCIP settings */
716 );
717
718/** sorts propagators w.r.t. names */
720 SCIP_SET* set /**< global SCIP settings */
721 );
722
723/** inserts concurrent solver type into the concurrent solver type list */
725 SCIP_SET* set, /**< global SCIP settings */
726 SCIP_CONCSOLVERTYPE* concsolvertype /**< concurrent solver type */
727 );
728
729/** returns the concurrent solver type with the given name, or NULL if not existing */
731 SCIP_SET* set, /**< global SCIP settings */
732 const char* name /**< name of concurrent solver type */
733 );
734
735/** inserts concurrent solver into the concurrent solver list */
737 SCIP_SET* set, /**< global SCIP settings */
738 SCIP_CONCSOLVER* concsolver /**< concurrent solver */
739 );
740
741/** frees all concurrent solvers in the concurrent solver list */
743 SCIP_SET* set /**< global SCIP settings */
744 );
745
746/** inserts primal heuristic in primal heuristic list */
748 SCIP_SET* set, /**< global SCIP settings */
749 SCIP_HEUR* heur /**< primal heuristic */
750 );
751
752/** returns the primal heuristic of the given name, or NULL if not existing */
754 SCIP_SET* set, /**< global SCIP settings */
755 const char* name /**< name of primal heuristic */
756 );
757
758/** sorts heuristics by priorities */
760 SCIP_SET* set /**< global SCIP settings */
761 );
762
763/** sorts heuristics by name */
765 SCIP_SET* set /**< global SCIP settings */
766 );
767
768/** inserts tree compression in tree compression list */
770 SCIP_SET* set, /**< global SCIP settings */
771 SCIP_COMPR* compr /**< tree compression */
772 );
773
774/** returns the tree compression of the given name, or NULL if not existing */
776 SCIP_SET* set, /**< global SCIP settings */
777 const char* name /**< name of tree compression */
778 );
779
780/** sorts compressions by priorities */
782 SCIP_SET* set /**< global SCIP settings */
783 );
784
785/** sorts heuristics by names */
787 SCIP_SET* set /**< global SCIP settings */
788 );
789
790/** inserts event handler in event handler list */
792 SCIP_SET* set, /**< global SCIP settings */
793 SCIP_EVENTHDLR* eventhdlr /**< event handler */
794 );
795
796/** returns the event handler of the given name, or NULL if not existing */
798 SCIP_SET* set, /**< global SCIP settings */
799 const char* name /**< name of event handler */
800 );
801
802/** inserts node selector in node selector list */
804 SCIP_SET* set, /**< global SCIP settings */
805 SCIP_NODESEL* nodesel /**< node selector */
806 );
807
808/** returns the node selector of the given name, or NULL if not existing */
810 SCIP_SET* set, /**< global SCIP settings */
811 const char* name /**< name of event handler */
812 );
813
814/** returns node selector with highest priority in the current mode */
816 SCIP_SET* set, /**< global SCIP settings */
817 SCIP_STAT* stat /**< dynamic problem statistics */
818 );
819
820/** inserts branching rule in branching rule list */
822 SCIP_SET* set, /**< global SCIP settings */
823 SCIP_BRANCHRULE* branchrule /**< branching rule */
824 );
825
826/** returns the branching rule of the given name, or NULL if not existing */
828 SCIP_SET* set, /**< global SCIP settings */
829 const char* name /**< name of event handler */
830 );
831
832/** sorts branching rules by priorities */
834 SCIP_SET* set /**< global SCIP settings */
835 );
836
837/** sorts branching rules by name */
839 SCIP_SET* set /**< global SCIP settings */
840 );
841
842/** inserts display column in display column list */
844 SCIP_SET* set, /**< global SCIP settings */
845 SCIP_DISP* disp /**< display column */
846 );
847
848/** returns the display column of the given name, or NULL if not existing */
850 SCIP_SET* set, /**< global SCIP settings */
851 const char* name /**< name of display */
852 );
853
854/** inserts statistics table in statistics table list */
856 SCIP_SET* set, /**< global SCIP settings */
857 SCIP_TABLE* table /**< statistics table */
858 );
859
860/** returns the statistics table of the given name, or NULL if not existing */
862 SCIP_SET* set, /**< global SCIP settings */
863 const char* name /**< name of statistics table */
864 );
865
866/** inserts dialog in dialog list */
868 SCIP_SET* set, /**< global SCIP settings */
869 SCIP_DIALOG* dialog /**< dialog */
870 );
871
872/** returns if the dialog already exists */
874 SCIP_SET* set, /**< global SCIP settings */
875 SCIP_DIALOG* dialog /**< dialog */
876 );
877
878/** inserts expression handler in expression handler list */
880 SCIP_SET* set, /**< global SCIP settings */
881 SCIP_EXPRHDLR* exprhdlr /**< expression handler */
882 );
883
884/** returns the expression handler of the given name, or NULL if not existing */
885SCIP_EXPORT /* need SCIP_EXPORT here, because func is exposed in API via SCIPfindExprhdlr() macro */
887 SCIP_SET* set, /**< global SCIP settings */
888 const char* name /**< name of expression handler */
889 );
890
891/** sorts expression handlers by name */
893 SCIP_SET* set /**< global SCIP settings */
894 );
895
896/** inserts NLPI in NLPI list */
898 SCIP_SET* set, /**< global SCIP settings */
899 SCIP_NLPI* nlpi /**< NLPI */
900 );
901
902/** returns the NLPI of the given name, or NULL if not existing */
904 SCIP_SET* set, /**< global SCIP settings */
905 const char* name /**< name of NLPI */
906 );
907
908/** sorts NLPIs by priorities */
910 SCIP_SET* set /**< global SCIP settings */
911 );
912
913/** set priority of an NLPI */
915 SCIP_SET* set, /**< global SCIP settings */
916 SCIP_NLPI* nlpi, /**< NLPI */
917 int priority /**< new priority of NLPI */
918 );
919
920/** inserts information about an external code in external codes list */
922 SCIP_SET* set, /**< global SCIP settings */
923 const char* name, /**< name of external code */
924 const char* description /**< description of external code, can be NULL */
925 );
926
927/** inserts bandit virtual function table into set */
929 SCIP_SET* set, /**< global SCIP settings */
930 SCIP_BANDITVTABLE* banditvtable /**< bandit algorithm virtual function table */
931 );
932
933/** returns the bandit virtual function table of the given name, or NULL if not existing */
935 SCIP_SET* set, /**< global SCIP settings */
936 const char* name /**< name of bandit algorithm virtual function table */
937 );
938
939/** calls init methods of all plugins */
941 SCIP_SET* set, /**< global SCIP settings */
942 BMS_BLKMEM* blkmem, /**< block memory */
943 SCIP_STAT* stat /**< dynamic problem statistics */
944 );
945
946/** calls exit methods of all plugins */
948 SCIP_SET* set, /**< global SCIP settings */
949 BMS_BLKMEM* blkmem, /**< block memory */
950 SCIP_STAT* stat /**< dynamic problem statistics */
951 );
952
953/** calls initpre methods of all plugins */
955 SCIP_SET* set, /**< global SCIP settings */
956 BMS_BLKMEM* blkmem, /**< block memory */
957 SCIP_STAT* stat /**< dynamic problem statistics */
958 );
959
960/** calls exitpre methods of all plugins */
962 SCIP_SET* set, /**< global SCIP settings */
963 BMS_BLKMEM* blkmem, /**< block memory */
964 SCIP_STAT* stat /**< dynamic problem statistics */
965 );
966
967/** calls initsol methods of all plugins */
969 SCIP_SET* set, /**< global SCIP settings */
970 BMS_BLKMEM* blkmem, /**< block memory */
971 SCIP_STAT* stat /**< dynamic problem statistics */
972 );
973
974/** calls exitsol methods of all plugins */
976 SCIP_SET* set, /**< global SCIP settings */
977 BMS_BLKMEM* blkmem, /**< block memory */
978 SCIP_STAT* stat, /**< dynamic problem statistics */
979 SCIP_Bool restart /**< was this exit solve call triggered by a restart? */
980 );
981
982/** calculate memory size for dynamically allocated arrays */
984 SCIP_SET* set, /**< global SCIP settings */
985 int num /**< minimum number of entries to store */
986 );
987
988/** calculate memory size for tree array */
990 SCIP_SET* set, /**< global SCIP settings */
991 int num /**< minimum number of entries to store */
992 );
993
994/** calculate memory size for path array */
996 SCIP_SET* set, /**< global SCIP settings */
997 int num /**< minimum number of entries to store */
998 );
999
1000/** sets verbosity level for message output */
1002 SCIP_SET* set, /**< global SCIP settings */
1003 SCIP_VERBLEVEL verblevel /**< verbosity level for message output */
1004 );
1005
1006/** sets feasibility tolerance */
1008 SCIP_SET* set, /**< global SCIP settings */
1009 SCIP_LP* lp, /**< LP data, or NULL */
1010 SCIP_Real feastol /**< new feasibility tolerance */
1011 );
1012
1013/** sets feasibility tolerance for reduced costs in LP solution */
1015 SCIP_SET* set, /**< global SCIP settings */
1016 SCIP_Real dualfeastol /**< new reduced costs feasibility tolerance */
1017 );
1018
1019/** sets LP convergence tolerance used in barrier algorithm */
1021 SCIP_SET* set, /**< global SCIP settings */
1022 SCIP_Real barrierconvtol /**< new convergence tolerance used in barrier algorithm */
1023 );
1024
1025/** sets primal feasibility tolerance for relaxations (relaxfeastol)
1026 *
1027 * @note Set to SCIP_INVALID to apply relaxation-specific feasibility tolerance only.
1028 *
1029 * @return Previous value of relaxfeastol.
1030 */
1032 SCIP_SET* set, /**< global SCIP settings */
1033 SCIP_Real relaxfeastol /**< new primal feasibility tolerance for relaxations, or SCIP_INVALID */
1034 );
1035
1036/** marks that some limit parameter was changed */
1038 SCIP_SET* set /**< global SCIP settings */
1039 );
1040
1041/** returns the maximal number of variables priced into the LP per round */
1043 SCIP_SET* set, /**< global SCIP settings */
1044 SCIP_Bool root /**< are we at the root node? */
1045 );
1046
1047/** returns factor for the maximal number of cuts generated per round */
1049 SCIP_SET* set, /**< global SCIP settings */
1050 SCIP_Bool root /**< are we at the root node? */
1051 );
1052
1053/** returns the maximal number of cuts separated per round */
1055 SCIP_SET* set, /**< global SCIP settings */
1056 SCIP_Bool root /**< are we at the root node? */
1057 );
1058
1059/** returns the maximal ratio between coefficients to ensure in rowprep cleanup */
1061 SCIP_SET* set /**< global SCIP settings */
1062 );
1063
1064/** returns user defined objective value (in original space) for reference purposes */
1066 SCIP_SET* set /**< global SCIP settings */
1067 );
1068
1069/** returns debug solution data */
1071 SCIP_SET* set /**< global SCIP settings */
1072 );
1073
1074/** Checks, if an iteratively updated value is reliable or should be recomputed from scratch.
1075 * This is useful, if the value, e.g., the activity of a linear constraint or the pseudo objective value, gets a high
1076 * absolute value during the optimization process which is later reduced significantly. In this case, the last digits
1077 * were cancelled out when increasing the value and are random after decreasing it.
1078 * We dot not consider the cancellations which can occur during increasing the absolute value because they just cannot
1079 * be expressed using fixed precision floating point arithmetic, anymore.
1080 * The idea to get more reliable values is to always store the last reliable value, where increasing the absolute of
1081 * the value is viewed as preserving reliability. Then, after each update, the new absolute value can be compared
1082 * against the last reliable one with this method, checking whether it was decreased by a factor of at least
1083 * "lp/recompfac" and should be recomputed.
1084 */
1086 SCIP_SET* set, /**< global SCIP settings */
1087 SCIP_Real newvalue, /**< new value after update */
1088 SCIP_Real oldvalue /**< old value, i.e., last reliable value */
1089 );
1090
1091/** modifies an initial seed value with the global shift of random seeds */
1092unsigned int SCIPsetInitializeRandomSeed(
1093 SCIP_SET* set, /**< global SCIP settings */
1094 unsigned int initialseedvalue /**< initial seed value to be modified */
1095 );
1096
1097/** returns value treated as infinity */
1099 SCIP_SET* set /**< global SCIP settings */
1100 );
1101
1102/** returns the minimum value that is regarded as huge and should be handled separately (e.g., in activity
1103 * computation)
1104 */
1106 SCIP_SET* set /**< global SCIP settings */
1107 );
1108
1109/** returns value treated as zero */
1111 SCIP_SET* set /**< global SCIP settings */
1112 );
1113
1114/** returns value treated as zero for sums of floating point values */
1116 SCIP_SET* set /**< global SCIP settings */
1117 );
1118
1119/** returns feasibility tolerance for constraints */
1120#ifdef __GNUC__
1121__attribute__ ((pure))
1122#endif
1124 SCIP_SET* set /**< global SCIP settings */
1125 );
1126
1127/** returns factor w.r.t. primal feasibility tolerance that determines default (and maximal) feasibility tolerance */
1129 SCIP_SET* set /**< global SCIP settings */
1130 );
1131
1132/** returns feasibility tolerance for reduced costs */
1133#ifdef __GNUC__
1134__attribute__ ((pure))
1135#endif
1137 SCIP_SET* set /**< global SCIP settings */
1138 );
1139
1140/** returns convergence tolerance used in barrier algorithm */
1142 SCIP_SET* set /**< global SCIP settings */
1143 );
1144
1145/** returns minimal variable distance value to use for pseudo cost updates */
1147 SCIP_SET* set /**< global SCIP settings */
1148 );
1149
1150/** returns minimal minimal objective distance value to use for pseudo cost updates */
1152 SCIP_SET* set /**< global SCIP settings */
1153 );
1154
1155/** return the delta to use for computing the cutoff bound for integral objectives */
1157 SCIP_SET* set /**< global SCIP settings */
1158 );
1159
1160/** return the primal feasibility tolerance for relaxations */
1162 SCIP_SET* set /**< global SCIP settings */
1163 );
1164
1165/** returns minimal decrease factor that causes the recomputation of a value
1166 * (e.g., pseudo objective) instead of an update */
1168 SCIP_SET* set /**< global SCIP settings */
1169 );
1170
1171/** checks, if values are in range of epsilon */
1173 SCIP_SET* set, /**< global SCIP settings */
1174 SCIP_Real val1, /**< first value to be compared */
1175 SCIP_Real val2 /**< second value to be compared */
1176 );
1177
1178/** checks, if val1 is (more than epsilon) lower than val2 */
1180 SCIP_SET* set, /**< global SCIP settings */
1181 SCIP_Real val1, /**< first value to be compared */
1182 SCIP_Real val2 /**< second value to be compared */
1183 );
1184
1185/** checks, if val1 is not (more than epsilon) greater than val2 */
1187 SCIP_SET* set, /**< global SCIP settings */
1188 SCIP_Real val1, /**< first value to be compared */
1189 SCIP_Real val2 /**< second value to be compared */
1190 );
1191
1192/** checks, if val1 is (more than epsilon) greater than val2 */
1194 SCIP_SET* set, /**< global SCIP settings */
1195 SCIP_Real val1, /**< first value to be compared */
1196 SCIP_Real val2 /**< second value to be compared */
1197 );
1198
1199/** checks, if val1 is not (more than epsilon) lower than val2 */
1201 SCIP_SET* set, /**< global SCIP settings */
1202 SCIP_Real val1, /**< first value to be compared */
1203 SCIP_Real val2 /**< second value to be compared */
1204 );
1205
1206/** checks, if value is (positive) infinite */
1208 SCIP_SET* set, /**< global SCIP settings */
1209 SCIP_Real val /**< value to be compared against infinity */
1210 );
1211
1212/** checks, if value is huge and should be handled separately (e.g., in activity computation) */
1214 SCIP_SET* set, /**< global SCIP settings */
1215 SCIP_Real val /**< value to be checked whether it is huge */
1216 );
1217
1218/** checks, if value is in range epsilon of 0.0 */
1220 SCIP_SET* set, /**< global SCIP settings */
1221 SCIP_Real val /**< value to be compared against zero */
1222 );
1223
1224/** checks, if value is greater than epsilon */
1226 SCIP_SET* set, /**< global SCIP settings */
1227 SCIP_Real val /**< value to be compared against zero */
1228 );
1229
1230/** checks, if value is lower than -epsilon */
1232 SCIP_SET* set, /**< global SCIP settings */
1233 SCIP_Real val /**< value to be compared against zero */
1234 );
1235
1236/** checks, if value is integral within epsilon */
1238 SCIP_SET* set, /**< global SCIP settings */
1239 SCIP_Real val /**< value to be compared against zero */
1240 );
1241
1242/** checks whether the product val * scalar is integral in epsilon scaled by scalar */
1244 SCIP_SET* set, /**< global SCIP settings */
1245 SCIP_Real val, /**< unscaled value to check for scaled integrality */
1246 SCIP_Real scalar /**< value to scale val with for checking for integrality */
1247 );
1248
1249/** checks, if given fractional part is smaller than epsilon */
1251 SCIP_SET* set, /**< global SCIP settings */
1252 SCIP_Real val /**< value to be compared against zero */
1253 );
1254
1255/** rounds value + feasibility tolerance down to the next integer in epsilon tolerance */
1257 SCIP_SET* set, /**< global SCIP settings */
1258 SCIP_Real val /**< value to be compared against zero */
1259 );
1260
1261/** rounds value - feasibility tolerance up to the next integer in epsilon tolerance */
1263 SCIP_SET* set, /**< global SCIP settings */
1264 SCIP_Real val /**< value to be compared against zero */
1265 );
1266
1267/** rounds value to the nearest integer in epsilon tolerance */
1269 SCIP_SET* set, /**< global SCIP settings */
1270 SCIP_Real val /**< value to be compared against zero */
1271 );
1272
1273/** returns fractional part of value, i.e. x - floor(x) in epsilon tolerance */
1275 SCIP_SET* set, /**< global SCIP settings */
1276 SCIP_Real val /**< value to return fractional part for */
1277 );
1278
1279/** checks, if values are in range of sumepsilon */
1281 SCIP_SET* set, /**< global SCIP settings */
1282 SCIP_Real val1, /**< first value to be compared */
1283 SCIP_Real val2 /**< second value to be compared */
1284 );
1285
1286/** checks, if val1 is (more than sumepsilon) lower than val2 */
1288 SCIP_SET* set, /**< global SCIP settings */
1289 SCIP_Real val1, /**< first value to be compared */
1290 SCIP_Real val2 /**< second value to be compared */
1291 );
1292
1293/** checks, if val1 is not (more than sumepsilon) greater than val2 */
1295 SCIP_SET* set, /**< global SCIP settings */
1296 SCIP_Real val1, /**< first value to be compared */
1297 SCIP_Real val2 /**< second value to be compared */
1298 );
1299
1300/** checks, if val1 is (more than sumepsilon) greater than val2 */
1302 SCIP_SET* set, /**< global SCIP settings */
1303 SCIP_Real val1, /**< first value to be compared */
1304 SCIP_Real val2 /**< second value to be compared */
1305 );
1306
1307/** checks, if val1 is not (more than sumepsilon) lower than val2 */
1309 SCIP_SET* set, /**< global SCIP settings */
1310 SCIP_Real val1, /**< first value to be compared */
1311 SCIP_Real val2 /**< second value to be compared */
1312 );
1313
1314/** checks, if value is in range sumepsilon of 0.0 */
1316 SCIP_SET* set, /**< global SCIP settings */
1317 SCIP_Real val /**< value to be compared against zero */
1318 );
1319
1320/** checks, if value is greater than sumepsilon */
1322 SCIP_SET* set, /**< global SCIP settings */
1323 SCIP_Real val /**< value to be compared against zero */
1324 );
1325
1326/** checks, if value is lower than -sumepsilon */
1328 SCIP_SET* set, /**< global SCIP settings */
1329 SCIP_Real val /**< value to be compared against zero */
1330 );
1331
1332/** rounds value + sumepsilon tolerance down to the next integer */
1334 SCIP_SET* set, /**< global SCIP settings */
1335 SCIP_Real val /**< value to process */
1336 );
1337
1338/** rounds value - sumepsilon tolerance up to the next integer */
1340 SCIP_SET* set, /**< global SCIP settings */
1341 SCIP_Real val /**< value to process */
1342 );
1343
1344/** rounds value to the nearest integer in sumepsilon tolerance */
1346 SCIP_SET* set, /**< global SCIP settings */
1347 SCIP_Real val /**< value to process */
1348 );
1349
1350/** returns fractional part of value, i.e. x - floor(x) in sumepsilon tolerance */
1352 SCIP_SET* set, /**< global SCIP settings */
1353 SCIP_Real val /**< value to process */
1354 );
1355
1356/** checks, if relative difference of values is in range of feastol */
1358 SCIP_SET* set, /**< global SCIP settings */
1359 SCIP_Real val1, /**< first value to be compared */
1360 SCIP_Real val2 /**< second value to be compared */
1361 );
1362
1363/** checks, if relative difference of val1 and val2 is lower than feastol */
1365 SCIP_SET* set, /**< global SCIP settings */
1366 SCIP_Real val1, /**< first value to be compared */
1367 SCIP_Real val2 /**< second value to be compared */
1368 );
1369
1370/** checks, if relative difference of val1 and val2 is not greater than feastol */
1372 SCIP_SET* set, /**< global SCIP settings */
1373 SCIP_Real val1, /**< first value to be compared */
1374 SCIP_Real val2 /**< second value to be compared */
1375 );
1376
1377/** checks, if relative difference of val1 and val2 is greater than feastol */
1379 SCIP_SET* set, /**< global SCIP settings */
1380 SCIP_Real val1, /**< first value to be compared */
1381 SCIP_Real val2 /**< second value to be compared */
1382 );
1383
1384/** checks, if relative difference of val1 and val2 is not lower than -feastol */
1386 SCIP_SET* set, /**< global SCIP settings */
1387 SCIP_Real val1, /**< first value to be compared */
1388 SCIP_Real val2 /**< second value to be compared */
1389 );
1390
1391/** checks, if value is in range feasibility tolerance of 0.0 */
1393 SCIP_SET* set, /**< global SCIP settings */
1394 SCIP_Real val /**< value to be compared against zero */
1395 );
1396
1397/** checks, if value is greater than feasibility tolerance */
1399 SCIP_SET* set, /**< global SCIP settings */
1400 SCIP_Real val /**< value to be compared against zero */
1401 );
1402
1403/** checks, if value is lower than -feasibility tolerance */
1405 SCIP_SET* set, /**< global SCIP settings */
1406 SCIP_Real val /**< value to be compared against zero */
1407 );
1408
1409/** checks, if value is integral within the feasibility bounds */
1411 SCIP_SET* set, /**< global SCIP settings */
1412 SCIP_Real val /**< value to be compared against zero */
1413 );
1414
1415/** checks, if given fractional part is smaller than feastol */
1417 SCIP_SET* set, /**< global SCIP settings */
1418 SCIP_Real val /**< value to be compared against zero */
1419 );
1420
1421/** rounds value + feasibility tolerance down to the next integer */
1423 SCIP_SET* set, /**< global SCIP settings */
1424 SCIP_Real val /**< value to be compared against zero */
1425 );
1426
1427/** rounds value - feasibility tolerance up to the next integer */
1429 SCIP_SET* set, /**< global SCIP settings */
1430 SCIP_Real val /**< value to be compared against zero */
1431 );
1432
1433/** rounds value to the nearest integer in feasibility tolerance */
1435 SCIP_SET* set, /**< global SCIP settings */
1436 SCIP_Real val /**< value to be compared against zero */
1437 );
1438
1439/** returns fractional part of value, i.e. x - floor(x) in feasibility tolerance */
1441 SCIP_SET* set, /**< global SCIP settings */
1442 SCIP_Real val /**< value to return fractional part for */
1443 );
1444
1445/** checks, if relative difference of values is in range of dual feasibility tolerance */
1447 SCIP_SET* set, /**< global SCIP settings */
1448 SCIP_Real val1, /**< first value to be compared */
1449 SCIP_Real val2 /**< second value to be compared */
1450 );
1451
1452/** checks, if relative difference of val1 and val2 is lower than dual feasibility tolerance */
1454 SCIP_SET* set, /**< global SCIP settings */
1455 SCIP_Real val1, /**< first value to be compared */
1456 SCIP_Real val2 /**< second value to be compared */
1457 );
1458
1459/** checks, if relative difference of val1 and val2 is not greater than dual feasibility tolerance */
1461 SCIP_SET* set, /**< global SCIP settings */
1462 SCIP_Real val1, /**< first value to be compared */
1463 SCIP_Real val2 /**< second value to be compared */
1464 );
1465
1466/** checks, if relative difference of val1 and val2 is greater than dual feasibility tolerance */
1468 SCIP_SET* set, /**< global SCIP settings */
1469 SCIP_Real val1, /**< first value to be compared */
1470 SCIP_Real val2 /**< second value to be compared */
1471 );
1472
1473/** checks, if relative difference of val1 and val2 is not lower than -dual feasibility tolerance */
1475 SCIP_SET* set, /**< global SCIP settings */
1476 SCIP_Real val1, /**< first value to be compared */
1477 SCIP_Real val2 /**< second value to be compared */
1478 );
1479
1480/** checks, if value is in range dual feasibility tolerance of 0.0 */
1482 SCIP_SET* set, /**< global SCIP settings */
1483 SCIP_Real val /**< value to be compared against zero */
1484 );
1485
1486/** checks, if value is greater than dual feasibility tolerance */
1488 SCIP_SET* set, /**< global SCIP settings */
1489 SCIP_Real val /**< value to be compared against zero */
1490 );
1491
1492/** checks, if value is lower than -dual feasibility tolerance */
1494 SCIP_SET* set, /**< global SCIP settings */
1495 SCIP_Real val /**< value to be compared against zero */
1496 );
1497
1498/** checks, if value is integral within the dual feasibility bounds */
1500 SCIP_SET* set, /**< global SCIP settings */
1501 SCIP_Real val /**< value to be compared against zero */
1502 );
1503
1504/** checks, if given fractional part is smaller than dual feasibility tolerance */
1506 SCIP_SET* set, /**< global SCIP settings */
1507 SCIP_Real val /**< value to be compared against zero */
1508 );
1509
1510/** rounds value + dual feasibility tolerance down to the next integer */
1512 SCIP_SET* set, /**< global SCIP settings */
1513 SCIP_Real val /**< value to be compared against zero */
1514 );
1515
1516/** rounds value - dual feasibility tolerance up to the next integer */
1518 SCIP_SET* set, /**< global SCIP settings */
1519 SCIP_Real val /**< value to be compared against zero */
1520 );
1521
1522/** rounds value to the nearest integer in dual feasibility tolerance */
1524 SCIP_SET* set, /**< global SCIP settings */
1525 SCIP_Real val /**< value to be compared against zero */
1526 );
1527
1528/** returns fractional part of value, i.e. x - floor(x) in dual feasibility tolerance */
1530 SCIP_SET* set, /**< global SCIP settings */
1531 SCIP_Real val /**< value to return fractional part for */
1532 );
1533
1534/** checks, if the given new lower bound is at least min(oldub - oldlb, |oldlb|) times the bound
1535 * strengthening epsilon better than the old one or the change in the lower bound would fix the
1536 * sign of the variable
1537 */
1539 SCIP_SET* set, /**< global SCIP settings */
1540 SCIP_Real newlb, /**< new lower bound */
1541 SCIP_Real oldlb, /**< old lower bound */
1542 SCIP_Real oldub /**< old upper bound */
1543 );
1544
1545/** checks, if the given new upper bound is at least min(oldub - oldlb, |oldub|) times the bound
1546 * strengthening epsilon better than the old one or the change in the upper bound would fix the
1547 * sign of the variable
1548 */
1550 SCIP_SET* set, /**< global SCIP settings */
1551 SCIP_Real newub, /**< new upper bound */
1552 SCIP_Real oldlb, /**< old lower bound */
1553 SCIP_Real oldub /**< old upper bound */
1554 );
1555
1556/** checks, if the given cut's efficacy is larger than the minimal cut efficacy */
1558 SCIP_SET* set, /**< global SCIP settings */
1559 SCIP_Bool root, /**< should the root's minimal cut efficacy be used? */
1560 SCIP_Real efficacy /**< efficacy of the cut */
1561 );
1562
1563/** checks, if relative difference of values is in range of epsilon */
1565 SCIP_SET* set, /**< global SCIP settings */
1566 SCIP_Real val1, /**< first value to be compared */
1567 SCIP_Real val2 /**< second value to be compared */
1568 );
1569
1570/** checks, if relative difference of val1 and val2 is lower than epsilon */
1572 SCIP_SET* set, /**< global SCIP settings */
1573 SCIP_Real val1, /**< first value to be compared */
1574 SCIP_Real val2 /**< second value to be compared */
1575 );
1576
1577/** checks, if relative difference of val1 and val2 is not greater than epsilon */
1579 SCIP_SET* set, /**< global SCIP settings */
1580 SCIP_Real val1, /**< first value to be compared */
1581 SCIP_Real val2 /**< second value to be compared */
1582 );
1583
1584/** checks, if relative difference of val1 and val2 is greater than epsilon */
1586 SCIP_SET* set, /**< global SCIP settings */
1587 SCIP_Real val1, /**< first value to be compared */
1588 SCIP_Real val2 /**< second value to be compared */
1589 );
1590
1591/** checks, if relative difference of val1 and val2 is not lower than -epsilon */
1593 SCIP_SET* set, /**< global SCIP settings */
1594 SCIP_Real val1, /**< first value to be compared */
1595 SCIP_Real val2 /**< second value to be compared */
1596 );
1597
1598/** checks, if relative difference of values is in range of sumepsilon */
1600 SCIP_SET* set, /**< global SCIP settings */
1601 SCIP_Real val1, /**< first value to be compared */
1602 SCIP_Real val2 /**< second value to be compared */
1603 );
1604
1605/** checks, if relative difference of val1 and val2 is lower than sumepsilon */
1607 SCIP_SET* set, /**< global SCIP settings */
1608 SCIP_Real val1, /**< first value to be compared */
1609 SCIP_Real val2 /**< second value to be compared */
1610 );
1611
1612/** checks, if relative difference of val1 and val2 is not greater than sumepsilon */
1614 SCIP_SET* set, /**< global SCIP settings */
1615 SCIP_Real val1, /**< first value to be compared */
1616 SCIP_Real val2 /**< second value to be compared */
1617 );
1618
1619/** checks, if relative difference of val1 and val2 is greater than sumepsilon */
1621 SCIP_SET* set, /**< global SCIP settings */
1622 SCIP_Real val1, /**< first value to be compared */
1623 SCIP_Real val2 /**< second value to be compared */
1624 );
1625
1626/** checks, if relative difference of val1 and val2 is not lower than -sumepsilon */
1628 SCIP_SET* set, /**< global SCIP settings */
1629 SCIP_Real val1, /**< first value to be compared */
1630 SCIP_Real val2 /**< second value to be compared */
1631 );
1632
1633/** returns the flag indicating whether sub-SCIPs that could cause recursion have been deactivated */
1635 SCIP_SET* set /**< global SCIP settings */
1636 );
1637
1638
1639#ifdef NDEBUG
1640
1641/* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
1642 * speed up the algorithms.
1643 */
1644
1645#define SCIPsetInfinity(set) ( (set)->num_infinity )
1646#define SCIPsetGetHugeValue(set) ( (set)->num_hugeval )
1647#define SCIPsetEpsilon(set) ( (set)->num_epsilon )
1648#define SCIPsetSumepsilon(set) ( (set)->num_sumepsilon )
1649#define SCIPsetFeastol(set) ( (set)->num_feastol )
1650#define SCIPsetLPFeastolFactor(set) ( (set)->num_lpfeastolfactor )
1651#define SCIPsetDualfeastol(set) ( (set)->num_dualfeastol )
1652#define SCIPsetBarrierconvtol(set) ( (set)->num_barrierconvtol )
1653#define SCIPsetPseudocosteps(set) ( (set)->num_pseudocosteps )
1654#define SCIPsetPseudocostdelta(set) ( (set)->num_pseudocostdelta )
1655#define SCIPsetRelaxfeastol(set) ( (set)->num_relaxfeastol )
1656#define SCIPsetCutoffbounddelta(set) ( MIN(100.0 * SCIPsetFeastol(set), 0.0001) )
1657#define SCIPsetRecompfac(set) ( (set)->num_recompfac )
1658#define SCIPsetIsEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_epsilon) )
1659#define SCIPsetIsLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_epsilon) )
1660#define SCIPsetIsLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_epsilon) )
1661#define SCIPsetIsGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_epsilon) )
1662#define SCIPsetIsGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_epsilon) )
1663#define SCIPsetIsInfinity(set, val) ( (val) >= (set)->num_infinity )
1664#define SCIPsetIsHugeValue(set, val) ( (val) >= (set)->num_hugeval )
1665#define SCIPsetIsZero(set, val) ( EPSZ(val, (set)->num_epsilon) )
1666#define SCIPsetIsPositive(set, val) ( EPSP(val, (set)->num_epsilon) )
1667#define SCIPsetIsNegative(set, val) ( EPSN(val, (set)->num_epsilon) )
1668#define SCIPsetIsIntegral(set, val) ( EPSISINT(val, (set)->num_epsilon) )
1669#define SCIPsetIsScalingIntegral(set, val, scalar) \
1670 ( EPSISINT((scalar)*(val), MAX(REALABS(scalar), 1.0)*(set)->num_epsilon) )
1671#define SCIPsetIsFracIntegral(set, val) ( !EPSP(val, (set)->num_epsilon) )
1672#define SCIPsetFloor(set, val) ( EPSFLOOR(val, (set)->num_epsilon) )
1673#define SCIPsetCeil(set, val) ( EPSCEIL(val, (set)->num_epsilon) )
1674#define SCIPsetRound(set, val) ( EPSROUND(val, (set)->num_epsilon) )
1675#define SCIPsetFrac(set, val) ( EPSFRAC(val, (set)->num_epsilon) )
1676
1677#define SCIPsetIsSumEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_sumepsilon) )
1678#define SCIPsetIsSumLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_sumepsilon) )
1679#define SCIPsetIsSumLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_sumepsilon) )
1680#define SCIPsetIsSumGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_sumepsilon) )
1681#define SCIPsetIsSumGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_sumepsilon) )
1682#define SCIPsetIsSumZero(set, val) ( EPSZ(val, (set)->num_sumepsilon) )
1683#define SCIPsetIsSumPositive(set, val) ( EPSP(val, (set)->num_sumepsilon) )
1684#define SCIPsetIsSumNegative(set, val) ( EPSN(val, (set)->num_sumepsilon) )
1685#define SCIPsetSumFloor(set, val) ( EPSFLOOR(val, (set)->num_sumepsilon) )
1686#define SCIPsetSumCeil(set, val) ( EPSCEIL(val, (set)->num_sumepsilon) )
1687#define SCIPsetSumRound(set, val) ( EPSROUND(val, (set)->num_sumepsilon) )
1688#define SCIPsetSumFrac(set, val) ( EPSFRAC(val, (set)->num_sumepsilon) )
1689
1690#define SCIPsetIsFeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1691#define SCIPsetIsFeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1692#define SCIPsetIsFeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1693#define SCIPsetIsFeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1694#define SCIPsetIsFeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1695#define SCIPsetIsFeasZero(set, val) ( EPSZ(val, (set)->num_feastol) )
1696#define SCIPsetIsFeasPositive(set, val) ( EPSP(val, (set)->num_feastol) )
1697#define SCIPsetIsFeasNegative(set, val) ( EPSN(val, (set)->num_feastol) )
1698#define SCIPsetIsFeasIntegral(set, val) ( EPSISINT(val, (set)->num_feastol) )
1699#define SCIPsetIsFeasFracIntegral(set, val) ( !EPSP(val, (set)->num_feastol) )
1700#define SCIPsetFeasFloor(set, val) ( EPSFLOOR(val, (set)->num_feastol) )
1701#define SCIPsetFeasCeil(set, val) ( EPSCEIL(val, (set)->num_feastol) )
1702#define SCIPsetFeasRound(set, val) ( EPSROUND(val, (set)->num_feastol) )
1703#define SCIPsetFeasFrac(set, val) ( EPSFRAC(val, (set)->num_feastol) )
1704
1705#define SCIPsetIsDualfeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1706#define SCIPsetIsDualfeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1707#define SCIPsetIsDualfeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1708#define SCIPsetIsDualfeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1709#define SCIPsetIsDualfeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1710#define SCIPsetIsDualfeasZero(set, val) ( EPSZ(val, (set)->num_dualfeastol) )
1711#define SCIPsetIsDualfeasPositive(set, val) ( EPSP(val, (set)->num_dualfeastol) )
1712#define SCIPsetIsDualfeasNegative(set, val) ( EPSN(val, (set)->num_dualfeastol) )
1713#define SCIPsetIsDualfeasIntegral(set, val) ( EPSISINT(val, (set)->num_dualfeastol) )
1714#define SCIPsetIsDualfeasFracIntegral(set, val) ( !EPSP(val, (set)->num_dualfeastol) )
1715#define SCIPsetDualfeasFloor(set, val) ( EPSFLOOR(val, (set)->num_dualfeastol) )
1716#define SCIPsetDualfeasCeil(set, val) ( EPSCEIL(val, (set)->num_dualfeastol) )
1717#define SCIPsetDualfeasRound(set, val) ( EPSROUND(val, (set)->num_dualfeastol) )
1718#define SCIPsetDualfeasFrac(set, val) ( EPSFRAC(val, (set)->num_dualfeastol) )
1719
1720#define SCIPsetIsLbBetter(set, newlb, oldlb, oldub) ( ((oldlb) < 0.0 && (newlb) >= 0.0) || EPSGT(newlb, oldlb, \
1721 set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldlb)), 1e-3)) )
1722#define SCIPsetIsUbBetter(set, newub, oldlb, oldub) ( ((oldub) > 0.0 && (newub) <= 0.0) || EPSLT(newub, oldub, \
1723 set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldub)), 1e-3)) )
1724#define SCIPsetIsEfficacious(set, root, efficacy) \
1725 ( root ? EPSP(efficacy, (set)->sepa_minefficacyroot) : EPSP(efficacy, (set)->sepa_minefficacy) )
1726
1727#define SCIPsetIsRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1728#define SCIPsetIsRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1729#define SCIPsetIsRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1730#define SCIPsetIsRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1731#define SCIPsetIsRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1732
1733#define SCIPsetIsSumRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1734#define SCIPsetIsSumRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1735#define SCIPsetIsSumRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1736#define SCIPsetIsSumRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1737#define SCIPsetIsSumRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1738#define SCIPsetIsUpdateUnreliable(set, newvalue, oldvalue) \
1739 ( (ABS(oldvalue) / MAX(ABS(newvalue), set->num_epsilon)) >= set->num_recompfac )
1740#define SCIPsetInitializeRandomSeed(set, val) ( (val + (set)->random_randomseedshift) )
1741
1742#define SCIPsetGetSubscipsOff(set) ( (set)->subscipsoff )
1743
1744#endif
1745
1746#define SCIPsetAllocBuffer(set,ptr) ( (BMSallocBufferMemory((set)->buffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1747#define SCIPsetAllocBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1748#define SCIPsetAllocBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1749#define SCIPsetDuplicateBufferSize(set,ptr,source,size) ( (BMSduplicateBufferMemory((set)->buffer, (ptr), (source), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1750#define SCIPsetDuplicateBufferArray(set,ptr,source,num) ( (BMSduplicateBufferMemoryArray((set)->buffer, (ptr), (source), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1751#define SCIPsetReallocBufferSize(set,ptr,size) ( (BMSreallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1752#define SCIPsetReallocBufferArray(set,ptr,num) ( (BMSreallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1753#define SCIPsetFreeBuffer(set,ptr) BMSfreeBufferMemory((set)->buffer, (ptr))
1754#define SCIPsetFreeBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->buffer, (ptr))
1755#define SCIPsetFreeBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->buffer, (ptr))
1756
1757#define SCIPsetAllocCleanBuffer(set,ptr) ( (BMSallocBufferMemory((set)->cleanbuffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1758#define SCIPsetAllocCleanBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->cleanbuffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1759#define SCIPsetAllocCleanBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->cleanbuffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1760#define SCIPsetFreeCleanBuffer(set,ptr) BMSfreeBufferMemory((set)->cleanbuffer, (ptr))
1761#define SCIPsetFreeCleanBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->cleanbuffer, (ptr))
1762#define SCIPsetFreeCleanBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->cleanbuffer, (ptr))
1763
1764/* if we have a C99 compiler */
1765#ifdef SCIP_HAVE_VARIADIC_MACROS
1766
1767/** prints a debugging message if SCIP_DEBUG flag is set */
1768#ifdef SCIP_DEBUG
1769#define SCIPsetDebugMsg(set, ...) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
1770#define SCIPsetDebugMsgPrint(set, ...) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
1771#else
1772#define SCIPsetDebugMsg(set, ...) while ( FALSE ) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
1773#define SCIPsetDebugMsgPrint(set, ...) while ( FALSE ) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
1774#endif
1775
1776#else
1777/* if we do not have a C99 compiler, use a workaround that prints a message, but not the file and linenumber */
1778
1779/** prints a debugging message if SCIP_DEBUG flag is set */
1780#ifdef SCIP_DEBUG
1781#define SCIPsetDebugMsg printf("debug: "), SCIPsetDebugMessagePrint
1782#define SCIPsetDebugMsgPrint printf("debug: "), SCIPsetDebugMessagePrint
1783#else
1784#define SCIPsetDebugMsg while ( FALSE ) SCIPsetDebugMsgPrint
1785#define SCIPsetDebugMsgPrint while ( FALSE ) SCIPsetDebugMessagePrint
1786#endif
1787
1788#endif
1789
1790
1791/** prints a debug message */
1792#ifdef __GNUC__
1793__attribute__((format(printf, 4, 5)))
1794#endif
1795SCIP_EXPORT
1797 SCIP_SET* set, /**< global SCIP settings */
1798 const char* sourcefile, /**< name of the source file that called the function */
1799 int sourceline, /**< line in the source file where the function was called */
1800 const char* formatstr, /**< format string like in printf() function */
1801 ... /**< format arguments line in printf() function */
1802 );
1803
1804/** prints a debug message without precode */
1805#ifdef __GNUC__
1806__attribute__((format(printf, 2, 3)))
1807#endif
1808SCIP_EXPORT
1810 SCIP_SET* set, /**< global SCIP settings */
1811 const char* formatstr, /**< format string like in printf() function */
1812 ... /**< format arguments line in printf() function */
1813 );
1814
1815
1816#ifdef __cplusplus
1817}
1818#endif
1819
1820#endif
struct SCIP_DebugSolData SCIP_DEBUGSOLDATA
Definition debug.h:59
common defines and data types used in all packages of SCIP
#define SCIP_Longint
Definition def.h:157
#define SCIP_Bool
Definition def.h:91
#define SCIP_Real
Definition def.h:172
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:4344
SCIP_Bool SCIPsetIsDualfeasZero(SCIP_SET *set, SCIP_Real val)
Definition set.c:6918
SCIP_DISP * SCIPsetFindDisp(SCIP_SET *set, const char *name)
Definition set.c:4967
SCIP_Real SCIPsetFloor(SCIP_SET *set, SCIP_Real val)
Definition set.c:6386
SCIP_RETCODE SCIPsetIncludeReader(SCIP_SET *set, SCIP_READER *reader)
Definition set.c:3658
void SCIPsetSortBranchrules(SCIP_SET *set)
Definition set.c:4905
SCIP_Bool SCIPsetIsDualfeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6852
SCIP_RETCODE SCIPsetSetSeparating(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition set.c:3625
void SCIPsetSortBranchrulesName(SCIP_SET *set)
Definition set.c:4920
SCIP_RETCODE SCIPsetSetBarrierconvtol(SCIP_SET *set, SCIP_Real barrierconvtol)
Definition set.c:5844
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:2984
int SCIPsetCalcTreeGrowSize(SCIP_SET *set, int num)
Definition set.c:5773
void SCIPsetSortConflicthdlrsName(SCIP_SET *set)
Definition set.c:4064
SCIP_Bool SCIPsetIsLbBetter(SCIP_SET *set, SCIP_Real newlb, SCIP_Real oldlb, SCIP_Real oldub)
Definition set.c:7022
void SCIPsetSortPresolsName(SCIP_SET *set)
Definition set.c:4137
SCIP_RETCODE SCIPsetResetParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name)
Definition set.c:3522
SCIP_EXPRHDLR * SCIPsetFindExprhdlr(SCIP_SET *set, const char *name)
Definition set.c:5110
SCIP_Bool SCIPsetIsRelLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7098
SCIP_Bool SCIPsetIsEfficacious(SCIP_SET *set, SCIP_Bool root, SCIP_Real efficacy)
Definition set.c:7061
SCIP_NODESEL * SCIPsetFindNodesel(SCIP_SET *set, const char *name)
Definition set.c:4803
SCIP_Bool SCIPsetExistsDialog(SCIP_SET *set, SCIP_DIALOG *dialog)
Definition set.c:5054
SCIP_RETCODE SCIPsetSetFeastol(SCIP_SET *set, SCIP_LP *lp, SCIP_Real feastol)
Definition set.c:5810
void SCIPsetSortPresols(SCIP_SET *set)
Definition set.c:4122
SCIP_PRICER * SCIPsetFindPricer(SCIP_SET *set, const char *name)
Definition set.c:3723
SCIP_RETCODE SCIPsetSetRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Real value)
Definition set.c:3386
SCIP_RETCODE SCIPsetWriteParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
Definition set.c:3506
SCIP_Bool SCIPsetIsFeasPositive(SCIP_SET *set, SCIP_Real val)
Definition set.c:6718
SCIP_TABLE * SCIPsetFindTable(SCIP_SET *set, const char *name)
Definition set.c:5012
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:3079
SCIP_Bool SCIPsetIsHugeValue(SCIP_SET *set, SCIP_Real val)
Definition set.c:6210
SCIP_Bool SCIPsetIsDualfeasFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6962
SCIP_RETCODE SCIPsetIncludeBenders(SCIP_SET *set, SCIP_BENDERS *benders)
Definition set.c:3773
SCIP_Real SCIPsetDualfeasCeil(SCIP_SET *set, SCIP_Real val)
Definition set.c:6986
SCIP_Bool SCIPsetIsGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6293
SCIP_RETCODE SCIPsetSetStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, const char *value)
Definition set.c:3462
SCIP_Real SCIPsetSumRound(SCIP_SET *set, SCIP_Real val)
Definition set.c:6575
SCIP_COMPR * SCIPsetFindCompr(SCIP_SET *set, const char *name)
Definition set.c:4679
SCIP_Real SCIPsetFeasCeil(SCIP_SET *set, SCIP_Real val)
Definition set.c:6775
SCIP_RETCODE SCIPsetGetCharParam(SCIP_SET *set, const char *name, char *value)
Definition set.c:3179
SCIP_Real SCIPsetSumFloor(SCIP_SET *set, SCIP_Real val)
Definition set.c:6553
SCIP_Bool SCIPsetIsFeasFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6751
SCIP_RETCODE SCIPsetIncludeBranchrule(SCIP_SET *set, SCIP_BRANCHRULE *branchrule)
Definition set.c:4861
SCIP_RETCODE SCIPsetSetDefaultIntParam(SCIP_SET *set, const char *name, int defaultvalue)
Definition set.c:3311
SCIP_Bool SCIPsetIsFeasNegative(SCIP_SET *set, SCIP_Real val)
Definition set.c:6729
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:3008
SCIP_Bool SCIPsetGetSubscipsOff(SCIP_SET *set)
Definition set.c:7296
SCIP_RETCODE SCIPsetIncludeRelax(SCIP_SET *set, SCIP_RELAX *relax)
Definition set.c:4152
SCIP_Real SCIPsetSetRelaxfeastol(SCIP_SET *set, SCIP_Real relaxfeastol)
Definition set.c:5862
SCIP_Bool SCIPsetIsSumRelGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7274
SCIP_RETCODE SCIPsetIncludeBanditvtable(SCIP_SET *set, SCIP_BANDITVTABLE *banditvtable)
Definition set.c:4450
SCIP_RETCODE SCIPsetIncludeConcsolverType(SCIP_SET *set, SCIP_CONCSOLVERTYPE *concsolvertype)
Definition set.c:4493
SCIP_Real SCIPsetFeastol(SCIP_SET *set)
Definition set.c:6106
SCIP_RETCODE SCIPsetInitsolPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5554
SCIP_RETCODE SCIPsetGetLongintParam(SCIP_SET *set, const char *name, SCIP_Longint *value)
Definition set.c:3151
SCIP_RETCODE SCIPsetIncludeSepa(SCIP_SET *set, SCIP_SEPA *sepa)
Definition set.c:4226
SCIP_RETCODE SCIPsetIncludeTable(SCIP_SET *set, SCIP_TABLE *table)
Definition set.c:4987
SCIP_Real SCIPsetPseudocosteps(SCIP_SET *set)
Definition set.c:6144
SCIP_RETCODE SCIPsetGetStringParam(SCIP_SET *set, const char *name, char **value)
Definition set.c:3193
SCIP_RETCODE SCIPsetSetHeuristics(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition set.c:3589
SCIP_Bool SCIPsetIsSumGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6484
SCIP_RETCODE SCIPsetInitPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5245
SCIP_RETCODE SCIPsetSetDualfeastol(SCIP_SET *set, SCIP_Real dualfeastol)
Definition set.c:5831
SCIP_RETCODE SCIPsetSetReoptimizationParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition set.c:737
SCIP_RETCODE SCIPsetSetIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, int value)
Definition set.c:3296
SCIP_PARAM ** SCIPsetGetParams(SCIP_SET *set)
Definition set.c:3638
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:3056
SCIP_Real SCIPsetCeil(SCIP_SET *set, SCIP_Real val)
Definition set.c:6397
SCIP_RETCODE SCIPsetIncludeConflicthdlr(SCIP_SET *set, SCIP_CONFLICTHDLR *conflicthdlr)
Definition set.c:4005
int SCIPsetGetSepaMaxcuts(SCIP_SET *set, SCIP_Bool root)
Definition set.c:5917
SCIP_RETCODE SCIPsetFreeConcsolvers(SCIP_SET *set)
Definition set.c:4559
SCIP_Bool SCIPsetIsRelEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7076
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:2962
SCIP_RETCODE SCIPsetIncludePricer(SCIP_SET *set, SCIP_PRICER *pricer)
Definition set.c:3700
SCIP_Bool SCIPsetIsDualfeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6830
SCIP_Bool SCIPsetIsFeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6663
SCIP_Bool SCIPsetIsFeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6641
SCIP_Real SCIPsetFeasRound(SCIP_SET *set, SCIP_Real val)
Definition set.c:6786
SCIP_Bool SCIPsetIsFeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6597
void SCIPsetSortPropsPresol(SCIP_SET *set)
Definition set.c:4420
SCIP_Bool SCIPsetIsPositive(SCIP_SET *set, SCIP_Real val)
Definition set.c:6322
SCIP_Bool SCIPsetIsSumRelGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7252
SCIP_RELAX * SCIPsetFindRelax(SCIP_SET *set, const char *name)
Definition set.c:4176
SCIP_RETCODE SCIPsetSetDefaultBoolParam(SCIP_SET *set, const char *name, SCIP_Bool defaultvalue)
Definition set.c:3258
SCIP_HEUR * SCIPsetFindHeur(SCIP_SET *set, const char *name)
Definition set.c:4605
SCIP_Bool SCIPsetIsLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6257
void SCIPsetSortRelaxsName(SCIP_SET *set)
Definition set.c:4211
void SCIPsetDebugMessagePrint(SCIP_SET *set, const char *formatstr,...)
Definition set.c:7376
void SCIPsetSortPropsName(SCIP_SET *set)
Definition set.c:4435
SCIP_Bool SCIPsetIsScalingIntegral(SCIP_SET *set, SCIP_Real val, SCIP_Real scalar)
Definition set.c:6355
SCIP_Real SCIPsetFeasFloor(SCIP_SET *set, SCIP_Real val)
Definition set.c:6764
SCIP_Real SCIPsetRelaxfeastol(SCIP_SET *set)
Definition set.c:6178
SCIP_Bool SCIPsetIsParamFixed(SCIP_SET *set, const char *name)
Definition set.c:3101
SCIP_RETCODE SCIPsetCopyPlugins(SCIP_SET *sourceset, SCIP_SET *targetset, SCIP_Bool copyreaders, SCIP_Bool copypricers, SCIP_Bool copyconshdlrs, SCIP_Bool copyconflicthdlrs, SCIP_Bool copypresolvers, SCIP_Bool copyrelaxators, SCIP_Bool copyseparators, SCIP_Bool copycutselectors, SCIP_Bool copypropagators, SCIP_Bool copyheuristics, SCIP_Bool copyeventhdlrs, SCIP_Bool copynodeselectors, SCIP_Bool copybranchrules, SCIP_Bool copydisplays, SCIP_Bool copydialogs, SCIP_Bool copytables, SCIP_Bool copyexprhdlrs, SCIP_Bool copynlpis, SCIP_Bool *allvalid)
Definition set.c:858
SCIP_RETCODE SCIPsetIncludeDisp(SCIP_SET *set, SCIP_DISP *disp)
Definition set.c:4935
SCIP_RETCODE SCIPsetSetLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Longint value)
Definition set.c:3348
void SCIPsetSortRelaxs(SCIP_SET *set)
Definition set.c:4196
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:3032
SCIP_Bool SCIPsetIsSumLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6466
void SCIPsetPrintDebugMessage(SCIP_SET *set, const char *sourcefile, int sourceline, const char *formatstr,...)
Definition set.c:7332
SCIP_Bool SCIPsetIsDualfeasNegative(SCIP_SET *set, SCIP_Real val)
Definition set.c:6940
SCIP_CONCSOLVERTYPE * SCIPsetFindConcsolverType(SCIP_SET *set, const char *name)
Definition set.c:4515
SCIP_RETCODE SCIPsetSetVerbLevel(SCIP_SET *set, SCIP_VERBLEVEL verblevel)
Definition set.c:5791
SCIP_RETCODE SCIPsetGetBoolParam(SCIP_SET *set, const char *name, SCIP_Bool *value)
Definition set.c:3123
SCIP_CONSHDLR * SCIPsetFindConshdlr(SCIP_SET *set, const char *name)
Definition set.c:3985
SCIP_Real SCIPsetDualfeastol(SCIP_SET *set)
Definition set.c:6116
void SCIPsetSortComprs(SCIP_SET *set)
Definition set.c:4699
SCIP_RETCODE SCIPsetIncludeConcsolver(SCIP_SET *set, SCIP_CONCSOLVER *concsolver)
Definition set.c:4535
SCIP_Real SCIPsetEpsilon(SCIP_SET *set)
Definition set.c:6086
SCIP_RETCODE SCIPsetChgParamFixed(SCIP_SET *set, const char *name, SCIP_Bool fixed)
Definition set.c:3207
SCIP_BENDERS * SCIPsetFindBenders(SCIP_SET *set, const char *name)
Definition set.c:3796
SCIP_Bool SCIPsetIsSumRelEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7186
SCIP_CUTSEL * SCIPsetFindCutsel(SCIP_SET *set, const char *name)
Definition set.c:4324
SCIP_RETCODE SCIPsetIncludeExprhdlr(SCIP_SET *set, SCIP_EXPRHDLR *exprhdlr)
Definition set.c:5076
void SCIPsetSortComprsName(SCIP_SET *set)
Definition set.c:4714
SCIP_RETCODE SCIPsetExitprePlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5516
SCIP_Bool SCIPsetIsSumGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6502
void SCIPsetSortPricersName(SCIP_SET *set)
Definition set.c:3758
SCIP_RETCODE SCIPsetChgRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Real value)
Definition set.c:3363
SCIP_Bool SCIPsetIsEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6221
SCIP_Bool SCIPsetIsFeasZero(SCIP_SET *set, SCIP_Real val)
Definition set.c:6707
SCIP_RETCODE SCIPsetChgBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Bool value)
Definition set.c:3221
SCIP_Bool SCIPsetIsSumNegative(SCIP_SET *set, SCIP_Real val)
Definition set.c:6542
SCIP_STAGE SCIPsetGetStage(SCIP_SET *set)
Definition set.c:2952
SCIP_Bool SCIPsetIsSumLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6448
SCIP_RETCODE SCIPsetIncludeProp(SCIP_SET *set, SCIP_PROP *prop)
Definition set.c:4358
SCIP_RETCODE SCIPsetIncludeCutsel(SCIP_SET *set, SCIP_CUTSEL *cutsel)
Definition set.c:4300
SCIP_Real SCIPsetGetSepaMaxCoefRatioRowprep(SCIP_SET *set)
Definition set.c:5931
SCIP_Bool SCIPsetIsFeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6619
SCIP_RETCODE SCIPsetIncludeConshdlr(SCIP_SET *set, SCIP_CONSHDLR *conshdlr)
Definition set.c:3846
void SCIPsetSortPricers(SCIP_SET *set)
Definition set.c:3743
SCIP_Real SCIPsetFrac(SCIP_SET *set, SCIP_Real val)
Definition set.c:6419
SCIP_RETCODE SCIPsetSetCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, char value)
Definition set.c:3424
SCIP_RETCODE SCIPsetSetSubscipsOff(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_Bool quiet)
Definition set.c:3572
SCIP_Bool SCIPsetIsUbBetter(SCIP_SET *set, SCIP_Real newub, SCIP_Real oldlb, SCIP_Real oldub)
Definition set.c:7043
void SCIPsetSortSepas(SCIP_SET *set)
Definition set.c:4270
void SCIPsetReinsertConshdlrSepaPrio(SCIP_SET *set, SCIP_CONSHDLR *conshdlr, int oldpriority)
Definition set.c:3902
SCIP_RETCODE SCIPsetIncludeHeur(SCIP_SET *set, SCIP_HEUR *heur)
Definition set.c:4581
SCIP_Real SCIPsetLPFeastolFactor(SCIP_SET *set)
Definition set.c:6126
SCIP_Real SCIPsetInfinity(SCIP_SET *set)
Definition set.c:6064
SCIP_RETCODE SCIPsetGetIntParam(SCIP_SET *set, const char *name, int *value)
Definition set.c:3137
SCIP_RETCODE SCIPsetIncludeEventhdlr(SCIP_SET *set, SCIP_EVENTHDLR *eventhdlr)
Definition set.c:4729
void SCIPsetSortProps(SCIP_SET *set)
Definition set.c:4405
SCIP_RETCODE SCIPsetCreate(SCIP_SET **set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, SCIP *scip)
Definition set.c:1101
SCIP_Real SCIPsetSumepsilon(SCIP_SET *set)
Definition set.c:6096
SCIP_RETCODE SCIPsetSetPresolving(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition set.c:3607
SCIP_Bool SCIPsetIsLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6239
SCIP_Bool SCIPsetIsInfinity(SCIP_SET *set, SCIP_Real val)
Definition set.c:6199
SCIP_RETCODE SCIPsetGetRealParam(SCIP_SET *set, const char *name, SCIP_Real *value)
Definition set.c:3165
void SCIPsetSortHeurs(SCIP_SET *set)
Definition set.c:4625
SCIP_Bool SCIPsetIsSumZero(SCIP_SET *set, SCIP_Real val)
Definition set.c:6520
SCIP_RETCODE SCIPsetIncludePresol(SCIP_SET *set, SCIP_PRESOL *presol)
Definition set.c:4079
SCIP_Real SCIPsetDualfeasRound(SCIP_SET *set, SCIP_Real val)
Definition set.c:6997
SCIP_RETCODE SCIPsetChgStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, const char *value)
Definition set.c:3439
SCIP_Bool SCIPsetIsDualfeasIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6951
SCIP_Bool SCIPsetIsRelGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7164
SCIP_RETCODE SCIPsetIncludeNodesel(SCIP_SET *set, SCIP_NODESEL *nodesel)
Definition set.c:4772
SCIP_SEPA * SCIPsetFindSepa(SCIP_SET *set, const char *name)
Definition set.c:4250
SCIP_RETCODE SCIPsetIncludeCompr(SCIP_SET *set, SCIP_COMPR *compr)
Definition set.c:4655
int SCIPsetCalcPathGrowSize(SCIP_SET *set, int num)
Definition set.c:5782
SCIP_Bool SCIPsetIsDualfeasPositive(SCIP_SET *set, SCIP_Real val)
Definition set.c:6929
void SCIPsetSortHeursName(SCIP_SET *set)
Definition set.c:4640
SCIP_RETCODE SCIPsetChgCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, char value)
Definition set.c:3401
void SCIPsetSortNlpis(SCIP_SET *set)
Definition set.c:5185
SCIP_NLPI * SCIPsetFindNlpi(SCIP_SET *set, const char *name)
Definition set.c:5165
SCIP_RETCODE SCIPsetResetParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition set.c:3534
void SCIPsetSortBenders(SCIP_SET *set)
Definition set.c:3816
void SCIPsetSortExprhdlrs(SCIP_SET *set)
Definition set.c:5128
SCIP_Real SCIPsetGetSepaMaxcutsGenFactor(SCIP_SET *set, SCIP_Bool root)
Definition set.c:5903
SCIP_Bool SCIPsetIsDualfeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6808
void SCIPsetEnableOrDisablePluginClocks(SCIP_SET *set, SCIP_Bool enabled)
Definition set.c:795
int SCIPsetGetNParams(SCIP_SET *set)
Definition set.c:3648
SCIP_Bool SCIPsetIsDualfeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6874
SCIP_Bool SCIPsetIsSumRelLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7208
SCIP_PARAM * SCIPsetGetParam(SCIP_SET *set, const char *name)
Definition set.c:3112
SCIP_Bool SCIPsetIsRelGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7142
SCIP_RETCODE SCIPsetExitsolPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat, SCIP_Bool restart)
Definition set.c:5663
SCIP_Bool SCIPsetIsGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6275
void SCIPsetSortSepasName(SCIP_SET *set)
Definition set.c:4285
SCIP_Bool SCIPsetIsSumEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6430
SCIP_RETCODE SCIPsetChgIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, int value)
Definition set.c:3273
SCIP_PROP * SCIPsetFindProp(SCIP_SET *set, const char *name)
Definition set.c:4385
SCIP_CONFLICTHDLR * SCIPsetFindConflicthdlr(SCIP_SET *set, const char *name)
Definition set.c:4029
SCIP_Bool SCIPsetIsIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6344
SCIP_Real SCIPsetDualfeasFrac(SCIP_SET *set, SCIP_Real val)
Definition set.c:7008
SCIP_Bool SCIPsetIsZero(SCIP_SET *set, SCIP_Real val)
Definition set.c:6311
SCIP_Bool SCIPsetIsUpdateUnreliable(SCIP_SET *set, SCIP_Real newvalue, SCIP_Real oldvalue)
Definition set.c:7316
SCIP_Real SCIPsetDualfeasFloor(SCIP_SET *set, SCIP_Real val)
Definition set.c:6975
SCIP_RETCODE SCIPsetSetBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Bool value)
Definition set.c:3243
SCIP_Bool SCIPsetIsFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6373
SCIP_RETCODE SCIPsetIncludeNlpi(SCIP_SET *set, SCIP_NLPI *nlpi)
Definition set.c:5142
int SCIPsetGetPriceMaxvars(SCIP_SET *set, SCIP_Bool root)
Definition set.c:5889
SCIP_Real SCIPsetPseudocostdelta(SCIP_SET *set)
Definition set.c:6154
SCIP_Real SCIPsetSumCeil(SCIP_SET *set, SCIP_Real val)
Definition set.c:6564
SCIP_Real SCIPsetSumFrac(SCIP_SET *set, SCIP_Real val)
Definition set.c:6586
SCIP_Real SCIPsetFeasFrac(SCIP_SET *set, SCIP_Real val)
Definition set.c:6797
SCIP_RETCODE SCIPsetSetParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, const char *value)
Definition set.c:3477
SCIP_Real SCIPsetCutoffbounddelta(SCIP_SET *set)
Definition set.c:6164
SCIP_DEBUGSOLDATA * SCIPsetGetDebugSolData(SCIP_SET *set)
Definition set.c:5956
SCIP_RETCODE SCIPsetExitPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5366
SCIP_Bool SCIPsetIsSumRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7230
SCIP_BRANCHRULE * SCIPsetFindBranchrule(SCIP_SET *set, const char *name)
Definition set.c:4885
SCIP_Bool SCIPsetIsDualfeasGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6896
SCIP_Real SCIPsetGetReferencevalue(SCIP_SET *set)
Definition set.c:5945
SCIP_READER * SCIPsetFindReader(SCIP_SET *set, const char *name)
Definition set.c:3680
SCIP_Real SCIPsetRecompfac(SCIP_SET *set)
Definition set.c:6189
SCIP_Bool SCIPsetIsFeasGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6685
SCIP_RETCODE SCIPsetIncludeDialog(SCIP_SET *set, SCIP_DIALOG *dialog)
Definition set.c:5032
void SCIPsetSortBendersName(SCIP_SET *set)
Definition set.c:3831
SCIP_EVENTHDLR * SCIPsetFindEventhdlr(SCIP_SET *set, const char *name)
Definition set.c:4752
SCIP_RETCODE SCIPsetInitprePlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5478
SCIP_Real SCIPsetGetHugeValue(SCIP_SET *set)
Definition set.c:6076
SCIP_Bool SCIPsetIsRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7120
SCIP_RETCODE SCIPsetReadParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename)
Definition set.c:3492
void SCIPsetSortConflicthdlrs(SCIP_SET *set)
Definition set.c:4049
void SCIPsetSetLimitChanged(SCIP_SET *set)
Definition set.c:5879
SCIP_Real SCIPsetBarrierconvtol(SCIP_SET *set)
Definition set.c:6134
SCIP_RETCODE SCIPsetFree(SCIP_SET **set, BMS_BLKMEM *blkmem)
Definition set.c:2757
SCIP_PRESOL * SCIPsetFindPresol(SCIP_SET *set, const char *name)
Definition set.c:4102
SCIP_RETCODE SCIPsetSetEmphasis(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMEMPHASIS paramemphasis, SCIP_Bool quiet)
Definition set.c:3557
SCIP_Real SCIPsetRound(SCIP_SET *set, SCIP_Real val)
Definition set.c:6408
SCIP_RETCODE SCIPsetCopyParams(SCIP_SET *sourceset, SCIP_SET *targetset, SCIP_MESSAGEHDLR *messagehdlr)
Definition set.c:1084
SCIP_Bool SCIPsetIsSumPositive(SCIP_SET *set, SCIP_Real val)
Definition set.c:6531
int SCIPsetCalcMemGrowSize(SCIP_SET *set, int num)
Definition set.c:5764
SCIP_RETCODE SCIPsetIncludeExternalCode(SCIP_SET *set, const char *name, const char *description)
Definition set.c:5213
SCIP_RETCODE SCIPsetChgLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Longint value)
Definition set.c:3325
SCIP_NODESEL * SCIPsetGetNodesel(SCIP_SET *set, SCIP_STAT *stat)
Definition set.c:4823
SCIP_Bool SCIPsetIsFeasIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6740
SCIP_Bool SCIPsetIsNegative(SCIP_SET *set, SCIP_Real val)
Definition set.c:6333
unsigned int SCIPsetInitializeRandomSeed(SCIP_SET *set, unsigned int initialseedvalue)
Definition set.c:7393
void SCIPsetSetPriorityNlpi(SCIP_SET *set, SCIP_NLPI *nlpi, int priority)
Definition set.c:5199
SCIP_BANDITVTABLE * SCIPsetFindBanditvtable(SCIP_SET *set, const char *name)
Definition set.c:4472
datastructures for global SCIP settings
type definitions for bandit selection algorithms
struct SCIP_BanditVTable SCIP_BANDITVTABLE
Definition type_bandit.h:53
type definitions for Benders' decomposition methods
struct SCIP_Benders SCIP_BENDERS
type definitions for branching rules
struct SCIP_Branchrule SCIP_BRANCHRULE
Definition type_branch.h:56
type definitions for clocks and timing issues
type definitions for tree compression
struct SCIP_Compr SCIP_COMPR
Definition type_compr.h:48
struct SCIP_ConcSolver SCIP_CONCSOLVER
struct SCIP_ConcSolverType SCIP_CONCSOLVERTYPE
type definitions for conflict analysis
struct SCIP_Conflicthdlr SCIP_CONFLICTHDLR
type definitions for constraints and constraint handlers
struct SCIP_Conshdlr SCIP_CONSHDLR
Definition type_cons.h:62
struct SCIP_Cutsel SCIP_CUTSEL
Definition type_cutsel.h:52
struct SCIP_Dialog SCIP_DIALOG
Definition type_dialog.h:50
type definitions for displaying runtime statistics
struct SCIP_Disp SCIP_DISP
Definition type_disp.h:75
type definitions for managing events
struct SCIP_Eventhdlr SCIP_EVENTHDLR
Definition type_event.h:154
struct SCIP_Exprhdlr SCIP_EXPRHDLR
Definition type_expr.h:194
type definitions for primal heuristics
struct SCIP_Heur SCIP_HEUR
Definition type_heur.h:76
struct SCIP_Lp SCIP_LP
Definition type_lp.h:110
enum SCIP_VerbLevel SCIP_VERBLEVEL
struct SCIP_Messagehdlr SCIP_MESSAGEHDLR
struct SCIP_Nlpi SCIP_NLPI
Definition type_nlpi.h:51
type definitions for node selectors
struct SCIP_Nodesel SCIP_NODESEL
type definitions for handling parameter settings
struct SCIP_Param SCIP_PARAM
enum SCIP_ParamSetting SCIP_PARAMSETTING
struct SCIP_ParamData SCIP_PARAMDATA
enum SCIP_ParamEmphasis SCIP_PARAMEMPHASIS
#define SCIP_DECL_PARAMCHGD(x)
type definitions for presolvers
struct SCIP_Presol SCIP_PRESOL
Definition type_presol.h:50
type definitions for variable pricers
struct SCIP_Pricer SCIP_PRICER
Definition type_pricer.h:44
type definitions for propagators
struct SCIP_Prop SCIP_PROP
Definition type_prop.h:51
type definitions for input file readers
struct SCIP_Reader SCIP_READER
Definition type_reader.h:52
type definitions for relaxators
struct SCIP_Relax SCIP_RELAX
Definition type_relax.h:45
enum SCIP_Retcode SCIP_RETCODE
type definitions for SCIP's main datastructure
struct Scip SCIP
Definition type_scip.h:39
type definitions for separators
struct SCIP_Sepa SCIP_SEPA
Definition type_sepa.h:51
type definitions for global SCIP settings
struct SCIP_Set SCIP_SET
Definition type_set.h:71
enum SCIP_Stage SCIP_STAGE
Definition type_set.h:59
type definitions for problem statistics
struct SCIP_Stat SCIP_STAT
Definition type_stat.h:69
type definitions for displaying statistics tables
struct SCIP_Table SCIP_TABLE
Definition type_table.h:57