/home/coin/SVN-release/OS-2.4.0/Couenne/src/convex/operators/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.

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 Documentation

#define EPSILONT   1.e-6

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

Referenced by TriLinCuts().

#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.);             \
      }                                                 \
    }                                                   \
}

Referenced by TriLinCuts().


Function Documentation

void permutation3 ( int **  ind,
int *  ibnd 
)

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

Referenced by TriLinCuts().

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.

References COUENNE_INFINITY, DEBUG, EPSILONT, permutation3(), and prepareVectors.

Referenced by Couenne::exprTrilinear::generateCuts().


Generated on Thu Sep 22 03:09:29 2011 by  doxygen 1.4.7