MAiNGO
maingo::ubp::UbpQuadExpr Struct Reference

Struct used to compute coefficients of linear and quadratic/bilinear terms in (MIQ)Ps. This struct is used to avoid the need of propagating the IloExpr object resulting in HUGE RAM usage. More...

#include <ubpQuadExpr.h>

Public Member Functions

 UbpQuadExpr ()
 Default constructor. More...
 
 UbpQuadExpr (const size_t nvarIn)
 Constructor accepting a number of variables. More...
 
 UbpQuadExpr (const size_t nvarIn, const size_t iLin)
 Constructor for a specific variable participating linearly. More...
 
 UbpQuadExpr (const double in)
 Constructor for a constant. More...
 
UbpQuadExproperator= (const double in)
 Operator= for a double constant. More...
 
UbpQuadExproperator= (const int in)
 Operator= for an integer constant. More...
 
UbpQuadExproperator+= (const UbpQuadExpr &in)
 Operator+= for UbpQuadExpr. More...
 
UbpQuadExproperator+= (const double in)
 Operator+= for double. More...
 
UbpQuadExproperator+= (const int in)
 Operator+= for int. More...
 
UbpQuadExproperator-= (const UbpQuadExpr &in)
 Operator-= for UbpQuadExpr. More...
 
UbpQuadExproperator-= (const double in)
 Operator-= for double. More...
 
UbpQuadExproperator-= (const int in)
 Operator-= for int. More...
 
UbpQuadExproperator *= (const UbpQuadExpr &in)
 Operator*= for UbpQuadExpr. More...
 
UbpQuadExproperator *= (const double in)
 Operator*= for double. More...
 
UbpQuadExproperator *= (const int in)
 Operator*= for int. More...
 
UbpQuadExproperator/= (const UbpQuadExpr &in)
 Operator/= for UbpQuadExpr. More...
 
UbpQuadExproperator/= (const double in)
 Operator/= for double. More...
 
UbpQuadExproperator/= (const int in)
 Operator/= for int. More...
 

Public Attributes

Internal CPLEX variables
size_t nvar
 
double constant
 
std::vector< double > coeffsLin
 
std::vector< std::vector< double > > coeffsQuad
 
bool hasQuad
 

Detailed Description

Struct used to compute coefficients of linear and quadratic/bilinear terms in (MIQ)Ps. This struct is used to avoid the need of propagating the IloExpr object resulting in HUGE RAM usage.

Constructor & Destructor Documentation

◆ UbpQuadExpr() [1/4]

maingo::ubp::UbpQuadExpr::UbpQuadExpr ( )
inline

Default constructor.

◆ UbpQuadExpr() [2/4]

maingo::ubp::UbpQuadExpr::UbpQuadExpr ( const size_t  nvarIn)
inline

Constructor accepting a number of variables.

Parameters
[in]nvarInis the number of variables

◆ UbpQuadExpr() [3/4]

maingo::ubp::UbpQuadExpr::UbpQuadExpr ( const size_t  nvarIn,
const size_t  iLin 
)
inline

Constructor for a specific variable participating linearly.

Parameters
[in]nvarInis the number of variables
[in]iLinis the number of the variable participating linearly

◆ UbpQuadExpr() [4/4]

maingo::ubp::UbpQuadExpr::UbpQuadExpr ( const double  in)
inline

Constructor for a constant.

Parameters
[in]inis the value of the constant

Member Function Documentation

◆ operator *=() [1/3]

UbpQuadExpr& maingo::ubp::UbpQuadExpr::operator *= ( const UbpQuadExpr in)
inline

Operator*= for UbpQuadExpr.

◆ operator *=() [2/3]

UbpQuadExpr& maingo::ubp::UbpQuadExpr::operator *= ( const double  in)
inline

Operator*= for double.

◆ operator *=() [3/3]

UbpQuadExpr& maingo::ubp::UbpQuadExpr::operator *= ( const int  in)
inline

Operator*= for int.

◆ operator+=() [1/3]

UbpQuadExpr& maingo::ubp::UbpQuadExpr::operator+= ( const UbpQuadExpr in)
inline

Operator+= for UbpQuadExpr.

◆ operator+=() [2/3]

UbpQuadExpr& maingo::ubp::UbpQuadExpr::operator+= ( const double  in)
inline

Operator+= for double.

◆ operator+=() [3/3]

UbpQuadExpr& maingo::ubp::UbpQuadExpr::operator+= ( const int  in)
inline

Operator+= for int.

◆ operator-=() [1/3]

UbpQuadExpr& maingo::ubp::UbpQuadExpr::operator-= ( const UbpQuadExpr in)
inline

Operator-= for UbpQuadExpr.

◆ operator-=() [2/3]

UbpQuadExpr& maingo::ubp::UbpQuadExpr::operator-= ( const double  in)
inline

Operator-= for double.

◆ operator-=() [3/3]

UbpQuadExpr& maingo::ubp::UbpQuadExpr::operator-= ( const int  in)
inline

Operator-= for int.

◆ operator/=() [1/3]

UbpQuadExpr& maingo::ubp::UbpQuadExpr::operator/= ( const UbpQuadExpr in)
inline

Operator/= for UbpQuadExpr.

◆ operator/=() [2/3]

UbpQuadExpr& maingo::ubp::UbpQuadExpr::operator/= ( const double  in)
inline

Operator/= for double.

◆ operator/=() [3/3]

UbpQuadExpr& maingo::ubp::UbpQuadExpr::operator/= ( const int  in)
inline

Operator/= for int.

◆ operator=() [1/2]

UbpQuadExpr& maingo::ubp::UbpQuadExpr::operator= ( const double  in)
inline

Operator= for a double constant.

◆ operator=() [2/2]

UbpQuadExpr& maingo::ubp::UbpQuadExpr::operator= ( const int  in)
inline

Operator= for an integer constant.

Member Data Documentation

◆ coeffsLin

std::vector<double> maingo::ubp::UbpQuadExpr::coeffsLin

vector holding linear coefficients

◆ coeffsQuad

std::vector<std::vector<double> > maingo::ubp::UbpQuadExpr::coeffsQuad

matrix holding coefficient of quadratic/bilinear terms

◆ constant

double maingo::ubp::UbpQuadExpr::constant

value of numeric constant

◆ hasQuad

bool maingo::ubp::UbpQuadExpr::hasQuad

flag indicating whether a quadratic/bilinear term is already present

◆ nvar

size_t maingo::ubp::UbpQuadExpr::nvar

number of variables


The documentation for this struct was generated from the following file: