# CouennePrecisions.hpp

Go to the documentation of this file.

    00001 /* $Id: CouennePrecisions.hpp 947 2013-04-25 13:12:07Z stefan $
    00002  *
    00003  * Name:    CouennePrecisions.hpp
    00004  * Author:  Pietro Belotti
    00005  * Purpose: constants for evaluation procedures
    00006  *
    00007  * (C) Carnegie-Mellon University, 2006-10.
    00008  * This file is licensed under the Eclipse Public License (EPL)
    00009  */
    00010
    00011 #ifndef COUENNE_PRECISIONS_HPP
    00012 #define COUENNE_PRECISIONS_HPP
    00013
    00014 #include <math.h>
    00015
    00016 namespace Couenne {
    00017
    00018 // must be >= 1e-7
    00019 #define COUENNE_EPS           1.e-07
    00020
    00021 // to be used in bounds tightening to avoid node pruning due to strict COUENNE_EPS tolerance
    00022 #define COUENNE_BOUND_PREC    1.e-5
    00023
    00024 // for integrality check
    00025 #define COUENNE_EPS_INT       1.e-9
    00026
    00027 // for simplification
    00028 #define COUENNE_EPS_SIMPL     1.e-20
    00029
    00030 // for bounds
    00031 #ifndef COUENNE_INFINITY
    00032 #define COUENNE_INFINITY      1.e+50
    00033 #endif
    00034
    00035 // for cuts, ensures stability and scaling in Clp
    00036 #define COU_MAX_COEFF     1.e+9
    00037
    00038 // for cuts, ditto
    00039 #define COU_MIN_COEFF     1.e-9
    00040
    00041 // rounds to nearest integer
    00042 #define COUENNE_round(x) ((int) (floor ((x) + 0.5)))
    00043
    00044 // sign of a value
    00045 #define COUENNE_sign(x) ((x) > 0.0 ? 1.0 : -1.0)
    00046
    00047 #define MAX_BOUND 1.e45
    00048
    00050 const double Couenne_large_bound =  9.999e12;
    00051
    00052 }
    00053
    00054 #endif

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines