9 #ifndef _MP_expression_hpp_
10 #define _MP_expression_hpp_
35 Coef(
int c,
int r,
double v,
int s = 0) :
101 virtual double level()
const = 0;
103 std::vector<Constant> multiplicators,
146 virtual double getValue()
const = 0;
162 left->insertVariables(v);
163 right->insertVariables(v);
GenerateFunctor(std::vector< Coef > &coefs)
Constant operator*(const Constant &a, const Constant &b)
Returns the product of two constants.
Expression_operator(const MP_expression &e1, const MP_expression &e2)
virtual int getColumn() const =0
void insertVariables(std::set< MP_variable * > &v) const
virtual void generate(const MP_domain &domain, std::vector< Constant > multiplicators, GenerateFunctor &f, double m) const =0
Internal representation of a Coefficient in a matrix.
Functor to facilitate generation of the objective function.
The base class for all expressions.
MP_expression()
default constructor
Semantic representation of a linear constraint.
void setTerminalExpression(const TerminalExpression *c)
Constant sum(const MP_domain &i, const Constant &e)
Returns the sum of two constants.
ObjectiveGenerateFunctor(std::vector< Coef > &coefs)
The base class for all expressions.
Utility for doing reference counted pointers.
virtual void insertVariables(std::set< MP_variable * > &v) const =0
virtual ~GenerateFunctor()
virtual ~MP_expression_base()
Functor to facilitate generation of coefficients.
void setMultiplicator(std::vector< Constant > &mults, double m)
Semantic representation of a variable in a Math Program.
virtual int getStage() const =0
Reference counted class for all "constant" types of data.
Coef(int c, int r, double v, int s=0)
virtual double getValue() const =0
Constant operator+(const Constant &a, const Constant &b)
Returns the sum of two constants.
Symbolic representation of a linear expression.
Range over which some other constuct is defined.
std::vector< Coef > & Coefs
virtual int row_number() const
const TerminalExpression * C
void setConstraint(MP_constraint *r)
MP_expression(MP_expression_base *r)
Constructor for internal use.
virtual int row_number() const
The base class for all expressions.
Constant operator-(const Constant &a, const Constant &b)
Returns the difference of two constants.
virtual double level() const =0
std::vector< Constant > multiplicators