Macros | Functions
conv-exprTrilinear-gencuts.cpp File Reference
#include "CouenneCutGenerator.hpp"
#include "CouenneTypes.hpp"
#include "CouenneExprMul.hpp"
#include "CouenneExprTrilinear.hpp"
#include "CouenneProblem.hpp"
#include "CouenneExprAux.hpp"
#include <vector>
Include dependency graph for conv-exprTrilinear-gencuts.cpp:

Go to the source code of this file.

Macros

#define EPSILONT   1.e-6
 
#define prepareVectors(a)
 

Functions

void permutation3 (int **ind, int *ibnd)
 
void TriLinCuts (double *vlb, double *vub, int *varIndices, std::vector< std::vector< int > > &cutIndices, std::vector< std::vector< double > > &cutCoeff, std::vector< double > &cutLb, std::vector< double > &cutUb)
 generate convexification cuts for constraint w = x*y*z More...
 

Macro Definition Documentation

#define EPSILONT   1.e-6

Definition at line 24 of file conv-exprTrilinear-gencuts.cpp.

#define prepareVectors (   a)
Value:
{ \
\
int size = (int) (cutIndices.size ()); \
for (int i=0; i<a; i++) { \
\
cutIndices. push_back (std::vector <int> ()); \
cutCoeff. push_back (std::vector <double> ()); \
\
cutLb. push_back (-COUENNE_INFINITY); \
cutUb. push_back ( COUENNE_INFINITY); \
for (int j=0; j<4; j++) { \
\
cutIndices [size+i].push_back (-1); \
cutCoeff [size+i].push_back (0.); \
} \
} \
}
void fint fint fint real * a
static char * j
Definition: OSdtoa.cpp:3622
static int
Definition: OSdtoa.cpp:2173
#define COUENNE_INFINITY
for(int i=0;i< nnz;i++)

Function Documentation

void permutation3 ( int **  ind,
int ibnd 
)

Definition at line 29 of file conv-exprTrilinear-gencuts.cpp.

void TriLinCuts ( double *  vlb,
double *  vub,
int varIndices,
std::vector< std::vector< int > > &  cutIndices,
std::vector< std::vector< double > > &  cutCoeff,
std::vector< double > &  cutLb,
std::vector< double > &  cutUb 
)

generate convexification cuts for constraint w = x*y*z

Definition at line 41 of file conv-exprTrilinear-gencuts.cpp.