#include "CouenneCutGenerator.hpp"#include "CouenneTypes.hpp"#include "CouenneExprMul.hpp"#include "CouenneExprTrilinear.hpp"#include "CouenneProblem.hpp"#include "CouenneExprAux.hpp"#include <vector>
Go to the source code of this file.
Defines | |
| #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 | |
| #define EPSILONT 1.e-6 |
Definition at line 24 of file conv-exprTrilinear-gencuts.cpp.
| #define prepareVectors | ( | a | ) |
{ \
\
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 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.
1.6.1