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-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 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 /** reads parameters from a file
477  *
478  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
479  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
480  */
481 SCIP_EXPORT
483  SCIP* scip, /**< SCIP data structure */
484  const char* filename /**< file name */
485  );
486 
487 /** writes a single parameter to a file
488  *
489  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
490  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
491  */
492 SCIP_EXPORT
494  SCIP* scip, /**< SCIP data structure */
495  SCIP_PARAM* param, /**< parameter */
496  const char* filename, /**< file name, or NULL for stdout */
497  SCIP_Bool comments, /**< should parameter descriptions be written as comments? */
498  SCIP_Bool onlychanged /**< should only those parameters be written that are changed from their
499  * default value?
500  */
501  );
502 
503 /** writes all parameters in the parameter set to a file
504  *
505  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
506  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
507  */
508 SCIP_EXPORT
510  SCIP* scip, /**< SCIP data structure */
511  const char* filename, /**< file name, or NULL for stdout */
512  SCIP_Bool comments, /**< should parameter descriptions be written as comments? */
513  SCIP_Bool onlychanged /**< should only those parameters be written that are changed from their
514  * default value?
515  */
516  );
517 
518 /** resets a single parameter to its default value
519  *
520  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
521  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
522  */
523 SCIP_EXPORT
525  SCIP* scip, /**< SCIP data structure */
526  const char* name /**< name of the parameter */
527  );
528 
529 /** resets all parameters to their default values
530  *
531  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
532  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
533  */
534 SCIP_EXPORT
536  SCIP* scip /**< SCIP data structure */
537  );
538 
539 /** sets parameters to
540  *
541  * - \ref SCIP_PARAMEMPHASIS_DEFAULT to use default values (see also SCIPresetParams())
542  * - \ref SCIP_PARAMEMPHASIS_COUNTER to get feasible and "fast" counting process
543  * - \ref SCIP_PARAMEMPHASIS_CPSOLVER to get CP like search (e.g. no LP relaxation)
544  * - \ref SCIP_PARAMEMPHASIS_EASYCIP to solve easy problems fast
545  * - \ref SCIP_PARAMEMPHASIS_FEASIBILITY to detect feasibility fast
546  * - \ref SCIP_PARAMEMPHASIS_HARDLP to be capable to handle hard LPs
547  * - \ref SCIP_PARAMEMPHASIS_OPTIMALITY to prove optimality fast
548  * - \ref SCIP_PARAMEMPHASIS_PHASEFEAS to find feasible solutions during a 3 phase solution process
549  * - \ref SCIP_PARAMEMPHASIS_PHASEIMPROVE to find improved solutions during a 3 phase solution process
550  * - \ref SCIP_PARAMEMPHASIS_PHASEPROOF to proof optimality during a 3 phase solution process
551  * - \ref SCIP_PARAMEMPHASIS_NUMERICS to solve problems which cause numerical issues
552  *
553  *
554  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
555  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
556  */
557 SCIP_EXPORT
559  SCIP* scip, /**< SCIP data structure */
560  SCIP_PARAMEMPHASIS paramemphasis, /**< parameter settings */
561  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
562  );
563 
564 /** sets parameters to deactivate separators and heuristics that use auxiliary SCIP instances; should be called for
565  * auxiliary SCIP instances to avoid recursion
566  *
567  * @note only deactivates plugins which could cause recursion, some plugins which use sub-SCIPs stay activated
568  *
569  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
570  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
571  */
572 SCIP_EXPORT
574  SCIP* scip, /**< (auxiliary) SCIP data structure */
575  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
576  );
577 
578 /** sets heuristic parameters values to
579  *
580  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all heuristic parameters
581  * - SCIP_PARAMSETTING_FAST such that the time spend for heuristic is decreased
582  * - SCIP_PARAMSETTING_AGGRESSIVE such that the heuristic are called more aggregative
583  * - SCIP_PARAMSETTING_OFF which turn off all heuristics
584  *
585  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
586  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
587  */
588 SCIP_EXPORT
590  SCIP* scip, /**< SCIP data structure */
591  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
592  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
593  );
594 
595 /** sets presolving parameters to
596  *
597  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all presolving parameters
598  * - SCIP_PARAMSETTING_FAST such that the time spend for presolving is decreased
599  * - SCIP_PARAMSETTING_AGGRESSIVE such that the presolving is more aggregative
600  * - SCIP_PARAMSETTING_OFF which turn off all presolving
601  *
602  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
603  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
604  */
605 SCIP_EXPORT
607  SCIP* scip, /**< SCIP data structure */
608  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
609  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
610  );
611 
612 /** sets separating parameters to
613  *
614  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all separating parameters
615  * - SCIP_PARAMSETTING_FAST such that the time spend for separating is decreased
616  * - SCIP_PARAMSETTING_AGGRESSIVE such that the separating is done more aggregative
617  * - SCIP_PARAMSETTING_OFF which turn off all separating
618  *
619  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
620  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
621  */
622 SCIP_EXPORT
624  SCIP* scip, /**< SCIP data structure */
625  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
626  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
627  );
628 
629 /** returns the array of all available SCIP parameters
630  *
631  * @return SCIP_PARAM* array, containing all SCIP parameters.
632  */
633 SCIP_EXPORT
635  SCIP* scip /**< SCIP data structure */
636  );
637 
638 /** returns the total number of all available SCIP parameters
639  *
640  * @return number of all SCIP parameters.
641  */
642 SCIP_EXPORT
643 int SCIPgetNParams(
644  SCIP* scip /**< SCIP data structure */
645  );
646 
647 /** returns whether plugins with sub-SCIPs that could cause recursion have been disabled
648  *
649  * @return the value of the variable set->subscipsoff
650  */
651 SCIP_EXPORT
653  SCIP* scip /**< SCIP data structure */
654  );
655 
656 /**@} */
657 
658 #ifdef __cplusplus
659 }
660 #endif
661 
662 #endif
SCIP_PARAM ** SCIPgetParams(SCIP *scip)
Definition: scip_param.c:978
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:958
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:906
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:1006
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:932
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:769
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_Bool SCIPisCharParamValid(SCIP *scip, SCIP_PARAM *param, const char value)
Definition: scip_param.c:676
SCIP_RETCODE SCIPresetParams(SCIP *scip)
Definition: scip_param.c:832
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:861
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:93
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:751
type definitions for handling parameter settings
#define SCIP_Real
Definition: def.h:186
#define SCIP_Longint
Definition: def.h:171
SCIP_RETCODE SCIPwriteParams(SCIP *scip, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
Definition: scip_param.c:792
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:814
int SCIPgetNParams(SCIP *scip)
Definition: scip_param.c:992
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:883
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