Bonmin
1.7
|
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