13 #include "CoinHelperFunctions.hpp"
16 using namespace Couenne;
18 #define ALMOST_INF (1e-5 * COUENNE_INFINITY)
22 std::vector <CouNumber> &xl,
23 std::vector <CouNumber> &xu,
24 std::vector <std::pair <int, CouNumber> > &nl,
25 std::vector <std::pair <int, CouNumber> > &
nu) {
37 for (
int i=0; i<
n; i++) {
40 if (infLo >= 0) {infLo = -2;
break;}
46 for (
int i=0; i<
n; i++) {
49 if (infUp >= 0) {infUp = -2;
break;}
63 for (
int i=0; i<
n; i++) {
67 nu.push_back (std::pair <int, CouNumber> (i, nb));
72 }
else if (infLo >= 0) {
75 if (nb < xu [infLo]) {
76 nu.push_back (std::pair <int, CouNumber> (infLo, nb));
85 for (
int i=0; i<
n; i++) {
89 nl.push_back (std::pair <int, CouNumber> (i, nb));
94 }
else if (infUp >= 0) {
97 if (nb < xl [infLo]) {
98 nl.push_back (std::pair <int, CouNumber> (infUp, nb));
double CouNumber
main number type in Couenne
int impliedBoundSum(CouNumber wl, CouNumber wu, std::vector< CouNumber > &xl, std::vector< CouNumber > &xu, std::vector< std::pair< int, CouNumber > > &nl, std::vector< std::pair< int, CouNumber > > &nu)
inferring bounds on factors of a product