Bonmin  1.7
BonSolverHelp.hpp
Go to the documentation of this file.
00001 // (C) Copyright International Business Machines (IBM) 2006
00002 // All Rights Reserved.
00003 // This code is published under the Common Public License.
00004 //
00005 // Authors :
00006 // P. Bonami, International Business Machines
00007 //
00008 // Date :  12/07/2006
00009 
00010 
00011 // Code separated from BonOaDecBase to try to clarify OAs
00012 // A number of utility to manipulate models used in OA and FP
00013 #ifndef BonSolverHelp_H
00014 #define BonSolverHelp_H
00015 
00016 class OsiSolverInterface;
00017 class OsiBranchingInformation;
00018 class OsiObject;
00019 class OsiCuts;
00020 
00021 namespace Bonmin {
00023    bool integerFeasible(OsiSolverInterface & si, const OsiBranchingInformation & info,
00024                         double integer_tolerance,
00025                         OsiObject ** objects = 0, int nObjects = -1);
00026 
00030    void fixIntegers(OsiSolverInterface & si, const OsiBranchingInformation & info,
00031                     double integer_tolerance,
00032                     OsiObject ** objects = 0, int nObjects = -1);
00035    void relaxIntegers(OsiSolverInterface & si, const OsiBranchingInformation & info,
00036                     double integer_tolerance,
00037                     OsiObject ** objects = 0, int nObjects = -1);
00039    bool isDifferentOnIntegers(OsiSolverInterface &si,
00040                               OsiObject ** objects, int nObjects,
00041                               double integer_tolerance,
00042                               const double * colsol, const double * other);
00043 
00045    void installCuts(OsiSolverInterface &si,
00046                     const OsiCuts& cs, int numberCuts);
00047 
00048 }
00049 #endif
00050