SCIP Doxygen Documentation
 
Loading...
Searching...
No Matches
set.h
Go to the documentation of this file.
1/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2/* */
3/* This file is part of the program and library */
4/* SCIP --- Solving Constraint Integer Programs */
5/* */
6/* Copyright (c) 2002-2023 Zuse Institute Berlin (ZIB) */
7/* */
8/* Licensed under the Apache License, Version 2.0 (the "License"); */
9/* you may not use this file except in compliance with the License. */
10/* You may obtain a copy of the License at */
11/* */
12/* http://www.apache.org/licenses/LICENSE-2.0 */
13/* */
14/* Unless required by applicable law or agreed to in writing, software */
15/* distributed under the License is distributed on an "AS IS" BASIS, */
16/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
17/* See the License for the specific language governing permissions and */
18/* limitations under the License. */
19/* */
20/* You should have received a copy of the Apache-2.0 license */
21/* along with SCIP; see the file LICENSE. If not visit scipopt.org. */
22/* */
23/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
24
25/**@file set.h
26 * @ingroup INTERNALAPI
27 * @brief internal methods for global SCIP settings
28 * @author Tobias Achterberg
29 * @author Timo Berthold
30 */
31
32/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
33
34#ifndef __SCIP_SET_H__
35#define __SCIP_SET_H__
36
37
38#include "scip/def.h"
40#include "scip/type_bandit.h"
41#include "scip/type_set.h"
42#include "scip/type_stat.h"
43#include "scip/type_clock.h"
44#include "scip/type_paramset.h"
45#include "scip/type_event.h"
46#include "scip/type_scip.h"
47#include "scip/type_branch.h"
48#include "scip/type_conflict.h"
49#include "scip/type_cons.h"
50#include "scip/type_disp.h"
51#include "scip/type_heur.h"
52#include "scip/type_compr.h"
53#include "scip/type_nodesel.h"
54#include "scip/type_presol.h"
55#include "scip/type_pricer.h"
56#include "scip/type_reader.h"
57#include "scip/type_relax.h"
58#include "scip/type_sepa.h"
59#include "scip/type_table.h"
60#include "scip/type_prop.h"
61#include "scip/type_benders.h"
62#include "scip/struct_set.h"
63
64
65#ifdef NDEBUG
66#include "scip/pub_misc.h"
67#endif
68
69#ifdef __cplusplus
70extern "C" {
71#endif
72
73/** copies plugins from sourcescip to targetscip; in case that a constraint handler which does not need constraints
74 * cannot be copied, valid will return FALSE. All plugins can declare that, if their copy process failed, the
75 * copied SCIP instance might not represent the same problem semantics as the original.
76 * Note that in this case dual reductions might be invalid. */
78 SCIP_SET* sourceset, /**< source SCIP_SET data structure */
79 SCIP_SET* targetset, /**< target SCIP_SET data structure */
80 SCIP_Bool copyreaders, /**< should the file readers be copied */
81 SCIP_Bool copypricers, /**< should the variable pricers be copied */
82 SCIP_Bool copyconshdlrs, /**< should the constraint handlers be copied */
83 SCIP_Bool copyconflicthdlrs, /**< should the conflict handlers be copied */
84 SCIP_Bool copypresolvers, /**< should the presolvers be copied */
85 SCIP_Bool copyrelaxators, /**< should the relaxators be copied */
86 SCIP_Bool copyseparators, /**< should the separators be copied */
87 SCIP_Bool copycutselectors, /**< should the cut selectors be copied */
88 SCIP_Bool copypropagators, /**< should the propagators be copied */
89 SCIP_Bool copyheuristics, /**< should the heuristics be copied */
90 SCIP_Bool copyeventhdlrs, /**< should the event handlers be copied */
91 SCIP_Bool copynodeselectors, /**< should the node selectors be copied */
92 SCIP_Bool copybranchrules, /**< should the branchrules be copied */
93 SCIP_Bool copydisplays, /**< should the display columns be copied */
94 SCIP_Bool copydialogs, /**< should the dialogs be copied */
95 SCIP_Bool copytables, /**< should the statistics tables be copied */
96 SCIP_Bool copyexprhdlrs, /**< should the expression handlers be copied */
97 SCIP_Bool copynlpis, /**< should the NLP interfaces be copied */
98 SCIP_Bool* allvalid /**< pointer to store whether all plugins were validly copied */
99 );
100
101/** copies parameters from sourcescip to targetscip */
103 SCIP_SET* sourceset, /**< source SCIP_SET data structure */
104 SCIP_SET* targetset, /**< target SCIP_SET data structure */
105 SCIP_MESSAGEHDLR* messagehdlr /**< message handler of target SCIP */
106 );
107
108/** creates global SCIP settings */
110 SCIP_SET** set, /**< pointer to SCIP settings */
111 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
112 BMS_BLKMEM* blkmem, /**< block memory */
113 SCIP* scip /**< SCIP data structure */
114 );
115
116/** frees global SCIP settings */
118 SCIP_SET** set, /**< pointer to SCIP settings */
119 BMS_BLKMEM* blkmem /**< block memory */
120 );
121
122/** returns current stage of SCIP */
124 SCIP_SET* set /**< pointer to SCIP settings */
125 );
126
127/** creates a SCIP_Bool parameter, sets it to its default value, and adds it to the parameter set */
129 SCIP_SET* set, /**< global SCIP settings */
130 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
131 BMS_BLKMEM* blkmem, /**< block memory */
132 const char* name, /**< name of the parameter */
133 const char* desc, /**< description of the parameter */
134 SCIP_Bool* valueptr, /**< pointer to store the current parameter value, or NULL */
135 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
136 SCIP_Bool defaultvalue, /**< default value of the parameter */
137 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
138 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
139 );
140
141/** creates a int parameter, sets it to its default value, and adds it to the parameter set */
143 SCIP_SET* set, /**< global SCIP settings */
144 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
145 BMS_BLKMEM* blkmem, /**< block memory */
146 const char* name, /**< name of the parameter */
147 const char* desc, /**< description of the parameter */
148 int* valueptr, /**< pointer to store the current parameter value, or NULL */
149 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
150 int defaultvalue, /**< default value of the parameter */
151 int minvalue, /**< minimum value for parameter */
152 int maxvalue, /**< maximum value for parameter */
153 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
154 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
155 );
156
157/** creates a SCIP_Longint parameter, sets it to its default value, and adds it to the parameter set */
159 SCIP_SET* set, /**< global SCIP settings */
160 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
161 BMS_BLKMEM* blkmem, /**< block memory */
162 const char* name, /**< name of the parameter */
163 const char* desc, /**< description of the parameter */
164 SCIP_Longint* valueptr, /**< pointer to store the current parameter value, or NULL */
165 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
166 SCIP_Longint defaultvalue, /**< default value of the parameter */
167 SCIP_Longint minvalue, /**< minimum value for parameter */
168 SCIP_Longint maxvalue, /**< maximum value for parameter */
169 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
170 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
171 );
172
173/** creates a SCIP_Real parameter, sets it to its default value, and adds it to the parameter set */
175 SCIP_SET* set, /**< global SCIP settings */
176 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
177 BMS_BLKMEM* blkmem, /**< block memory */
178 const char* name, /**< name of the parameter */
179 const char* desc, /**< description of the parameter */
180 SCIP_Real* valueptr, /**< pointer to store the current parameter value, or NULL */
181 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
182 SCIP_Real defaultvalue, /**< default value of the parameter */
183 SCIP_Real minvalue, /**< minimum value for parameter */
184 SCIP_Real maxvalue, /**< maximum value for parameter */
185 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
186 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
187 );
188
189/** creates a char parameter, sets it to its default value, and adds it to the parameter set */
191 SCIP_SET* set, /**< global SCIP settings */
192 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
193 BMS_BLKMEM* blkmem, /**< block memory */
194 const char* name, /**< name of the parameter */
195 const char* desc, /**< description of the parameter */
196 char* valueptr, /**< pointer to store the current parameter value, or NULL */
197 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
198 char defaultvalue, /**< default value of the parameter */
199 const char* allowedvalues, /**< array with possible parameter values, or NULL if not restricted */
200 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
201 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
202 );
203
204/** creates a string parameter, sets it to its default value, and adds it to the parameter set */
206 SCIP_SET* set, /**< global SCIP settings */
207 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
208 BMS_BLKMEM* blkmem, /**< block memory */
209 const char* name, /**< name of the parameter */
210 const char* desc, /**< description of the parameter */
211 char** valueptr, /**< pointer to store the current parameter value, or NULL */
212 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
213 const char* defaultvalue, /**< default value of the parameter */
214 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
215 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
216 );
217
218/** gets the fixing status value of an existing parameter */
219SCIP_Bool SCIPsetIsParamFixed(
220 SCIP_SET* set, /**< global SCIP settings */
221 const char* name /**< name of the parameter */
222 );
223
224/** returns the pointer to the SCIP parameter with the given name */
226 SCIP_SET* set, /**< global SCIP settings */
227 const char* name /**< name of the parameter */
228 );
229
230/** gets the value of an existing SCIP_Bool parameter */
232 SCIP_SET* set, /**< global SCIP settings */
233 const char* name, /**< name of the parameter */
234 SCIP_Bool* value /**< pointer to store the parameter */
235 );
236
237/** gets the value of an existing Int parameter */
239 SCIP_SET* set, /**< global SCIP settings */
240 const char* name, /**< name of the parameter */
241 int* value /**< pointer to store the parameter */
242 );
243
244/** gets the value of an existing SCIP_Longint parameter */
246 SCIP_SET* set, /**< global SCIP settings */
247 const char* name, /**< name of the parameter */
248 SCIP_Longint* value /**< pointer to store the parameter */
249 );
250
251/** gets the value of an existing SCIP_Real parameter */
253 SCIP_SET* set, /**< global SCIP settings */
254 const char* name, /**< name of the parameter */
255 SCIP_Real* value /**< pointer to store the parameter */
256 );
257
258/** gets the value of an existing Char parameter */
260 SCIP_SET* set, /**< global SCIP settings */
261 const char* name, /**< name of the parameter */
262 char* value /**< pointer to store the parameter */
263 );
264
265/** gets the value of an existing String parameter */
267 SCIP_SET* set, /**< global SCIP settings */
268 const char* name, /**< name of the parameter */
269 char** value /**< pointer to store the parameter */
270 );
271
272/** changes the fixing status of an existing parameter */
274 SCIP_SET* set, /**< global SCIP settings */
275 const char* name, /**< name of the parameter */
276 SCIP_Bool fixed /**< new fixing status of the parameter */
277 );
278
279/** changes the value of an existing SCIP_Bool parameter */
281 SCIP_SET* set, /**< global SCIP settings */
282 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
283 SCIP_PARAM* param, /**< parameter */
284 SCIP_Bool value /**< new value of the parameter */
285 );
286
287/** changes the value of an existing SCIP_Bool parameter */
289 SCIP_SET* set, /**< global SCIP settings */
290 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
291 const char* name, /**< name of the parameter */
292 SCIP_Bool value /**< new value of the parameter */
293 );
294
295/** changes the default value of an existing SCIP_Bool parameter */
297 SCIP_SET* set, /**< global SCIP settings */
298 const char* name, /**< name of the parameter */
299 SCIP_Bool defaultvalue /**< new default value of the parameter */
300 );
301
302/** changes the value of an existing Int parameter */
304 SCIP_SET* set, /**< global SCIP settings */
305 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
306 SCIP_PARAM* param, /**< parameter */
307 int value /**< new value of the parameter */
308 );
309
310/** changes the value of an existing Int parameter */
312 SCIP_SET* set, /**< global SCIP settings */
313 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
314 const char* name, /**< name of the parameter */
315 int value /**< new value of the parameter */
316 );
317
318/** changes the default value of an existing Int parameter */
320 SCIP_SET* set, /**< global SCIP settings */
321 const char* name, /**< name of the parameter */
322 int defaultvalue /**< new default value of the parameter */
323 );
324
325/** changes the value of an existing SCIP_Longint parameter */
327 SCIP_SET* set, /**< global SCIP settings */
328 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
329 SCIP_PARAM* param, /**< parameter */
330 SCIP_Longint value /**< new value of the parameter */
331 );
332
333/** changes the value of an existing SCIP_Longint parameter */
335 SCIP_SET* set, /**< global SCIP settings */
336 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
337 const char* name, /**< name of the parameter */
338 SCIP_Longint value /**< new value of the parameter */
339 );
340
341/** changes the value of an existing SCIP_Real parameter */
343 SCIP_SET* set, /**< global SCIP settings */
344 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
345 SCIP_PARAM* param, /**< parameter */
346 SCIP_Real value /**< new value of the parameter */
347 );
348
349/** changes the value of an existing SCIP_Real parameter */
351 SCIP_SET* set, /**< global SCIP settings */
352 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
353 const char* name, /**< name of the parameter */
354 SCIP_Real value /**< new value of the parameter */
355 );
356
357/** changes the value of an existing Char parameter */
359 SCIP_SET* set, /**< global SCIP settings */
360 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
361 SCIP_PARAM* param, /**< parameter */
362 char value /**< new value of the parameter */
363 );
364
365/** changes the value of an existing Char parameter */
367 SCIP_SET* set, /**< global SCIP settings */
368 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
369 const char* name, /**< name of the parameter */
370 char value /**< new value of the parameter */
371 );
372
373/** changes the value of an existing String parameter */
375 SCIP_SET* set, /**< global SCIP settings */
376 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
377 SCIP_PARAM* param, /**< parameter */
378 const char* value /**< new value of the parameter */
379 );
380
381/** changes the value of an existing String parameter */
383 SCIP_SET* set, /**< global SCIP settings */
384 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
385 const char* name, /**< name of the parameter */
386 const char* value /**< new value of the parameter */
387 );
388
389/** reads parameters from a file */
391 SCIP_SET* set, /**< global SCIP settings */
392 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
393 const char* filename /**< file name */
394 );
395
396/** writes all parameters in the parameter set to a file */
398 SCIP_SET* set, /**< global SCIP settings */
399 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
400 const char* filename, /**< file name, or NULL for stdout */
401 SCIP_Bool comments, /**< should parameter descriptions be written as comments? */
402 SCIP_Bool onlychanged /**< should only the parameters been written, that are changed from default? */
403 );
404
405/** resets a single parameters to its default value */
407 SCIP_SET* set, /**< global SCIP settings */
408 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
409 const char* name /**< name of the parameter */
410 );
411
412/** resets all parameters to their default values */
414 SCIP_SET* set, /**< global SCIP settings */
415 SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
416 );
417
418/** sets parameters to
419 *
420 * - \ref SCIP_PARAMEMPHASIS_DEFAULT to use default values (see also SCIPsetResetParams())
421 * - \ref SCIP_PARAMEMPHASIS_COUNTER to get feasible and "fast" counting process
422 * - \ref SCIP_PARAMEMPHASIS_CPSOLVER to get CP like search (e.g. no LP relaxation)
423 * - \ref SCIP_PARAMEMPHASIS_EASYCIP to solve easy problems fast
424 * - \ref SCIP_PARAMEMPHASIS_FEASIBILITY to detect feasibility fast
425 * - \ref SCIP_PARAMEMPHASIS_HARDLP to be capable to handle hard LPs
426 * - \ref SCIP_PARAMEMPHASIS_OPTIMALITY to prove optimality fast
427 * - \ref SCIP_PARAMEMPHASIS_PHASEFEAS to find feasible solutions during a 3 phase solution process
428 * - \ref SCIP_PARAMEMPHASIS_PHASEIMPROVE to find improved solutions during a 3 phase solution process
429 * - \ref SCIP_PARAMEMPHASIS_PHASEPROOF to proof optimality during a 3 phase solution process
430 */
432 SCIP_SET* set, /**< global SCIP settings */
433 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
434 SCIP_PARAMEMPHASIS paramemphasis, /**< parameter settings */
435 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
436 );
437
438/** set parameters for reoptimization */
440 SCIP_SET* set, /**< SCIP data structure */
441 SCIP_MESSAGEHDLR* messagehdlr /**< message handler */
442 );
443
444/** enable or disable all plugin timers depending on the value of the flag \p enabled */
446 SCIP_SET* set, /**< SCIP settings */
447 SCIP_Bool enabled /**< should plugin clocks be enabled? */
448 );
449
450/** sets parameters to deactivate separators and heuristics that use auxiliary SCIP instances; should be called for
451 * auxiliary SCIP instances to avoid recursion
452 */
454 SCIP_SET* set, /**< global SCIP settings */
455 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
456 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
457 );
458
459/** sets heuristic parameters values to
460 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all heuristic parameters
461 * - SCIP_PARAMSETTING_FAST such that the time spend for heuristic is decreased
462 * - SCIP_PARAMSETTING_AGGRESSIVE such that the heuristic are called more aggregative
463 * - SCIP_PARAMSETTING_OFF which turn off all heuristics
464 */
466 SCIP_SET* set, /**< global SCIP settings */
467 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
468 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
469 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
470 );
471
472/** sets presolving parameters to
473 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all presolving parameters
474 * - SCIP_PARAMSETTING_FAST such that the time spend for presolving is decreased
475 * - SCIP_PARAMSETTING_AGGRESSIVE such that the presolving is more aggregative
476 * - SCIP_PARAMSETTING_OFF which turn off all presolving
477 */
479 SCIP_SET* set, /**< global SCIP settings */
480 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
481 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
482 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
483 );
484
485/** sets separating parameters to
486 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all separating parameters
487 * - SCIP_PARAMSETTING_FAST such that the time spend for separating is decreased
488 * - SCIP_PARAMSETTING_AGGRESSIVE such that the separating is done more aggregative
489 * - SCIP_PARAMSETTING_OFF which turn off all separating
490 */
492 SCIP_SET* set, /**< global SCIP settings */
493 SCIP_MESSAGEHDLR* messagehdlr, /**< message handler */
494 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
495 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
496 );
497
498/** returns the array of all available SCIP parameters */
500 SCIP_SET* set /**< global SCIP settings */
501 );
502
503/** returns the total number of all available SCIP parameters */
505 SCIP_SET* set /**< global SCIP settings */
506 );
507
508/** inserts file reader in file reader list */
510 SCIP_SET* set, /**< global SCIP settings */
511 SCIP_READER* reader /**< file reader */
512 );
513
514/** returns the file reader of the given name, or NULL if not existing */
516 SCIP_SET* set, /**< global SCIP settings */
517 const char* name /**< name of file reader */
518 );
519
520/** inserts variable pricer in variable pricer list */
522 SCIP_SET* set, /**< global SCIP settings */
523 SCIP_PRICER* pricer /**< variable pricer */
524 );
525
526/** returns the variable pricer of the given name, or NULL if not existing */
528 SCIP_SET* set, /**< global SCIP settings */
529 const char* name /**< name of variable pricer */
530 );
531
532/** sorts pricers by priorities */
534 SCIP_SET* set /**< global SCIP settings */
535 );
536
537/** sorts pricers by name */
539 SCIP_SET* set /**< global SCIP settings */
540 );
541
542/** inserts Benders' decomposition into the Benders' decomposition list */
544 SCIP_SET* set, /**< global SCIP settings */
545 SCIP_BENDERS* benders /**< Benders' decomposition */
546 );
547
548/** returns the Benders' decomposition of the given name, or NULL if not existing */
550 SCIP_SET* set, /**< global SCIP settings */
551 const char* name /**< name of Benders' decomposition */
552 );
553
554/** sorts Benders' decomposition by priorities */
556 SCIP_SET* set /**< global SCIP settings */
557 );
558
559/** sorts Benders' decomposition by name */
561 SCIP_SET* set /**< global SCIP settings */
562 );
563
564/** inserts constraint handler in constraint handler list */
566 SCIP_SET* set, /**< global SCIP settings */
567 SCIP_CONSHDLR* conshdlr /**< constraint handler */
568 );
569
570/** reinserts a constraint handler with modified sepa priority into the sepa priority sorted array */
572 SCIP_SET* set, /**< global SCIP settings */
573 SCIP_CONSHDLR* conshdlr, /**< constraint handler to be reinserted */
574 int oldpriority /**< the old separation priority of constraint handler */
575 );
576
577/** returns the constraint handler of the given name, or NULL if not existing */
579 SCIP_SET* set, /**< global SCIP settings */
580 const char* name /**< name of constraint handler */
581 );
582
583/** inserts conflict handler in conflict handler list */
585 SCIP_SET* set, /**< global SCIP settings */
586 SCIP_CONFLICTHDLR* conflicthdlr /**< conflict handler */
587 );
588
589/** returns the conflict handler of the given name, or NULL if not existing */
591 SCIP_SET* set, /**< global SCIP settings */
592 const char* name /**< name of conflict handler */
593 );
594
595/** sorts conflict handlers by priorities */
597 SCIP_SET* set /**< global SCIP settings */
598 );
599
600/** sorts conflict handlers by name */
602 SCIP_SET* set /**< global SCIP settings */
603 );
604
605/** inserts presolver in presolver list */
607 SCIP_SET* set, /**< global SCIP settings */
608 SCIP_PRESOL* presol /**< presolver */
609 );
610
611/** returns the presolver of the given name, or NULL if not existing */
613 SCIP_SET* set, /**< global SCIP settings */
614 const char* name /**< name of presolver */
615 );
616
617/** sorts presolvers by priorities */
619 SCIP_SET* set /**< global SCIP settings */
620 );
621
622/** sorts presolvers by name */
624 SCIP_SET* set /**< global SCIP settings */
625 );
626
627/** inserts relaxator in relaxator list */
629 SCIP_SET* set, /**< global SCIP settings */
630 SCIP_RELAX* relax /**< relaxator */
631 );
632
633/** returns the relaxator of the given name, or NULL if not existing */
635 SCIP_SET* set, /**< global SCIP settings */
636 const char* name /**< name of relaxator */
637 );
638
639/** sorts relaxators by priorities */
641 SCIP_SET* set /**< global SCIP settings */
642 );
643
644/** sorts relaxators by name */
646 SCIP_SET* set /**< global SCIP settings */
647 );
648
649/** inserts separator in separator list */
651 SCIP_SET* set, /**< global SCIP settings */
652 SCIP_SEPA* sepa /**< separator */
653 );
654
655/** returns the separator of the given name, or NULL if not existing */
657 SCIP_SET* set, /**< global SCIP settings */
658 const char* name /**< name of separator */
659 );
660
661/** sorts separators by priorities */
663 SCIP_SET* set /**< global SCIP settings */
664 );
665
666/** sorts separators by name */
668 SCIP_SET* set /**< global SCIP settings */
669 );
670
671/** inserts cut selector in cut selector list */
673 SCIP_SET* set, /**< global SCIP settings */
674 SCIP_CUTSEL* cutsel /**< cut selector */
675 );
676
677/** returns the cut selector of the given name, or NULL if not existing */
679 SCIP_SET* set, /**< global SCIP settings */
680 const char* name /**< name of separator */
681 );
682
683/** sorts cut selectors by priorities */
685 SCIP_SET* set /**< global SCIP settings */
686 );
687
688/** inserts propagator in propagator list */
690 SCIP_SET* set, /**< global SCIP settings */
691 SCIP_PROP* prop /**< propagator */
692 );
693
694/** returns the propagator of the given name, or NULL if not existing */
696 SCIP_SET* set, /**< global SCIP settings */
697 const char* name /**< name of propagator */
698 );
699
700/** sorts propagators by priorities */
702 SCIP_SET* set /**< global SCIP settings */
703 );
704
705/** sorts propagators by priorities for presolving */
707 SCIP_SET* set /**< global SCIP settings */
708 );
709
710/** sorts propagators w.r.t. names */
712 SCIP_SET* set /**< global SCIP settings */
713 );
714
715/** inserts concurrent solver type into the concurrent solver type list */
717 SCIP_SET* set, /**< global SCIP settings */
718 SCIP_CONCSOLVERTYPE* concsolvertype /**< concurrent solver type */
719 );
720
721/** returns the concurrent solver type with the given name, or NULL if not existing */
723 SCIP_SET* set, /**< global SCIP settings */
724 const char* name /**< name of concurrent solver type */
725 );
726
727/** inserts concurrent solver into the concurrent solver list */
729 SCIP_SET* set, /**< global SCIP settings */
730 SCIP_CONCSOLVER* concsolver /**< concurrent solver */
731 );
732
733/** frees all concurrent solvers in the concurrent solver list */
735 SCIP_SET* set /**< global SCIP settings */
736 );
737
738/** inserts primal heuristic in primal heuristic list */
740 SCIP_SET* set, /**< global SCIP settings */
741 SCIP_HEUR* heur /**< primal heuristic */
742 );
743
744/** returns the primal heuristic of the given name, or NULL if not existing */
746 SCIP_SET* set, /**< global SCIP settings */
747 const char* name /**< name of primal heuristic */
748 );
749
750/** sorts heuristics by priorities */
752 SCIP_SET* set /**< global SCIP settings */
753 );
754
755/** sorts heuristics by name */
757 SCIP_SET* set /**< global SCIP settings */
758 );
759
760/** inserts tree compression in tree compression list */
762 SCIP_SET* set, /**< global SCIP settings */
763 SCIP_COMPR* compr /**< tree compression */
764 );
765
766/** returns the tree compression of the given name, or NULL if not existing */
768 SCIP_SET* set, /**< global SCIP settings */
769 const char* name /**< name of tree compression */
770 );
771
772/** sorts compressions by priorities */
774 SCIP_SET* set /**< global SCIP settings */
775 );
776
777/** sorts heuristics by names */
779 SCIP_SET* set /**< global SCIP settings */
780 );
781
782/** inserts event handler in event handler list */
784 SCIP_SET* set, /**< global SCIP settings */
785 SCIP_EVENTHDLR* eventhdlr /**< event handler */
786 );
787
788/** returns the event handler of the given name, or NULL if not existing */
790 SCIP_SET* set, /**< global SCIP settings */
791 const char* name /**< name of event handler */
792 );
793
794/** inserts node selector in node selector list */
796 SCIP_SET* set, /**< global SCIP settings */
797 SCIP_NODESEL* nodesel /**< node selector */
798 );
799
800/** returns the node selector of the given name, or NULL if not existing */
802 SCIP_SET* set, /**< global SCIP settings */
803 const char* name /**< name of event handler */
804 );
805
806/** returns node selector with highest priority in the current mode */
808 SCIP_SET* set, /**< global SCIP settings */
809 SCIP_STAT* stat /**< dynamic problem statistics */
810 );
811
812/** inserts branching rule in branching rule list */
814 SCIP_SET* set, /**< global SCIP settings */
815 SCIP_BRANCHRULE* branchrule /**< branching rule */
816 );
817
818/** returns the branching rule of the given name, or NULL if not existing */
820 SCIP_SET* set, /**< global SCIP settings */
821 const char* name /**< name of event handler */
822 );
823
824/** sorts branching rules by priorities */
826 SCIP_SET* set /**< global SCIP settings */
827 );
828
829/** sorts branching rules by name */
831 SCIP_SET* set /**< global SCIP settings */
832 );
833
834/** inserts display column in display column list */
836 SCIP_SET* set, /**< global SCIP settings */
837 SCIP_DISP* disp /**< display column */
838 );
839
840/** returns the display column of the given name, or NULL if not existing */
842 SCIP_SET* set, /**< global SCIP settings */
843 const char* name /**< name of display */
844 );
845
846/** inserts statistics table in statistics table list */
848 SCIP_SET* set, /**< global SCIP settings */
849 SCIP_TABLE* table /**< statistics table */
850 );
851
852/** returns the statistics table of the given name, or NULL if not existing */
854 SCIP_SET* set, /**< global SCIP settings */
855 const char* name /**< name of statistics table */
856 );
857
858/** inserts dialog in dialog list */
860 SCIP_SET* set, /**< global SCIP settings */
861 SCIP_DIALOG* dialog /**< dialog */
862 );
863
864/** returns if the dialog already exists */
865SCIP_Bool SCIPsetExistsDialog(
866 SCIP_SET* set, /**< global SCIP settings */
867 SCIP_DIALOG* dialog /**< dialog */
868 );
869
870/** inserts expression handler in expression handler list */
872 SCIP_SET* set, /**< global SCIP settings */
873 SCIP_EXPRHDLR* exprhdlr /**< expression handler */
874 );
875
876/** returns the expression handler of the given name, or NULL if not existing */
877SCIP_EXPORT /* need SCIP_EXPORT here, because func is exposed in API via SCIPfindExprhdlr() macro */
879 SCIP_SET* set, /**< global SCIP settings */
880 const char* name /**< name of expression handler */
881 );
882
883/** sorts expression handlers by name */
885 SCIP_SET* set /**< global SCIP settings */
886 );
887
888/** inserts NLPI in NLPI list */
890 SCIP_SET* set, /**< global SCIP settings */
891 SCIP_NLPI* nlpi /**< NLPI */
892 );
893
894/** returns the NLPI of the given name, or NULL if not existing */
896 SCIP_SET* set, /**< global SCIP settings */
897 const char* name /**< name of NLPI */
898 );
899
900/** sorts NLPIs by priorities */
902 SCIP_SET* set /**< global SCIP settings */
903 );
904
905/** set priority of an NLPI */
907 SCIP_SET* set, /**< global SCIP settings */
908 SCIP_NLPI* nlpi, /**< NLPI */
909 int priority /**< new priority of NLPI */
910 );
911
912/** inserts information about an external code in external codes list */
914 SCIP_SET* set, /**< global SCIP settings */
915 const char* name, /**< name of external code */
916 const char* description /**< description of external code, can be NULL */
917 );
918
919/** inserts bandit virtual function table into set */
921 SCIP_SET* set, /**< global SCIP settings */
922 SCIP_BANDITVTABLE* banditvtable /**< bandit algorithm virtual function table */
923 );
924
925/** returns the bandit virtual function table of the given name, or NULL if not existing */
927 SCIP_SET* set, /**< global SCIP settings */
928 const char* name /**< name of bandit algorithm virtual function table */
929 );
930
931/** calls init methods of all plugins */
933 SCIP_SET* set, /**< global SCIP settings */
934 BMS_BLKMEM* blkmem, /**< block memory */
935 SCIP_STAT* stat /**< dynamic problem statistics */
936 );
937
938/** calls exit methods of all plugins */
940 SCIP_SET* set, /**< global SCIP settings */
941 BMS_BLKMEM* blkmem, /**< block memory */
942 SCIP_STAT* stat /**< dynamic problem statistics */
943 );
944
945/** calls initpre methods of all plugins */
947 SCIP_SET* set, /**< global SCIP settings */
948 BMS_BLKMEM* blkmem, /**< block memory */
949 SCIP_STAT* stat /**< dynamic problem statistics */
950 );
951
952/** calls exitpre methods of all plugins */
954 SCIP_SET* set, /**< global SCIP settings */
955 BMS_BLKMEM* blkmem, /**< block memory */
956 SCIP_STAT* stat /**< dynamic problem statistics */
957 );
958
959/** calls initsol methods of all plugins */
961 SCIP_SET* set, /**< global SCIP settings */
962 BMS_BLKMEM* blkmem, /**< block memory */
963 SCIP_STAT* stat /**< dynamic problem statistics */
964 );
965
966/** calls exitsol methods of all plugins */
968 SCIP_SET* set, /**< global SCIP settings */
969 BMS_BLKMEM* blkmem, /**< block memory */
970 SCIP_STAT* stat, /**< dynamic problem statistics */
971 SCIP_Bool restart /**< was this exit solve call triggered by a restart? */
972 );
973
974/** calculate memory size for dynamically allocated arrays */
976 SCIP_SET* set, /**< global SCIP settings */
977 int num /**< minimum number of entries to store */
978 );
979
980/** calculate memory size for tree array */
982 SCIP_SET* set, /**< global SCIP settings */
983 int num /**< minimum number of entries to store */
984 );
985
986/** calculate memory size for path array */
988 SCIP_SET* set, /**< global SCIP settings */
989 int num /**< minimum number of entries to store */
990 );
991
992/** sets verbosity level for message output */
994 SCIP_SET* set, /**< global SCIP settings */
995 SCIP_VERBLEVEL verblevel /**< verbosity level for message output */
996 );
997
998/** sets feasibility tolerance */
1000 SCIP_SET* set, /**< global SCIP settings */
1001 SCIP_LP* lp, /**< LP data, or NULL */
1002 SCIP_Real feastol /**< new feasibility tolerance */
1003 );
1004
1005/** sets feasibility tolerance for reduced costs in LP solution */
1007 SCIP_SET* set, /**< global SCIP settings */
1008 SCIP_Real dualfeastol /**< new reduced costs feasibility tolerance */
1009 );
1010
1011/** sets LP convergence tolerance used in barrier algorithm */
1013 SCIP_SET* set, /**< global SCIP settings */
1014 SCIP_Real barrierconvtol /**< new convergence tolerance used in barrier algorithm */
1015 );
1016
1017/** sets primal feasibility tolerance for relaxations (relaxfeastol)
1018 *
1019 * @note Set to SCIP_INVALID to apply relaxation-specific feasibility tolerance only.
1020 *
1021 * @return Previous value of relaxfeastol.
1022 */
1023SCIP_Real SCIPsetSetRelaxfeastol(
1024 SCIP_SET* set, /**< global SCIP settings */
1025 SCIP_Real relaxfeastol /**< new primal feasibility tolerance for relaxations, or SCIP_INVALID */
1026 );
1027
1028/** marks that some limit parameter was changed */
1030 SCIP_SET* set /**< global SCIP settings */
1031 );
1032
1033/** returns the maximal number of variables priced into the LP per round */
1035 SCIP_SET* set, /**< global SCIP settings */
1036 SCIP_Bool root /**< are we at the root node? */
1037 );
1038
1039/** returns the maximal number of cuts separated per round */
1041 SCIP_SET* set, /**< global SCIP settings */
1042 SCIP_Bool root /**< are we at the root node? */
1043 );
1044
1045/** returns the maximal ratio between coefficients to ensure in rowprep cleanup */
1047 SCIP_SET* set /**< global SCIP settings */
1048 );
1049
1050/** returns user defined objective value (in original space) for reference purposes */
1051SCIP_Real SCIPsetGetReferencevalue(
1052 SCIP_SET* set /**< global SCIP settings */
1053 );
1054
1055/** returns debug solution data */
1057 SCIP_SET* set /**< global SCIP settings */
1058 );
1059
1060/** Checks, if an iteratively updated value is reliable or should be recomputed from scratch.
1061 * This is useful, if the value, e.g., the activity of a linear constraint or the pseudo objective value, gets a high
1062 * absolute value during the optimization process which is later reduced significantly. In this case, the last digits
1063 * were cancelled out when increasing the value and are random after decreasing it.
1064 * We dot not consider the cancellations which can occur during increasing the absolute value because they just cannot
1065 * be expressed using fixed precision floating point arithmetic, anymore.
1066 * The idea to get more reliable values is to always store the last reliable value, where increasing the absolute of
1067 * the value is viewed as preserving reliability. Then, after each update, the new absolute value can be compared
1068 * against the last reliable one with this method, checking whether it was decreased by a factor of at least
1069 * "lp/recompfac" and should be recomputed.
1070 */
1072 SCIP_SET* set, /**< global SCIP settings */
1073 SCIP_Real newvalue, /**< new value after update */
1074 SCIP_Real oldvalue /**< old value, i.e., last reliable value */
1075 );
1076
1077/** modifies an initial seed value with the global shift of random seeds */
1078unsigned int SCIPsetInitializeRandomSeed(
1079 SCIP_SET* set, /**< global SCIP settings */
1080 unsigned int initialseedvalue /**< initial seed value to be modified */
1081 );
1082
1083/** returns value treated as infinity */
1084SCIP_Real SCIPsetInfinity(
1085 SCIP_SET* set /**< global SCIP settings */
1086 );
1087
1088/** returns the minimum value that is regarded as huge and should be handled separately (e.g., in activity
1089 * computation)
1090 */
1091SCIP_Real SCIPsetGetHugeValue(
1092 SCIP_SET* set /**< global SCIP settings */
1093 );
1094
1095/** returns value treated as zero */
1096SCIP_Real SCIPsetEpsilon(
1097 SCIP_SET* set /**< global SCIP settings */
1098 );
1099
1100/** returns value treated as zero for sums of floating point values */
1101SCIP_Real SCIPsetSumepsilon(
1102 SCIP_SET* set /**< global SCIP settings */
1103 );
1104
1105/** returns feasibility tolerance for constraints */
1106#ifdef __GNUC__
1108#endif
1109SCIP_Real SCIPsetFeastol(
1110 SCIP_SET* set /**< global SCIP settings */
1111 );
1112
1113/** returns factor w.r.t. primal feasibility tolerance that determines default (and maximal) feasibility tolerance */
1114SCIP_Real SCIPsetLPFeastolFactor(
1115 SCIP_SET* set /**< global SCIP settings */
1116 );
1117
1118/** returns feasibility tolerance for reduced costs */
1119#ifdef __GNUC__
1121#endif
1122SCIP_Real SCIPsetDualfeastol(
1123 SCIP_SET* set /**< global SCIP settings */
1124 );
1125
1126/** returns convergence tolerance used in barrier algorithm */
1127SCIP_Real SCIPsetBarrierconvtol(
1128 SCIP_SET* set /**< global SCIP settings */
1129 );
1130
1131/** returns minimal variable distance value to use for pseudo cost updates */
1132SCIP_Real SCIPsetPseudocosteps(
1133 SCIP_SET* set /**< global SCIP settings */
1134 );
1135
1136/** returns minimal minimal objective distance value to use for pseudo cost updates */
1137SCIP_Real SCIPsetPseudocostdelta(
1138 SCIP_SET* set /**< global SCIP settings */
1139 );
1140
1141/** return the delta to use for computing the cutoff bound for integral objectives */
1142SCIP_Real SCIPsetCutoffbounddelta(
1143 SCIP_SET* set /**< global SCIP settings */
1144 );
1145
1146/** return the primal feasibility tolerance for relaxations */
1147SCIP_Real SCIPsetRelaxfeastol(
1148 SCIP_SET* set /**< global SCIP settings */
1149 );
1150
1151/** returns minimal decrease factor that causes the recomputation of a value
1152 * (e.g., pseudo objective) instead of an update */
1153SCIP_Real SCIPsetRecompfac(
1154 SCIP_SET* set /**< global SCIP settings */
1155 );
1156
1157/** checks, if values are in range of epsilon */
1158SCIP_Bool SCIPsetIsEQ(
1159 SCIP_SET* set, /**< global SCIP settings */
1160 SCIP_Real val1, /**< first value to be compared */
1161 SCIP_Real val2 /**< second value to be compared */
1162 );
1163
1164/** checks, if val1 is (more than epsilon) lower than val2 */
1165SCIP_Bool SCIPsetIsLT(
1166 SCIP_SET* set, /**< global SCIP settings */
1167 SCIP_Real val1, /**< first value to be compared */
1168 SCIP_Real val2 /**< second value to be compared */
1169 );
1170
1171/** checks, if val1 is not (more than epsilon) greater than val2 */
1172SCIP_Bool SCIPsetIsLE(
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) greater than val2 */
1179SCIP_Bool SCIPsetIsGT(
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) lower than val2 */
1186SCIP_Bool SCIPsetIsGE(
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 value is (positive) infinite */
1193SCIP_Bool SCIPsetIsInfinity(
1194 SCIP_SET* set, /**< global SCIP settings */
1195 SCIP_Real val /**< value to be compared against infinity */
1196 );
1197
1198/** checks, if value is huge and should be handled separately (e.g., in activity computation) */
1199SCIP_Bool SCIPsetIsHugeValue(
1200 SCIP_SET* set, /**< global SCIP settings */
1201 SCIP_Real val /**< value to be checked whether it is huge */
1202 );
1203
1204/** checks, if value is in range epsilon of 0.0 */
1205SCIP_Bool SCIPsetIsZero(
1206 SCIP_SET* set, /**< global SCIP settings */
1207 SCIP_Real val /**< value to be compared against zero */
1208 );
1209
1210/** checks, if value is greater than epsilon */
1211SCIP_Bool SCIPsetIsPositive(
1212 SCIP_SET* set, /**< global SCIP settings */
1213 SCIP_Real val /**< value to be compared against zero */
1214 );
1215
1216/** checks, if value is lower than -epsilon */
1217SCIP_Bool SCIPsetIsNegative(
1218 SCIP_SET* set, /**< global SCIP settings */
1219 SCIP_Real val /**< value to be compared against zero */
1220 );
1221
1222/** checks, if value is integral within epsilon */
1223SCIP_Bool SCIPsetIsIntegral(
1224 SCIP_SET* set, /**< global SCIP settings */
1225 SCIP_Real val /**< value to be compared against zero */
1226 );
1227
1228/** checks whether the product val * scalar is integral in epsilon scaled by scalar */
1229SCIP_Bool SCIPsetIsScalingIntegral(
1230 SCIP_SET* set, /**< global SCIP settings */
1231 SCIP_Real val, /**< unscaled value to check for scaled integrality */
1232 SCIP_Real scalar /**< value to scale val with for checking for integrality */
1233 );
1234
1235/** checks, if given fractional part is smaller than epsilon */
1236SCIP_Bool SCIPsetIsFracIntegral(
1237 SCIP_SET* set, /**< global SCIP settings */
1238 SCIP_Real val /**< value to be compared against zero */
1239 );
1240
1241/** rounds value + feasibility tolerance down to the next integer in epsilon tolerance */
1242SCIP_Real SCIPsetFloor(
1243 SCIP_SET* set, /**< global SCIP settings */
1244 SCIP_Real val /**< value to be compared against zero */
1245 );
1246
1247/** rounds value - feasibility tolerance up to the next integer in epsilon tolerance */
1248SCIP_Real SCIPsetCeil(
1249 SCIP_SET* set, /**< global SCIP settings */
1250 SCIP_Real val /**< value to be compared against zero */
1251 );
1252
1253/** rounds value to the nearest integer in epsilon tolerance */
1254SCIP_Real SCIPsetRound(
1255 SCIP_SET* set, /**< global SCIP settings */
1256 SCIP_Real val /**< value to be compared against zero */
1257 );
1258
1259/** returns fractional part of value, i.e. x - floor(x) in epsilon tolerance */
1260SCIP_Real SCIPsetFrac(
1261 SCIP_SET* set, /**< global SCIP settings */
1262 SCIP_Real val /**< value to return fractional part for */
1263 );
1264
1265/** checks, if values are in range of sumepsilon */
1266SCIP_Bool SCIPsetIsSumEQ(
1267 SCIP_SET* set, /**< global SCIP settings */
1268 SCIP_Real val1, /**< first value to be compared */
1269 SCIP_Real val2 /**< second value to be compared */
1270 );
1271
1272/** checks, if val1 is (more than sumepsilon) lower than val2 */
1273SCIP_Bool SCIPsetIsSumLT(
1274 SCIP_SET* set, /**< global SCIP settings */
1275 SCIP_Real val1, /**< first value to be compared */
1276 SCIP_Real val2 /**< second value to be compared */
1277 );
1278
1279/** checks, if val1 is not (more than sumepsilon) greater than val2 */
1280SCIP_Bool SCIPsetIsSumLE(
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) greater than val2 */
1287SCIP_Bool SCIPsetIsSumGT(
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) lower than val2 */
1294SCIP_Bool SCIPsetIsSumGE(
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 value is in range sumepsilon of 0.0 */
1301SCIP_Bool SCIPsetIsSumZero(
1302 SCIP_SET* set, /**< global SCIP settings */
1303 SCIP_Real val /**< value to be compared against zero */
1304 );
1305
1306/** checks, if value is greater than sumepsilon */
1307SCIP_Bool SCIPsetIsSumPositive(
1308 SCIP_SET* set, /**< global SCIP settings */
1309 SCIP_Real val /**< value to be compared against zero */
1310 );
1311
1312/** checks, if value is lower than -sumepsilon */
1313SCIP_Bool SCIPsetIsSumNegative(
1314 SCIP_SET* set, /**< global SCIP settings */
1315 SCIP_Real val /**< value to be compared against zero */
1316 );
1317
1318/** rounds value + sumepsilon tolerance down to the next integer */
1319SCIP_Real SCIPsetSumFloor(
1320 SCIP_SET* set, /**< global SCIP settings */
1321 SCIP_Real val /**< value to process */
1322 );
1323
1324/** rounds value - sumepsilon tolerance up to the next integer */
1325SCIP_Real SCIPsetSumCeil(
1326 SCIP_SET* set, /**< global SCIP settings */
1327 SCIP_Real val /**< value to process */
1328 );
1329
1330/** rounds value to the nearest integer in sumepsilon tolerance */
1331SCIP_Real SCIPsetSumRound(
1332 SCIP_SET* set, /**< global SCIP settings */
1333 SCIP_Real val /**< value to process */
1334 );
1335
1336/** returns fractional part of value, i.e. x - floor(x) in sumepsilon tolerance */
1337SCIP_Real SCIPsetSumFrac(
1338 SCIP_SET* set, /**< global SCIP settings */
1339 SCIP_Real val /**< value to process */
1340 );
1341
1342/** checks, if relative difference of values is in range of feastol */
1343SCIP_Bool SCIPsetIsFeasEQ(
1344 SCIP_SET* set, /**< global SCIP settings */
1345 SCIP_Real val1, /**< first value to be compared */
1346 SCIP_Real val2 /**< second value to be compared */
1347 );
1348
1349/** checks, if relative difference of val1 and val2 is lower than feastol */
1350SCIP_Bool SCIPsetIsFeasLT(
1351 SCIP_SET* set, /**< global SCIP settings */
1352 SCIP_Real val1, /**< first value to be compared */
1353 SCIP_Real val2 /**< second value to be compared */
1354 );
1355
1356/** checks, if relative difference of val1 and val2 is not greater than feastol */
1357SCIP_Bool SCIPsetIsFeasLE(
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 greater than feastol */
1364SCIP_Bool SCIPsetIsFeasGT(
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 lower than -feastol */
1371SCIP_Bool SCIPsetIsFeasGE(
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 value is in range feasibility tolerance of 0.0 */
1378SCIP_Bool SCIPsetIsFeasZero(
1379 SCIP_SET* set, /**< global SCIP settings */
1380 SCIP_Real val /**< value to be compared against zero */
1381 );
1382
1383/** checks, if value is greater than feasibility tolerance */
1384SCIP_Bool SCIPsetIsFeasPositive(
1385 SCIP_SET* set, /**< global SCIP settings */
1386 SCIP_Real val /**< value to be compared against zero */
1387 );
1388
1389/** checks, if value is lower than -feasibility tolerance */
1390SCIP_Bool SCIPsetIsFeasNegative(
1391 SCIP_SET* set, /**< global SCIP settings */
1392 SCIP_Real val /**< value to be compared against zero */
1393 );
1394
1395/** checks, if value is integral within the feasibility bounds */
1396SCIP_Bool SCIPsetIsFeasIntegral(
1397 SCIP_SET* set, /**< global SCIP settings */
1398 SCIP_Real val /**< value to be compared against zero */
1399 );
1400
1401/** checks, if given fractional part is smaller than feastol */
1403 SCIP_SET* set, /**< global SCIP settings */
1404 SCIP_Real val /**< value to be compared against zero */
1405 );
1406
1407/** rounds value + feasibility tolerance down to the next integer */
1408SCIP_Real SCIPsetFeasFloor(
1409 SCIP_SET* set, /**< global SCIP settings */
1410 SCIP_Real val /**< value to be compared against zero */
1411 );
1412
1413/** rounds value - feasibility tolerance up to the next integer */
1414SCIP_Real SCIPsetFeasCeil(
1415 SCIP_SET* set, /**< global SCIP settings */
1416 SCIP_Real val /**< value to be compared against zero */
1417 );
1418
1419/** rounds value to the nearest integer in feasibility tolerance */
1420SCIP_Real SCIPsetFeasRound(
1421 SCIP_SET* set, /**< global SCIP settings */
1422 SCIP_Real val /**< value to be compared against zero */
1423 );
1424
1425/** returns fractional part of value, i.e. x - floor(x) in feasibility tolerance */
1426SCIP_Real SCIPsetFeasFrac(
1427 SCIP_SET* set, /**< global SCIP settings */
1428 SCIP_Real val /**< value to return fractional part for */
1429 );
1430
1431/** checks, if relative difference of values is in range of dual feasibility tolerance */
1432SCIP_Bool SCIPsetIsDualfeasEQ(
1433 SCIP_SET* set, /**< global SCIP settings */
1434 SCIP_Real val1, /**< first value to be compared */
1435 SCIP_Real val2 /**< second value to be compared */
1436 );
1437
1438/** checks, if relative difference of val1 and val2 is lower than dual feasibility tolerance */
1439SCIP_Bool SCIPsetIsDualfeasLT(
1440 SCIP_SET* set, /**< global SCIP settings */
1441 SCIP_Real val1, /**< first value to be compared */
1442 SCIP_Real val2 /**< second value to be compared */
1443 );
1444
1445/** checks, if relative difference of val1 and val2 is not greater than dual feasibility tolerance */
1446SCIP_Bool SCIPsetIsDualfeasLE(
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 greater than dual feasibility tolerance */
1453SCIP_Bool SCIPsetIsDualfeasGT(
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 lower than -dual feasibility tolerance */
1460SCIP_Bool SCIPsetIsDualfeasGE(
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 value is in range dual feasibility tolerance of 0.0 */
1467SCIP_Bool SCIPsetIsDualfeasZero(
1468 SCIP_SET* set, /**< global SCIP settings */
1469 SCIP_Real val /**< value to be compared against zero */
1470 );
1471
1472/** checks, if value is greater than dual feasibility tolerance */
1474 SCIP_SET* set, /**< global SCIP settings */
1475 SCIP_Real val /**< value to be compared against zero */
1476 );
1477
1478/** checks, if value is lower than -dual feasibility tolerance */
1480 SCIP_SET* set, /**< global SCIP settings */
1481 SCIP_Real val /**< value to be compared against zero */
1482 );
1483
1484/** checks, if value is integral within the dual feasibility bounds */
1486 SCIP_SET* set, /**< global SCIP settings */
1487 SCIP_Real val /**< value to be compared against zero */
1488 );
1489
1490/** checks, if given fractional part is smaller than dual feasibility tolerance */
1492 SCIP_SET* set, /**< global SCIP settings */
1493 SCIP_Real val /**< value to be compared against zero */
1494 );
1495
1496/** rounds value + dual feasibility tolerance down to the next integer */
1497SCIP_Real SCIPsetDualfeasFloor(
1498 SCIP_SET* set, /**< global SCIP settings */
1499 SCIP_Real val /**< value to be compared against zero */
1500 );
1501
1502/** rounds value - dual feasibility tolerance up to the next integer */
1503SCIP_Real SCIPsetDualfeasCeil(
1504 SCIP_SET* set, /**< global SCIP settings */
1505 SCIP_Real val /**< value to be compared against zero */
1506 );
1507
1508/** rounds value to the nearest integer in dual feasibility tolerance */
1509SCIP_Real SCIPsetDualfeasRound(
1510 SCIP_SET* set, /**< global SCIP settings */
1511 SCIP_Real val /**< value to be compared against zero */
1512 );
1513
1514/** returns fractional part of value, i.e. x - floor(x) in dual feasibility tolerance */
1515SCIP_Real SCIPsetDualfeasFrac(
1516 SCIP_SET* set, /**< global SCIP settings */
1517 SCIP_Real val /**< value to return fractional part for */
1518 );
1519
1520/** checks, if the given new lower bound is at least min(oldub - oldlb, |oldlb|) times the bound
1521 * strengthening epsilon better than the old one or the change in the lower bound would fix the
1522 * sign of the variable
1523 */
1524SCIP_Bool SCIPsetIsLbBetter(
1525 SCIP_SET* set, /**< global SCIP settings */
1526 SCIP_Real newlb, /**< new lower bound */
1527 SCIP_Real oldlb, /**< old lower bound */
1528 SCIP_Real oldub /**< old upper bound */
1529 );
1530
1531/** checks, if the given new upper bound is at least min(oldub - oldlb, |oldub|) times the bound
1532 * strengthening epsilon better than the old one or the change in the upper bound would fix the
1533 * sign of the variable
1534 */
1535SCIP_Bool SCIPsetIsUbBetter(
1536 SCIP_SET* set, /**< global SCIP settings */
1537 SCIP_Real newub, /**< new upper bound */
1538 SCIP_Real oldlb, /**< old lower bound */
1539 SCIP_Real oldub /**< old upper bound */
1540 );
1541
1542/** checks, if the given cut's efficacy is larger than the minimal cut efficacy */
1543SCIP_Bool SCIPsetIsEfficacious(
1544 SCIP_SET* set, /**< global SCIP settings */
1545 SCIP_Bool root, /**< should the root's minimal cut efficacy be used? */
1546 SCIP_Real efficacy /**< efficacy of the cut */
1547 );
1548
1549/** checks, if relative difference of values is in range of epsilon */
1550SCIP_Bool SCIPsetIsRelEQ(
1551 SCIP_SET* set, /**< global SCIP settings */
1552 SCIP_Real val1, /**< first value to be compared */
1553 SCIP_Real val2 /**< second value to be compared */
1554 );
1555
1556/** checks, if relative difference of val1 and val2 is lower than epsilon */
1557SCIP_Bool SCIPsetIsRelLT(
1558 SCIP_SET* set, /**< global SCIP settings */
1559 SCIP_Real val1, /**< first value to be compared */
1560 SCIP_Real val2 /**< second value to be compared */
1561 );
1562
1563/** checks, if relative difference of val1 and val2 is not greater than epsilon */
1564SCIP_Bool SCIPsetIsRelLE(
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 greater than epsilon */
1571SCIP_Bool SCIPsetIsRelGT(
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 lower than -epsilon */
1578SCIP_Bool SCIPsetIsRelGE(
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 values is in range of sumepsilon */
1585SCIP_Bool SCIPsetIsSumRelEQ(
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 lower than sumepsilon */
1592SCIP_Bool SCIPsetIsSumRelLT(
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 val1 and val2 is not greater than sumepsilon */
1599SCIP_Bool SCIPsetIsSumRelLE(
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 greater than sumepsilon */
1606SCIP_Bool SCIPsetIsSumRelGT(
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 lower than -sumepsilon */
1613SCIP_Bool SCIPsetIsSumRelGE(
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/** returns the flag indicating whether sub-SCIPs that could cause recursion have been deactivated */
1620SCIP_Bool SCIPsetGetSubscipsOff(
1621 SCIP_SET* set /**< global SCIP settings */
1622 );
1623
1624
1625#ifdef NDEBUG
1626
1627/* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
1628 * speed up the algorithms.
1629 */
1630
1631#define SCIPsetInfinity(set) ( (set)->num_infinity )
1632#define SCIPsetGetHugeValue(set) ( (set)->num_hugeval )
1633#define SCIPsetEpsilon(set) ( (set)->num_epsilon )
1634#define SCIPsetSumepsilon(set) ( (set)->num_sumepsilon )
1635#define SCIPsetFeastol(set) ( (set)->num_feastol )
1636#define SCIPsetLPFeastolFactor(set) ( (set)->num_lpfeastolfactor )
1637#define SCIPsetDualfeastol(set) ( (set)->num_dualfeastol )
1638#define SCIPsetBarrierconvtol(set) ( (set)->num_barrierconvtol )
1639#define SCIPsetPseudocosteps(set) ( (set)->num_pseudocosteps )
1640#define SCIPsetPseudocostdelta(set) ( (set)->num_pseudocostdelta )
1641#define SCIPsetRelaxfeastol(set) ( (set)->num_relaxfeastol )
1642#define SCIPsetCutoffbounddelta(set) ( MIN(100.0 * SCIPsetFeastol(set), 0.0001) )
1643#define SCIPsetRecompfac(set) ( (set)->num_recompfac )
1644#define SCIPsetIsEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_epsilon) )
1645#define SCIPsetIsLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_epsilon) )
1646#define SCIPsetIsLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_epsilon) )
1647#define SCIPsetIsGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_epsilon) )
1648#define SCIPsetIsGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_epsilon) )
1649#define SCIPsetIsInfinity(set, val) ( (val) >= (set)->num_infinity )
1650#define SCIPsetIsHugeValue(set, val) ( (val) >= (set)->num_hugeval )
1651#define SCIPsetIsZero(set, val) ( EPSZ(val, (set)->num_epsilon) )
1652#define SCIPsetIsPositive(set, val) ( EPSP(val, (set)->num_epsilon) )
1653#define SCIPsetIsNegative(set, val) ( EPSN(val, (set)->num_epsilon) )
1654#define SCIPsetIsIntegral(set, val) ( EPSISINT(val, (set)->num_epsilon) )
1655#define SCIPsetIsScalingIntegral(set, val, scalar) \
1656 ( EPSISINT((scalar)*(val), MAX(REALABS(scalar), 1.0)*(set)->num_epsilon) )
1657#define SCIPsetIsFracIntegral(set, val) ( !EPSP(val, (set)->num_epsilon) )
1658#define SCIPsetFloor(set, val) ( EPSFLOOR(val, (set)->num_epsilon) )
1659#define SCIPsetCeil(set, val) ( EPSCEIL(val, (set)->num_epsilon) )
1660#define SCIPsetRound(set, val) ( EPSROUND(val, (set)->num_epsilon) )
1661#define SCIPsetFrac(set, val) ( EPSFRAC(val, (set)->num_epsilon) )
1662
1663#define SCIPsetIsSumEQ(set, val1, val2) ( EPSEQ(val1, val2, (set)->num_sumepsilon) )
1664#define SCIPsetIsSumLT(set, val1, val2) ( EPSLT(val1, val2, (set)->num_sumepsilon) )
1665#define SCIPsetIsSumLE(set, val1, val2) ( EPSLE(val1, val2, (set)->num_sumepsilon) )
1666#define SCIPsetIsSumGT(set, val1, val2) ( EPSGT(val1, val2, (set)->num_sumepsilon) )
1667#define SCIPsetIsSumGE(set, val1, val2) ( EPSGE(val1, val2, (set)->num_sumepsilon) )
1668#define SCIPsetIsSumZero(set, val) ( EPSZ(val, (set)->num_sumepsilon) )
1669#define SCIPsetIsSumPositive(set, val) ( EPSP(val, (set)->num_sumepsilon) )
1670#define SCIPsetIsSumNegative(set, val) ( EPSN(val, (set)->num_sumepsilon) )
1671#define SCIPsetSumFloor(set, val) ( EPSFLOOR(val, (set)->num_sumepsilon) )
1672#define SCIPsetSumCeil(set, val) ( EPSCEIL(val, (set)->num_sumepsilon) )
1673#define SCIPsetSumRound(set, val) ( EPSROUND(val, (set)->num_sumepsilon) )
1674#define SCIPsetSumFrac(set, val) ( EPSFRAC(val, (set)->num_sumepsilon) )
1675
1676#define SCIPsetIsFeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1677#define SCIPsetIsFeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1678#define SCIPsetIsFeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1679#define SCIPsetIsFeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1680#define SCIPsetIsFeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_feastol) )
1681#define SCIPsetIsFeasZero(set, val) ( EPSZ(val, (set)->num_feastol) )
1682#define SCIPsetIsFeasPositive(set, val) ( EPSP(val, (set)->num_feastol) )
1683#define SCIPsetIsFeasNegative(set, val) ( EPSN(val, (set)->num_feastol) )
1684#define SCIPsetIsFeasIntegral(set, val) ( EPSISINT(val, (set)->num_feastol) )
1685#define SCIPsetIsFeasFracIntegral(set, val) ( !EPSP(val, (set)->num_feastol) )
1686#define SCIPsetFeasFloor(set, val) ( EPSFLOOR(val, (set)->num_feastol) )
1687#define SCIPsetFeasCeil(set, val) ( EPSCEIL(val, (set)->num_feastol) )
1688#define SCIPsetFeasRound(set, val) ( EPSROUND(val, (set)->num_feastol) )
1689#define SCIPsetFeasFrac(set, val) ( EPSFRAC(val, (set)->num_feastol) )
1690
1691#define SCIPsetIsDualfeasEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1692#define SCIPsetIsDualfeasLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1693#define SCIPsetIsDualfeasLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1694#define SCIPsetIsDualfeasGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1695#define SCIPsetIsDualfeasGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_dualfeastol) )
1696#define SCIPsetIsDualfeasZero(set, val) ( EPSZ(val, (set)->num_dualfeastol) )
1697#define SCIPsetIsDualfeasPositive(set, val) ( EPSP(val, (set)->num_dualfeastol) )
1698#define SCIPsetIsDualfeasNegative(set, val) ( EPSN(val, (set)->num_dualfeastol) )
1699#define SCIPsetIsDualfeasIntegral(set, val) ( EPSISINT(val, (set)->num_dualfeastol) )
1700#define SCIPsetIsDualfeasFracIntegral(set, val) ( !EPSP(val, (set)->num_dualfeastol) )
1701#define SCIPsetDualfeasFloor(set, val) ( EPSFLOOR(val, (set)->num_dualfeastol) )
1702#define SCIPsetDualfeasCeil(set, val) ( EPSCEIL(val, (set)->num_dualfeastol) )
1703#define SCIPsetDualfeasRound(set, val) ( EPSROUND(val, (set)->num_dualfeastol) )
1704#define SCIPsetDualfeasFrac(set, val) ( EPSFRAC(val, (set)->num_dualfeastol) )
1705
1706#define SCIPsetIsLbBetter(set, newlb, oldlb, oldub) ( ((oldlb) < 0.0 && (newlb) >= 0.0) || EPSGT(newlb, oldlb, \
1707 set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldlb)), 1e-3)) )
1708#define SCIPsetIsUbBetter(set, newub, oldlb, oldub) ( ((oldub) > 0.0 && (newub) <= 0.0) || EPSLT(newub, oldub, \
1709 set->num_boundstreps * MAX(MIN((oldub) - (oldlb), REALABS(oldub)), 1e-3)) )
1710#define SCIPsetIsEfficacious(set, root, efficacy) \
1711 ( root ? EPSP(efficacy, (set)->sepa_minefficacyroot) : EPSP(efficacy, (set)->sepa_minefficacy) )
1712
1713#define SCIPsetIsRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1714#define SCIPsetIsRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1715#define SCIPsetIsRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1716#define SCIPsetIsRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1717#define SCIPsetIsRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_epsilon) )
1718
1719#define SCIPsetIsSumRelEQ(set, val1, val2) ( EPSZ(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1720#define SCIPsetIsSumRelLT(set, val1, val2) ( EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1721#define SCIPsetIsSumRelLE(set, val1, val2) ( !EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1722#define SCIPsetIsSumRelGT(set, val1, val2) ( EPSP(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1723#define SCIPsetIsSumRelGE(set, val1, val2) ( !EPSN(SCIPrelDiff(val1, val2), (set)->num_sumepsilon) )
1724#define SCIPsetIsUpdateUnreliable(set, newvalue, oldvalue) \
1725 ( (ABS(oldvalue) / MAX(ABS(newvalue), set->num_epsilon)) >= set->num_recompfac )
1726#define SCIPsetInitializeRandomSeed(set, val) ( (val + (set)->random_randomseedshift) )
1727
1728#define SCIPsetGetSubscipsOff(set) ( (set)->subscipsoff )
1729
1730#endif
1731
1732#define SCIPsetAllocBuffer(set,ptr) ( (BMSallocBufferMemory((set)->buffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1733#define SCIPsetAllocBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1734#define SCIPsetAllocBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1735#define SCIPsetDuplicateBufferSize(set,ptr,source,size) ( (BMSduplicateBufferMemory((set)->buffer, (ptr), (source), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1736#define SCIPsetDuplicateBufferArray(set,ptr,source,num) ( (BMSduplicateBufferMemoryArray((set)->buffer, (ptr), (source), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1737#define SCIPsetReallocBufferSize(set,ptr,size) ( (BMSreallocBufferMemorySize((set)->buffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1738#define SCIPsetReallocBufferArray(set,ptr,num) ( (BMSreallocBufferMemoryArray((set)->buffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1739#define SCIPsetFreeBuffer(set,ptr) BMSfreeBufferMemory((set)->buffer, (ptr))
1740#define SCIPsetFreeBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->buffer, (ptr))
1741#define SCIPsetFreeBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->buffer, (ptr))
1742
1743#define SCIPsetAllocCleanBuffer(set,ptr) ( (BMSallocBufferMemory((set)->cleanbuffer, (ptr)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1744#define SCIPsetAllocCleanBufferSize(set,ptr,size) ( (BMSallocBufferMemorySize((set)->cleanbuffer, (ptr), (size)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1745#define SCIPsetAllocCleanBufferArray(set,ptr,num) ( (BMSallocBufferMemoryArray((set)->cleanbuffer, (ptr), (num)) == NULL) ? SCIP_NOMEMORY : SCIP_OKAY )
1746#define SCIPsetFreeCleanBuffer(set,ptr) BMSfreeBufferMemory((set)->cleanbuffer, (ptr))
1747#define SCIPsetFreeCleanBufferSize(set,ptr) BMSfreeBufferMemorySize((set)->cleanbuffer, (ptr))
1748#define SCIPsetFreeCleanBufferArray(set,ptr) BMSfreeBufferMemoryArray((set)->cleanbuffer, (ptr))
1749
1750/* if we have a C99 compiler */
1751#ifdef SCIP_HAVE_VARIADIC_MACROS
1752
1753/** prints a debugging message if SCIP_DEBUG flag is set */
1754#ifdef SCIP_DEBUG
1755#define SCIPsetDebugMsg(set, ...) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
1756#define SCIPsetDebugMsgPrint(set, ...) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
1757#else
1758#define SCIPsetDebugMsg(set, ...) while ( FALSE ) SCIPsetPrintDebugMessage(set, __FILE__, __LINE__, __VA_ARGS__)
1759#define SCIPsetDebugMsgPrint(set, ...) while ( FALSE ) SCIPsetDebugMessagePrint(set, __VA_ARGS__)
1760#endif
1761
1762#else
1763/* if we do not have a C99 compiler, use a workaround that prints a message, but not the file and linenumber */
1764
1765/** prints a debugging message if SCIP_DEBUG flag is set */
1766#ifdef SCIP_DEBUG
1767#define SCIPsetDebugMsg printf("debug: "), SCIPsetDebugMessagePrint
1768#define SCIPsetDebugMsgPrint printf("debug: "), SCIPsetDebugMessagePrint
1769#else
1770#define SCIPsetDebugMsg while ( FALSE ) SCIPsetDebugMsgPrint
1771#define SCIPsetDebugMsgPrint while ( FALSE ) SCIPsetDebugMessagePrint
1772#endif
1773
1774#endif
1775
1776
1777/** prints a debug message */
1778#ifdef __GNUC__
1779__attribute__((format(printf, 4, 5)))
1780#endif
1783 SCIP_SET* set, /**< global SCIP settings */
1784 const char* sourcefile, /**< name of the source file that called the function */
1785 int sourceline, /**< line in the source file where the function was called */
1786 const char* formatstr, /**< format string like in printf() function */
1787 ... /**< format arguments line in printf() function */
1788 );
1789
1790/** prints a debug message without precode */
1791#ifdef __GNUC__
1792__attribute__((format(printf, 2, 3)))
1793#endif
1796 SCIP_SET* set, /**< global SCIP settings */
1797 const char* formatstr, /**< format string like in printf() function */
1798 ... /**< format arguments line in printf() function */
1799 );
1800
1801
1802#ifdef __cplusplus
1803}
1804#endif
1805
1806#endif
struct SCIP_DebugSolData SCIP_DEBUGSOLDATA
Definition debug.h:59
common defines and data types used in all packages of SCIP
memory allocation routines
struct BMS_BlkMem BMS_BLKMEM
Definition memory.h:439
public data structures and miscellaneous methods
void SCIPsetSortCutsels(SCIP_SET *set)
Definition set.c:4292
SCIP_Bool SCIPsetIsDualfeasZero(SCIP_SET *set, SCIP_Real val)
Definition set.c:6852
SCIP_DISP * SCIPsetFindDisp(SCIP_SET *set, const char *name)
Definition set.c:4915
SCIP_Real SCIPsetFloor(SCIP_SET *set, SCIP_Real val)
Definition set.c:6320
SCIP_RETCODE SCIPsetIncludeReader(SCIP_SET *set, SCIP_READER *reader)
Definition set.c:3606
void SCIPsetSortBranchrules(SCIP_SET *set)
Definition set.c:4853
SCIP_Bool SCIPsetIsDualfeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6786
SCIP_RETCODE SCIPsetSetSeparating(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition set.c:3573
void SCIPsetSortBranchrulesName(SCIP_SET *set)
Definition set.c:4868
SCIP_RETCODE SCIPsetSetBarrierconvtol(SCIP_SET *set, SCIP_Real barrierconvtol)
Definition set.c:5792
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:2947
int SCIPsetCalcTreeGrowSize(SCIP_SET *set, int num)
Definition set.c:5721
void SCIPsetSortConflicthdlrsName(SCIP_SET *set)
Definition set.c:4012
SCIP_Bool SCIPsetIsLbBetter(SCIP_SET *set, SCIP_Real newlb, SCIP_Real oldlb, SCIP_Real oldub)
Definition set.c:6956
void SCIPsetSortPresolsName(SCIP_SET *set)
Definition set.c:4085
SCIP_RETCODE SCIPsetResetParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name)
Definition set.c:3470
SCIP_EXPRHDLR * SCIPsetFindExprhdlr(SCIP_SET *set, const char *name)
Definition set.c:5058
SCIP_Bool SCIPsetIsRelLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7032
SCIP_Bool SCIPsetIsEfficacious(SCIP_SET *set, SCIP_Bool root, SCIP_Real efficacy)
Definition set.c:6995
SCIP_NODESEL * SCIPsetFindNodesel(SCIP_SET *set, const char *name)
Definition set.c:4751
SCIP_Bool SCIPsetExistsDialog(SCIP_SET *set, SCIP_DIALOG *dialog)
Definition set.c:5002
SCIP_RETCODE SCIPsetSetFeastol(SCIP_SET *set, SCIP_LP *lp, SCIP_Real feastol)
Definition set.c:5758
void SCIPsetSortPresols(SCIP_SET *set)
Definition set.c:4070
SCIP_PRICER * SCIPsetFindPricer(SCIP_SET *set, const char *name)
Definition set.c:3671
SCIP_RETCODE SCIPsetSetRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Real value)
Definition set.c:3349
SCIP_RETCODE SCIPsetWriteParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
Definition set.c:3454
SCIP_Bool SCIPsetIsFeasPositive(SCIP_SET *set, SCIP_Real val)
Definition set.c:6652
SCIP_TABLE * SCIPsetFindTable(SCIP_SET *set, const char *name)
Definition set.c:4960
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:3042
SCIP_Bool SCIPsetIsHugeValue(SCIP_SET *set, SCIP_Real val)
Definition set.c:6144
SCIP_Bool SCIPsetIsDualfeasFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6896
SCIP_RETCODE SCIPsetIncludeBenders(SCIP_SET *set, SCIP_BENDERS *benders)
Definition set.c:3721
SCIP_Real SCIPsetDualfeasCeil(SCIP_SET *set, SCIP_Real val)
Definition set.c:6920
SCIP_Bool SCIPsetIsGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6227
SCIP_RETCODE SCIPsetSetStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, const char *value)
Definition set.c:3425
SCIP_Real SCIPsetSumRound(SCIP_SET *set, SCIP_Real val)
Definition set.c:6509
SCIP_COMPR * SCIPsetFindCompr(SCIP_SET *set, const char *name)
Definition set.c:4627
SCIP_Real SCIPsetFeasCeil(SCIP_SET *set, SCIP_Real val)
Definition set.c:6709
SCIP_RETCODE SCIPsetGetCharParam(SCIP_SET *set, const char *name, char *value)
Definition set.c:3142
SCIP_Real SCIPsetSumFloor(SCIP_SET *set, SCIP_Real val)
Definition set.c:6487
SCIP_Bool SCIPsetIsFeasFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6685
SCIP_RETCODE SCIPsetIncludeBranchrule(SCIP_SET *set, SCIP_BRANCHRULE *branchrule)
Definition set.c:4809
SCIP_RETCODE SCIPsetSetDefaultIntParam(SCIP_SET *set, const char *name, int defaultvalue)
Definition set.c:3274
SCIP_Bool SCIPsetIsFeasNegative(SCIP_SET *set, SCIP_Real val)
Definition set.c:6663
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:2971
SCIP_Bool SCIPsetGetSubscipsOff(SCIP_SET *set)
Definition set.c:7230
SCIP_RETCODE SCIPsetIncludeRelax(SCIP_SET *set, SCIP_RELAX *relax)
Definition set.c:4100
SCIP_Real SCIPsetSetRelaxfeastol(SCIP_SET *set, SCIP_Real relaxfeastol)
Definition set.c:5810
SCIP_Bool SCIPsetIsSumRelGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7208
SCIP_RETCODE SCIPsetIncludeBanditvtable(SCIP_SET *set, SCIP_BANDITVTABLE *banditvtable)
Definition set.c:4398
SCIP_RETCODE SCIPsetIncludeConcsolverType(SCIP_SET *set, SCIP_CONCSOLVERTYPE *concsolvertype)
Definition set.c:4441
SCIP_Real SCIPsetFeastol(SCIP_SET *set)
Definition set.c:6040
SCIP_RETCODE SCIPsetInitsolPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5502
SCIP_RETCODE SCIPsetGetLongintParam(SCIP_SET *set, const char *name, SCIP_Longint *value)
Definition set.c:3114
SCIP_RETCODE SCIPsetIncludeSepa(SCIP_SET *set, SCIP_SEPA *sepa)
Definition set.c:4174
SCIP_RETCODE SCIPsetIncludeTable(SCIP_SET *set, SCIP_TABLE *table)
Definition set.c:4935
SCIP_Real SCIPsetPseudocosteps(SCIP_SET *set)
Definition set.c:6078
SCIP_RETCODE SCIPsetGetStringParam(SCIP_SET *set, const char *name, char **value)
Definition set.c:3156
SCIP_RETCODE SCIPsetSetHeuristics(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition set.c:3537
SCIP_Bool SCIPsetIsSumGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6418
SCIP_RETCODE SCIPsetInitPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5193
SCIP_RETCODE SCIPsetSetDualfeastol(SCIP_SET *set, SCIP_Real dualfeastol)
Definition set.c:5779
SCIP_RETCODE SCIPsetSetReoptimizationParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition set.c:733
SCIP_RETCODE SCIPsetSetIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, int value)
Definition set.c:3259
SCIP_PARAM ** SCIPsetGetParams(SCIP_SET *set)
Definition set.c:3586
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:3019
SCIP_Real SCIPsetCeil(SCIP_SET *set, SCIP_Real val)
Definition set.c:6331
SCIP_RETCODE SCIPsetIncludeConflicthdlr(SCIP_SET *set, SCIP_CONFLICTHDLR *conflicthdlr)
Definition set.c:3953
int SCIPsetGetSepaMaxcuts(SCIP_SET *set, SCIP_Bool root)
Definition set.c:5851
SCIP_RETCODE SCIPsetFreeConcsolvers(SCIP_SET *set)
Definition set.c:4507
SCIP_Bool SCIPsetIsRelEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7010
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:2925
SCIP_RETCODE SCIPsetIncludePricer(SCIP_SET *set, SCIP_PRICER *pricer)
Definition set.c:3648
SCIP_Bool SCIPsetIsDualfeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6764
SCIP_Bool SCIPsetIsFeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6597
SCIP_Bool SCIPsetIsFeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6575
SCIP_Real SCIPsetFeasRound(SCIP_SET *set, SCIP_Real val)
Definition set.c:6720
SCIP_Bool SCIPsetIsFeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6531
void SCIPsetSortPropsPresol(SCIP_SET *set)
Definition set.c:4368
SCIP_Bool SCIPsetIsPositive(SCIP_SET *set, SCIP_Real val)
Definition set.c:6256
SCIP_Bool SCIPsetIsSumRelGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7186
SCIP_RELAX * SCIPsetFindRelax(SCIP_SET *set, const char *name)
Definition set.c:4124
SCIP_RETCODE SCIPsetSetDefaultBoolParam(SCIP_SET *set, const char *name, SCIP_Bool defaultvalue)
Definition set.c:3221
SCIP_HEUR * SCIPsetFindHeur(SCIP_SET *set, const char *name)
Definition set.c:4553
SCIP_Bool SCIPsetIsLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6191
void SCIPsetSortRelaxsName(SCIP_SET *set)
Definition set.c:4159
void SCIPsetDebugMessagePrint(SCIP_SET *set, const char *formatstr,...)
Definition set.c:7310
void SCIPsetSortPropsName(SCIP_SET *set)
Definition set.c:4383
SCIP_Bool SCIPsetIsScalingIntegral(SCIP_SET *set, SCIP_Real val, SCIP_Real scalar)
Definition set.c:6289
SCIP_Real SCIPsetFeasFloor(SCIP_SET *set, SCIP_Real val)
Definition set.c:6698
SCIP_Real SCIPsetRelaxfeastol(SCIP_SET *set)
Definition set.c:6112
SCIP_Bool SCIPsetIsParamFixed(SCIP_SET *set, const char *name)
Definition set.c:3064
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:854
SCIP_RETCODE SCIPsetIncludeDisp(SCIP_SET *set, SCIP_DISP *disp)
Definition set.c:4883
SCIP_RETCODE SCIPsetSetLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Longint value)
Definition set.c:3311
void SCIPsetSortRelaxs(SCIP_SET *set)
Definition set.c:4144
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:2995
SCIP_Bool SCIPsetIsSumLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6400
void SCIPsetPrintDebugMessage(SCIP_SET *set, const char *sourcefile, int sourceline, const char *formatstr,...)
Definition set.c:7266
SCIP_Bool SCIPsetIsDualfeasNegative(SCIP_SET *set, SCIP_Real val)
Definition set.c:6874
SCIP_CONCSOLVERTYPE * SCIPsetFindConcsolverType(SCIP_SET *set, const char *name)
Definition set.c:4463
SCIP_RETCODE SCIPsetSetVerbLevel(SCIP_SET *set, SCIP_VERBLEVEL verblevel)
Definition set.c:5739
SCIP_RETCODE SCIPsetGetBoolParam(SCIP_SET *set, const char *name, SCIP_Bool *value)
Definition set.c:3086
SCIP_CONSHDLR * SCIPsetFindConshdlr(SCIP_SET *set, const char *name)
Definition set.c:3933
SCIP_Real SCIPsetDualfeastol(SCIP_SET *set)
Definition set.c:6050
void SCIPsetSortComprs(SCIP_SET *set)
Definition set.c:4647
SCIP_RETCODE SCIPsetIncludeConcsolver(SCIP_SET *set, SCIP_CONCSOLVER *concsolver)
Definition set.c:4483
SCIP_Real SCIPsetEpsilon(SCIP_SET *set)
Definition set.c:6020
SCIP_RETCODE SCIPsetChgParamFixed(SCIP_SET *set, const char *name, SCIP_Bool fixed)
Definition set.c:3170
SCIP_BENDERS * SCIPsetFindBenders(SCIP_SET *set, const char *name)
Definition set.c:3744
SCIP_Bool SCIPsetIsSumRelEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7120
SCIP_CUTSEL * SCIPsetFindCutsel(SCIP_SET *set, const char *name)
Definition set.c:4272
SCIP_RETCODE SCIPsetIncludeExprhdlr(SCIP_SET *set, SCIP_EXPRHDLR *exprhdlr)
Definition set.c:5024
void SCIPsetSortComprsName(SCIP_SET *set)
Definition set.c:4662
SCIP_RETCODE SCIPsetExitprePlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5464
SCIP_Bool SCIPsetIsSumGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6436
void SCIPsetSortPricersName(SCIP_SET *set)
Definition set.c:3706
SCIP_RETCODE SCIPsetChgRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Real value)
Definition set.c:3326
SCIP_Bool SCIPsetIsEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6155
SCIP_Bool SCIPsetIsFeasZero(SCIP_SET *set, SCIP_Real val)
Definition set.c:6641
SCIP_RETCODE SCIPsetChgBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Bool value)
Definition set.c:3184
SCIP_Bool SCIPsetIsSumNegative(SCIP_SET *set, SCIP_Real val)
Definition set.c:6476
SCIP_STAGE SCIPsetGetStage(SCIP_SET *set)
Definition set.c:2915
SCIP_Bool SCIPsetIsSumLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6382
SCIP_RETCODE SCIPsetIncludeProp(SCIP_SET *set, SCIP_PROP *prop)
Definition set.c:4306
SCIP_RETCODE SCIPsetIncludeCutsel(SCIP_SET *set, SCIP_CUTSEL *cutsel)
Definition set.c:4248
SCIP_Real SCIPsetGetSepaMaxCoefRatioRowprep(SCIP_SET *set)
Definition set.c:5865
SCIP_Bool SCIPsetIsFeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6553
SCIP_RETCODE SCIPsetIncludeConshdlr(SCIP_SET *set, SCIP_CONSHDLR *conshdlr)
Definition set.c:3794
void SCIPsetSortPricers(SCIP_SET *set)
Definition set.c:3691
SCIP_Real SCIPsetFrac(SCIP_SET *set, SCIP_Real val)
Definition set.c:6353
SCIP_RETCODE SCIPsetSetCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, char value)
Definition set.c:3387
SCIP_RETCODE SCIPsetSetSubscipsOff(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_Bool quiet)
Definition set.c:3520
SCIP_Bool SCIPsetIsUbBetter(SCIP_SET *set, SCIP_Real newub, SCIP_Real oldlb, SCIP_Real oldub)
Definition set.c:6977
void SCIPsetSortSepas(SCIP_SET *set)
Definition set.c:4218
void SCIPsetReinsertConshdlrSepaPrio(SCIP_SET *set, SCIP_CONSHDLR *conshdlr, int oldpriority)
Definition set.c:3850
SCIP_RETCODE SCIPsetIncludeHeur(SCIP_SET *set, SCIP_HEUR *heur)
Definition set.c:4529
SCIP_Real SCIPsetLPFeastolFactor(SCIP_SET *set)
Definition set.c:6060
SCIP_Real SCIPsetInfinity(SCIP_SET *set)
Definition set.c:5998
SCIP_RETCODE SCIPsetGetIntParam(SCIP_SET *set, const char *name, int *value)
Definition set.c:3100
SCIP_RETCODE SCIPsetIncludeEventhdlr(SCIP_SET *set, SCIP_EVENTHDLR *eventhdlr)
Definition set.c:4677
void SCIPsetSortProps(SCIP_SET *set)
Definition set.c:4353
SCIP_RETCODE SCIPsetCreate(SCIP_SET **set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, SCIP *scip)
Definition set.c:1097
SCIP_Real SCIPsetSumepsilon(SCIP_SET *set)
Definition set.c:6030
SCIP_RETCODE SCIPsetSetPresolving(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition set.c:3555
SCIP_Bool SCIPsetIsLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6173
SCIP_Bool SCIPsetIsInfinity(SCIP_SET *set, SCIP_Real val)
Definition set.c:6133
SCIP_RETCODE SCIPsetGetRealParam(SCIP_SET *set, const char *name, SCIP_Real *value)
Definition set.c:3128
void SCIPsetSortHeurs(SCIP_SET *set)
Definition set.c:4573
SCIP_Bool SCIPsetIsSumZero(SCIP_SET *set, SCIP_Real val)
Definition set.c:6454
SCIP_RETCODE SCIPsetIncludePresol(SCIP_SET *set, SCIP_PRESOL *presol)
Definition set.c:4027
SCIP_Real SCIPsetDualfeasRound(SCIP_SET *set, SCIP_Real val)
Definition set.c:6931
SCIP_RETCODE SCIPsetChgStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, const char *value)
Definition set.c:3402
SCIP_Bool SCIPsetIsDualfeasIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6885
SCIP_Bool SCIPsetIsRelGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7098
SCIP_RETCODE SCIPsetIncludeNodesel(SCIP_SET *set, SCIP_NODESEL *nodesel)
Definition set.c:4720
SCIP_SEPA * SCIPsetFindSepa(SCIP_SET *set, const char *name)
Definition set.c:4198
SCIP_RETCODE SCIPsetIncludeCompr(SCIP_SET *set, SCIP_COMPR *compr)
Definition set.c:4603
int SCIPsetCalcPathGrowSize(SCIP_SET *set, int num)
Definition set.c:5730
SCIP_Bool SCIPsetIsDualfeasPositive(SCIP_SET *set, SCIP_Real val)
Definition set.c:6863
void SCIPsetSortHeursName(SCIP_SET *set)
Definition set.c:4588
SCIP_RETCODE SCIPsetChgCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, char value)
Definition set.c:3364
void SCIPsetSortNlpis(SCIP_SET *set)
Definition set.c:5133
SCIP_NLPI * SCIPsetFindNlpi(SCIP_SET *set, const char *name)
Definition set.c:5113
SCIP_RETCODE SCIPsetResetParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition set.c:3482
void SCIPsetSortBenders(SCIP_SET *set)
Definition set.c:3764
void SCIPsetSortExprhdlrs(SCIP_SET *set)
Definition set.c:5076
SCIP_Bool SCIPsetIsDualfeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6742
void SCIPsetEnableOrDisablePluginClocks(SCIP_SET *set, SCIP_Bool enabled)
Definition set.c:791
int SCIPsetGetNParams(SCIP_SET *set)
Definition set.c:3596
SCIP_Bool SCIPsetIsDualfeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6808
SCIP_Bool SCIPsetIsSumRelLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7142
SCIP_PARAM * SCIPsetGetParam(SCIP_SET *set, const char *name)
Definition set.c:3075
SCIP_Bool SCIPsetIsRelGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7076
SCIP_RETCODE SCIPsetExitsolPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat, SCIP_Bool restart)
Definition set.c:5611
SCIP_Bool SCIPsetIsGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6209
void SCIPsetSortSepasName(SCIP_SET *set)
Definition set.c:4233
SCIP_Bool SCIPsetIsSumEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6364
SCIP_RETCODE SCIPsetChgIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, int value)
Definition set.c:3236
SCIP_PROP * SCIPsetFindProp(SCIP_SET *set, const char *name)
Definition set.c:4333
SCIP_CONFLICTHDLR * SCIPsetFindConflicthdlr(SCIP_SET *set, const char *name)
Definition set.c:3977
SCIP_Bool SCIPsetIsIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6278
SCIP_Real SCIPsetDualfeasFrac(SCIP_SET *set, SCIP_Real val)
Definition set.c:6942
SCIP_Bool SCIPsetIsZero(SCIP_SET *set, SCIP_Real val)
Definition set.c:6245
SCIP_Bool SCIPsetIsUpdateUnreliable(SCIP_SET *set, SCIP_Real newvalue, SCIP_Real oldvalue)
Definition set.c:7250
SCIP_Real SCIPsetDualfeasFloor(SCIP_SET *set, SCIP_Real val)
Definition set.c:6909
SCIP_RETCODE SCIPsetSetBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Bool value)
Definition set.c:3206
SCIP_Bool SCIPsetIsFracIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6307
SCIP_RETCODE SCIPsetIncludeNlpi(SCIP_SET *set, SCIP_NLPI *nlpi)
Definition set.c:5090
int SCIPsetGetPriceMaxvars(SCIP_SET *set, SCIP_Bool root)
Definition set.c:5837
SCIP_Real SCIPsetPseudocostdelta(SCIP_SET *set)
Definition set.c:6088
SCIP_Real SCIPsetSumCeil(SCIP_SET *set, SCIP_Real val)
Definition set.c:6498
SCIP_Real SCIPsetSumFrac(SCIP_SET *set, SCIP_Real val)
Definition set.c:6520
SCIP_Real SCIPsetFeasFrac(SCIP_SET *set, SCIP_Real val)
Definition set.c:6731
SCIP_Real SCIPsetCutoffbounddelta(SCIP_SET *set)
Definition set.c:6098
SCIP_DEBUGSOLDATA * SCIPsetGetDebugSolData(SCIP_SET *set)
Definition set.c:5890
SCIP_RETCODE SCIPsetExitPlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5314
SCIP_Bool SCIPsetIsSumRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7164
SCIP_BRANCHRULE * SCIPsetFindBranchrule(SCIP_SET *set, const char *name)
Definition set.c:4833
SCIP_Bool SCIPsetIsDualfeasGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6830
SCIP_Real SCIPsetGetReferencevalue(SCIP_SET *set)
Definition set.c:5879
SCIP_READER * SCIPsetFindReader(SCIP_SET *set, const char *name)
Definition set.c:3628
SCIP_Real SCIPsetRecompfac(SCIP_SET *set)
Definition set.c:6123
SCIP_Bool SCIPsetIsFeasGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:6619
SCIP_RETCODE SCIPsetIncludeDialog(SCIP_SET *set, SCIP_DIALOG *dialog)
Definition set.c:4980
void SCIPsetSortBendersName(SCIP_SET *set)
Definition set.c:3779
SCIP_EVENTHDLR * SCIPsetFindEventhdlr(SCIP_SET *set, const char *name)
Definition set.c:4700
SCIP_RETCODE SCIPsetInitprePlugins(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat)
Definition set.c:5426
SCIP_Real SCIPsetGetHugeValue(SCIP_SET *set)
Definition set.c:6010
SCIP_Bool SCIPsetIsRelLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
Definition set.c:7054
SCIP_RETCODE SCIPsetReadParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename)
Definition set.c:3440
void SCIPsetSortConflicthdlrs(SCIP_SET *set)
Definition set.c:3997
void SCIPsetSetLimitChanged(SCIP_SET *set)
Definition set.c:5827
SCIP_Real SCIPsetBarrierconvtol(SCIP_SET *set)
Definition set.c:6068
SCIP_RETCODE SCIPsetFree(SCIP_SET **set, BMS_BLKMEM *blkmem)
Definition set.c:2720
SCIP_PRESOL * SCIPsetFindPresol(SCIP_SET *set, const char *name)
Definition set.c:4050
SCIP_RETCODE SCIPsetSetEmphasis(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMEMPHASIS paramemphasis, SCIP_Bool quiet)
Definition set.c:3505
SCIP_Real SCIPsetRound(SCIP_SET *set, SCIP_Real val)
Definition set.c:6342
SCIP_RETCODE SCIPsetCopyParams(SCIP_SET *sourceset, SCIP_SET *targetset, SCIP_MESSAGEHDLR *messagehdlr)
Definition set.c:1080
SCIP_Bool SCIPsetIsSumPositive(SCIP_SET *set, SCIP_Real val)
Definition set.c:6465
int SCIPsetCalcMemGrowSize(SCIP_SET *set, int num)
Definition set.c:5712
SCIP_RETCODE SCIPsetIncludeExternalCode(SCIP_SET *set, const char *name, const char *description)
Definition set.c:5161
SCIP_RETCODE SCIPsetChgLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Longint value)
Definition set.c:3288
SCIP_NODESEL * SCIPsetGetNodesel(SCIP_SET *set, SCIP_STAT *stat)
Definition set.c:4771
SCIP_Bool SCIPsetIsFeasIntegral(SCIP_SET *set, SCIP_Real val)
Definition set.c:6674
SCIP_Bool SCIPsetIsNegative(SCIP_SET *set, SCIP_Real val)
Definition set.c:6267
unsigned int SCIPsetInitializeRandomSeed(SCIP_SET *set, unsigned int initialseedvalue)
Definition set.c:7327
void SCIPsetSetPriorityNlpi(SCIP_SET *set, SCIP_NLPI *nlpi, int priority)
Definition set.c:5147
SCIP_BANDITVTABLE * SCIPsetFindBanditvtable(SCIP_SET *set, const char *name)
Definition set.c:4420
datastructures for global SCIP settings
type definitions for bandit selection algorithms
type definitions for Benders' decomposition methods
type definitions for branching rules
type definitions for clocks and timing issues
type definitions for tree compression
type definitions for conflict analysis
type definitions for constraints and constraint handlers
type definitions for displaying runtime statistics
type definitions for managing events
type definitions for primal heuristics
enum SCIP_VerbLevel SCIP_VERBLEVEL
type definitions for node selectors
type definitions for handling parameter settings
enum SCIP_ParamSetting SCIP_PARAMSETTING
struct SCIP_ParamData SCIP_PARAMDATA
enum SCIP_ParamEmphasis SCIP_PARAMEMPHASIS
#define SCIP_DECL_PARAMCHGD(x)
type definitions for presolvers
type definitions for variable pricers
type definitions for propagators
type definitions for input file readers
type definitions for relaxators
enum SCIP_Retcode SCIP_RETCODE
type definitions for SCIP's main datastructure
type definitions for separators
type definitions for global SCIP settings
enum SCIP_Stage SCIP_STAGE
Definition type_set.h:59
type definitions for problem statistics
type definitions for displaying statistics tables