Bonmin  1.8.8
BonOaFeasChecker.hpp
Go to the documentation of this file.
1 // (C) Copyright International Business Machines 2006
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // Authors :
6 // P. Bonami, Carnegie Mellon University
7 //
8 // Date : 12/26/2006
9 
10 
11 #ifndef BonOaFeasibilityChecker_HPP
12 #define BonOaFeasibilityChecker_HPP
13 #include "BonOaDecBase.hpp"
14 
15 namespace Bonmin
16 {
19  {
20  public:
25  :
26  OaDecompositionBase(copy),
27  pol_(copy.pol_),
28  type_(copy.type_),
29  cut_count_(copy.cut_count_),
31  {}
34 
36  static void registerOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions);
37 
38  virtual CglCutGenerator * clone() const
39  {
40  return new OaFeasibilityChecker(*this);
41  }
42  protected:
44  virtual double performOa(OsiCuts & cs, solverManip &lpManip,
45  BabInfo * babInfo, double &cutoff, const CglTreeInfo & info) const;
47  virtual bool doLocalSearch(BabInfo * babInfo) const
48  {
49  return 0;
50  }
51 
53  enum CutsPolicies {
59 
61  enum CutsTypes {
62  OA = 0,
66 
68  mutable unsigned int cut_count_;
70  unsigned int maximum_oa_cuts_;
71  };
72 }
73 #endif
OaFeasibilityChecker(const OaFeasibilityChecker &copy)
Copy constructor.
virtual double performOa(OsiCuts &cs, solverManip &lpManip, BabInfo *babInfo, double &cutoff, const CglTreeInfo &info) const
virtual method which performs the OA algorithm by modifying lp and nlp.
CutsTypes
See documentation for feas_check_cut_types option.
CutsPolicies pol_
Policy for keeping cuts.
OaFeasibilityChecker(BabSetupBase &b)
New usefull constructor.
Class to perform OA in its classical form.
A class to have all elements necessary to setup a branch-and-bound.
unsigned int maximum_oa_cuts_
maximum number of OA cuts.
~OaFeasibilityChecker()
Destructor.
virtual bool doLocalSearch(BabInfo *babInfo) const
virutal method to decide if local search is performed
CutsTypes type_
Type of cuts.
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Register OA options.
Base class for OA algorithms.
unsigned int cut_count_
Count the total number of cuts generated.
CutsPolicies
See documentation for feas_check_discard_policy option.
Bonmin class for passing info between components of branch-and-cuts.
Definition: BonBabInfos.hpp:19
virtual CglCutGenerator * clone() const