blob: 4463ef578a7a0d359a69abba661ca3af89b1fdfd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
// Name: CglParam.hpp
// Author: Francois Margot
// Tepper School of Business
// Carnegie Mellon University, Pittsburgh, PA 15213
// email: fmargot@andrew.cmu.edu
// Date: 11/24/06
//
// $Id: CglParam.hpp 1122 2013-04-06 20:39:53Z stefan $
//
// This code is licensed under the terms of the Eclipse Public License (EPL).
//-----------------------------------------------------------------------------
// Copyright (C) 2006, Francois Margot and others. All Rights Reserved.
#ifndef CglParam_H
#define CglParam_H
#include "CglConfig.h"
#include "CoinFinite.hpp"
/** Class collecting parameters for all cut generators. Each generator
may have a derived class to add parameters. Each generator might
also set different default values for the parameters in CglParam. */
class CglParam {
public:
/**@name Public Set/get methods */
//@{
/** Set INFINIT */
virtual void setINFINIT(const double inf);
/** Get value of INFINIT */
inline double getINFINIT() const {return INFINIT;}
/** Set EPS */
virtual void setEPS(const double eps);
/** Get value of EPS */
inline double getEPS() const {return EPS;}
/** Set EPS_COEFF */
virtual void setEPS_COEFF(const double eps_c);
/** Get value of EPS_COEFF */
inline double getEPS_COEFF() const {return EPS_COEFF;}
/** Set MAX_SUPPORT */
virtual void setMAX_SUPPORT(const int max_s);
/** Get value of MAX_SUPPORT */
inline int getMAX_SUPPORT() const {return MAX_SUPPORT;}
//@}
/**@name Constructors and destructors */
//@{
/// Default constructor
CglParam(const double inf = COIN_DBL_MAX, const double eps = 1e-6,
const double eps_c = 1e-5, const int max_s = COIN_INT_MAX);
/// Copy constructor
CglParam(const CglParam&);
/// Clone
virtual CglParam* clone() const;
/// Assignment operator
CglParam& operator=(const CglParam &rhs);
/// Destructor
virtual ~CglParam();
//@}
protected:
// Protected member data
/**@name Protected member data */
//@{
// Value for infinity. Default: COIN_DBL_MAX.
double INFINIT;
// EPSILON for double comparisons. Default: 1e-6.
double EPS;
// Returned cuts do not have coefficients with absolute value smaller
// than EPS_COEFF. Default: 1e-5.
double EPS_COEFF;
/** Maximum number of non zero coefficients in a generated cut;
Default: COIN_INT_MAX */
int MAX_SUPPORT;
//@}
};
#endif
|