All flopc++ code is contained within the flopc namespace. More...
Classes | |
class | Boolean_base |
class | MP_boolean |
Reference counted class for all "boolean" types of data. More... | |
class | Constant_base |
Base class for all "constant" types of data. More... | |
class | Constant |
Reference counted class for all "constant" types of data. More... | |
class | Constraint_base |
Semantic representation of a constraint in a Math Program. More... | |
class | Constraint |
class | MP_constraint |
Semantic representation of a linear constraint. More... | |
class | DataRef |
Reference to a set of data. More... | |
class | MP_data |
Input data set. More... | |
class | MP_stochastic_data |
class | MP_domain_base |
Reference to a set of index values. More... | |
class | MP_domain |
Range over which some other constuct is defined. More... | |
class | MP_domain_set |
Range over which some other constuct is defined. More... | |
class | insertFunctor |
Inserter for construction of a subset. More... | |
class | MP_domain_subset |
Range over which some other constuct is defined. More... | |
class | MP |
class | MP_expression_base |
The base class for all expressions. More... | |
class | MP_expression |
Symbolic representation of a linear expression. More... | |
class | TerminalExpression |
The base class for all expressions. More... | |
class | VariableRef |
Semantic representation of a variable in a Math Program. More... | |
class | MP_index_base |
Internal representation of a index. More... | |
class | MP_index |
Representation of an index. More... | |
class | MP_index_exp |
Representation of an expression involving an index. More... | |
class | MP_index_mult |
Internal representation of an index expression. More... | |
class | MP_index_sum |
Internal representation of an index expression. More... | |
class | MP_index_dif |
Internal representation of an index expression. More... | |
class | Messenger |
Inteface for hooking up to internal flopc++ message handling. More... | |
class | NormalMessenger |
Internal use: used when Normal output is selected. More... | |
class | VerboseMessenger |
Internal use: used when Verbose output is selected. More... | |
class | MP_model |
This is the anchor point for all constructs in a FlopC++ model. More... | |
class | MP_set_base |
Internal representation of a "set". More... | |
class | MP_set |
Representation of a set for indexing into some other construct. More... | |
class | MP_stage |
class | InsertFunctor |
Internal representation of a "set". More... | |
class | MP_subset |
Internal representation of a "set". More... | |
class | SUBSETREF |
Internal representation of a "set". More... | |
class | SubsetRef |
Internal representation of a "set". More... | |
class | Functor |
Function object. More... | |
class | RowMajor |
Utility class to flatten multidimensional information into single dimentional offset information. More... | |
class | Named |
Utility interface class for adding a string name onto a structure. More... | |
class | Handle |
Utility for doing reference counted pointers. More... | |
class | MP_variable |
Symantic representation of a variable. More... | |
class | MP_binary_variable |
Specialized subclass of MP_variable where the variable is pre-specified to be binary. More... | |
Enumerations | |
enum | Sense_enum { LE, GE, EQ } |
Enumeration for indicating direction of a constraint. More... | |
enum | variableType { continuous, discrete } |
Enumeration for indicating variable type. More... | |
Functions | |
void | forall (const MP_domain &d, const Functor &f) |
Global function for performing a Functor on each member of a MP_domain. | |
void | forall (const Functor &f) |
Global function for performing a Functor without having a set to operate on. | |
void | operator<<= (const MP_domain &s, const MP_domain &d) |
Global function which copies members of MP_domain d into another (possibly non-empty) MP_domain. | |
void | minimize (const MP_expression &obj) |
This is one of the main entry points for executionThis calls the OsiSolverInterface to execute the solver with the objective of MINIMIZING the argment MP_expression. | |
void | minimize_max (MP_set &d, const MP_expression &obj) |
This is one of the main entry points for executionThis calls the OsiSolverInterface to execute the solver with the objective of MINIMIZING THE MAXIMUM of the MP_expression evaluation of the MP_set. | |
void | maximize (const MP_expression &obj) |
This is one of the main entry points for executionThis calls the OsiSolverInterface to execute the solver with the objective of MAXIMIZING of the MP_expression. | |
MP_boolean | operator! (const MP_boolean &b) |
For computing the logical negation of a booleanThis is used in the normal formation of an expression. | |
MP_boolean | operator&& (const MP_boolean &e1, const MP_boolean &e2) |
For computing the logical AND of two booleansThis is used in the normal formation of an expression. | |
MP_boolean | operator|| (const MP_boolean &e1, const MP_boolean &e2) |
For computing the logical OR of two booleansThis is used in the normal formation of an expression. | |
MP_boolean | operator<= (const MP_index_exp &e1, const MP_index_exp &e2) |
boolean which returns true if all in domain evaluate to true. | |
MP_boolean | operator<= (const Constant &e1, const Constant &e2) |
constructs a boolean evaluator by comparing two constants. | |
MP_boolean | operator< (const MP_index_exp &e1, const MP_index_exp &e2) |
constructs a boolean evaluator using operator overloadingThis is used in the normal formation of an expression. | |
MP_boolean | operator< (const Constant &e1, const Constant &e2) |
constructs a boolean evaluator by comparing two constants. | |
MP_boolean | operator>= (const MP_index_exp &e1, const MP_index_exp &e2) |
constructs a boolean evaluator using operator overloadingThis is used in the normal formation of an expression. | |
MP_boolean | operator>= (const Constant &e1, const Constant &e2) |
constructs a boolean evaluator by comparing two constants. | |
MP_boolean | operator> (const MP_index_exp &e1, const MP_index_exp &e2) |
constructs a boolean evaluator using operator overloadingThis is used in the normal formation of an expression. | |
MP_boolean | operator> (const Constant &e1, const Constant &e2) |
constructs a boolean evaluator by comparing two constants. | |
MP_boolean | operator== (const MP_index_exp &e1, const MP_index_exp &e2) |
constructs a boolean evaluator using operator overloadingThis is used in the normal formation of an expression. | |
MP_boolean | operator== (const Constant &e1, const Constant &e2) |
constructs a boolean evaluator by comparing two constants. | |
MP_boolean | operator!= (const MP_index_exp &e1, const MP_index_exp &e2) |
constructs a boolean evaluator using operator overloadingThis is used in the normal formation of an expression. | |
MP_boolean | operator!= (const Constant &e1, const Constant &e2) |
constructs a boolean evaluator by comparing two constants. | |
Constant | operator- (const Constant &a) |
Constant | abs (const Constant &c) |
for computing the absolute value of a constant value. | |
Constant | pos (const Constant &c) |
for returning non-negative value of the constant. | |
Constant | ceil (const Constant &c) |
The ceiling integral value of the input constant. | |
Constant | floor (const Constant &c) |
The floor integral value of the input constant. | |
Constant | minimum (const Constant &a, const Constant &b) |
Returns the smaller of two constants. | |
Constant | maximum (const Constant &a, const Constant &b) |
Returns the larger of two constants. | |
Constant | operator+ (const Constant &a, const Constant &b) |
Returns the sum of two constants. | |
Constant | operator- (const Constant &a, const Constant &b) |
Returns the difference of two constants. | |
Constant | operator* (const Constant &a, const Constant &b) |
Returns the product of two constants. | |
Constant | operator/ (const Constant &a, const Constant &b) |
Returns the quotient of two constants. | |
Constant | mpif (const MP_boolean &c, const Constant &a, const Constant &b) |
Constant | maximum (const MP_domain &i, const Constant &e) |
Returns the maximum over the domain of the constant. | |
Constant | minimum (const MP_domain &i, const Constant &e) |
Returns the sum of two constants. | |
Constant | sum (const MP_domain &i, const Constant &e) |
Returns the sum of two constants. | |
Constant | product (const MP_domain &i, const Constant &e) |
Returns the sum of two constants. | |
Constraint | operator<= (const MP_expression &l, const MP_expression &r) |
Uses operator overloading to construct an ConstraintConstucts a Constraint using operator overloading. | |
Constraint | operator<= (const Constant &l, const MP_expression &r) |
Uses operator overloading to construct an ConstraintConstucts a Constraint using operator overloading. | |
Constraint | operator<= (const MP_expression &l, const Constant &r) |
Uses operator overloading to construct an ConstraintConstucts a Constraint using operator overloading. | |
Constraint | operator<= (const VariableRef &l, const VariableRef &r) |
Uses operator overloading to construct an ConstraintConstucts a Constraint using operator overloading. | |
Constraint | operator>= (const MP_expression &l, const MP_expression &r) |
Uses operator overloading to construct an ConstraintConstucts a Constraint using operator overloading. | |
Constraint | operator>= (const Constant &l, const MP_expression &r) |
Uses operator overloading to construct an ConstraintConstucts a Constraint using operator overloading. | |
Constraint | operator>= (const MP_expression &l, const Constant &r) |
Uses operator overloading to construct an ConstraintConstucts a Constraint using operator overloading. | |
Constraint | operator>= (const VariableRef &l, const VariableRef &r) |
Uses operator overloading to construct an ConstraintConstucts a Constraint using operator overloading. | |
Constraint | operator== (const MP_expression &l, const MP_expression &r) |
Uses operator overloading to construct an ConstraintConstucts a Constraint using operator overloading. | |
Constraint | operator== (const Constant &l, const MP_expression &r) |
Uses operator overloading to construct an ConstraintConstucts a Constraint using operator overloading. | |
Constraint | operator== (const MP_expression &l, const Constant &r) |
Uses operator overloading to construct an ConstraintConstucts a Constraint using operator overloading. | |
Constraint | operator== (const VariableRef &l, const VariableRef &r) |
Uses operator overloading to construct an ConstraintConstucts a Constraint using operator overloading. | |
MP_domain | operator* (const MP_domain &a, const MP_domain &b) |
operator which creates a new domain as the pairwise combinations of two input domains. | |
MP_expression | operator+ (const MP_expression &e1, const MP_expression &e2) |
MP_expression | operator+ (const MP_expression &e1, const Constant &e2) |
MP_expression | operator+ (const Constant &e1, const MP_expression &e2) |
MP_expression | operator- (const MP_expression &e1, const MP_expression &e2) |
MP_expression | operator- (const MP_expression &e1, const Constant &e2) |
MP_expression | operator- (const Constant &e1, const MP_expression &e2) |
MP_expression | operator* (const Constant &e1, const MP_expression &e2) |
MP_expression | operator* (const MP_expression &e1, const Constant &e2) |
MP_expression | operator/ (const MP_expression &e1, const Constant &e2) |
MP_expression | sum (const MP_domain &d, const MP_expression &e) |
Constant | operator+ (MP_index &a, MP_index &b) |
returns a Constant as a result of addition of two MP_index values. | |
Constant | operator- (MP_index &a, MP_index &b) |
returns a Constant as a result of a difference of two MP_index values. | |
MP_index_exp | operator- (MP_index &i, const int &j) |
returns an index expression from a difference between an MP_index and an integer. | |
MP_index_exp | operator+ (MP_index &i, const int &j) |
returns an index expression from a sum between an MP_index and an integer. | |
MP_index_exp | operator+ (MP_index &i, const Constant &j) |
returns an index expression from a sum between an MP_index and a Constant. | |
MP_index_exp | operator* (MP_index &i, const Constant &j) |
returns an index expression from a product between an MP_index and a Constant. | |
std::ostream & | operator<< (std::ostream &os, const MP_model::MP_status &condition) |
allows print of result from call to solve(); | |
std::ostream & | operator<< (std::ostream &os, const MP_model::MP_direction &direction) |
allows print of direction used when calling solve. (MIN/MAX) | |
template<int nbr, class T > | |
vector< T > | makeVector (T i1, T i2=0, T i3=0, T i4=0, T i5=0) |
This template makes a vector of appropriate size out of the variable number of arguments. | |
int | mod (int a, int b) |
return the strictly positive modulus of two integers | |
Variables | |
const int | outOfBound = -2 |
Distinct return value on conditions where an index goes out of bounds. |
All flopc++ code is contained within the flopc namespace.
Flopc++ is an open source algebraic modelling language implemented as a C++ class library. It uses the common COIN-OR OsiSolverInterface abstract interface to allow for easy integration with many of today's top Math Programming solvers.
main 3 components are listed below. Much of the rest of the code is to facilitate the operator overloading makes this such a powerful modeling environment.
Constant flopc::operator- | ( | const Constant & | a | ) |
Constant flopc::mpif | ( | const MP_boolean & | c, | |
const Constant & | a, | |||
const Constant & | b | |||
) |
MP_domain flopc::operator* | ( | const MP_domain & | a, | |
const MP_domain & | b | |||
) |
operator which creates a new domain as the pairwise combinations of two input domains.
Constant flopc::operator+ | ( | MP_index & | a, | |
MP_index & | b | |||
) |
Constant flopc::operator- | ( | MP_index & | a, | |
MP_index & | b | |||
) |
MP_index_exp flopc::operator- | ( | MP_index & | i, | |
const int & | j | |||
) |
returns an index expression from a difference between an MP_index and an integer.
(i-5)
MP_index_exp flopc::operator+ | ( | MP_index & | i, | |
const int & | j | |||
) |
returns an index expression from a sum between an MP_index and an integer.
(i+5)
MP_index_exp flopc::operator+ | ( | MP_index & | i, | |
const Constant & | j | |||
) |
MP_index_exp flopc::operator* | ( | MP_index & | i, | |
const Constant & | j | |||
) |
std::ostream& flopc::operator<< | ( | std::ostream & | os, | |
const MP_model::MP_status & | condition | |||
) |
allows print of result from call to solve();
std::ostream& flopc::operator<< | ( | std::ostream & | os, | |
const MP_model::MP_direction & | direction | |||
) |
allows print of direction used when calling solve. (MIN/MAX)
int flopc::mod | ( | int | a, | |
int | b | |||
) | [inline] |
return the strictly positive modulus of two integers
Definition at line 60 of file MP_utilities.hpp.
const int flopc::outOfBound = -2 |
Distinct return value on conditions where an index goes out of bounds.
Definition at line 66 of file MP_utilities.hpp.