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

Converts bilinear mixed integer terms to bilinear mixed binary terms. More...

#include <VariableConverter.hpp>

Inheritance diagram for Bilinear_MItoMB_Converter:
Collaboration diagram for Bilinear_MItoMB_Converter:

Public Member Functions

 Bilinear_MItoMB_Converter ()
 Constructor of Bilinear_MItoMB_Converter class. More...
 
 ~Bilinear_MItoMB_Converter ()
 Destructor of Bilinear_MItoMB_Converter class. More...
 
void findVarsToTranslate (vector< ROCPPConstraintIF_Ptr >::const_iterator first, vector< ROCPPConstraintIF_Ptr >::const_iterator last, ROCPPObjectiveIF_Ptr obj, dvContainer &container)
 
ROCPPOptModelIF_Ptr Reformulate (ROCPPOptModelIF_Ptr pIn)
 
bool isApplicable (ROCPPOptModelIF_Ptr pIn) const
 
string getName () const
 
- Public Member Functions inherited from OneToExprVariableConverterIF
 OneToExprVariableConverterIF ()
 Constructor of OneToExprVariableConverterIF class. More...
 
 ~OneToExprVariableConverterIF ()
 Destructor of OneToExprVariableConverterIF 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)
 Map the original variable to an expression for all variables in the input model. More...
 
virtual void createTranslationMap (const dvContainer &tmpContainer, map< string, ROCPPExpr_Ptr > &translationMap, vector< ROCPPConstraintIF_Ptr > &toAdd)=0
 Create m_translationMap for the variables in the given container. More...
 
virtual 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...
 
- Public Member Functions inherited from ReformulationStrategyIF
 ReformulationStrategyIF ()
 
 ~ReformulationStrategyIF ()
 

Additional Inherited Members

- Public Types inherited from OneToExprVariableConverterIF
typedef map< string, ROCPPExpr_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 OneToExprVariableConverterIF
map< string, ROCPPExpr_Ptrm_translationMap
 Map from name of the original variable to the expression. More...
 
- Protected Attributes inherited from VariableConverterIF
map< string, ROCPPVarIF_Ptrm_inverseMap
 Map from the new variable name to old variable. More...
 

Detailed Description

Converts bilinear mixed integer terms to bilinear mixed binary terms.

Constructor & Destructor Documentation

◆ Bilinear_MItoMB_Converter()

Bilinear_MItoMB_Converter::Bilinear_MItoMB_Converter ( )
inline

Constructor of Bilinear_MItoMB_Converter class.

◆ ~Bilinear_MItoMB_Converter()

Bilinear_MItoMB_Converter::~Bilinear_MItoMB_Converter ( )
inline

Destructor of Bilinear_MItoMB_Converter class.

Member Function Documentation

◆ findVarsToTranslate()

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

◆ getName()

string Bilinear_MItoMB_Converter::getName ( ) const
inlinevirtual

◆ isApplicable()

bool Bilinear_MItoMB_Converter::isApplicable ( ROCPPOptModelIF_Ptr  pIn) const
inlinevirtual

◆ Reformulate()

ROCPPOptModelIF_Ptr Bilinear_MItoMB_Converter::Reformulate ( ROCPPOptModelIF_Ptr  pIn)
inlinevirtual