flopc::MP_variable Class Reference
[Public interface]

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

#include <MP_variable.hpp>

Inheritance diagram for flopc::MP_variable:

Inheritance graph
[legend]
Collaboration diagram for flopc::MP_variable:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MP_variable (const MP_set_base &s1=MP_set::getEmpty(), const MP_set_base &s2=MP_set::getEmpty(), const MP_set_base &s3=MP_set::getEmpty(), const MP_set_base &s4=MP_set::getEmpty(), const MP_set_base &s5=MP_set::getEmpty())
void display (const std::string &s="")
 ~MP_variable ()
double level (int i1=0, int i2=0, int i3=0, int i4=0, int i5=0)
 Returns the value of the variable given the specific index values.
const VariableRefoperator() (const MP_index_exp &d1=MP_index_exp::getEmpty(), const MP_index_exp &d2=MP_index_exp::getEmpty(), const MP_index_exp &d3=MP_index_exp::getEmpty(), const MP_index_exp &d4=MP_index_exp::getEmpty(), const MP_index_exp &d5=MP_index_exp::getEmpty())
 Interal use only.
void binary ()
 Call this method to turn the variable into a binary variable.
void integer ()
 Call this method to turn the MP_variable into an integer variable.

Public Attributes

MP_data upperLimit
 Upper bound on the variable value.
MP_data lowerLimit
 Lower bound on the variable value.

Private Member Functions

void operator() () const

Private Attributes

const MP_set_baseS1
const MP_set_baseS2
const MP_set_baseS3
const MP_set_baseS4
const MP_set_baseS5
MP_index i1
MP_index i2
MP_index i3
MP_index i4
MP_index i5
MP_modelM
variableType type
int offset

Friends

class MP_model
class DisplayVariable
class VariableRef

Detailed Description

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.

Definition at line 72 of file MP_variable.hpp.


Constructor & Destructor Documentation

MP_variable::MP_variable ( const MP_set_base s1 = MP_set::getEmpty(),
const MP_set_base s2 = MP_set::getEmpty(),
const MP_set_base s3 = MP_set::getEmpty(),
const MP_set_base s4 = MP_set::getEmpty(),
const MP_set_base s5 = MP_set::getEmpty() 
)

Definition at line 64 of file MP_variable.cpp.

References flopc::continuous, flopc::MP_model::getDefaultModel(), flopc::MP_data::initialize(), lowerLimit, type, and upperLimit.

flopc::MP_variable::~MP_variable (  )  [inline]

Definition at line 85 of file MP_variable.hpp.


Member Function Documentation

void flopc::MP_variable::binary (  )  [inline]

Call this method to turn the variable into a binary variable.

Definition at line 105 of file MP_variable.hpp.

References flopc::discrete, flopc::MP_data::initialize(), type, and upperLimit.

Referenced by flopc::MP_binary_variable::MP_binary_variable().

void MP_variable::display ( const std::string &  s = ""  ) 

Definition at line 98 of file MP_variable.cpp.

References i1, i2, i3, i4, i5, offset, S2, S3, S4, and S5.

void flopc::MP_variable::integer (  )  [inline]

Call this method to turn the MP_variable into an integer variable.

Definition at line 111 of file MP_variable.hpp.

References flopc::discrete, and type.

double MP_variable::level ( int  i1 = 0,
int  i2 = 0,
int  i3 = 0,
int  i4 = 0,
int  i5 = 0 
)

Returns the value of the variable given the specific index values.

Definition at line 80 of file MP_variable.cpp.

References flopc::RowMajor::f(), M, offset, and flopc::MP_model::solution.

void MP_variable::operator() (  )  const [private, virtual]

Implements flopc::Functor.

Definition at line 84 of file MP_variable.cpp.

References flopc::MP_index::evaluate(), flopc::RowMajor::f(), flopc::MP_set::getEmpty(), i1, i2, i3, i4, i5, M, offset, S1, S2, S3, S4, S5, and flopc::MP_model::solution.

