9 #ifndef _MP_expression_hpp_
10 #define _MP_expression_hpp_
24 class TerminalExpression;
39 Coef(
int c,
int r,
double v,
int s = 0) :
86 virtual double level()
const = 0;
88 vector<Constant> multiplicators,
129 virtual double getValue()
const = 0;
150 double level()
const;
162 vector<Constant> multiplicators,
virtual double level() const =0
Coef(int c, int r, double v, int s=0)
void setMultiplicator(vector< Constant > &mults, double m)
virtual void generate(const MP_domain &domain, vector< Constant > multiplicators, MP::GenerateFunctor &f, double m) const =0
vector< MP::Coef > & Coefs
Symbolic representation of a linear expression.This is one of the main public interface classes...
virtual double getValue() const =0
Constant operator/(const Constant &a, const Constant &b)
Returns the quotient of two constants.This is used in the formation of an expression.
VariableRef(MP_variable *v, const MP_index_exp &i1, const MP_index_exp &i2, const MP_index_exp &i3, const MP_index_exp &i4, const MP_index_exp &i5)
void generate(const MP_domain &domain, vector< Constant > multiplicators, MP::GenerateFunctor &f, double m) const
void setTerminalExpression(const TerminalExpression *c)
Inteface for hooking up to internal flopc++ message handling.In more advanced use of FlopC++...
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.
MP_expression(MP_expression_base *r)
Representation of an expression involving an index.This is one of the main public interface classes...
void insertVariables(set< MP_variable * > &v) const
The base class for all expressions.
vector< Constant > multiplicators
virtual int getColumn() const =0
This is the anchor point for all constructs in a FlopC++ model.The constructors take an OsiSolverInte...
virtual void insertVariables(set< MP_variable * > &v) 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.
Range over which some other constuct is defined.This is one of the main public interface classes...
GenerateFunctor(MP_constraint *r, vector< Coef > &cfs)
const TerminalExpression * C
Symantic representation of a variable.This is one of the main public interface classes. It should be directly declared by clients of the FlopC++. The parametersof construction are MP_set s which specify the indexes over which the variable is defined.
Function object. Often used.
Reference counted class for all "constant" types of data.
Constant operator*(const Constant &a, const Constant &b)
Returns the product of two constants.This is used in the formation of an expression.
Constant sum(const MP_domain &i, const Constant &e)
Returns the sum of two constants.
virtual int getStage() const =0
bool operator()(const MP::Coef &a, const MP::Coef &b) const
The base class for all expressions.
virtual ~MP_expression_base()
Semantic representation of a linear constraint.This is one of the main public interface classes...