Scippy

SCIP

Solving Constraint Integer Programs

set.h
Go to the documentation of this file.
1/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2/* */
3/* This file is part of the program and library */
4/* SCIP --- Solving Constraint Integer Programs */
5/* */
6/* Copyright (c) 2002-2024 Zuse Institute Berlin (ZIB) */
7/* */
8/* Licensed under the Apache License, Version 2.0 (the "License"); */
9/* you may not use this file except in compliance with the License. */
10/* You may obtain a copy of the License at */
11/* */
12/* http://www.apache.org/licenses/LICENSE-2.0 */
13/* */
14/* Unless required by applicable law or agreed to in writing, software */
15/* distributed under the License is distributed on an "AS IS" BASIS, */
16/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
17/* See the License for the specific language governing permissions and */
18/* limitations under the License. */
19/* */
20/* You should have received a copy of the Apache-2.0 license */
21/* along with SCIP; see the file LICENSE. If not visit scipopt.org. */
22/* */
23/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
24
25/**@file set.h
26 * @ingroup INTERNALAPI
27 * @brief internal methods for global SCIP settings
28 * @author Tobias Achterberg
29 * @author Timo Berthold
30 */
31
32/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
33
34#ifndef __SCIP_SET_H__
35#define __SCIP_SET_H__
36
37
38#include "scip/def.h"
40#include "scip/type_bandit.h"
41#include "scip/type_set.h"
42#include "scip/type_stat.h"
43#include "scip/type_clock.h"
44#include "scip/type_paramset.h"
45#include "scip/type_event.h"
46#include "scip/type_scip.h"
47#include "scip/type_branch.h"
48#include "scip/type_conflict.h"
49#include "scip/type_cons.h"
50#include "scip/type_disp.h"
51#include "scip/type_heur.h"
52#include "scip/type_compr.h"
53#include "scip/type_nodesel.h"
54#include "scip/type_presol.h"
55#include "scip/type_pricer.h"
56#include "scip/type_reader.h"
57#include "scip/type_relax.h"
58#include "scip/type_sepa.h"
59#include "scip/type_table.h"
60#include "scip/type_prop.h"
61#include "scip/type_benders.h"
62#include "scip/struct_set.h"
63
64
65#ifdef NDEBUG
66#include "scip/pub_misc.h"
67#endif
68
69#ifdef __cplusplus
70extern "C" {
71#endif
72
73/** copies plugins from sourcescip to targetscip; in case that a constraint handler which does not need constraints
74 * cannot be copied, valid will return FALSE. All plugins can declare that, if their copy process failed, the
75 * copied SCIP instance might not represent the same problem semantics as the original.
76 * Note that in this case dual reductions might be invalid. */
78 SCIP_SET* sourceset, /**< source SCIP_SET data structure */
79 SCIP_SET* targetset, /**< target SCIP_SET data structure */
80 SCIP_Bool copyreaders, /**< should the file readers be copied */
81 SCIP_Bool copypricers, /**< should the variable pricers be copied */
82 SCIP_Bool copyconshdlrs, /**< should the constraint handlers be copied */
83 SCIP_Bool copyconflicthdlrs, /**< should the conflict handlers be copied */
84 SCIP_Bool copypresolvers, /**< should the presolvers be copied */
85 SCIP_Bool copyrelaxators, /**< should the relaxators be copied */
86 SCIP_Bool copyseparators, /**< should the separators be copied */
87 SCIP_Bool copycutselectors, /**< should the cut selectors be copied */
88 SCIP_Bool copypropagators, /**< should the propagators be copied */
89 SCIP_Bool copyheuristics, /**< should the heuristics be copied */
90 SCIP_Bool copyeventhdlrs, /**< should the event handlers be copied */
91 SCIP_Bool copynodeselectors, /**< should the node selectors be copied */
92 SCIP_Bool copybranchrules, /**< should the branchrules be copied */
93 SCIP_Bool copydisplays, /**< should the display columns be copied */
94 SCIP_Bool copydialogs, /**< should the dialogs be copied */
95 SCIP_Bool copytables, /**< should the statistics tables be copied */
96 SCIP_Bool copyexprhdlrs, /**< should the expression handlers be copied */
97 SCIP_Bool copynlpis, /**< should the NLP interfaces be copied */
98 SCIP_Bool* allvalid /**< pointer to store whether all plugins were validly copied */
99 );
100
101/** copies parameters from sourcescip to targetscip */
103 SCIP_SET* sourceset, /**< source SCIP_SET data structure */
104 SCIP_SET* targetset, /**< target SCIP_SET data structure */
105 SCIP_MESSAGEHDLR* messagehdlr /**< message handler of target SCIP */
106 );
107
108/** creates global SCIP settings */
110 SCIP_SET** set, /**< pointer to SCIP settings */
111 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
112 BMS_BLKMEM* blkmem, /**< block memory */
113 SCIP* scip /**< SCIP data structure */
114 );
115
116/** frees global SCIP settings */
118 SCIP_SET** set, /**< pointer to SCIP settings */
119 BMS_BLKMEM* blkmem /**< block memory */
120 );
121
122/** returns current stage of SCIP */
124 SCIP_SET* set /**< pointer to SCIP settings */
125 );
126
127/** creates a SCIP_Bool parameter, sets it to its default value, and adds it to the parameter set */
129 SCIP_SET* set, /**< global SCIP settings */
130 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
131 BMS_BLKMEM* blkmem, /**< block memory */
132 const char* name, /**< name of the parameter */
133 const char* desc, /**< description of the parameter */
134 SCIP_Bool* valueptr, /**< pointer to store the current parameter value, or NULL */
135 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
136 SCIP_Bool defaultvalue, /**< default value of the parameter */
137 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
138 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
139 );
140
141/** creates a int parameter, sets it to its default value, and adds it to the parameter set */
143 SCIP_SET* set, /**< global SCIP settings */
144 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
145 BMS_BLKMEM* blkmem, /**< block memory */
146 const char* name, /**< name of the parameter */
147 const char* desc, /**< description of the parameter */
148 int* valueptr, /**< pointer to store the current parameter value, or NULL */
149 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
150 int defaultvalue, /**< default value of the parameter */
151 int minvalue, /**< minimum value for parameter */
152 int maxvalue, /**< maximum value for parameter */
153 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
154 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
155 );
156
157/** creates a SCIP_Longint parameter, sets it to its default value, and adds it to the parameter set */
159 SCIP_SET* set, /**< global SCIP settings */
160 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
161 BMS_BLKMEM* blkmem, /**< block memory */
162 const char* name, /**< name of the parameter */
163 const char* desc, /**< description of the parameter */
164 SCIP_Longint* valueptr, /**< pointer to store the current parameter value, or NULL */
165 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
166 SCIP_Longint defaultvalue, /**< default value of the parameter */
167 SCIP_Longint minvalue, /**< minimum value for parameter */
168 SCIP_Longint maxvalue, /**< maximum value for parameter */
169 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
170 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
171 );
172
173/** creates a SCIP_Real parameter, sets it to its default value, and adds it to the parameter set */
175 SCIP_SET* set, /**< global SCIP settings */
176 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
177 BMS_BLKMEM* blkmem, /**< block memory */
178 const char* name, /**< name of the parameter */
179 const char* desc, /**< description of the parameter */
180 SCIP_Real* valueptr, /**< pointer to store the current parameter value, or NULL */
181 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
182 SCIP_Real defaultvalue, /**< default value of the parameter */
183 SCIP_Real minvalue, /**< minimum value for parameter */
184 SCIP_Real maxvalue, /**< maximum value for parameter */
185 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
186 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
187 );
188
189/** creates a char parameter, sets it to its default value, and adds it to the parameter set */
191 SCIP_SET* set, /**< global SCIP settings */
192 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
193 BMS_BLKMEM* blkmem, /**< block memory */
194 const char* name, /**< name of the parameter */
195 const char* desc, /**< description of the parameter */
196 char* valueptr, /**< pointer to store the current parameter value, or NULL */
197 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
198 char defaultvalue, /**< default value of the parameter */
199 const char* allowedvalues, /**< array with possible parameter values, or NULL if not restricted */
200 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
201 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
202 );
203
204/** creates a string parameter, sets it to its default value, and adds it to the parameter set */
206 SCIP_SET* set, /**< global SCIP settings */
207 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
208 BMS_BLKMEM* blkmem, /**< block memory */
209 const char* name, /**< name of the parameter */
210 const char* desc, /**< description of the parameter */
211 char** valueptr, /**< pointer to store the current parameter value, or NULL */
212 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
213 const char* defaultvalue, /**< default value of the parameter */
214 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
215 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
216 );
217
218/** gets the fixing status value of an existing parameter */
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
Definition: heur_padm.c:135
type definitions for bandit selection algorithms
type definitions for Benders' decomposition methods
type definitions for branching rules
type definitions for clocks and timing issues
type definitions for tree compression
type definitions for conflict analysis
type definitions for constraints and constraint handlers
type definitions for displaying runtime statistics
type definitions for managing events
type definitions for primal heuristics
enum SCIP_VerbLevel SCIP_VERBLEVEL
Definition: type_message.h:59
type definitions for node selectors
type definitions for handling parameter settings
enum SCIP_ParamSetting SCIP_PARAMSETTING
Definition: type_paramset.h:65
struct SCIP_ParamData SCIP_PARAMDATA
Definition: type_paramset.h:87
enum SCIP_ParamEmphasis SCIP_PARAMEMPHASIS
Definition: type_paramset.h:84
#define SCIP_DECL_PARAMCHGD(x)
type definitions for presolvers
type definitions for variable pricers
type definitions for propagators
type definitions for input file readers
type definitions for relaxators
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:63
type definitions for SCIP's main datastructure
type definitions for separators
type definitions for global SCIP settings
enum SCIP_Stage SCIP_STAGE
Definition: type_set.h:59
type definitions for problem statistics
type definitions for displaying statistics tables