Scippy

UG

Ubiquity Generator framework

scipParaParamSet.cpp
Go to the documentation of this file.
1/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2/* */
3/* This file is part of the program and software framework */
4/* UG --- Ubquity Generator Framework */
5/* */
6/* Copyright Written by Yuji Shinano <shinano@zib.de>, */
7/* Copyright (C) 2021-2024 by Zuse Institute Berlin, */
8/* licensed under LGPL version 3 or later. */
9/* Commercial licenses are available through <licenses@zib.de> */
10/* */
11/* This code is free software; you can redistribute it and/or */
12/* modify it under the terms of the GNU Lesser General Public License */
13/* as published by the Free Software Foundation; either version 3 */
14/* of the License, or (at your option) any later version. */
15/* */
16/* This program is distributed in the hope that it will be useful, */
17/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
18/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
19/* GNU Lesser General Public License for more details. */
20/* */
21/* You should have received a copy of the GNU Lesser General Public License */
22/* along with this program. If not, see <http://www.gnu.org/licenses/>. */
23/* */
24/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
25
26/**@file paraParamSet.cpp
27 * @brief Parameter set for UG framework.
28 * @author Yuji Shinano
29 *
30 *
31 *
32 */
33
34/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
35
36#include <string>
37#include <map>
38#include <cstdio>
39#include <cstring>
40#include <fstream>
41#include <cfloat>
42#include <climits>
43#include <cassert>
44#include <scip/scip.h>
45#include "ug_bb/bbParaComm.h"
46#include "scipParaParamSet.h"
47
48using namespace ParaSCIP;
49
50// ParaParam *BbParaParamSet::paraParams[ParaParamsSize];
51
52ScipParaParamSet::ScipParaParamSet(
53 size_t inNParaParams
54 )
55 : UG::BbParaParamSet(inNParaParams)
56{
57
58 /** bool params */
60 "RootNodeSolvabilityCheck",
61 "# Indicate if root node solvability is checked before transfer or not. TRUE: root node solvability is checked, FALSE: no check [Default value: FALSE]",
62 false);
64 "CustomizedToSharedMemory",
65 "# Customized to shared memory environment, if it runs on it. [Default value: TRUE]",
66 true);
68 "LocalBranching",
69 "# Apply distributed local branching. [Default value: FALSE]",
70 false);
71
72 /** int params */
74 "AddDualBoundCons",
75 "# Adding constraint: objective func >= dualBoundValue (This is not a good idea, because it creates many degenerate solutions) : 0 - no adding, 1 - adding to discarded ParaNodes only, 2 - adding always, 3 - adding at warm start [Default value: 0]",
76 0,
77 0,
78 3);
79
80
81 /** longint params */
82
83 /** real params */
84 std::ostringstream s;
85 s << "# Memory limit for a process [Default value: " << SCIP_MEM_NOLIMIT << "][0," << SCIP_MEM_NOLIMIT << "]";
86 static char memLimitStr[256];
87 strcpy(memLimitStr, s.str().c_str());
89 "MemoryLimit",
90 memLimitStr,
91 (SCIP_Real)SCIP_MEM_NOLIMIT,
92 0.0,
93 (SCIP_Real)SCIP_MEM_NOLIMIT);
94
95 /** char params */
96
97 /** string params */
98
99}
100
101
Base class of communicator for UG Framework.
class ParaParamBool
Definition: paraParamSet.h:200
class ParaParamInt
Definition: paraParamSet.h:293
class ParaParamReal
Definition: paraParamSet.h:530
ParaParam ** paraParams
array of ParaParams
Definition: paraParamSet.h:856
static const int LocalBranching
static const int CustomizedToSharedMemory
static const int AddDualBoundCons
static const int MemoryLimit
static const int RootNodeSolvabilityCheck