impliedBounds-exprTrilinear.cpp
Go to the documentation of this file.
1 /* $Id: impliedBounds-exprTrilinear.cpp 1047 2014-01-20 00:22:31Z pbelotti $
2  *
3  * Name: impliedBounds-exprTrilinear.cpp
4  * Author: Pietro Belotti
5  * Purpose: implied bounds for trilinear terms
6  *
7  * This file is licensed under the Eclipse Public License (EPL)
8  */
9 
10 #include "CouenneExprMul.hpp"
11 #include "CouenneExprTrilinear.hpp"
12 #include "CouennePrecisions.hpp"
13 
14 using namespace Couenne;
15 
16 
19 
20 bool exprTrilinear::impliedBound (int wind, CouNumber *l, CouNumber *u, t_chg_bounds *chg, enum auxSign sign) {
21 
22  // in general, for i in {1,2,3},
23  //
24  // x [i] >= min {w / (x[(i+1) % 3] x[(i+2) % 3]): all variables in bounds}
25  // x [i] <= max {w / (x[(i+1) % 3] x[(i+2) % 3]): all variables in bounds}
26  //
27  // There are cases:
28  //
29  //
30 
31  return false;
32 }
status of lower/upper bound of a variable, to be checked/modified in bound tightening ...
auxSign
&quot;sign&quot; of the constraint defining an auxiliary.
double CouNumber
main number type in Couenne
bool impliedBound(int, CouNumber *, CouNumber *, t_chg_bounds *, enum Couenne::expression::auxSign=Couenne::expression::AUX_EQ)
implied bound processing