const VariableRef& flopc::MP_variable::operator() ( const MP_index_exp d1 = MP_index_exp::getEmpty(),
const MP_index_exp d2 = MP_index_exp::getEmpty(),
const MP_index_exp d3 = MP_index_exp::getEmpty(),
const MP_index_exp d4 = MP_index_exp::getEmpty(),
const MP_index_exp d5 = MP_index_exp::getEmpty() 
) [inline]

Interal use only.

Definition at line 92 of file MP_variable.hpp.

References VariableRef.


Friends And Related Function Documentation

friend class DisplayVariable [friend]

Definition at line 74 of file MP_variable.hpp.

friend class MP_model [friend]

Definition at line 73 of file MP_variable.hpp.

friend class VariableRef [friend]

Definition at line 75 of file MP_variable.hpp.

Referenced by operator()().


Member Data Documentation

MP_index flopc::MP_variable::i1 [private]

Definition at line 122 of file MP_variable.hpp.

Referenced by display(), and operator()().

MP_index flopc::MP_variable::i2 [private]

Definition at line 122 of file MP_variable.hpp.

Referenced by display(), and operator()().

MP_index flopc::MP_variable::i3 [private]

Definition at line 122 of file MP_variable.hpp.

Referenced by display(), and operator()().

MP_index flopc::MP_variable::i4 [private]

Definition at line 122 of file MP_variable.hpp.

Referenced by display(), and operator()().

MP_index flopc::MP_variable::i5 [private]

Definition at line 122 of file MP_variable.hpp.

Referenced by display(), and operator()().

MP_data flopc::MP_variable::lowerLimit

Lower bound on the variable value.

Definition at line 118 of file MP_variable.hpp.

Referenced by MP_variable().

MP_model* flopc::MP_variable::M [private]

Definition at line 124 of file MP_variable.hpp.

Referenced by flopc::MP_model::add(), level(), flopc::VariableRef::level(), and operator()().

int flopc::MP_variable::offset [private]

Definition at line 126 of file MP_variable.hpp.

Referenced by flopc::MP_model::add(), display(), flopc::VariableRef::getColumn(), level(), flopc::VariableRef::level(), operator()(), and flopc::VariableRef::VariableRef().

const MP_set_base* flopc::MP_variable::S1 [private]

Definition at line 121 of file MP_variable.hpp.

Referenced by flopc::VariableRef::getColumn(), flopc::VariableRef::level(), and operator()().

const MP_set_base * flopc::MP_variable::S2 [private]

Definition at line 121 of file MP_variable.hpp.

Referenced by display(), flopc::VariableRef::getColumn(), flopc::VariableRef::level(), and operator()().

const MP_set_base * flopc::MP_variable::S3 [private]

Definition at line 121 of file MP_variable.hpp.

Referenced by display(), flopc::VariableRef::getColumn(), flopc::VariableRef::level(), and operator()().

const MP_set_base * flopc::MP_variable::S4 [private]

Definition at line 121 of file MP_variable.hpp.

Referenced by display(), flopc::VariableRef::getColumn(), flopc::VariableRef::level(), and operator()().

const MP_set_base * flopc::MP_variable::S5 [private]

Definition at line 121 of file MP_variable.hpp.

Referenced by display(), flopc::VariableRef::getColumn(), flopc::VariableRef::level(), and operator()().

variableType flopc::MP_variable::type [private]

Definition at line 125 of file MP_variable.hpp.

Referenced by binary(), integer(), and MP_variable().

MP_data flopc::MP_variable::upperLimit

Upper bound on the variable value.

Definition at line 116 of file MP_variable.hpp.

Referenced by binary(), and MP_variable().


The documentation for this class was generated from the following files:
Generated on Fri Aug 26 03:03:40 2011 for FLOPC++ by  doxygen 1.4.7