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
50 extern "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  */
63 SCIP_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  */
80 SCIP_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  */
99 SCIP_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  */
118 SCIP_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  */
137 SCIP_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  */
155 SCIP_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  */
171 SCIP_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  */
181 SCIP_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  */
192 SCIP_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  */
204 SCIP_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  */
216 SCIP_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  */
228 SCIP_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  */
240 SCIP_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  */
252 SCIP_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  */
267 SCIP_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  */
278 SCIP_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  */
289 SCIP_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  */
301 SCIP_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 */
309 SCIP_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  */
321 SCIP_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  */
333 SCIP_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 */
341 SCIP_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  */
353 SCIP_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  */
365 SCIP_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 */
373 SCIP_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  */
385 SCIP_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  */
397 SCIP_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 */
405 SCIP_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  */
417 SCIP_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  */
429 SCIP_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 */
437 SCIP_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  */
449 SCIP_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  */
461 SCIP_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 */
469 SCIP_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  */
483 SCIP_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  */
495 SCIP_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  */
506 SCIP_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  */
522 SCIP_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  */
537 SCIP_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  */
548 SCIP_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  */
571 SCIP_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  */
586 SCIP_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  */
602 SCIP_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  */
619 SCIP_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  */
636 SCIP_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  */
647 SCIP_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  */
656 SCIP_EXPORT
657 int SCIPgetNParams(
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  */
665 SCIP_EXPORT
667  SCIP* scip /**< SCIP data structure */
668  );
669 
670 /**@} */
671 
672 #ifdef __cplusplus
673 }
674 #endif
675 
676 #endif
SCIP_PARAM ** SCIPgetParams(SCIP *scip)
Definition: scip_param.c:999
SCIP_RETCODE SCIPgetStringParam(SCIP *scip, const char *name, char **value)
Definition: scip_param.c:345
SCIP_RETCODE SCIPgetCharParam(SCIP *scip, const char *name, char *value)
Definition: scip_param.c:326
SCIP_RETCODE SCIPsetSeparating(SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: scip_param.c:979
SCIP_RETCODE SCIPgetRealParam(SCIP *scip, const char *name, SCIP_Real *value)
Definition: scip_param.c:307
struct SCIP_ParamData SCIP_PARAMDATA
Definition: type_paramset.h:87
SCIP_Bool SCIPisStringParamValid(SCIP *scip, SCIP_PARAM *param, const char *value)
Definition: scip_param.c:734
SCIP_RETCODE SCIPsetHeuristics(SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: scip_param.c:927
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 SCIPisIntParamValid(SCIP *scip, SCIP_PARAM *param, int value)
Definition: scip_param.c:502
SCIP_Bool SCIPgetSubscipsOff(SCIP *scip)
Definition: scip_param.c:1027
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:63
SCIP_RETCODE SCIPsetPresolving(SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: scip_param.c:953
SCIP_RETCODE SCIPchgRealParam(SCIP *scip, SCIP_PARAM *param, SCIP_Real value)
Definition: scip_param.c:577
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
type definitions for return codes for SCIP methods
SCIP_RETCODE SCIPwriteParam(SCIP *scip, SCIP_PARAM *param, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
Definition: scip_param.c:790
SCIP_RETCODE SCIPsetRealParam(SCIP *scip, const char *name, SCIP_Real value)
Definition: scip_param.c:603
SCIP_RETCODE SCIPchgStringParam(SCIP *scip, SCIP_PARAM *param, const char *value)
Definition: scip_param.c:693
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
enum SCIP_ParamSetting SCIP_PARAMSETTING
Definition: type_paramset.h:65
SCIP_RETCODE SCIPsetParam(SCIP *scip, const char *name, const char *value)
Definition: scip_param.c:753
SCIP_Bool SCIPisCharParamValid(SCIP *scip, SCIP_PARAM *param, const char value)
Definition: scip_param.c:676
SCIP_RETCODE SCIPresetParams(SCIP *scip)
Definition: scip_param.c:853
SCIP_Bool SCIPisBoolParamValid(SCIP *scip, SCIP_PARAM *param, SCIP_Bool value)
Definition: scip_param.c:444
SCIP_Bool SCIPisParamFixed(SCIP *scip, const char *name)
Definition: scip_param.c:219
SCIP_RETCODE SCIPchgCharParam(SCIP *scip, SCIP_PARAM *param, char value)
Definition: scip_param.c:635
type definitions for SCIP&#39;s main datastructure
SCIP_RETCODE SCIPsetBoolParam(SCIP *scip, const char *name, SCIP_Bool value)
Definition: scip_param.c:429
#define SCIP_DECL_PARAMCHGD(x)
SCIP_RETCODE SCIPgetBoolParam(SCIP *scip, const char *name, SCIP_Bool *value)
Definition: scip_param.c:250
SCIP_RETCODE SCIPgetIntParam(SCIP *scip, const char *name, int *value)
Definition: scip_param.c:269
SCIP_RETCODE SCIPunfixParam(SCIP *scip, const char *name)
Definition: scip_param.c:385
SCIP_PARAM * SCIPgetParam(SCIP *scip, const char *name)
Definition: scip_param.c:234
SCIP_RETCODE SCIPsetEmphasis(SCIP *scip, SCIP_PARAMEMPHASIS paramemphasis, SCIP_Bool quiet)
Definition: scip_param.c:882
SCIP_Bool SCIPisLongintParamValid(SCIP *scip, SCIP_PARAM *param, SCIP_Longint value)
Definition: scip_param.c:560
SCIP_RETCODE SCIPgetLongintParam(SCIP *scip, const char *name, SCIP_Longint *value)
Definition: scip_param.c:288
#define SCIP_Bool
Definition: def.h:91
SCIP_RETCODE SCIPchgLongintParam(SCIP *scip, SCIP_PARAM *param, SCIP_Longint value)
Definition: scip_param.c:519
SCIP_RETCODE SCIPsetIntParam(SCIP *scip, const char *name, int value)
Definition: scip_param.c:487
SCIP_RETCODE SCIPsetStringParam(SCIP *scip, const char *name, const char *value)
Definition: scip_param.c:719
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 SCIPsetCharParam(SCIP *scip, const char *name, char value)
Definition: scip_param.c:661
enum SCIP_ParamEmphasis SCIP_PARAMEMPHASIS
Definition: type_paramset.h:84
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 SCIPreadParams(SCIP *scip, const char *filename)
Definition: scip_param.c:772
type definitions for handling parameter settings
#define SCIP_Real
Definition: def.h:173
#define SCIP_Longint
Definition: def.h:158
SCIP_RETCODE SCIPwriteParams(SCIP *scip, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
Definition: scip_param.c:813
common defines and data types used in all packages of SCIP
SCIP_RETCODE SCIPchgIntParam(SCIP *scip, SCIP_PARAM *param, int value)
Definition: scip_param.c:461
SCIP_RETCODE SCIPresetParam(SCIP *scip, const char *name)
Definition: scip_param.c:835
int SCIPgetNParams(SCIP *scip)
Definition: scip_param.c:1013
SCIP_RETCODE SCIPchgBoolParam(SCIP *scip, SCIP_PARAM *param, SCIP_Bool value)
Definition: scip_param.c:403
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 SCIPsetSubscipsOff(SCIP *scip, SCIP_Bool quiet)
Definition: scip_param.c:904
SCIP_RETCODE SCIPsetLongintParam(SCIP *scip, const char *name, SCIP_Longint value)
Definition: scip_param.c:545
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