57 explicit Inequality(
const int n_dims) : n_dims(n_dims) {}
68 n_dims(n_dims), terms(terms), rhs(rhs), type(type) {}
81 this->terms.push_back(term);
146 std::vector<IneqTerm> terms;
Inequality class.
Definition Inequality.hpp:50
IneqType get_ineq_type() const
Get inequality type / direction.
Definition Inequality.hpp:127
Inequality(const int n_dims, const std::vector< IneqTerm > &terms, const zono_float rhs, const IneqType type)
Constructs inequality with all quantities specified.
Definition Inequality.hpp:67
zono_float get_rhs() const
Get right hand side of the inequality.
Definition Inequality.hpp:118
int get_n_dims() const
Get number of dimensions for inequality.
Definition Inequality.hpp:136
void set_ineq_type(const IneqType type)
Sets the direction of the inequality or sets it to be an equality.
Definition Inequality.hpp:99
void set_rhs(const zono_float rhs)
Set the right hand side of the inequality.
Definition Inequality.hpp:89
const std::vector< IneqTerm > & get_terms() const
Get reference to terms in the inequality.
Definition Inequality.hpp:109
Inequality(const int n_dims)
Constructs inequality, must specify number of dimensions.
Definition Inequality.hpp:57
void add_term(const int idx, const zono_float coeff)
Adds a term to the inequality.
Definition Inequality.hpp:76
#define zono_float
Defines the floating-point type used in ZonoOpt.
Definition ZonoOpt.hpp:45
Definition ZonoOpt.hpp:58
IneqType
Enumeration to select inequality direction / use equality.
Definition Inequality.hpp:38
@ LESS_OR_EQUAL
Definition Inequality.hpp:39
@ GREATER_OR_EQUAL
Definition Inequality.hpp:40
@ GREATER
Definition Inequality.hpp:43
@ EQUAL
Definition Inequality.hpp:41
@ LESS
Definition Inequality.hpp:42
Structure containing term in 0-1 inequality.
Definition Inequality.hpp:25
zono_float coeff
coefficient of variable
Definition Inequality.hpp:30
int idx
index of variable
Definition Inequality.hpp:27