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);
ObjectiveGenerateFunctor(std::vector< Coef > &coefs)
virtual double level() const =0
Expression_operator(const MP_expression &e1, const MP_expression &e2)
virtual int row_number() const
Symbolic representation of a linear expression.This is one of the main public interface classes...
virtual double getValue() const =0
virtual ~GenerateFunctor()
Coef(int c, int r, double v, int s=0)
virtual void generate(const MP_domain &domain, std::vector< Constant > multiplicators, GenerateFunctor &f, double m) const =0
Utility for doing reference counted pointers.
Constant operator+(const Constant &a, const Constant &b)
Returns the sum of two constants.This is used in the formation of an expression.
virtual void insertVariables(std::set< MP_variable * > &v) const =0
Functor to facilitate generation of the objective function.
const TerminalExpression * C
MP_expression(MP_expression_base *r)
std::vector< Coef > & Coefs
The base class for all expressions.
virtual int getColumn() const =0
Constant operator-(const Constant &a, const Constant &b)
Returns the difference of two constants.This is used in the formation of an expression.
void setTerminalExpression(const TerminalExpression *c)
void setConstraint(MP_constraint *r)
std::vector< Constant > multiplicators
Internal representation of a Coefficient in a matrix.
Range over which some other constuct is defined.This is one of the main public interface classes...
Function object. Often used.
Reference counted class for all "constant" types of data.
Functor to facilitate generation of coefficients.
Constant operator*(const Constant &a, const Constant &b)
Returns the product of two constants.This is used in the formation of an expression.
void setMultiplicator(std::vector< Constant > &mults, double m)
MP_expression()
default constructor
Constant sum(const MP_domain &i, const Constant &e)
Returns the sum of two constants.
virtual int getStage() const =0
The base class for all expressions.
virtual int row_number() const
GenerateFunctor(std::vector< Coef > &coefs)
virtual ~MP_expression_base()
The base class for all expressions.
Semantic representation of a linear constraint.This is one of the main public interface classes...
void insertVariables(std::set< MP_variable * > &v) const