MAiNGO
maingo::ubp::DagObj Struct Reference

Struct for storing all needed Directed acyclic Graph objects for the upper bounding solver. More...

#include <ubpDagObj.h>

Public Member Functions

 DagObj (mc::FFGraph &DAG, const std::vector< mc::FFVar > &DAGvars, const std::vector< mc::FFVar > &DAGfunctions, const std::vector< babBase::OptimizationVariable > &variables, const unsigned nineq, const unsigned neq, const unsigned nineqSquash, std::vector< Constraint > *constraintProperties, Settings *settingsIn, Logger *loggerIn)
 Constructor. More...
 

Public Attributes

Internal variables for the upper bounding DAG
mc::FFGraph DAG
 
std::vector< mc::FFVar > vars
 
mc::FFSubgraph subgraph
 
std::vector< mc::FFVar > functions
 
std::vector< mc::FFVar > resultVars
 
std::vector< fadbad::F< double > > adPoint
 
std::vector< fadbad::F< double > > fadbadArray
 
std::vector< fadbad::F< double > > resultAD
 
std::vector< fadbad::F< double > > resultADobj
 
std::vector< fadbad::F< double > > resultADineq
 
std::vector< fadbad::F< double > > resultADeq
 
std::vector< fadbad::F< double > > resultADineqSquash
 
std::vector< fadbad::F< double > > resultADineqSquashIneq
 
std::vector< fadbad::F< double > > resultADineqEq
 
std::vector< fadbad::F< fadbad::F< double > > > resultAD2ndOrder
 
std::vector< fadbad::F< fadbad::F< double > > > fadbadArray2ndOrder
 
std::vector< fadbad::F< fadbad::F< double > > > adPoint2ndOrder
 
std::vector< double > doublePoint
 
std::vector< double > doubleArray
 
std::vector< double > resultDouble
 
std::vector< double > resultDoubleObj
 
std::vector< double > resultDoubleIneq
 
std::vector< double > resultDoubleEq
 
std::vector< double > resultDoubleIneqSquash
 
std::vector< double > resultDoubleIneqSquashIneq
 
std::vector< double > resultDoubleIneqEq
 
std::vector< mc::FFVar > functionsObj
 
std::vector< mc::FFVar > functionsIneq
 
std::vector< mc::FFVar > functionsEq
 
std::vector< mc::FFVar > functionsIneqSquash
 
std::vector< mc::FFVar > functionsIneqSquashIneq
 
std::vector< mc::FFVar > functionsIneqEq
 
mc::FFSubgraph subgraphObj
 
mc::FFSubgraph subgraphIneq
 
mc::FFSubgraph subgraphEq
 
mc::FFSubgraph subgraphIneqSquash
 
mc::FFSubgraph subgraphIneqSquashIneq
 
mc::FFSubgraph subgraphIneqEq
 
SettingsmaingoSettings
 
Loggerlogger
 
bool warningFlag
 

Detailed Description

Struct for storing all needed Directed acyclic Graph objects for the upper bounding solver.

Contains all objects, copies and variables for the usage of the DAG. Further information on DAG can be found in ffunc.hpp of MC++.

Constructor & Destructor Documentation

◆ DagObj()

maingo::ubp::DagObj::DagObj ( mc::FFGraph &  DAG,
const std::vector< mc::FFVar > &  DAGvars,
const std::vector< mc::FFVar > &  DAGfunctions,
const std::vector< babBase::OptimizationVariable > &  variables,
const unsigned  nineq,
const unsigned  neq,
const unsigned  nineqSquash,
std::vector< Constraint > *  constraintProperties,
Settings settingsIn,
Logger loggerIn 
)
inline

Constructor.

Parameters
[in]DAGis the directed acyclic graph constructed in MAiNGO.cpp needed to construct an own DAG for the lower bounding solver
[in]DAGvarsare the variables corresponding to the DAG
[in]DAGfunctionsare the functions corresponding to the DAG
[in]variablesis a vector containing the initial optimization variables defined in problem.h
[in]nineqis the number of inequality constraints
[in]neqis the number of equality constraints
[in]nineqSquashis the number of squash inequality constraints which are to be used only if the squash node has been used
[in]constraintPropertiesis a pointer to the constraint properties determined by MAiNGO
[in]settingsInis a pointer to MAiNGO settings used
[in]loggerInis a pointer to the MAiNGO logger

Member Data Documentation

◆ adPoint

std::vector<fadbad::F<double> > maingo::ubp::DagObj::adPoint

vector holding FADBAD values for original variables at reference point

◆ adPoint2ndOrder

std::vector<fadbad::F<fadbad::F<double> > > maingo::ubp::DagObj::adPoint2ndOrder

vector holding second order FADBAD values for original variables at reference point

◆ DAG

mc::FFGraph maingo::ubp::DagObj::DAG

the actual DAG

◆ doubleArray

std::vector<double> maingo::ubp::DagObj::doubleArray

dummy vector of double objects for faster evaluation

◆ doublePoint

std::vector<double> maingo::ubp::DagObj::doublePoint

vector holding double values for original variables at reference point

◆ fadbadArray

std::vector<fadbad::F<double> > maingo::ubp::DagObj::fadbadArray

dummy vector of FADBAD objects for faster evaluation

◆ fadbadArray2ndOrder

std::vector<fadbad::F<fadbad::F<double> > > maingo::ubp::DagObj::fadbadArray2ndOrder

