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.
1.6.1