exprMinMax.cpp
Go to the documentation of this file.
1 /* $Id: exprMinMax.cpp 490 2011-01-14 16:07:12Z pbelotti $ */
2 /*
3  * Name: exprMinMax.cpp
4  * Author: Pietro Belotti
5  * Purpose: definition of min and max operators
6  *
7  * (C) Carnegie-Mellon University, 2006.
8  * This file is licensed under the Eclipse Public License (EPL)
9  */
10 
11 #include "OsiSolverInterface.hpp"
12 
13 #include "CouenneCutGenerator.hpp"
14 #include "CouenneTypes.hpp"
15 #include "CouenneExprMax.hpp"
16 #include "CouenneExprMin.hpp"
17 #include "CouenneExprConst.hpp"
18 
19 using namespace Couenne;
20 
21 // Get lower and upper bound of an expression (if any)
22 void exprMin::getBounds (expression *&lower, expression *&upper) {
23  lower = new exprConst (-COIN_DBL_MAX);
24  upper = new exprConst ( COIN_DBL_MAX);
25 }
26 
27 
28 // Get lower and upper bound of an expression (if any)
29 void exprMax::getBounds (expression *&lower, expression *&upper) {
30  lower = new exprConst (-COIN_DBL_MAX);
31  upper = new exprConst ( COIN_DBL_MAX);
32 }
33 
34 
35 void exprMin::generateCuts (expression *w, //const OsiSolverInterface &si,
36  OsiCuts &cs, const CouenneCutGenerator *cg,
37  t_chg_bounds *chg, int,
39 {}
40 
41 
42 void exprMax::generateCuts (expression *w, //const OsiSolverInterface &si,
43  OsiCuts &cs, const CouenneCutGenerator *cg,
44  t_chg_bounds *chg, int,
46 {}
Cut Generator for linear convexifications.
status of lower/upper bound of a variable, to be checked/modified in bound tightening ...
void getBounds(expression *&, expression *&)
Get lower and upper bound of an expression (if any)
Definition: exprMinMax.cpp:29
constant-type operator
double CouNumber
main number type in Couenne
void getBounds(expression *&, expression *&)
Get lower and upper bound of an expression (if any)
Definition: exprMinMax.cpp:22
Expression base class.
virtual void generateCuts(expression *w, OsiCuts &cs, const CouenneCutGenerator *cg, t_chg_bounds *chg=NULL, int wind=-1, CouNumber lb=-COUENNE_INFINITY, CouNumber ub=COUENNE_INFINITY)
generate convexification cut for constraint w = this
void fint fint fint real fint real real real real real real real real * w