Scippy

SCIP

Solving Constraint Integer Programs

scip_param.h
Go to the documentation of this file.
1/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2/* */
3/* This file is part of the program and library */
4/* SCIP --- Solving Constraint Integer Programs */
5/* */
6/* Copyright (c) 2002-2024 Zuse Institute Berlin (ZIB) */
7/* */
8/* Licensed under the Apache License, Version 2.0 (the "License"); */
9/* you may not use this file except in compliance with the License. */
10/* You may obtain a copy of the License at */
11/* */
12/* http://www.apache.org/licenses/LICENSE-2.0 */
13/* */
14/* Unless required by applicable law or agreed to in writing, software */
15/* distributed under the License is distributed on an "AS IS" BASIS, */
16/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
17/* See the License for the specific language governing permissions and */
18/* limitations under the License. */
19/* */
20/* You should have received a copy of the Apache-2.0 license */
21/* along with SCIP; see the file LICENSE. If not visit scipopt.org. */
22/* */
23/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
24
25/**@file scip_param.h
26 * @ingroup PUBLICCOREAPI
27 * @brief public methods for SCIP parameter handling
28 * @author Tobias Achterberg
29 * @author Timo Berthold
30 * @author Thorsten Koch
31 * @author Alexander Martin
32 * @author Marc Pfetsch
33 * @author Kati Wolter
34 * @author Gregor Hendel
35 * @author Leona Gottwald
36 */
37
38/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
39
40#ifndef __SCIP_SCIP_PARAM_H__
41#define __SCIP_SCIP_PARAM_H__
42
43
44#include "scip/def.h"
45#include "scip/type_paramset.h"
46#include "scip/type_retcode.h"
47#include "scip/type_scip.h"
48
49#ifdef __cplusplus
50extern "C" {
51#endif
52
53/**@addtogroup ParameterMethods
54 *
55 * @{
56 */
57
58/** creates a SCIP_Bool parameter, sets it to its default value, and adds it to the parameter set
59 *
60 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
61 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
62 */
63SCIP_EXPORT
65 SCIP* scip, /**< SCIP data structure */
66 const char* name, /**< name of the parameter */
67 const char* desc, /**< description of the parameter */
68 SCIP_Bool* valueptr, /**< pointer to store the current parameter value, or NULL */
69 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
70 SCIP_Bool defaultvalue, /**< default value of the parameter */
71 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
72 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
73 );
74
75/** creates a int parameter, sets it to its default value, and adds it to the parameter set
76 *
77 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
78 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
79 */
80SCIP_EXPORT
82 SCIP* scip, /**< SCIP data structure */
83 const char* name, /**< name of the parameter */
84 const char* desc, /**< description of the parameter */
85 int* valueptr, /**< pointer to store the current parameter value, or NULL */
86 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
87 int defaultvalue, /**< default value of the parameter */
88 int minvalue, /**< minimum value for parameter */
89 int maxvalue, /**< maximum value for parameter */
90 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
91 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
92 );
93
94/** creates a SCIP_Longint parameter, sets it to its default value, and adds it to the parameter set
95 *
96 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
97 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
98 */
99SCIP_EXPORT
101 SCIP* scip, /**< SCIP data structure */
102 const char* name, /**< name of the parameter */
103 const char* desc, /**< description of the parameter */
104 SCIP_Longint* valueptr, /**< pointer to store the current parameter value, or NULL */
105 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
106 SCIP_Longint defaultvalue, /**< default value of the parameter */
107 SCIP_Longint minvalue, /**< minimum value for parameter */
108 SCIP_Longint maxvalue, /**< maximum value for parameter */
109 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
110 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
111 );
112
113/** creates a SCIP_Real parameter, sets it to its default value, and adds it to the parameter set
114 *
115 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
116 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
117 */
118SCIP_EXPORT
120 SCIP* scip, /**< SCIP data structure */
121 const char* name, /**< name of the parameter */
122 const char* desc, /**< description of the parameter */
123 SCIP_Real* valueptr, /**< pointer to store the current parameter value, or NULL */
124 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
125 SCIP_Real defaultvalue, /**< default value of the parameter */
126 SCIP_Real minvalue, /**< minimum value for parameter */
127 SCIP_Real maxvalue, /**< maximum value for parameter */
128 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
129 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
130 );
131
132/** creates a char parameter, sets it to its default value, and adds it to the parameter set
133 *
134 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
135 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
136 */
137SCIP_EXPORT
139 SCIP* scip, /**< SCIP data structure */
140 const char* name, /**< name of the parameter */
141 const char* desc, /**< description of the parameter */
142 char* valueptr, /**< pointer to store the current parameter value, or NULL */
143 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
144 char defaultvalue, /**< default value of the parameter */
145 const char* allowedvalues, /**< array with possible parameter values, or NULL if not restricted */
146 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
147 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
148 );
149
150/** creates a string(char*) parameter, sets it to its default value, and adds it to the parameter set
151 *
152 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
153 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
154 */
155SCIP_EXPORT
157 SCIP* scip, /**< SCIP data structure */
158 const char* name, /**< name of the parameter */
159 const char* desc, /**< description of the parameter */
160 char** valueptr, /**< pointer to store the current parameter value, or NULL; if not NULL then *valueptr should be NULL */
161 SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
162 const char* defaultvalue, /**< default value of the parameter */
163 SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
164 SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
165 );
166
167/** gets the fixing status of an existing parameter
168 *
169 * @return TRUE if the parameter is fixed to a value, otherwise FALSE.
170 */
171SCIP_EXPORT
173 SCIP* scip, /**< SCIP data structure */
174 const char* name /**< name of the parameter */
175 );
176
177/** returns the pointer to the SCIP parameter with the given name
178 *
179 * @return pointer to the parameter with the given name
180 */
181SCIP_EXPORT
183 SCIP* scip, /**< SCIP data structure */
184 const char* name /**< name of the parameter */
185 );
186
187/** gets the value of an existing SCIP_Bool parameter
188 *
189 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
190 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
191 */
192SCIP_EXPORT
194 SCIP* scip, /**< SCIP data structure */
195 const char* name, /**< name of the parameter */
196 SCIP_Bool* value /**< pointer to store the parameter */
197 );
198
199/** gets the value of an existing int parameter
200 *
201 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
202 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
203 */
204SCIP_EXPORT
206 SCIP* scip, /**< SCIP data structure */
207 const char* name, /**< name of the parameter */
208 int* value /**< pointer to store the parameter */
209 );
210
211/** gets the value of an existing SCIP_Longint parameter
212 *
213 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
214 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
215 */
216SCIP_EXPORT
218 SCIP* scip, /**< SCIP data structure */
219 const char* name, /**< name of the parameter */
220 SCIP_Longint* value /**< pointer to store the parameter */
221 );
222
223/** gets the value of an existing SCIP_Real parameter
224 *
225 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
226 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
227 */
228SCIP_EXPORT
230 SCIP* scip, /**< SCIP data structure */
231 const char* name, /**< name of the parameter */
232 SCIP_Real* value /**< pointer to store the parameter */
233 );
234
235/** gets the value of an existing char parameter
236 *
237 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
238 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
239 */
240SCIP_EXPORT
242 SCIP* scip, /**< SCIP data structure */
243 const char* name, /**< name of the parameter */
244 char* value /**< pointer to store the parameter */
245 );
246
247/** gets the value of an existing string(char*) parameter
248 *
249 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
250 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
251 */
252SCIP_EXPORT
254 SCIP* scip, /**< SCIP data structure */
255 const char* name, /**< name of the parameter */
256 char** value /**< pointer to store the parameter */
257 );
258
259/** fixes the value of an existing parameter
260 *
261 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
262 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
263 *
264 * @note: Be careful with this method! Some general settings, e.g., the time or node limit, should not be fixed because
265 * they have to be changed for sub-SCIPs.
266 */
267SCIP_EXPORT
269 SCIP* scip, /**< SCIP data structure */
270 const char* name /**< name of the parameter */
271 );
272
273/** unfixes the value of an existing parameter
274 *
275 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
276 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
277 */
278SCIP_EXPORT
280 SCIP* scip, /**< SCIP data structure */
281 const char* name /**< name of the parameter */
282 );
283
284/** changes the value of an existing SCIP_Bool parameter
285 *
286 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
287 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
288 */
289SCIP_EXPORT
291 SCIP* scip, /**< SCIP data structure */
292 SCIP_PARAM* param, /**< parameter */
293 SCIP_Bool value /**< new value of the parameter */
294 );
295
296/** changes the value of an existing SCIP_Bool parameter
297 *
298 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
299 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
300 */
301SCIP_EXPORT
303 SCIP* scip, /**< SCIP data structure */
304 const char* name, /**< name of the parameter */
305 SCIP_Bool value /**< new value of the parameter */
306 );
307
308/** checks whether the value of an existing SCIP_Bool parameter is valid */
309SCIP_EXPORT
311 SCIP* scip, /**< SCIP data structure */
312 SCIP_PARAM* param, /**< parameter */
313 SCIP_Bool value /**< value to check */
314 );
315
316/** changes the value of an existing int parameter
317 *
318 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
319 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
320 */
321SCIP_EXPORT
323 SCIP* scip, /**< SCIP data structure */
324 SCIP_PARAM* param, /**< parameter */
325 int value /**< new value of the parameter */
326 );
327
328/** changes the value of an existing int parameter
329 *
330 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
331 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
332 */
333SCIP_EXPORT
335 SCIP* scip, /**< SCIP data structure */
336 const char* name, /**< name of the parameter */
337 int value /**< new value of the parameter */
338 );
339
340/** checks whether the value of an existing int parameter is valid */
341SCIP_EXPORT
343 SCIP* scip, /**< SCIP data structure */
344 SCIP_PARAM* param, /**< parameter */
345 int value /**< value to check */
346 );
347
348/** changes the value of an existing SCIP_Longint parameter
349 *
350 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
351 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
352 */
353SCIP_EXPORT
355 SCIP* scip, /**< SCIP data structure */
356 SCIP_PARAM* param, /**< parameter */
357 SCIP_Longint value /**< new value of the parameter */
358 );
359
360/** changes the value of an existing SCIP_Longint parameter
361 *
362 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
363 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
364 */
365SCIP_EXPORT
367 SCIP* scip, /**< SCIP data structure */
368 const char* name, /**< name of the parameter */
369 SCIP_Longint value /**< new value of the parameter */
370 );
371
372/** checks whether parameter value of an existing SCIP_Longint paramter is valid */
373SCIP_EXPORT
375 SCIP* scip, /**< SCIP data structure */
376 SCIP_PARAM* param, /**< parameter */
377 SCIP_Longint value /**< value to check */
378 );
379
380/** changes the value of an existing SCIP_Real parameter
381 *
382 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
383 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
384 */
385SCIP_EXPORT
387 SCIP* scip, /**< SCIP data structure */
388 SCIP_PARAM* param, /**< parameter */
389 SCIP_Real value /**< new value of the parameter */
390 );
391
392/** changes the value of an existing SCIP_Real parameter
393 *
394 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
395 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
396 */
397SCIP_EXPORT
399 SCIP* scip, /**< SCIP data structure */
400 const char* name, /**< name of the parameter */
401 SCIP_Real value /**< new value of the parameter */
402 );
403
404/** checks whether parameter value of an existing SCIP_Real paramter is valid */
405SCIP_EXPORT
407 SCIP* scip, /**< SCIP data structure */
408 SCIP_PARAM* param, /**< parameter */
409 SCIP_Real value /**< value to check */
410 );
411
412/** changes the value of an existing char parameter
413 *
414 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
415 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
416 */
417SCIP_EXPORT
419 SCIP* scip, /**< SCIP data structure */
420 SCIP_PARAM* param, /**< parameter */
421 char value /**< new value of the parameter */
422 );
423
424/** changes the value of an existing char parameter
425 *
426 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
427 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
428 */
429SCIP_EXPORT
431 SCIP* scip, /**< SCIP data structure */
432 const char* name, /**< name of the parameter */
433 char value /**< new value of the parameter */
434 );
435
436/** checks whether parameter value for a given SCIP_Real parameter is valid */
437SCIP_EXPORT
439 SCIP* scip, /**< SCIP data structure */
440 SCIP_PARAM* param, /**< parameter */
441 const char value /**< value to check */
442 );
443
444/** changes the value of an existing string(char*) parameter
445 *
446 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
447 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
448 */
449SCIP_EXPORT
451 SCIP* scip, /**< SCIP data structure */
452 SCIP_PARAM* param, /**< parameter */
453 const char* value /**< new value of the parameter */
454 );
455
456/** changes the value of an existing string(char*) parameter
457 *
458 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
459 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
460 */
461SCIP_EXPORT
463 SCIP* scip, /**< SCIP data structure */
464 const char* name, /**< name of the parameter */
465 const char* value /**< new value of the parameter */
466 );
467
468/** checks whether parameter value for a given string parameter is valid */
469SCIP_EXPORT
471 SCIP* scip, /**< SCIP data structure */
472 SCIP_PARAM* param, /**< parameter */
473 const char* value /**< value to check */
474 );
475
476/** changes the value of an existing parameter
477 *
478 * The parameter type is checked and conversion of the given value to this type is attempted.
479 *
480 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
481 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
482 */
483SCIP_EXPORT
485 SCIP* scip, /**< SCIP data structure */
486 const char* name, /**< name of the parameter */
487 const char* value /**< new value of the parameter as string */
488 );
489
490/** reads parameters from a file
491 *
492 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
493 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
494 */
495SCIP_EXPORT
497 SCIP* scip, /**< SCIP data structure */
498 const char* filename /**< file name */
499 );
500
501/** writes a single parameter to a file
502 *
503 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
504 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
505 */
506SCIP_EXPORT
508 SCIP* scip, /**< SCIP data structure */
509 SCIP_PARAM* param, /**< parameter */
510 const char* filename, /**< file name, or NULL for stdout */
511 SCIP_Bool comments, /**< should parameter descriptions be written as comments? */
512 SCIP_Bool onlychanged /**< should only those parameters be written that are changed from their
513 * default value?
514 */
515 );
516
517/** writes all parameters in the parameter set to a file
518 *
519 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
520 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
521 */
522SCIP_EXPORT
524 SCIP* scip, /**< SCIP data structure */
525 const char* filename, /**< file name, or NULL for stdout */
526 SCIP_Bool comments, /**< should parameter descriptions be written as comments? */
527 SCIP_Bool onlychanged /**< should only those parameters be written that are changed from their
528 * default value?
529 */
530 );
531
532/** resets a single parameter to its default value
533 *
534 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
535 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
536 */
537SCIP_EXPORT
539 SCIP* scip, /**< SCIP data structure */
540 const char* name /**< name of the parameter */
541 );
542
543/** resets all parameters to their default values
544 *
545 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
546 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
547 */
548SCIP_EXPORT
550 SCIP* scip /**< SCIP data structure */
551 );
552
553/** sets parameters to
554 *
555 * - \ref SCIP_PARAMEMPHASIS_DEFAULT to use default values (see also SCIPresetParams())
556 * - \ref SCIP_PARAMEMPHASIS_COUNTER to get feasible and "fast" counting process
557 * - \ref SCIP_PARAMEMPHASIS_CPSOLVER to get CP like search (e.g. no LP relaxation)
558 * - \ref SCIP_PARAMEMPHASIS_EASYCIP to solve easy problems fast
559 * - \ref SCIP_PARAMEMPHASIS_FEASIBILITY to detect feasibility fast
560 * - \ref SCIP_PARAMEMPHASIS_HARDLP to be capable to handle hard LPs
561 * - \ref SCIP_PARAMEMPHASIS_OPTIMALITY to prove optimality fast
562 * - \ref SCIP_PARAMEMPHASIS_PHASEFEAS to find feasible solutions during a 3 phase solution process
563 * - \ref SCIP_PARAMEMPHASIS_PHASEIMPROVE to find improved solutions during a 3 phase solution process
564 * - \ref SCIP_PARAMEMPHASIS_PHASEPROOF to proof optimality during a 3 phase solution process
565 * - \ref SCIP_PARAMEMPHASIS_NUMERICS to solve problems which cause numerical issues
566 *
567 *
568 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
569 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
570 */
571SCIP_EXPORT
573 SCIP* scip, /**< SCIP data structure */
574 SCIP_PARAMEMPHASIS paramemphasis, /**< parameter settings */
575 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
576 );
577
578/** sets parameters to deactivate separators and heuristics that use auxiliary SCIP instances; should be called for
579 * auxiliary SCIP instances to avoid recursion
580 *
581 * @note only deactivates plugins which could cause recursion, some plugins which use sub-SCIPs stay activated
582 *
583 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
584 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
585 */
586SCIP_EXPORT
588 SCIP* scip, /**< (auxiliary) SCIP data structure */
589 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
590 );
591
592/** sets heuristic parameters values to
593 *
594 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all heuristic parameters
595 * - SCIP_PARAMSETTING_FAST such that the time spend for heuristic is decreased
596 * - SCIP_PARAMSETTING_AGGRESSIVE such that the heuristic are called more aggregative
597 * - SCIP_PARAMSETTING_OFF which turn off all heuristics
598 *
599 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
600 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
601 */
602SCIP_EXPORT
604 SCIP* scip, /**< SCIP data structure */
605 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
606 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
607 );
608
609/** sets presolving parameters to
610 *
611 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all presolving parameters
612 * - SCIP_PARAMSETTING_FAST such that the time spend for presolving is decreased
613 * - SCIP_PARAMSETTING_AGGRESSIVE such that the presolving is more aggregative
614 * - SCIP_PARAMSETTING_OFF which turn off all presolving
615 *
616 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
617 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
618 */
619SCIP_EXPORT
621 SCIP* scip, /**< SCIP data structure */
622 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
623 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
624 );
625
626/** sets separating parameters to
627 *
628 * - SCIP_PARAMSETTING_DEFAULT which are the default values of all separating parameters
629 * - SCIP_PARAMSETTING_FAST such that the time spend for separating is decreased
630 * - SCIP_PARAMSETTING_AGGRESSIVE such that the separating is done more aggregative
631 * - SCIP_PARAMSETTING_OFF which turn off all separating
632 *
633 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
634 * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
635 */
636SCIP_EXPORT
638 SCIP* scip, /**< SCIP data structure */
639 SCIP_PARAMSETTING paramsetting, /**< parameter settings */
640 SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
641 );
642
643/** returns the array of all available SCIP parameters
644 *
645 * @return SCIP_PARAM* array, containing all SCIP parameters.
646 */
647SCIP_EXPORT
649 SCIP* scip /**< SCIP data structure */
650 );
651
652/** returns the total number of all available SCIP parameters
653 *
654 * @return number of all SCIP parameters.
655 */
656SCIP_EXPORT
658 SCIP* scip /**< SCIP data structure */
659 );
660
661/** returns whether plugins with sub-SCIPs that could cause recursion have been disabled
662 *
663 * @return the value of the variable set->subscipsoff
664 */
665SCIP_EXPORT
667 SCIP* scip /**< SCIP data structure */
668 );
669
670/**@} */
671
672#ifdef __cplusplus
673}
674#endif
675
676#endif
common defines and data types used in all packages of SCIP
#define SCIP_Longint
Definition: def.h:158
#define SCIP_Bool
Definition: def.h:91
#define SCIP_Real
Definition: def.h:173
SCIP_RETCODE SCIPgetBoolParam(SCIP *scip, const char *name, SCIP_Bool *value)
Definition: scip_param.c:250
SCIP_RETCODE SCIPaddLongintParam(SCIP *scip, 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: scip_param.c:111
SCIP_Bool SCIPisStringParamValid(SCIP *scip, SCIP_PARAM *param, const char *value)
Definition: scip_param.c:734
SCIP_Bool SCIPisParamFixed(SCIP *scip, const char *name)
Definition: scip_param.c:219
SCIP_RETCODE SCIPresetParams(SCIP *scip)
Definition: scip_param.c:853
SCIP_RETCODE SCIPaddCharParam(SCIP *scip, const char *name, const char *desc, char *valueptr, SCIP_Bool isadvanced, char defaultvalue, const char *allowedvalues, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
Definition: scip_param.c:167
SCIP_RETCODE SCIPchgCharParam(SCIP *scip, SCIP_PARAM *param, char value)
Definition: scip_param.c:635
SCIP_RETCODE SCIPaddIntParam(SCIP *scip, 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: scip_param.c:83
SCIP_RETCODE SCIPchgStringParam(SCIP *scip, SCIP_PARAM *param, const char *value)
Definition: scip_param.c:693
SCIP_PARAM * SCIPgetParam(SCIP *scip, const char *name)
Definition: scip_param.c:234
int SCIPgetNParams(SCIP *scip)
Definition: scip_param.c:1013
SCIP_RETCODE SCIPaddStringParam(SCIP *scip, const char *name, const char *desc, char **valueptr, SCIP_Bool isadvanced, const char *defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
Definition: scip_param.c:194
SCIP_RETCODE SCIPsetLongintParam(SCIP *scip, const char *name, SCIP_Longint value)
Definition: scip_param.c:545
SCIP_RETCODE SCIPaddRealParam(SCIP *scip, 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: scip_param.c:139
SCIP_RETCODE SCIPsetHeuristics(SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: scip_param.c:927
SCIP_Bool SCIPisCharParamValid(SCIP *scip, SCIP_PARAM *param, const char value)
Definition: scip_param.c:676
SCIP_RETCODE SCIPsetIntParam(SCIP *scip, const char *name, int value)
Definition: scip_param.c:487
SCIP_RETCODE SCIPsetSubscipsOff(SCIP *scip, SCIP_Bool quiet)
Definition: scip_param.c:904
SCIP_RETCODE SCIPgetRealParam(SCIP *scip, const char *name, SCIP_Real *value)
Definition: scip_param.c:307
SCIP_Bool SCIPisIntParamValid(SCIP *scip, SCIP_PARAM *param, int value)
Definition: scip_param.c:502
SCIP_RETCODE SCIPreadParams(SCIP *scip, const char *filename)
Definition: scip_param.c:772
SCIP_RETCODE SCIPunfixParam(SCIP *scip, const char *name)
Definition: scip_param.c:385
SCIP_RETCODE SCIPwriteParams(SCIP *scip, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
Definition: scip_param.c:813
SCIP_RETCODE SCIPresetParam(SCIP *scip, const char *name)
Definition: scip_param.c:835
SCIP_RETCODE SCIPchgBoolParam(SCIP *scip, SCIP_PARAM *param, SCIP_Bool value)
Definition: scip_param.c:403
SCIP_RETCODE SCIPsetPresolving(SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: scip_param.c:953
SCIP_RETCODE SCIPsetParam(SCIP *scip, const char *name, const char *value)
Definition: scip_param.c:753
SCIP_RETCODE SCIPchgRealParam(SCIP *scip, SCIP_PARAM *param, SCIP_Real value)
Definition: scip_param.c:577
SCIP_RETCODE SCIPsetEmphasis(SCIP *scip, SCIP_PARAMEMPHASIS paramemphasis, SCIP_Bool quiet)
Definition: scip_param.c:882
SCIP_RETCODE SCIPchgLongintParam(SCIP *scip, SCIP_PARAM *param, SCIP_Longint value)
Definition: scip_param.c:519
SCIP_RETCODE SCIPsetCharParam(SCIP *scip, const char *name, char value)
Definition: scip_param.c:661
SCIP_RETCODE SCIPsetStringParam(SCIP *scip, const char *name, const char *value)
Definition: scip_param.c:719
SCIP_RETCODE SCIPgetStringParam(SCIP *scip, const char *name, char **value)
Definition: scip_param.c:345
SCIP_PARAM ** SCIPgetParams(SCIP *scip)
Definition: scip_param.c:999
SCIP_RETCODE SCIPwriteParam(SCIP *scip, SCIP_PARAM *param, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
Definition: scip_param.c:790
SCIP_Bool SCIPgetSubscipsOff(SCIP *scip)
Definition: scip_param.c:1027
SCIP_Bool SCIPisLongintParamValid(SCIP *scip, SCIP_PARAM *param, SCIP_Longint value)
Definition: scip_param.c:560
SCIP_RETCODE SCIPaddBoolParam(SCIP *scip, const char *name, const char *desc, SCIP_Bool *valueptr, SCIP_Bool isadvanced, SCIP_Bool defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
Definition: scip_param.c:57
SCIP_RETCODE SCIPgetLongintParam(SCIP *scip, const char *name, SCIP_Longint *value)
Definition: scip_param.c:288
SCIP_RETCODE SCIPgetIntParam(SCIP *scip, const char *name, int *value)
Definition: scip_param.c:269
SCIP_RETCODE SCIPsetBoolParam(SCIP *scip, const char *name, SCIP_Bool value)
Definition: scip_param.c:429
SCIP_RETCODE SCIPfixParam(SCIP *scip, const char *name)
Definition: scip_param.c:367
SCIP_Bool SCIPisRealParamValid(SCIP *scip, SCIP_PARAM *param, SCIP_Real value)
Definition: scip_param.c:618
SCIP_RETCODE SCIPchgIntParam(SCIP *scip, SCIP_PARAM *param, int value)
Definition: scip_param.c:461
SCIP_RETCODE SCIPsetRealParam(SCIP *scip, const char *name, SCIP_Real value)
Definition: scip_param.c:603
SCIP_RETCODE SCIPsetSeparating(SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: scip_param.c:979
SCIP_Bool SCIPisBoolParamValid(SCIP *scip, SCIP_PARAM *param, SCIP_Bool value)
Definition: scip_param.c:444
SCIP_RETCODE SCIPgetCharParam(SCIP *scip, const char *name, char *value)
Definition: scip_param.c:326
type definitions for handling parameter settings
enum SCIP_ParamSetting SCIP_PARAMSETTING
Definition: type_paramset.h:65
struct SCIP_ParamData SCIP_PARAMDATA
Definition: type_paramset.h:87
enum SCIP_ParamEmphasis SCIP_PARAMEMPHASIS
Definition: type_paramset.h:84
#define SCIP_DECL_PARAMCHGD(x)
type definitions for return codes for SCIP methods
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:63
type definitions for SCIP's main datastructure