Public interface

Classes in this group are for normal modeling purposes. More...

Classes

class  flopc::MP_boolean
 Reference counted class for all "boolean" types of data. More...
class  flopc::MP_constraint
 Semantic representation of a linear constraint. More...
class  flopc::MP_data
 Input data set. More...
class  flopc::MP_domain
 Range over which some other constuct is defined. More...
class  flopc::MP_domain_set
 Range over which some other constuct is defined. More...
class  flopc::MP_domain_subset< nbr >
 Range over which some other constuct is defined. More...
class  flopc::MP_expression
 Symbolic representation of a linear expression. More...
class  flopc::MP_index
 Representation of an index. More...
class  flopc::MP_index_exp
 Representation of an expression involving an index. More...
class  flopc::Messenger
 Inteface for hooking up to internal flopc++ message handling. More...
class  flopc::MP_model
 This is the anchor point for all constructs in a FlopC++ model. More...
class  flopc::MP_set
 Representation of a set for indexing into some other construct. More...
class  flopc::MP_variable
 Symantic representation of a variable. More...
class  flopc::MP_binary_variable
 Specialized subclass of MP_variable where the variable is pre-specified to be binary. More...

Functions

void flopc::forall (const MP_domain &d, const Functor &f)
 Global function for performing a Functor on each member of a MP_domain.
void flopc::forall (const Functor &f)
 Global function for performing a Functor without having a set to operate on.
void flopc::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 flopc::minimize (const MP_expression &obj)
 This is one of the main entry points for execution

This calls the OsiSolverInterface to execute the solver with the objective of MINIMIZING the argment MP_expression.

void flopc::minimize_max (MP_set &d, const MP_expression &obj)
 This is one of the main entry points for execution

This calls the OsiSolverInterface to execute the solver with the objective of MINIMIZING THE MAXIMUM of the MP_expression evaluation of the MP_set.

void flopc::maximize (const MP_expression &obj)
 This is one of the main entry points for execution

This calls the OsiSolverInterface to execute the solver with the objective of MAXIMIZING of the MP_expression.

MP_boolean flopc::operator! (const MP_boolean &b)
 For computing the logical negation of a boolean

This is used in the normal formation of an expression.

MP_boolean flopc::operator && (const MP_boolean &e1, const MP_boolean &e2)
 For computing the logical AND of two booleans

This is used in the normal formation of an expression.

MP_boolean flopc::operator|| (const MP_boolean &e1, const MP_boolean &e2)
 For computing the logical OR of two booleans

This is used in the normal formation of an expression.

MP_boolean flopc::operator<= (const MP_index_exp &e1, const MP_index_exp &e2)
 constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression.

MP_boolean flopc::operator<= (const Constant &e1, const Constant &e2)
 constructs a boolean evaluator by comparing two constants.
MP_boolean flopc::operator< (const MP_index_exp &e1, const MP_index_exp &e2)
 constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression.

MP_boolean flopc::operator< (const Constant &e1, const Constant &e2)
 constructs a boolean evaluator by comparing two constants.
MP_boolean flopc::operator>= (const MP_index_exp &e1, const MP_index_exp &e2)
 constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression.

MP_boolean flopc::operator>= (const Constant &e1, const Constant &e2)
 constructs a boolean evaluator by comparing two constants.
MP_boolean flopc::operator> (const MP_index_exp &e1, const MP_index_exp &e2)
 constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression.

MP_boolean flopc::operator> (const Constant &e1, const Constant &e2)
 constructs a boolean evaluator by comparing two constants.
MP_boolean flopc::operator== (const MP_index_exp &e1, const MP_index_exp &e2)
 constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression.

MP_boolean flopc::operator== (const Constant &e1, const Constant &e2)
 constructs a boolean evaluator by comparing two constants.
MP_boolean flopc::operator!= (const MP_index_exp &e1, const MP_index_exp &e2)
 constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression.

MP_boolean flopc::operator!= (const Constant &e1, const Constant &e2)
 constructs a boolean evaluator by comparing two constants.
Constant flopc::abs (const Constant &c)
 for computing the absolute value of a constant value.
Constant flopc::pos (const Constant &c)
 for returning non-negative value of the constant.
Constant flopc::ceil (const Constant &c)
 The ceiling integral value of the input constant.
