#include "CouenneTypes.hpp"
#include "CouennePrecisions.hpp"
#include "CouenneCutGenerator.hpp"
#include "exprDiv.hpp"
#include "exprMul.hpp"
#include "exprPow.hpp"
#include "funtriplets.hpp"
Include dependency graph for unifiedProdCuts.cpp:
Go to the source code of this file.
Functions | |
void | contourCut (const CouenneCutGenerator *cg, OsiCuts &cs, CouNumber xp, CouNumber yp, CouNumber wb, int sign, CouNumber x0, CouNumber y0, CouNumber x1, CouNumber y1, int xi, int yi, int wi) |
Add cut around curve x*y=k. | |
void | unifiedProdCuts (const CouenneCutGenerator *cg, OsiCuts &cs, int xi, CouNumber x0, CouNumber xl, CouNumber xu, int yi, CouNumber y0, CouNumber yl, CouNumber yu, int wi, CouNumber w0, CouNumber wl, CouNumber wu, t_chg_bounds *chg) |
unified convexification of products and divisions |
void contourCut | ( | const CouenneCutGenerator * | cg, | |
OsiCuts & | cs, | |||
CouNumber | xp, | |||
CouNumber | yp, | |||
CouNumber | wb, | |||
int | sign, | |||
CouNumber | x0, | |||
CouNumber | y0, | |||
CouNumber | x1, | |||
CouNumber | y1, | |||
int | xi, | |||
int | yi, | |||
int | wi | |||
) |
Add cut around curve x*y=k.
Definition at line 22 of file unifiedProdCuts.cpp.
References alpha, COUENNE_EPS, COUENNE_INFINITY, and powNewton().
Referenced by unifiedProdCuts().
void unifiedProdCuts | ( | const CouenneCutGenerator * | cg, | |
OsiCuts & | cs, | |||
int | xi, | |||
CouNumber | x0, | |||
CouNumber | xl, | |||
CouNumber | xu, | |||
int | yi, | |||
CouNumber | y0, | |||
CouNumber | yl, | |||
CouNumber | yu, | |||
int | wi, | |||
CouNumber | w0, | |||
CouNumber | wl, | |||
CouNumber | wu, | |||
t_chg_bounds * | chg | |||
) |
unified convexification of products and divisions
Definition at line 76 of file unifiedProdCuts.cpp.
References contourCut(), COUENNE_EPS, is_boundbox_regular(), t_chg_bounds::lower(), t_chg_bounds::UNCHANGED, and t_chg_bounds::upper().
Referenced by exprMul::generateCuts(), and exprDiv::generateCuts().