Scippy

SCIP

Solving Constraint Integer Programs

scip_param.c
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-2020 Konrad-Zuse-Zentrum */
7 /* fuer Informationstechnik Berlin */
8 /* */
9 /* SCIP is distributed under the terms of the ZIB Academic License. */
10 /* */
11 /* You should have received a copy of the ZIB Academic License */
12 /* along with SCIP; see the file COPYING. If not visit scipopt.org. */
13 /* */
14 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
15 
16 /**@file scip_param.c
17  * @ingroup OTHER_CFILES
18  * @brief public methods for SCIP parameter handling
19  * @author Tobias Achterberg
20  * @author Timo Berthold
21  * @author Gerald Gamrath
22  * @author Leona Gottwald
23  * @author Stefan Heinz
24  * @author Gregor Hendel
25  * @author Thorsten Koch
26  * @author Alexander Martin
27  * @author Marc Pfetsch
28  * @author Michael Winkler
29  * @author Kati Wolter
30  *
31  * @todo check all SCIP_STAGE_* switches, and include the new stages TRANSFORMED and INITSOLVE
32  */
33 
34 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
35 
36 #include "scip/paramset.h"
37 #include "scip/pub_message.h"
38 #include "scip/scip_param.h"
39 #include "scip/set.h"
40 #include "scip/struct_mem.h"
41 #include "scip/struct_scip.h"
42 
43 /** creates a SCIP_Bool parameter, sets it to its default value, and adds it to the parameter set
44  *
45  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
46  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
47  */
49  SCIP* scip, /**< SCIP data structure */
50  const char* name, /**< name of the parameter */
51  const char* desc, /**< description of the parameter */
52  SCIP_Bool* valueptr, /**< pointer to store the current parameter value, or NULL */
53  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
54  SCIP_Bool defaultvalue, /**< default value of the parameter */
55  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
56  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
57  )
58 {
59  assert(scip != NULL);
60  assert(scip->set != NULL);
61  assert(scip->mem != NULL);
62 
63  SCIP_CALL( SCIPsetAddBoolParam(scip->set, scip->messagehdlr, scip->mem->setmem, name, desc, valueptr, isadvanced,
64  defaultvalue, paramchgd, paramdata) );
65 
66  return SCIP_OKAY;
67 }
68 
69 /** creates a int parameter, sets it to its default value, and adds it to the parameter set
70  *
71  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
72  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
73  */
75  SCIP* scip, /**< SCIP data structure */
76  const char* name, /**< name of the parameter */
77  const char* desc, /**< description of the parameter */
78  int* valueptr, /**< pointer to store the current parameter value, or NULL */
79  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
80  int defaultvalue, /**< default value of the parameter */
81  int minvalue, /**< minimum value for parameter */
82  int maxvalue, /**< maximum value for parameter */
83  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
84  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
85  )
86 {
87  assert(scip != NULL);
88  assert(scip->set != NULL);
89  assert(scip->mem != NULL);
90 
91  SCIP_CALL( SCIPsetAddIntParam(scip->set, scip->messagehdlr, scip->mem->setmem, name, desc, valueptr, isadvanced,
92  defaultvalue, minvalue, maxvalue, paramchgd, paramdata) );
93 
94  return SCIP_OKAY;
95 }
96 
97 /** creates a SCIP_Longint parameter, sets it to its default value, and adds it to the parameter set
98  *
99  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
100  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
101  */
103  SCIP* scip, /**< SCIP data structure */
104  const char* name, /**< name of the parameter */
105  const char* desc, /**< description of the parameter */
106  SCIP_Longint* valueptr, /**< pointer to store the current parameter value, or NULL */
107  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
108  SCIP_Longint defaultvalue, /**< default value of the parameter */
109  SCIP_Longint minvalue, /**< minimum value for parameter */
110  SCIP_Longint maxvalue, /**< maximum value for parameter */
111  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
112  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
113  )
114 {
115  assert(scip != NULL);
116  assert(scip->set != NULL);
117  assert(scip->mem != NULL);
118 
119  SCIP_CALL( SCIPsetAddLongintParam(scip->set, scip->messagehdlr, scip->mem->setmem, name, desc, valueptr, isadvanced,
120  defaultvalue, minvalue, maxvalue, paramchgd, paramdata) );
121 
122  return SCIP_OKAY;
123 }
124 
125 /** creates a SCIP_Real parameter, sets it to its default value, and adds it to the parameter set
126  *
127  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
128  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
129  */
131  SCIP* scip, /**< SCIP data structure */
132  const char* name, /**< name of the parameter */
133  const char* desc, /**< description of the parameter */
134  SCIP_Real* valueptr, /**< pointer to store the current parameter value, or NULL */
135  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
136  SCIP_Real defaultvalue, /**< default value of the parameter */
137  SCIP_Real minvalue, /**< minimum value for parameter */
138  SCIP_Real maxvalue, /**< maximum value for parameter */
139  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
140  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
141  )
142 {
143  assert(scip != NULL);
144  assert(scip->set != NULL);
145  assert(scip->mem != NULL);
146 
147  SCIP_CALL( SCIPsetAddRealParam(scip->set, scip->messagehdlr, scip->mem->setmem, name, desc, valueptr, isadvanced,
148  defaultvalue, minvalue, maxvalue, paramchgd, paramdata) );
149 
150  return SCIP_OKAY;
151 }
152 
153 /** creates a char parameter, sets it to its default value, and adds it to the parameter set
154  *
155  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
156  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
157  */
159  SCIP* scip, /**< SCIP data structure */
160  const char* name, /**< name of the parameter */
161  const char* desc, /**< description of the parameter */
162  char* valueptr, /**< pointer to store the current parameter value, or NULL */
163  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
164  char defaultvalue, /**< default value of the parameter */
165  const char* allowedvalues, /**< array with possible parameter values, or NULL if not restricted */
166  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
167  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
168  )
169 {
170  assert(scip != NULL);
171  assert(scip->set != NULL);
172  assert(scip->mem != NULL);
173 
174  SCIP_CALL( SCIPsetAddCharParam(scip->set, scip->messagehdlr, scip->mem->setmem, name, desc, valueptr, isadvanced,
175  defaultvalue, allowedvalues, paramchgd, paramdata) );
176 
177  return SCIP_OKAY;
178 }
179 
180 /** creates a string(char*) parameter, sets it to its default value, and adds it to the parameter set
181  *
182  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
183  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
184  */
186  SCIP* scip, /**< SCIP data structure */
187  const char* name, /**< name of the parameter */
188  const char* desc, /**< description of the parameter */
189  char** valueptr, /**< pointer to store the current parameter value, or NULL; if not NULL then *valueptr should be NULL */
190  SCIP_Bool isadvanced, /**< is this parameter an advanced parameter? */
191  const char* defaultvalue, /**< default value of the parameter */
192  SCIP_DECL_PARAMCHGD ((*paramchgd)), /**< change information method of parameter */
193  SCIP_PARAMDATA* paramdata /**< locally defined parameter specific data */
194  )
195 {
196  assert(scip != NULL);
197  assert(scip->set != NULL);
198  assert(scip->mem != NULL);
199 
200  SCIP_CALL( SCIPsetAddStringParam(scip->set, scip->messagehdlr, scip->mem->setmem, name, desc, valueptr, isadvanced,
201  defaultvalue, paramchgd, paramdata) );
202 
203  return SCIP_OKAY;
204 }
205 
206 /** gets the fixing status of an existing parameter
207  *
208  * @return TRUE if the parameter is fixed to a value, otherwise FALSE.
209  */
211  SCIP* scip, /**< SCIP data structure */
212  const char* name /**< name of the parameter */
213  )
214 {
215  assert(scip != NULL);
216  assert(scip->set != NULL);
217 
218  return SCIPsetIsParamFixed(scip->set, name);
219 }
220 
221 /** returns the pointer to the SCIP parameter with the given name
222  *
223  * @return pointer to the parameter with the given name
224  */
226  SCIP* scip, /**< SCIP data structure */
227  const char* name /**< name of the parameter */
228  )
229 {
230  assert(scip != NULL);
231  assert(scip->set != NULL);
232 
233  return SCIPsetGetParam(scip->set, name);
234 }
235 
236 /** gets the value of an existing SCIP_Bool parameter
237  *
238  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
239  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
240  */
242  SCIP* scip, /**< SCIP data structure */
243  const char* name, /**< name of the parameter */
244  SCIP_Bool* value /**< pointer to store the parameter */
245  )
246 {
247  assert(scip != NULL);
248  assert(scip->set != NULL);
249 
250  SCIP_CALL( SCIPsetGetBoolParam(scip->set, name, value) );
251 
252  return SCIP_OKAY;
253 }
254 
255 /** gets the value of an existing int parameter
256  *
257  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
258  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
259  */
261  SCIP* scip, /**< SCIP data structure */
262  const char* name, /**< name of the parameter */
263  int* value /**< pointer to store the parameter */
264  )
265 {
266  assert(scip != NULL);
267  assert(scip->set != NULL);
268 
269  SCIP_CALL( SCIPsetGetIntParam(scip->set, name, value) );
270 
271  return SCIP_OKAY;
272 }
273 
274 /** gets the value of an existing SCIP_Longint parameter
275  *
276  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
277  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
278  */
280  SCIP* scip, /**< SCIP data structure */
281  const char* name, /**< name of the parameter */
282  SCIP_Longint* value /**< pointer to store the parameter */
283  )
284 {
285  assert(scip != NULL);
286  assert(scip->set != NULL);
287 
288  SCIP_CALL( SCIPsetGetLongintParam(scip->set, name, value) );
289 
290  return SCIP_OKAY;
291 }
292 
293 /** gets the value of an existing SCIP_Real parameter
294  *
295  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
296  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
297  */
299  SCIP* scip, /**< SCIP data structure */
300  const char* name, /**< name of the parameter */
301  SCIP_Real* value /**< pointer to store the parameter */
302  )
303 {
304  assert(scip != NULL);
305  assert(scip->set != NULL);
306 
307  SCIP_CALL( SCIPsetGetRealParam(scip->set, name, value) );
308 
309  return SCIP_OKAY;
310 }
311 
312 /** gets the value of an existing char parameter
313  *
314  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
315  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
316  */
318  SCIP* scip, /**< SCIP data structure */
319  const char* name, /**< name of the parameter */
320  char* value /**< pointer to store the parameter */
321  )
322 {
323  assert(scip != NULL);
324  assert(scip->set != NULL);
325 
326  SCIP_CALL( SCIPsetGetCharParam(scip->set, name, value) );
327 
328  return SCIP_OKAY;
329 }
330 
331 /** gets the value of an existing string(char*) parameter
332  *
333  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
334  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
335  */
337  SCIP* scip, /**< SCIP data structure */
338  const char* name, /**< name of the parameter */
339  char** value /**< pointer to store the parameter */
340  )
341 {
342  assert(scip != NULL);
343  assert(scip->set != NULL);
344 
345  SCIP_CALL( SCIPsetGetStringParam(scip->set, name, value) );
346 
347  return SCIP_OKAY;
348 }
349 
350 /** fixes the value of an existing parameter
351  *
352  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
353  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
354  *
355  * @note: Be careful with this method! Some general settings, e.g., the time or node limit, should not be fixed because
356  * they have to be changed for sub-SCIPs.
357  */
359  SCIP* scip, /**< SCIP data structure */
360  const char* name /**< name of the parameter */
361  )
362 {
363  assert(scip != NULL);
364  assert(scip->set != NULL);
365 
366  SCIP_CALL( SCIPsetChgParamFixed(scip->set, name, TRUE) );
367 
368  return SCIP_OKAY;
369 }
370 
371 /** unfixes the value of an existing parameter
372  *
373  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
374  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
375  */
377  SCIP* scip, /**< SCIP data structure */
378  const char* name /**< name of the parameter */
379  )
380 {
381  assert(scip != NULL);
382  assert(scip->set != NULL);
383 
384  SCIP_CALL( SCIPsetChgParamFixed(scip->set, name, FALSE) );
385 
386  return SCIP_OKAY;
387 }
388 
389 /** changes the value of an existing parameter
390  *
391  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
392  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
393  */
395  SCIP* scip, /**< SCIP data structure */
396  const char* name, /**< name of the parameter */
397  void* value /**< new value of the parameter */
398  )
399 {
400  assert(scip != NULL);
401  assert(scip->set != NULL);
402 
403  SCIP_CALL( SCIPsetSetParam(scip->set, scip->messagehdlr, name, value) );
404 
405  return SCIP_OKAY;
406 }
407 
408 /** changes the value of an existing SCIP_Bool parameter
409  *
410  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
411  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
412  */
414  SCIP* scip, /**< SCIP data structure */
415  SCIP_PARAM* param, /**< parameter */
416  SCIP_Bool value /**< new value of the parameter */
417  )
418 {
419  SCIP_RETCODE retcode;
420 
421  assert(scip != NULL);
422  assert(scip->set != NULL);
423 
424  retcode = SCIPsetChgBoolParam(scip->set, scip->messagehdlr, param, value);
425 
426  if( retcode != SCIP_PARAMETERWRONGVAL )
427  {
428  SCIP_CALL( retcode );
429  }
430 
431  return retcode;
432 }
433 
434 /** changes the value of an existing SCIP_Bool parameter
435  *
436  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
437  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
438  */
440  SCIP* scip, /**< SCIP data structure */
441  const char* name, /**< name of the parameter */
442  SCIP_Bool value /**< new value of the parameter */
443  )
444 {
445  assert(scip != NULL);
446  assert(scip->set != NULL);
447 
448  SCIP_CALL( SCIPsetSetBoolParam(scip->set, scip->messagehdlr, name, value) );
449 
450  return SCIP_OKAY;
451 }
452 
453 /** checks whether the value of an existing SCIP_Bool parameter is valid */
455  SCIP* scip, /**< SCIP data structure */
456  SCIP_PARAM* param, /**< parameter */
457  SCIP_Bool value /**< value to check */
458  )
459 {
460  assert(scip != NULL);
461  assert(param != NULL);
462 
463  return SCIPparamIsValidBool(param, value);
464 }
465 
466 /** changes the value of an existing int parameter
467  *
468  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
469  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
470  */
472  SCIP* scip, /**< SCIP data structure */
473  SCIP_PARAM* param, /**< parameter */
474  int value /**< new value of the parameter */
475  )
476 {
477  SCIP_RETCODE retcode;
478 
479  assert(scip != NULL);
480  assert(scip->set != NULL);
481 
482  retcode = SCIPsetChgIntParam(scip->set, scip->messagehdlr, param, value);
483 
484  if( retcode != SCIP_PARAMETERWRONGVAL )
485  {
486  SCIP_CALL( retcode );
487  }
488 
489  return retcode;
490 }
491 
492 /** changes the value of an existing int parameter
493  *
494  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
495  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
496  */
498  SCIP* scip, /**< SCIP data structure */
499  const char* name, /**< name of the parameter */
500  int value /**< new value of the parameter */
501  )
502 {
503  assert(scip != NULL);
504  assert(scip->set != NULL);
505 
506  SCIP_CALL( SCIPsetSetIntParam(scip->set, scip->messagehdlr, name, value) );
507 
508  return SCIP_OKAY;
509 }
510 
511 /** checks whether parameter value of an existing int paramter is valid */
513  SCIP* scip, /**< SCIP data structure */
514  SCIP_PARAM* param, /**< parameter */
515  int value /**< value to check */
516  )
517 {
518  assert(scip != NULL);
519  assert(param != NULL);
520 
521  return SCIPparamIsValidInt(param, value);
522 }
523 
524 /** changes the value of an existing SCIP_Longint parameter
525  *
526  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
527  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
528  */
530  SCIP* scip, /**< SCIP data structure */
531  SCIP_PARAM* param, /**< parameter */
532  SCIP_Longint value /**< new value of the parameter */
533  )
534 {
535  SCIP_RETCODE retcode;
536 
537  assert(scip != NULL);
538  assert(scip->set != NULL);
539 
540  retcode = SCIPsetChgLongintParam(scip->set, scip->messagehdlr, param, value);
541 
542  if( retcode != SCIP_PARAMETERWRONGVAL )
543  {
544  SCIP_CALL( retcode );
545  }
546 
547  return retcode;
548 }
549 
550 /** changes the value of an existing SCIP_Longint parameter
551  *
552  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
553  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
554  */
556  SCIP* scip, /**< SCIP data structure */
557  const char* name, /**< name of the parameter */
558  SCIP_Longint value /**< new value of the parameter */
559  )
560 {
561  assert(scip != NULL);
562  assert(scip->set != NULL);
563 
564  SCIP_CALL( SCIPsetSetLongintParam(scip->set, scip->messagehdlr, name, value) );
565 
566  return SCIP_OKAY;
567 }
568 
569 /** checks whether parameter value of an existing SCIP_Longint paramter is valid */
571  SCIP* scip, /**< SCIP data structure */
572  SCIP_PARAM* param, /**< parameter */
573  SCIP_Longint value /**< value to check */
574  )
575 {
576  assert(scip != NULL);
577  assert(param != NULL);
578 
579  return SCIPparamIsValidLongint(param, value);
580 }
581 
582 /** changes the value of an existing SCIP_Real parameter
583  *
584  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
585  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
586  */
588  SCIP* scip, /**< SCIP data structure */
589  SCIP_PARAM* param, /**< parameter */
590  SCIP_Real value /**< new value of the parameter */
591  )
592 {
593  SCIP_RETCODE retcode;
594 
595  assert(scip != NULL);
596  assert(scip->set != NULL);
597 
598  retcode = SCIPsetChgRealParam(scip->set, scip->messagehdlr, param, value);
599 
600  if( retcode != SCIP_PARAMETERWRONGVAL )
601  {
602  SCIP_CALL( retcode );
603  }
604 
605  return retcode;
606 }
607 
608 /** changes the value of an existing SCIP_Real parameter
609  *
610  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
611  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
612  */
614  SCIP* scip, /**< SCIP data structure */
615  const char* name, /**< name of the parameter */
616  SCIP_Real value /**< new value of the parameter */
617  )
618 {
619  assert(scip != NULL);
620  assert(scip->set != NULL);
621 
622  SCIP_CALL( SCIPsetSetRealParam(scip->set, scip->messagehdlr, name, value) );
623 
624  return SCIP_OKAY;
625 }
626 
627 /** checks whether parameter value of an existing SCIP_Real paramter is valid */
629  SCIP* scip, /**< SCIP data structure */
630  SCIP_PARAM* param, /**< parameter */
631  SCIP_Real value /**< value to check */
632  )
633 {
634  assert(scip != NULL);
635  assert(param != NULL);
636 
637  return SCIPparamIsValidReal(param, value);
638 }
639 
640 /** changes the value of an existing char parameter
641  *
642  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
643  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
644  */
646  SCIP* scip, /**< SCIP data structure */
647  SCIP_PARAM* param, /**< parameter */
648  char value /**< new value of the parameter */
649  )
650 {
651  SCIP_RETCODE retcode;
652 
653  assert(scip != NULL);
654  assert(scip->set != NULL);
655 
656  retcode = SCIPsetChgCharParam(scip->set, scip->messagehdlr, param, value);
657 
658  if( retcode != SCIP_PARAMETERWRONGVAL )
659  {
660  SCIP_CALL( retcode );
661  }
662 
663  return retcode;
664 }
665 
666 /** changes the value of an existing char parameter
667  *
668  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
669  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
670  */
672  SCIP* scip, /**< SCIP data structure */
673  const char* name, /**< name of the parameter */
674  char value /**< new value of the parameter */
675  )
676 {
677  assert(scip != NULL);
678  assert(scip->set != NULL);
679 
680  SCIP_CALL( SCIPsetSetCharParam(scip->set, scip->messagehdlr, name, value) );
681 
682  return SCIP_OKAY;
683 }
684 
685 /** checks whether parameter value for a given SCIP_Real parameter is valid */
687  SCIP* scip, /**< SCIP data structure */
688  SCIP_PARAM* param, /**< parameter */
689  const char value /**< value to check */
690  )
691 {
692  assert(scip != NULL);
693  assert(param != NULL);
694 
695  return SCIPparamIsValidChar(param, value);
696 }
697 
698 /** changes the value of an existing string(char*) parameter
699  *
700  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
701  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
702  */
704  SCIP* scip, /**< SCIP data structure */
705  SCIP_PARAM* param, /**< parameter */
706  const char* value /**< new value of the parameter */
707  )
708 {
709  SCIP_RETCODE retcode;
710 
711  assert(scip != NULL);
712  assert(scip->set != NULL);
713 
714  retcode = SCIPsetChgStringParam(scip->set, scip->messagehdlr, param, value);
715 
716  if( retcode != SCIP_PARAMETERWRONGVAL )
717  {
718  SCIP_CALL( retcode );
719  }
720 
721  return retcode;
722 }
723 
724 /** changes the value of an existing string(char*) parameter
725  *
726  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
727  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
728  */
730  SCIP* scip, /**< SCIP data structure */
731  const char* name, /**< name of the parameter */
732  const char* value /**< new value of the parameter */
733  )
734 {
735  assert(scip != NULL);
736  assert(scip->set != NULL);
737 
738  SCIP_CALL( SCIPsetSetStringParam(scip->set, scip->messagehdlr, name, value) );
739 
740  return SCIP_OKAY;
741 }
742 
743 /** checks whether parameter value for a given string parameter is valid */
745  SCIP* scip, /**< SCIP data structure */
746  SCIP_PARAM* param, /**< parameter */
747  const char* value /**< value to check */
748  )
749 {
750  assert(scip != NULL);
751  assert(param != NULL);
752 
753  return SCIPparamIsValidString(param, value);
754 }
755 
756 /** reads parameters from a file
757  *
758  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
759  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
760  */
762  SCIP* scip, /**< SCIP data structure */
763  const char* filename /**< file name */
764  )
765 {
766  assert(scip != NULL);
767  assert(scip->set != NULL);
768 
769  SCIP_CALL( SCIPsetReadParams(scip->set, scip->messagehdlr, filename) );
770 
771  return SCIP_OKAY;
772 }
773 
774 /** writes a single parameter to a file
775  *
776  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
777  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
778  */
780  SCIP* scip, /**< SCIP data structure */
781  SCIP_PARAM* param, /**< parameter */
782  const char* filename, /**< file name, or NULL for stdout */
783  SCIP_Bool comments, /**< should parameter descriptions be written as comments? */
784  SCIP_Bool onlychanged /**< should only those parameters be written that are changed from their
785  * default value?
786  */
787  )
788 {
789  assert(scip != NULL);
790  assert(param != NULL);
791 
792  SCIP_CALL( SCIPparamWrite(param, scip->messagehdlr, filename, comments, onlychanged) );
793 
794  return SCIP_OKAY;
795 }
796 
797 /** writes all parameters in the parameter set to a file
798  *
799  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
800  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
801  */
803  SCIP* scip, /**< SCIP data structure */
804  const char* filename, /**< file name, or NULL for stdout */
805  SCIP_Bool comments, /**< should parameter descriptions be written as comments? */
806  SCIP_Bool onlychanged /**< should only those parameters be written that are changed from their
807  * default value?
808  */
809  )
810 {
811  assert(scip != NULL);
812  assert(scip->set != NULL);
813 
814  SCIP_CALL( SCIPsetWriteParams(scip->set, scip->messagehdlr, filename, comments, onlychanged) );
815 
816  return SCIP_OKAY;
817 }
818 
819 /** resets a single parameter to its default value
820  *
821  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
822  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
823  */
825  SCIP* scip, /**< SCIP data structure */
826  const char* name /**< name of the parameter */
827  )
828 {
829  assert(scip != NULL);
830  assert(scip->set != NULL);
831 
832  SCIP_CALL( SCIPsetResetParam(scip->set, scip->messagehdlr, name) );
833 
834  return SCIP_OKAY;
835 }
836 
837 /** resets all parameters to their default values
838  *
839  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
840  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
841  */
843  SCIP* scip /**< SCIP data structure */
844  )
845 {
846  assert(scip != NULL);
847  assert(scip->set != NULL);
848 
849  SCIP_CALL( SCIPsetResetParams(scip->set, scip->messagehdlr) );
850 
851  return SCIP_OKAY;
852 }
853 
854 /** sets parameters to
855  *
856  * - \ref SCIP_PARAMEMPHASIS_DEFAULT to use default values (see also SCIPresetParams())
857  * - \ref SCIP_PARAMEMPHASIS_COUNTER to get feasible and "fast" counting process
858  * - \ref SCIP_PARAMEMPHASIS_CPSOLVER to get CP like search (e.g. no LP relaxation)
859  * - \ref SCIP_PARAMEMPHASIS_EASYCIP to solve easy problems fast
860  * - \ref SCIP_PARAMEMPHASIS_FEASIBILITY to detect feasibility fast
861  * - \ref SCIP_PARAMEMPHASIS_HARDLP to be capable to handle hard LPs
862  * - \ref SCIP_PARAMEMPHASIS_OPTIMALITY to prove optimality fast
863  * - \ref SCIP_PARAMEMPHASIS_PHASEFEAS to find feasible solutions during a 3 phase solution process
864  * - \ref SCIP_PARAMEMPHASIS_PHASEIMPROVE to find improved solutions during a 3 phase solution process
865  * - \ref SCIP_PARAMEMPHASIS_PHASEPROOF to proof optimality during a 3 phase solution process
866  * - \ref SCIP_PARAMEMPHASIS_NUMERICS to solve problems which cause numerical issues
867  *
868  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
869  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
870  */
872  SCIP* scip, /**< SCIP data structure */
873  SCIP_PARAMEMPHASIS paramemphasis, /**< parameter settings */
874  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
875  )
876 {
877  assert(scip != NULL);
878  assert(scip->set != NULL);
879 
880  SCIP_CALL( SCIPsetSetEmphasis(scip->set, scip->messagehdlr, paramemphasis, quiet) );
881 
882  return SCIP_OKAY;
883 }
884 
885 /** sets parameters to deactivate separators and heuristics that use auxiliary SCIP instances; should be called for
886  * auxiliary SCIP instances to avoid recursion
887  *
888  * @note only deactivates plugins which could cause recursion, some plugins which use sub-SCIPs stay activated
889  *
890  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
891  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
892  */
894  SCIP* scip, /**< (auxiliary) SCIP data structure */
895  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
896  )
897 {
898  assert(scip != NULL);
899  assert(scip->set != NULL);
900 
901  SCIP_CALL( SCIPsetSetSubscipsOff(scip->set, scip->messagehdlr, quiet) );
902 
903  return SCIP_OKAY;
904 }
905 
906 /** sets heuristic parameters values to
907  *
908  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all heuristic parameters
909  * - SCIP_PARAMSETTING_FAST such that the time spent on heuristics is decreased
910  * - SCIP_PARAMSETTING_AGGRESSIVE such that the heuristics are called more aggressively
911  * - SCIP_PARAMSETTING_OFF which turn off all heuristics
912  *
913  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
914  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
915  */
917  SCIP* scip, /**< SCIP data structure */
918  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
919  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
920  )
921 {
922  assert(scip != NULL);
923  assert(scip->set != NULL);
924  assert(paramsetting == SCIP_PARAMSETTING_DEFAULT || paramsetting == SCIP_PARAMSETTING_FAST
925  || paramsetting == SCIP_PARAMSETTING_AGGRESSIVE || paramsetting == SCIP_PARAMSETTING_OFF);
926 
927  SCIP_CALL( SCIPsetSetHeuristics(scip->set, scip->messagehdlr, paramsetting, quiet) );
928 
929  return SCIP_OKAY;
930 }
931 
932 /** sets presolving parameters to
933  *
934  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all presolving parameters
935  * - SCIP_PARAMSETTING_FAST such that the time spent on presolving is decreased
936  * - SCIP_PARAMSETTING_AGGRESSIVE such that the presolving is more aggressive
937  * - SCIP_PARAMSETTING_OFF which turn off all presolving
938  *
939  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
940  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
941  */
943  SCIP* scip, /**< SCIP data structure */
944  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
945  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
946  )
947 {
948  assert(scip != NULL);
949  assert(scip->set != NULL);
950  assert(paramsetting == SCIP_PARAMSETTING_DEFAULT || paramsetting == SCIP_PARAMSETTING_FAST
951  || paramsetting == SCIP_PARAMSETTING_AGGRESSIVE || paramsetting == SCIP_PARAMSETTING_OFF);
952 
953  SCIP_CALL( SCIPsetSetPresolving(scip->set, scip->messagehdlr, paramsetting, quiet) );
954 
955  return SCIP_OKAY;
956 }
957 
958 /** sets separating parameters to
959  *
960  * - SCIP_PARAMSETTING_DEFAULT which are the default values of all separating parameters
961  * - SCIP_PARAMSETTING_FAST such that the time spent on separating is decreased
962  * - SCIP_PARAMSETTING_AGGRESSIVE such that separating is more aggressive
963  * - SCIP_PARAMSETTING_OFF which turn off all separating
964  *
965  * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
966  * SCIP_Retcode "SCIP_RETCODE" for a complete list of error codes.
967  */
969  SCIP* scip, /**< SCIP data structure */
970  SCIP_PARAMSETTING paramsetting, /**< parameter settings */
971  SCIP_Bool quiet /**< should the parameter be set quiet (no output) */
972  )
973 {
974  assert(scip != NULL);
975  assert(scip->set != NULL);
976  assert(paramsetting == SCIP_PARAMSETTING_DEFAULT || paramsetting == SCIP_PARAMSETTING_FAST
977  || paramsetting == SCIP_PARAMSETTING_AGGRESSIVE || paramsetting == SCIP_PARAMSETTING_OFF);
978 
979  SCIP_CALL( SCIPsetSetSeparating(scip->set, scip->messagehdlr, paramsetting, quiet) );
980 
981  return SCIP_OKAY;
982 }
983 
984 /** returns the array of all available SCIP parameters
985  *
986  * @return SCIP_PARAM* array, containing all SCIP parameters.
987  */
989  SCIP* scip /**< SCIP data structure */
990  )
991 {
992  assert(scip != NULL);
993  assert(scip->set != NULL);
994 
995  return SCIPsetGetParams(scip->set);
996 }
997 
998 /** returns the total number of all available SCIP parameters
999  *
1000  * @return number of all SCIP parameters.
1001  */
1003  SCIP* scip /**< SCIP data structure */
1004  )
1005 {
1006  assert(scip != NULL);
1007  assert(scip->set != NULL);
1008 
1009  return SCIPsetGetNParams(scip->set);
1010 }
1011 
1012 /** returns whether plugins with sub-SCIPs that could cause recursion have been disabled
1013  *
1014  * @return the value of the variable set->subscipsoff
1015  */
1017  SCIP* scip /**< SCIP data structure */
1018  )
1019 {
1020  assert(scip != NULL);
1021  assert(scip->set != NULL);
1022 
1023  return SCIPsetGetSubscipsOff(scip->set);
1024 }
SCIP_RETCODE SCIPsetSetEmphasis(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMEMPHASIS paramemphasis, SCIP_Bool quiet)
Definition: set.c:3522
SCIP_Bool SCIPparamIsValidInt(SCIP_PARAM *param, int value)
Definition: paramset.c:4351
public methods for SCIP parameter handling
SCIP_RETCODE SCIPsetSetRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Real value)
Definition: set.c:3366
SCIP_RETCODE SCIPgetStringParam(SCIP *scip, const char *name, char **value)
Definition: scip_param.c:336
struct SCIP_ParamData SCIP_PARAMDATA
Definition: type_paramset.h:77
SCIP_RETCODE SCIPsetGetStringParam(SCIP_SET *set, const char *name, char **value)
Definition: set.c:3158
SCIP_RETCODE SCIPsetResetParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
Definition: set.c:3499
SCIP_RETCODE SCIPgetBoolParam(SCIP *scip, const char *name, SCIP_Bool *value)
Definition: scip_param.c:241
SCIP_RETCODE SCIPchgIntParam(SCIP *scip, SCIP_PARAM *param, int value)
Definition: scip_param.c:471
SCIP_PARAM * SCIPgetParam(SCIP *scip, const char *name)
Definition: scip_param.c:225
#define FALSE
Definition: def.h:73
#define TRUE
Definition: def.h:72
enum SCIP_Retcode SCIP_RETCODE
Definition: type_retcode.h:54
SCIP_RETCODE SCIPsetSetParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, void *value)
Definition: set.c:3186
SCIP_PARAM ** SCIPsetGetParams(SCIP_SET *set)
Definition: set.c:3603
SCIP_RETCODE SCIPsetHeuristics(SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: scip_param.c:916
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:48
SCIP_RETCODE SCIPsetSubscipsOff(SCIP *scip, SCIP_Bool quiet)
Definition: scip_param.c:893
SCIP_Bool SCIPisBoolParamValid(SCIP *scip, SCIP_PARAM *param, SCIP_Bool value)
Definition: scip_param.c:454
internal methods for handling parameter settings
SCIP_RETCODE SCIPgetCharParam(SCIP *scip, const char *name, char *value)
Definition: scip_param.c:317
SCIP_RETCODE SCIPsetSetStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, const char *value)
Definition: set.c:3442
enum SCIP_ParamSetting SCIP_PARAMSETTING
Definition: type_paramset.h:56
SCIP_PARAM ** SCIPgetParams(SCIP *scip)
Definition: scip_param.c:988
SCIP_Bool SCIPisIntParamValid(SCIP *scip, SCIP_PARAM *param, int value)
Definition: scip_param.c:512
SCIP_RETCODE SCIPsetAddCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, char *valueptr, SCIP_Bool isadvanced, char defaultvalue, const char *allowedvalues, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
Definition: set.c:3021
SCIP_RETCODE SCIPsetRealParam(SCIP *scip, const char *name, SCIP_Real value)
Definition: scip_param.c:613
SCIP_RETCODE SCIPsetReadParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename)
Definition: set.c:3457
SCIP_MEM * mem
Definition: struct_scip.h:62
SCIP_RETCODE SCIPchgBoolParam(SCIP *scip, SCIP_PARAM *param, SCIP_Bool value)
Definition: scip_param.c:413
SCIP_RETCODE SCIPsetChgIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, int value)
Definition: set.c:3253
SCIP_Bool SCIPsetIsParamFixed(SCIP_SET *set, const char *name)
Definition: set.c:3066
SCIP_RETCODE SCIPsetSetSubscipsOff(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_Bool quiet)
Definition: set.c:3537
SCIP_RETCODE SCIPsetChgBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Bool value)
Definition: set.c:3201
SCIP_RETCODE SCIPfixParam(SCIP *scip, const char *name)
Definition: scip_param.c:358
SCIP_Bool SCIPisCharParamValid(SCIP *scip, SCIP_PARAM *param, const char value)
Definition: scip_param.c:686
SCIP_RETCODE SCIPsetWriteParams(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
Definition: set.c:3471
SCIP_RETCODE SCIPsetSetSeparating(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: set.c:3590
SCIP_RETCODE SCIPsetSetIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, int value)
Definition: set.c:3276
SCIP_RETCODE SCIPresetParams(SCIP *scip)
Definition: scip_param.c:842
int SCIPsetGetNParams(SCIP_SET *set)
Definition: set.c:3613
SCIP_RETCODE SCIPsetChgRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Real value)
Definition: set.c:3343
SCIP_Bool SCIPsetGetSubscipsOff(SCIP_SET *set)
Definition: set.c:7077
#define SCIP_DECL_PARAMCHGD(x)
Definition: type_paramset.h:92
SCIP_RETCODE SCIPsetChgLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, SCIP_Longint value)
Definition: set.c:3305
#define NULL
Definition: lpi_spx1.cpp:155
SCIP_Bool SCIPparamIsValidReal(SCIP_PARAM *param, SCIP_Real value)
Definition: paramset.c:4373
internal methods for global SCIP settings
#define SCIP_CALL(x)
Definition: def.h:364
SCIP_RETCODE SCIPwriteParams(SCIP *scip, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
Definition: scip_param.c:802
SCIP_RETCODE SCIPsetPresolving(SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: scip_param.c:942
SCIP main data structure.
BMS_BLKMEM * setmem
Definition: struct_mem.h:39
SCIP_RETCODE SCIPsetCharParam(SCIP *scip, const char *name, char value)
Definition: scip_param.c:671
SCIP_RETCODE SCIPsetSetPresolving(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: set.c:3572
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:185
SCIP_RETCODE SCIPsetAddIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, int *valueptr, SCIP_Bool isadvanced, int defaultvalue, int minvalue, int maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
Definition: set.c:2949
SCIP_RETCODE SCIPgetIntParam(SCIP *scip, const char *name, int *value)
Definition: scip_param.c:260
SCIP_RETCODE SCIPgetRealParam(SCIP *scip, const char *name, SCIP_Real *value)
Definition: scip_param.c:298
SCIP_RETCODE SCIPunfixParam(SCIP *scip, const char *name)
Definition: scip_param.c:376
SCIP_RETCODE SCIPsetSetLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Longint value)
Definition: set.c:3328
SCIP_RETCODE SCIPsetParam(SCIP *scip, const char *name, void *value)
Definition: scip_param.c:394
SCIP_RETCODE SCIPsetSetHeuristics(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: set.c:3554
#define SCIP_Bool
Definition: def.h:70
SCIP_Bool SCIPisRealParamValid(SCIP *scip, SCIP_PARAM *param, SCIP_Real value)
Definition: scip_param.c:628
SCIP_RETCODE SCIPchgCharParam(SCIP *scip, SCIP_PARAM *param, char value)
Definition: scip_param.c:645
SCIP_Bool SCIPisParamFixed(SCIP *scip, const char *name)
Definition: scip_param.c:210
SCIP_RETCODE SCIPsetGetIntParam(SCIP_SET *set, const char *name, int *value)
Definition: set.c:3102
SCIP_RETCODE SCIPsetEmphasis(SCIP *scip, SCIP_PARAMEMPHASIS paramemphasis, SCIP_Bool quiet)
Definition: scip_param.c:871
datastructures for block memory pools and memory buffers
SCIP_RETCODE SCIPsetAddStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, char **valueptr, SCIP_Bool isadvanced, const char *defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
Definition: set.c:3044
int SCIPgetNParams(SCIP *scip)
Definition: scip_param.c:1002
SCIP_RETCODE SCIPsetSetCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, char value)
Definition: set.c:3404
SCIP_RETCODE SCIPsetGetCharParam(SCIP_SET *set, const char *name, char *value)
Definition: set.c:3144
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:130
SCIP_PARAM * SCIPsetGetParam(SCIP_SET *set, const char *name)
Definition: set.c:3077
enum SCIP_ParamEmphasis SCIP_PARAMEMPHASIS
Definition: type_paramset.h:74
SCIP_RETCODE SCIPsetGetRealParam(SCIP_SET *set, const char *name, SCIP_Real *value)
Definition: set.c:3130
SCIP_RETCODE SCIPsetLongintParam(SCIP *scip, const char *name, SCIP_Longint value)
Definition: scip_param.c:555
SCIP_Bool SCIPparamIsValidChar(SCIP_PARAM *param, const char value)
Definition: paramset.c:4384
SCIP_RETCODE SCIPchgStringParam(SCIP *scip, SCIP_PARAM *param, const char *value)
Definition: scip_param.c:703
SCIP_Bool SCIPparamIsValidBool(SCIP_PARAM *param, SCIP_Bool value)
Definition: paramset.c:4341
SCIP_RETCODE SCIPsetStringParam(SCIP *scip, const char *name, const char *value)
Definition: scip_param.c:729
SCIP_RETCODE SCIPsetResetParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name)
Definition: set.c:3487
SCIP_Bool SCIPisLongintParamValid(SCIP *scip, SCIP_PARAM *param, SCIP_Longint value)
Definition: scip_param.c:570
SCIP_RETCODE SCIPresetParam(SCIP *scip, const char *name)
Definition: scip_param.c:824
SCIP_RETCODE SCIPsetChgParamFixed(SCIP_SET *set, const char *name, SCIP_Bool fixed)
Definition: set.c:3172
SCIP_RETCODE SCIPreadParams(SCIP *scip, const char *filename)
Definition: scip_param.c:761
SCIP_Bool SCIPisStringParamValid(SCIP *scip, SCIP_PARAM *param, const char *value)
Definition: scip_param.c:744
SCIP_Bool SCIPgetSubscipsOff(SCIP *scip)
Definition: scip_param.c:1016
SCIP_SET * set
Definition: struct_scip.h:63
public methods for message output
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:74
SCIP_RETCODE SCIPsetAddLongintParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, SCIP_Longint *valueptr, SCIP_Bool isadvanced, SCIP_Longint defaultvalue, SCIP_Longint minvalue, SCIP_Longint maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
Definition: set.c:2973
SCIP_RETCODE SCIPchgRealParam(SCIP *scip, SCIP_PARAM *param, SCIP_Real value)
Definition: scip_param.c:587
SCIP_MESSAGEHDLR * messagehdlr
Definition: struct_scip.h:66
#define SCIP_Real
Definition: def.h:163
SCIP_RETCODE SCIPgetLongintParam(SCIP *scip, const char *name, SCIP_Longint *value)
Definition: scip_param.c:279
#define SCIP_Longint
Definition: def.h:148
SCIP_RETCODE SCIPsetBoolParam(SCIP *scip, const char *name, SCIP_Bool value)
Definition: scip_param.c:439
SCIP_RETCODE SCIPsetChgStringParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, const char *value)
Definition: set.c:3419
SCIP_RETCODE SCIPsetGetLongintParam(SCIP_SET *set, const char *name, SCIP_Longint *value)
Definition: set.c:3116
SCIP_RETCODE SCIPsetChgCharParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_PARAM *param, char value)
Definition: set.c:3381
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:102
SCIP_RETCODE SCIPparamWrite(SCIP_PARAM *param, SCIP_MESSAGEHDLR *messagehdlr, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
Definition: paramset.c:4759
SCIP_RETCODE SCIPchgLongintParam(SCIP *scip, SCIP_PARAM *param, SCIP_Longint value)
Definition: scip_param.c:529
SCIP_RETCODE SCIPsetAddRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, SCIP_Real *valueptr, SCIP_Bool isadvanced, SCIP_Real defaultvalue, SCIP_Real minvalue, SCIP_Real maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
Definition: set.c:2997
SCIP_RETCODE SCIPsetGetBoolParam(SCIP_SET *set, const char *name, SCIP_Bool *value)
Definition: set.c:3088
SCIP_RETCODE SCIPsetAddBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, SCIP_Bool *valueptr, SCIP_Bool isadvanced, SCIP_Bool defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
Definition: set.c:2927
SCIP_Bool SCIPparamIsValidLongint(SCIP_PARAM *param, SCIP_Longint value)
Definition: paramset.c:4362
SCIP_RETCODE SCIPwriteParam(SCIP *scip, SCIP_PARAM *param, const char *filename, SCIP_Bool comments, SCIP_Bool onlychanged)
Definition: scip_param.c:779
SCIP_RETCODE SCIPsetSetBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_Bool value)
Definition: set.c:3223
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:158
SCIP_RETCODE SCIPsetIntParam(SCIP *scip, const char *name, int value)
Definition: scip_param.c:497
SCIP_RETCODE SCIPsetSeparating(SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
Definition: scip_param.c:968
SCIP_Bool SCIPparamIsValidString(SCIP_PARAM *param, const char *value)
Definition: paramset.c:4410