Constant flopc::floor (const Constant &c)
 The floor integral value of the input constant.
Constant flopc::minimum (const Constant &a, const Constant &b)
 Returns the smaller of two constants.
Constant flopc::maximum (const Constant &a, const Constant &b)
 Returns the larger of two constants.
Constant flopc::operator+ (const Constant &a, const Constant &b)
 Returns the sum of two constants.
Constant flopc::operator- (const Constant &a, const Constant &b)
 Returns the difference of two constants.
Constant flopc::operator * (const Constant &a, const Constant &b)
 Returns the product of two constants.
Constant flopc::operator/ (const Constant &a, const Constant &b)
 Returns the quotient of two constants.
Constant flopc::maximum (const MP_domain &i, const Constant &e)
 Returns the maximum over the domain of the constant.
Constant flopc::minimum (const MP_domain &i, const Constant &e)
 Returns the sum of two constants.
Constant flopc::sum (const MP_domain &i, const Constant &e)
 Returns the sum of two constants.
Constant flopc::product (const MP_domain &i, const Constant &e)
 Returns the sum of two constants.
Constraint flopc::operator<= (const MP_expression &l, const MP_expression &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator<= (const Constant &l, const MP_expression &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator<= (const MP_expression &l, const Constant &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator<= (const VariableRef &l, const VariableRef &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator>= (const MP_expression &l, const MP_expression &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator>= (const Constant &l, const MP_expression &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator>= (const MP_expression &l, const Constant &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator>= (const VariableRef &l, const VariableRef &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator== (const MP_expression &l, const MP_expression &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator== (const Constant &l, const MP_expression &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator== (const MP_expression &l, const Constant &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

Constraint flopc::operator== (const VariableRef &l, const VariableRef &r)
 Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

MP_expression flopc::operator+ (const MP_expression &e1, const MP_expression &e2)
MP_expression flopc::operator+ (const MP_expression &e1, const Constant &e2)
MP_expression flopc::operator+ (const Constant &e1, const MP_expression &e2)
MP_expression flopc::operator- (const MP_expression &e1, const MP_expression &e2)
MP_expression flopc::operator- (const MP_expression &e1, const Constant &e2)
MP_expression flopc::operator- (const Constant &e1, const MP_expression &e2)
MP_expression flopc::operator * (const Constant &e1, const MP_expression &e2)
MP_expression flopc::operator * (const MP_expression &e1, const Constant &e2)
MP_expression flopc::operator/ (const MP_expression &e1, const Constant &e2)
MP_expression flopc::sum (const MP_domain &d, const MP_expression &e)

Detailed Description

Classes in this group are for normal modeling purposes.

They are intended for consumption outside the library.


Function Documentation

void flopc::forall ( const MP_domain &  d,
const Functor &  f 
) [inline]

Global function for performing a Functor on each member of a MP_domain.

Definition at line 55 of file flopc.hpp.

References flopc::MP_domain::forall().

Referenced by flopc::forall().

void flopc::forall ( const Functor &  f  )  [inline]

Global function for performing a Functor without having a set to operate on.

Todo:
This turns into a no-op?

Definition at line 64 of file flopc.hpp.

References flopc::forall(), and flopc::MP_domain::getEmpty().

void flopc::operator<<= ( const MP_domain &  s,
const MP_domain &  d 
) [inline]

Global function which copies members of MP_domain d into another (possibly non-empty) MP_domain.

Definition at line 72 of file flopc.hpp.

References flopc::MP_domain::forall().

void flopc::minimize ( const MP_expression &  obj  )  [inline]

This is one of the main entry points for execution

This calls the OsiSolverInterface to execute the solver with the objective of MINIMIZING the argment MP_expression.

Definition at line 83 of file flopc.hpp.

References flopc::MP_model::getDefaultModel(), and flopc::MP_model::minimize().

void flopc::minimize_max ( MP_set &  d,
const MP_expression &  obj 
) [inline]

This is one of the main entry points for execution

This calls the OsiSolverInterface to execute the solver with the objective of MINIMIZING THE MAXIMUM of the MP_expression evaluation of the MP_set.

Definition at line 95 of file flopc.hpp.

References flopc::MP_model::getDefaultModel(), and flopc::MP_model::minimize_max().

void flopc::maximize ( const MP_expression &  obj  )  [inline]

This is one of the main entry points for execution

This calls the OsiSolverInterface to execute the solver with the objective of MAXIMIZING of the MP_expression.

Definition at line 106 of file flopc.hpp.

References flopc::MP_model::getDefaultModel(), and flopc::MP_model::maximize().

MP_boolean flopc::operator! ( const MP_boolean &  b  ) 

For computing the logical negation of a boolean

This is used in the normal formation of an expression.

Parameters:
b boolean
Returns:
A boolean which evaluates to the negation of the input expression.
Todo:
true? haven't used it.

MP_boolean flopc::operator && ( const MP_boolean &  e1,
const MP_boolean &  e2 
)

For computing the logical AND of two booleans

This is used in the normal formation of an expression.

Parameters:
e1 first boolean
e2 second boolean
Returns:
A boolean which evaluates to true of both booleans are true.
Todo:
true? haven't used it.

MP_boolean flopc::operator|| ( const MP_boolean &  e1,
const MP_boolean &  e2 
)

For computing the logical OR of two booleans

This is used in the normal formation of an expression.

Parameters:
e1 first boolean
e2 second boolean
Returns:
A boolean which evaluates to true if either booleans are true.
Todo:
true? haven't used it.

MP_boolean flopc::operator<= ( const MP_index_exp &  e1,
const MP_index_exp &  e2 
)

constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression.

This is useful when combining index expressions.

Parameters:
e1 is an index expression
e2 second index expression
  • used in forming sets of tuples of index values, or subsets.
Todo:
improve this a bit?
The brief code below is a bit contrived, but the right hand side illustrate the utility of combining an index expression. MP_index i;
MP_index j;
MP_boolean &b = (i+5)<=(j);

Referenced by flopc::operator<=().

MP_boolean flopc::operator<= ( const Constant &  e1,
const Constant &  e2 
)

constructs a boolean evaluator by comparing two constants.

This is used in the normal formation of an expression. This utility of this is when comparing constants

Parameters:
e1 first constant expression
e2 second constant expression

MP_boolean flopc::operator< ( const MP_index_exp &  e1,
const MP_index_exp &  e2 
)

constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression.

This is useful when combining index expressions.

Parameters:
e1 is an index expression involving an MP_index
e2 second index expression
  • used in forming sets of tuples of index values, or subsets.
Todo:
improve this a bit?

MP_boolean flopc::operator< ( const Constant &  e1,
const Constant &  e2 
)

constructs a boolean evaluator by comparing two constants.

This is used in the normal formation of an expression. This utility of this is when comparing constants

Parameters:
e1 first constant expression
e2 second constant expression

MP_boolean flopc::operator>= ( const MP_index_exp &  e1,
const MP_index_exp &  e2 
)

constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression.

This is useful when combining index expressions.

Parameters:
e1 is an index expression involving an MP_index
e2 second index expression
  • used in forming sets of tuples of index values, or subsets.
Todo:
improve this a bit?

Referenced by flopc::operator>=().

MP_boolean flopc::operator>= ( const Constant &  e1,
const Constant &  e2 
)

constructs a boolean evaluator by comparing two constants.

This is used in the normal formation of an expression. This utility of this is when comparing constants

Parameters:
e1 first constant expression
e2 second constant expression

MP_boolean flopc::operator> ( const MP_index_exp &  e1,
const MP_index_exp &  e2 
)

constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression.

This is useful when combining index expressions.

Parameters:
e1 is an index expression involving an MP_index
e2 second index expression
  • used in forming sets of tuples of index values, or subsets.
Todo:
improve this a bit?

MP_boolean flopc::operator> ( const Constant &  e1,
const Constant &  e2 
)

constructs a boolean evaluator by comparing two constants.

This is used in the normal formation of an expression. This utility of this is when comparing constants

Parameters:
e1 first constant expression
e2 second constant expression

MP_boolean flopc::operator== ( const MP_index_exp &  e1,
const MP_index_exp &  e2 
)

constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression.

This is useful when combining index expressions.

Parameters:
e1 is an index expression involving an MP_index
e2 second index expression
  • used in forming sets of tuples of index values, or subsets.
Todo:
improve this a bit?

Referenced by flopc::operator==().

MP_boolean flopc::operator== ( const Constant &  e1,
const Constant &  e2 
)

constructs a boolean evaluator by comparing two constants.

This is used in the normal formation of an expression. This utility of this is when comparing constants

Parameters:
e1 first constant expression
e2 second constant expression

MP_boolean flopc::operator!= ( const MP_index_exp &  e1,
const MP_index_exp &  e2 
)

constructs a boolean evaluator using operator overloading

This is used in the normal formation of an expression.

This is useful when combining index expressions.

Parameters:
e1 is an index expression involving an MP_index
e2 second index expression
  • used in forming sets of tuples of index values, or subsets.
Todo:
improve this a bit?

MP_boolean flopc::operator!= ( const Constant &  e1,
const Constant &  e2 
)

constructs a boolean evaluator by comparing two constants.

This is used in the normal formation of an expression. This utility of this is when comparing constants

Parameters:
e1 first constant expression
e2 second constant expression

Constant flopc::abs ( const Constant &  c  ) 

for computing the absolute value of a constant value.

This is used in the normal formation of an expression such as abs(-5)

Constant flopc::pos ( const Constant &  c  ) 

for returning non-negative value of the constant.

This is used in the formation of an expression. It is used to return a non-negative value..

Parameters:
c an imput constant
Returns:
the absolute value of the constant.
  • if the Constant is positive, it returns a positive number.
  • if the Constant is negative or zero, it returns 0.0

Referenced by BcpsObjectPool::deleteObject(), flopc::SubsetRef< nbr >::evaluate(), flopc::MP_subset< nbr >::evaluate(), CoinSearchTree< Comp >::fixTop(), SmiTreeNode< SmiScnNode * >::getChildByLabel(), BCP_vec< BCP_lp_result * >::index(), flopc::MP_subset< nbr >::insert(), flopc::MP_subset< nbr >::operator()(), CoinSearchTree< Comp >::realpush(), AlpsKnowledgeBroker::registerClass(), BCP_buffer::set_position(), BCP_vec< int >::unchecked_update(), BCP_vec< double >::unchecked_update(), BCP_vec< char >::unchecked_update(), and BCP_vec< T >::unchecked_update().

Constant flopc::ceil ( const Constant &  c  ) 

The ceiling integral value of the input constant.

This is used in the formation of an expression. It is used to "round up" a numeric constant which is potentially non-integer.

Parameters:
c is a constant
Returns:
the ceiling or "rounded up" of the parameter
  • ceil(3.2) evaluates to 4.0

Referenced by BlisBranchObjectInt::BlisBranchObjectInt().

Constant flopc::floor ( const Constant &  c  ) 

The floor integral value of the input constant.

This is used in the formation of an expression. It is used to "truncate" a numeric constant which is potentially non-integer.

Parameters:
c is a constant
Returns:
the floor or "truncated" value of the parameter
  • floor(3.7) evaluates to 3.0

Referenced by BlisBranchObjectInt::BlisBranchObjectInt(), BlisModel::checkInteger(), AbcModel::checkInteger(), LAP::CglLandPSimplex::modularizedCoef(), BlisSolution::print(), and LAP::CglLandPSimplex::strengthenedIntersectionCutCoef().

Constant flopc::minimum ( const Constant &  a,
const Constant &  b 
)

Returns the smaller of two constants.

This is used in the formation of an expression.

Parameters:
a first constant
b second constant
Returns:
the lesser of the two values.
  • minimum(3.6,3.7) evaluates to 3.6

Constant flopc::maximum ( const Constant &  a,
const Constant &  b 
)

Returns the larger of two constants.

This is used in the formation of an expression.

Parameters:
a first constant
b second constant
Returns:
the greater of the two numbers
  • maximum(3.6,3.7) evaluates to 3.7

Constant flopc::operator+ ( const Constant &  a,
const Constant &  b 
)

Returns the sum of two constants.

This is used in the formation of an expression.

Parameters:
a first constant
b second constant
Returns:
the sum of the constants.

Constant flopc::operator- ( const Constant &  a,
const Constant &  b 
)

Returns the difference of two constants.

This is used in the formation of an expression.

Parameters:
a first constant
b second constant
Returns:
the difference between the constants.

Constant flopc::operator * ( const Constant &  a,
const Constant &  b 
)

Returns the product of two constants.

This is used in the formation of an expression.

Parameters:
a first constant
b second constant
Returns:
the result of multiplying the constants.

Constant flopc::operator/ ( const Constant &  a,
const Constant &  b 
)

Returns the quotient of two constants.

This is used in the formation of an expression.

Parameters:
a first constant
b second constant
Returns:
the result of dividing the first parameter by the second.

Constant flopc::maximum ( const MP_domain &  i,
const Constant &  e 
)

Returns the maximum over the domain of the constant.

Todo:
description? Haven't used this.
Parameters:
i MP_domain used in evaluation
e constant

Constant flopc::minimum ( const MP_domain &  i,
const Constant &  e 
)

Returns the sum of two constants.

Todo:
description? Haven't used this.
Parameters:
i MP_domain used in evaluation
e second constant

Constant flopc::sum ( const MP_domain &  i,
const Constant &  e 
)

Returns the sum of two constants.

Todo:
description? Haven't used this.
Parameters:
i MP_domain used in evaluation
e constant

Referenced by MittelmannParaCntrlBase< T >::eval_f(), exp_eps(), CppAD::Poly(), and CppAD::RombergOne().

Constant flopc::product ( const MP_domain &  i,
const Constant &  e 
)

Returns the sum of two constants.

Todo:
description? Haven't used this.
Parameters:
i MP_domain used in evaluation
e constant

Constraint flopc::operator<= ( const MP_expression &  l,
const MP_expression &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 82 of file MP_constraint.hpp.

References flopc::LE.

Constraint flopc::operator<= ( const Constant &  l,
const MP_expression &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 90 of file MP_constraint.hpp.

References flopc::operator<=().

Constraint flopc::operator<= ( const MP_expression &  l,
const Constant &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 98 of file MP_constraint.hpp.

References flopc::operator<=().

Constraint flopc::operator<= ( const VariableRef &  l,
const VariableRef &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 106 of file MP_constraint.hpp.

References flopc::LE.

Constraint flopc::operator>= ( const MP_expression &  l,
const MP_expression &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 115 of file MP_constraint.hpp.

References flopc::GE.

Constraint flopc::operator>= ( const Constant &  l,
const MP_expression &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 123 of file MP_constraint.hpp.

References flopc::operator>=().

Constraint flopc::operator>= ( const MP_expression &  l,
const Constant &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 131 of file MP_constraint.hpp.

References flopc::operator>=().

Constraint flopc::operator>= ( const VariableRef &  l,
const VariableRef &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 139 of file MP_constraint.hpp.

References flopc::GE.

Constraint flopc::operator== ( const MP_expression &  l,
const MP_expression &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 148 of file MP_constraint.hpp.

References flopc::EQ.

Constraint flopc::operator== ( const Constant &  l,
const MP_expression &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 156 of file MP_constraint.hpp.

References flopc::operator==().

Constraint flopc::operator== ( const MP_expression &  l,
const Constant &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 164 of file MP_constraint.hpp.

References flopc::operator==().

Constraint flopc::operator== ( const VariableRef &  l,
const VariableRef &  r 
) [inline]

Uses operator overloading to construct an Constraint

Constucts a Constraint using operator overloading.

See also:
MP_constraint

Definition at line 172 of file MP_constraint.hpp.

References flopc::EQ.

MP_expression flopc::operator+ ( const MP_expression &  e1,
const MP_expression &  e2 
)

MP_expression flopc::operator+ ( const MP_expression &  e1,
const Constant &  e2 
)

MP_expression flopc::operator+ ( const Constant &  e1,
const MP_expression &  e2 
)

MP_expression flopc::operator- ( const MP_expression &  e1,
const MP_expression &  e2 
)

MP_expression flopc::operator- ( const MP_expression &  e1,
const Constant &  e2 
)

MP_expression flopc::operator- ( const Constant &  e1,
const MP_expression &  e2 
)

MP_expression flopc::operator * ( const Constant &  e1,
const MP_expression &  e2 
)

MP_expression flopc::operator * ( const MP_expression &  e1,
const Constant &  e2 
)

MP_expression flopc::operator/ ( const MP_expression &  e1,
const Constant &  e2 
)

MP_expression flopc::sum ( const MP_domain &  d,
const MP_expression &  e 
)


Generated on Sun Nov 14 14:11:55 2010 for Coin-All by  doxygen 1.4.7