dummy vector of second order FADBAD objects for faster evaluation

◆ functions

std::vector<mc::FFVar> maingo::ubp::DagObj::functions

list of all functions in the DAG

◆ functionsEq

std::vector<mc::FFVar> maingo::ubp::DagObj::functionsEq

vector holding functions for the equalities

◆ functionsIneq

std::vector<mc::FFVar> maingo::ubp::DagObj::functionsIneq

vector holding functions for the inequalities

◆ functionsIneqEq

std::vector<mc::FFVar> maingo::ubp::DagObj::functionsIneqEq

vector holding functions for the (squash) inequalities and equalities

◆ functionsIneqSquash

std::vector<mc::FFVar> maingo::ubp::DagObj::functionsIneqSquash

vector holding functions for the squash inequalities

◆ functionsIneqSquashIneq

std::vector<mc::FFVar> maingo::ubp::DagObj::functionsIneqSquashIneq

vector holding functions for the normal and squash inequalities

◆ functionsObj

std::vector<mc::FFVar> maingo::ubp::DagObj::functionsObj

vector holding function(s) for the objective

◆ logger

Logger* maingo::ubp::DagObj::logger

pointer to logger, used for exception handling

◆ maingoSettings

Settings* maingo::ubp::DagObj::maingoSettings

pointer to settings file, used for exception handling

◆ resultAD

std::vector<fadbad::F<double> > maingo::ubp::DagObj::resultAD

vector holding FADBAD values of all functions at reference point

◆ resultAD2ndOrder

std::vector<fadbad::F<fadbad::F<double> > > maingo::ubp::DagObj::resultAD2ndOrder

vector holding second order FADBAD values of all functions at reference point

◆ resultADeq

std::vector<fadbad::F<double> > maingo::ubp::DagObj::resultADeq

vector holding FADBAD values of equalities at reference point

◆ resultADineq

std::vector<fadbad::F<double> > maingo::ubp::DagObj::resultADineq

vector holding FADBAD values of inequalities at reference point

◆ resultADineqEq

std::vector<fadbad::F<double> > maingo::ubp::DagObj::resultADineqEq

vector holding FADBAD values of inequalities and equalities at reference point

◆ resultADineqSquash

std::vector<fadbad::F<double> > maingo::ubp::DagObj::resultADineqSquash

vector holding FADBAD values of squash inequalities at reference point

◆ resultADineqSquashIneq

std::vector<fadbad::F<double> > maingo::ubp::DagObj::resultADineqSquashIneq

vector holding FADBAD values of normal and squash inequalities at reference point

◆ resultADobj

std::vector<fadbad::F<double> > maingo::ubp::DagObj::resultADobj

vector holding FADBAD values of objective function at reference point

◆ resultDouble

std::vector<double> maingo::ubp::DagObj::resultDouble

vector holding double values of all functions at point

◆ resultDoubleEq

std::vector<double> maingo::ubp::DagObj::resultDoubleEq

vector holding double values of equalities at reference point

◆ resultDoubleIneq

std::vector<double> maingo::ubp::DagObj::resultDoubleIneq

vector holding double values of inequalities at reference point

◆ resultDoubleIneqEq

std::vector<double> maingo::ubp::DagObj::resultDoubleIneqEq

vector holding double values of (squash) inequalities and equalities at reference point

◆ resultDoubleIneqSquash

std::vector<double> maingo::ubp::DagObj::resultDoubleIneqSquash

vector holding double values of squash inequalities at reference point

◆ resultDoubleIneqSquashIneq

std::vector<double> maingo::ubp::DagObj::resultDoubleIneqSquashIneq

vector holding double values of normal and squash inequalities at reference point

◆ resultDoubleObj

std::vector<double> maingo::ubp::DagObj::resultDoubleObj

vector holding double values of objective function at reference point

◆ resultVars

std::vector<mc::FFVar> maingo::ubp::DagObj::resultVars

vector holding evaluated FFVar Objects to not lose pointers

◆ subgraph

mc::FFSubgraph maingo::ubp::DagObj::subgraph

subgraph holding list of operations in the DAG

◆ subgraphEq

mc::FFSubgraph maingo::ubp::DagObj::subgraphEq

subgraph holding the list of operations of the equalities

◆ subgraphIneq

mc::FFSubgraph maingo::ubp::DagObj::subgraphIneq

subgraph holding the list of operations of the inequalities

◆ subgraphIneqEq

mc::FFSubgraph maingo::ubp::DagObj::subgraphIneqEq

subgraph holding the list of operations of the (squash) inequalities & equalities

◆ subgraphIneqSquash

mc::FFSubgraph maingo::ubp::DagObj::subgraphIneqSquash

subgraph holding the list of operations of the squash inequalities

◆ subgraphIneqSquashIneq

mc::FFSubgraph maingo::ubp::DagObj::subgraphIneqSquashIneq

subgraph holding the list of operations of the normal and squash inequalities

◆ subgraphObj

mc::FFSubgraph maingo::ubp::DagObj::subgraphObj

subgraph holding the list of operations of the objective function(s)

◆ vars

std::vector<mc::FFVar> maingo::ubp::DagObj::vars

DAG variables

◆ warningFlag

bool maingo::ubp::DagObj::warningFlag

flag indicating whether the user already got a warning triggered by an exception in mc::fadbad, used to avoid excessive output


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