9 #ifndef _MP_expression_hpp_ 10 #define _MP_expression_hpp_ 24 class TerminalExpression;
39 Coef(
int c,
int r,
double v,
int s = 0) :
55 multiplicators = mults;
62 void operator()()
const;
86 virtual double level()
const = 0;
87 virtual void generate(
const MP_domain& domain,
88 vector<Constant> multiplicators,
92 virtual void insertVariables(set<MP_variable*>& v)
const = 0;
129 virtual double getValue()
const = 0;
130 virtual int getColumn()
const = 0;
131 virtual int getStage()
const = 0;
141 int getColumn()
const;
150 double level()
const;
162 vector<Constant> multiplicators,
Coef(int c, int r, double v, int s=0)
void setMultiplicator(vector< Constant > &mults, double m)
vector< MP::Coef > & Coefs
Symbolic representation of a linear expression.This is one of the main public interface classes...
Constant operator/(const Constant &a, const Constant &b)
Returns the quotient of two constants.This is used in the formation of an expression.
void setTerminalExpression(const TerminalExpression *c)
Inteface for hooking up to internal flopc++ message handling.In more advanced use of FlopC++...
friend class MP_expression
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...
The base class for all expressions.
vector< Constant > multiplicators
This is the anchor point for all constructs in a FlopC++ model.The constructors take an OsiSolverInte...
Constant operator-(const Constant &a, const Constant &b)
Returns the difference of two constants.This is used in the formation of an expression.
All flopc++ code is contained within the flopc namespace.
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.
The base class for all expressions.
virtual ~MP_expression_base()
void insertVariables(set< MP_variable *> &v) const
Semantic representation of a linear constraint.This is one of the main public interface classes...