ROC++  v1.2
Automatic Robust Optimization in C++
PredefO2OVariableConverter Class Reference

Pre-defined variable to variable converter. More...

#include <VariableConverter.hpp>

Inheritance diagram for PredefO2OVariableConverter:
Collaboration diagram for PredefO2OVariableConverter:

Public Member Functions

 PredefO2OVariableConverter (const map< string, ROCPPVarIF_Ptr > &translationMap)
 Constructor of the PredefO2OVariableConverter class. More...
 
 ~PredefO2OVariableConverter ()
 Destructor of the PredefO2OVariableConverter class. More...
 
ROCPPConstraintIF_Ptr convertVar (ROCPPConstraintIF_Ptr pCstr) const
 
void findVarsToTranslate (vector< ROCPPConstraintIF_Ptr >::const_iterator first, vector< ROCPPConstraintIF_Ptr >::const_iterator last, ROCPPObjectiveIF_Ptr obj, dvContainer &container)
 
void createTranslationMap (const dvContainer &tmpContainer, map< string, ROCPPVarIF_Ptr > &translationMap, vector< ROCPPConstraintIF_Ptr > &toAdd)
 Create translation map for the variables in the given container. More...
 
virtual ROCPPOptModelIF_Ptr convertVar (ROCPPOptModelIF_Ptr pIn, bool resetAndSave=false)
 Get the objective and constraints in the input model and then convert the variables. More...
 
virtual void convertVar (vector< ROCPPConstraintIF_Ptr >::const_iterator first, vector< ROCPPConstraintIF_Ptr >::const_iterator last, ROCPPObjectiveIF_Ptr obj, const dvContainer &origDVContainer, vector< ROCPPConstraintIF_Ptr > &toAdd, ROCPPObjectiveIF_Ptr &toSet, bool resetAndSave=false)=0
 Approximate each variable in the given objective and contraints. More...
 
- Public Member Functions inherited from OneToOneVariableConverterIF
 OneToOneVariableConverterIF ()
 Constructor of OneToOneVariableConverterIF class. More...
 
 ~OneToOneVariableConverterIF ()
 Destructor of OneToOneVariableConverterIF class. More...
 
const_iterator find (string varName) const
 
const_iterator begin () const
 
const_iterator end () const
 
void convertVar (vector< ROCPPConstraintIF_Ptr >::const_iterator first, vector< ROCPPConstraintIF_Ptr >::const_iterator last, ROCPPObjectiveIF_Ptr obj, const dvContainer &origDVContainer, vector< ROCPPConstraintIF_Ptr > &toAdd, ROCPPObjectiveIF_Ptr &toSet, bool resetAndSave=false)
 Approximate the original variable with a new variable or a constant for all variables in the input model. More...
 
void createInverseMap (const dvContainer &origDVContainer)
 Create the map m_inverseMap. More...
 
double evaluateVariableValue (string nme, const map< string, double > &binValuesMap) const
 Evaluate and return the value of the given variable after converting it. More...
 
virtual ROCPPOptModelIF_Ptr convertVar (ROCPPOptModelIF_Ptr pIn, bool resetAndSave=false)
 Get the objective and constraints in the input model and then convert the variables. More...
 
virtual void convertVar (vector< ROCPPConstraintIF_Ptr >::const_iterator first, vector< ROCPPConstraintIF_Ptr >::const_iterator last, ROCPPObjectiveIF_Ptr obj, const dvContainer &origDVContainer, vector< ROCPPConstraintIF_Ptr > &toAdd, ROCPPObjectiveIF_Ptr &toSet, bool resetAndSave=false)=0
 Approximate each variable in the given objective and contraints. More...
 
- Public Member Functions inherited from VariableConverterIF
 VariableConverterIF ()
 Constructor of VariableConverterIF class. More...
 
 ~VariableConverterIF ()
 Destructor of VariableConverterIF class. More...
 
const_iterator_inv findInv (string varName) const
 Return a constant iterator pointing to the pair of the given variable and the old variable associated with it. More...
 
const_iterator_inv beginInv () const
 Return a constant iterator pointing to the beginning of the inverse map (m_inverseMap) More...
 
const_iterator_inv endInv () const
 Return a constant iterator pointing to the end of the inverse map (m_inverseMap) More...
 
virtual ROCPPOptModelIF_Ptr convertVar (ROCPPOptModelIF_Ptr pIn, bool resetAndSave=false)
 Get the objective and constraints in the input model and then convert the variables. More...
 
virtual void convertVar (vector< ROCPPConstraintIF_Ptr >::const_iterator first, vector< ROCPPConstraintIF_Ptr >::const_iterator last, ROCPPObjectiveIF_Ptr obj, const dvContainer &origDVContainer, vector< ROCPPConstraintIF_Ptr > &toAdd, ROCPPObjectiveIF_Ptr &toSet, bool resetAndSave=false)=0
 Approximate each variable in the given objective and contraints. More...
 
virtual void findVarsToTranslate (vector< ROCPPConstraintIF_Ptr >::const_iterator first, vector< ROCPPConstraintIF_Ptr >::const_iterator last, ROCPPObjectiveIF_Ptr obj, dvContainer &container)=0
 Find the variable in the given ocnstraints and objective to be mapped and store them in the container. More...
 
virtual void printOut (const ROCPPOptModelIF_Ptr pIn, const map< string, double > &variableValue, ROCPPVarIF_Ptr dv)
 Print the solution of the given decision variable. More...
 

Private Attributes

ROCPPdvContainer_Ptr m_origDVs
 

Additional Inherited Members

- Public Types inherited from OneToOneVariableConverterIF
typedef map< string, ROCPPVarIF_Ptr >::const_iterator const_iterator
 
- Public Types inherited from VariableConverterIF
typedef map< string, ROCPPVarIF_Ptr >::const_iterator const_iterator_inv
 Constant iterator into inverse map. More...
 
- Protected Attributes inherited from OneToOneVariableConverterIF
map< string, ROCPPVarIF_Ptrm_translationMap
 Map from name of the original variable to the new variable. More...
 
- Protected Attributes inherited from VariableConverterIF
map< string, ROCPPVarIF_Ptrm_inverseMap
 Map from the new variable name to old variable. More...
 

Detailed Description

Pre-defined variable to variable converter.

Class for converting a variable to another variable with a pre-defined translation map

Constructor & Destructor Documentation

◆ PredefO2OVariableConverter()

PredefO2OVariableConverter::PredefO2OVariableConverter ( const map< string, ROCPPVarIF_Ptr > &  translationMap)
inline

Constructor of the PredefO2OVariableConverter class.

◆ ~PredefO2OVariableConverter()

PredefO2OVariableConverter::~PredefO2OVariableConverter ( )
inline

Destructor of the PredefO2OVariableConverter class.

Member Function Documentation

◆ convertVar() [1/3]

ROCPPConstraintIF_Ptr PredefO2OVariableConverter::convertVar ( ROCPPConstraintIF_Ptr  pCstr) const

◆ convertVar() [2/3]

ROCPPOptModelIF_Ptr VariableConverterIF::convertVar

Get the objective and constraints in the input model and then convert the variables.

Parameters
pInModel to be approximated
resetAndSaveWhether to set the translation map in class OneToExprVariableConverterIF

◆ convertVar() [3/3]

virtual void VariableConverterIF::convertVar

Approximate each variable in the given objective and contraints.

Parameters
firstConstant iterator pointing to the beginning of the vector of constraints to be mapped
lastConstant iterator pointing to the end of the vector of constraints to be mapped
objObjective to be mapped
origDVContainerContainer of decision variables to be approximated
toAddConstraints after mapping
toSetObjective after mapping

◆ createTranslationMap()

void PredefO2OVariableConverter::createTranslationMap ( const dvContainer tmpContainer,
map< string, ROCPPVarIF_Ptr > &  translationMap,
vector< ROCPPConstraintIF_Ptr > &  toAdd 
)
virtual

Create translation map for the variables in the given container.

Parameters
tmpContainerContainer contains variables to be mapped
translationMapMap from the name of the variable to the new variable it will be mapped to
toAddContains the upper and lower bounds of the original variables as constraints

Implements OneToOneVariableConverterIF.

◆ findVarsToTranslate()

void PredefO2OVariableConverter::findVarsToTranslate ( vector< ROCPPConstraintIF_Ptr >::const_iterator  first,
vector< ROCPPConstraintIF_Ptr >::const_iterator  last,
ROCPPObjectiveIF_Ptr  obj,
dvContainer container 
)

Member Data Documentation

◆ m_origDVs

ROCPPdvContainer_Ptr PredefO2OVariableConverter::m_origDVs
private