Bonmin 1.8.9
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
Bonmin::OaFeasibilityChecker Class Reference

Class to perform OA in its classical form. More...

#include <BonOaFeasChecker.hpp>

+ Inheritance diagram for Bonmin::OaFeasibilityChecker:
+ Collaboration diagram for Bonmin::OaFeasibilityChecker:

Public Member Functions

 OaFeasibilityChecker (BabSetupBase &b)
 New usefull constructor.
 
 OaFeasibilityChecker (const OaFeasibilityChecker &copy)
 Copy constructor.
 
 ~OaFeasibilityChecker ()
 Destructor.
 
virtual CglCutGeneratorclone () const
 
- Public Member Functions inherited from Bonmin::OaDecompositionBase
 OaDecompositionBase (BabSetupBase &b, bool leaveSiUnchanged, bool reassignLpsolver)
 New usefull constructor.
 
 OaDecompositionBase (const OaDecompositionBase &copy)
 Copy constructor.
 
virtual ~OaDecompositionBase ()
 Destructor.
 
virtual void generateCuts (const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo())
 Standard cut generation methods.
 
void assignNlpInterface (OsiTMINLPInterface *nlp)
 Assign an OsiTMINLPInterface.
 
void assignLpInterface (OsiSolverInterface *si)
 Assign an OsiTMINLPInterface.
 
bool reassignLpsolver ()
 
void setObjects (OsiObject **objects, int nObjects)
 Set objects.
 
void setLeaveSiUnchanged (bool yesno)
 Set whether to leave the solverinterface unchanged.
 
Parametersparameter ()
 
const Parametersparameter () const
 
void setLogLevel (int level)
 
void setReassignLpSolver (bool v)
 
void passInMessageHandler (CoinMessageHandler *handler)
 
- Public Member Functions inherited from CglCutGenerator
 CglCutGenerator ()
 
 CglCutGenerator (const CglCutGenerator &)
 
CglCutGeneratoroperator= (const CglCutGenerator &rhs)
 
virtual ~CglCutGenerator ()
 
virtual std::string generateCpp (FILE *)
 
virtual void refreshSolver (OsiSolverInterface *)
 
int getAggressiveness () const
 
void setAggressiveness (int value)
 
void setGlobalCuts (bool trueOrFalse)
 
bool canDoGlobalCuts () const
 
virtual bool mayGenerateRowCutsInTree () const
 
virtual bool needsOptimalBasis () const
 
virtual int maximumLengthOfCutInTree () const
 
 CglCutGenerator ()
 
 CglCutGenerator (const CglCutGenerator &)
 
CglCutGeneratoroperator= (const CglCutGenerator &rhs)
 
virtual ~CglCutGenerator ()
 
virtual std::string generateCpp (FILE *)
 
virtual void refreshSolver (OsiSolverInterface *)
 

Static Public Member Functions

static void registerOptions (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
 Register OA options.
 

Protected Types

enum  CutsPolicies { DetectCycles = 0 , KeepAll , TreatAsNormal }
 See documentation for feas_check_discard_policy option. More...
 
enum  CutsTypes { OA = 0 , Benders }
 See documentation for feas_check_cut_types option. More...
 

Protected Member Functions

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.
 
virtual bool doLocalSearch (BabInfo *babInfo) const
 virutal method to decide if local search is performed
 
- Protected Member Functions inherited from Bonmin::OaDecompositionBase
void setupMipSolver (BabSetupBase &b, const std::string &prefix)
 
bool post_nlp_solve (BabInfo *babInfo, double cutoff) const
 Solve the nlp and do output.
 

Protected Attributes

CutsPolicies pol_
 Policy for keeping cuts.
 
CutsTypes type_
 Type of cuts.
 
unsigned int cut_count_
 Count the total number of cuts generated.
 
unsigned int maximum_oa_cuts_
 maximum number of OA cuts.
 
- Protected Attributes inherited from Bonmin::OaDecompositionBase
OsiTMINLPInterfacenlp_
 Pointer to nlp interface.
 
BabSetupBases_
 Pointer to setup.
 
int nSolve_
 Number of nlp solved done.
 
OsiSolverInterfacelp_
 A linear solver.
 
OsiObject ** objects_
 Some objects the feasiblitiy of which to verify.
 
int nObjects_
 Number of objects.*‍/.
 
int nLocalSearch_
 number of local searches performed
 
CoinMessageHandlerhandler_
 messages handler.
 
CoinMessages messages_
 Messages for OA.
 
bool leaveSiUnchanged_
 Wether or not we should remove cuts at the end of the procedure.
 
bool reassignLpsolver_
 Do we need to reassign the lp solver with Cbc.
 
double timeBegin_
 time of construction
 
int numSols_
 number of solutions found by OA_decomposition.
 
Parameters parameters_
 Parameters.
 
OsiCuts savedCuts_
 Saved cuts: in some cases when using OA to check feasible solution algorithm may loop because Cbc removes inactive cuts.
 
int currentNodeNumber_
 Store the current node number.
 

Additional Inherited Members

- Public Attributes inherited from CglCutGenerator
int aggressive_
 
bool canDoGlobalCuts_
 

Detailed Description

Class to perform OA in its classical form.

Definition at line 18 of file BonOaFeasChecker.hpp.

Member Enumeration Documentation

◆ CutsPolicies

See documentation for feas_check_discard_policy option.

Enumerator
DetectCycles 
KeepAll 
TreatAsNormal 

Definition at line 53 of file BonOaFeasChecker.hpp.

◆ CutsTypes

See documentation for feas_check_cut_types option.

Enumerator
OA 
Benders 

Definition at line 61 of file BonOaFeasChecker.hpp.

Constructor & Destructor Documentation

◆ OaFeasibilityChecker() [1/2]

Bonmin::OaFeasibilityChecker::OaFeasibilityChecker ( BabSetupBase & b)

New usefull constructor.

◆ OaFeasibilityChecker() [2/2]

Bonmin::OaFeasibilityChecker::OaFeasibilityChecker ( const OaFeasibilityChecker & copy)
inline

Copy constructor.

Definition at line 24 of file BonOaFeasChecker.hpp.

◆ ~OaFeasibilityChecker()

Bonmin::OaFeasibilityChecker::~OaFeasibilityChecker ( )

Destructor.

Member Function Documentation

◆ registerOptions()

static void Bonmin::OaFeasibilityChecker::registerOptions ( Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
static

Register OA options.

◆ clone()

virtual CglCutGenerator * Bonmin::OaFeasibilityChecker::clone ( ) const
inlinevirtual

Implements CglCutGenerator.

Definition at line 38 of file BonOaFeasChecker.hpp.

◆ performOa()

virtual double Bonmin::OaFeasibilityChecker::performOa ( OsiCuts & cs,
solverManip & lpManip,
BabInfo * babInfo,
double & cutoff,
const CglTreeInfo & info ) const
protectedvirtual

virtual method which performs the OA algorithm by modifying lp and nlp.

Implements Bonmin::OaDecompositionBase.

◆ doLocalSearch()

virtual bool Bonmin::OaFeasibilityChecker::doLocalSearch ( BabInfo * babInfo) const
inlineprotectedvirtual

virutal method to decide if local search is performed

Implements Bonmin::OaDecompositionBase.

Definition at line 47 of file BonOaFeasChecker.hpp.

Member Data Documentation

◆ pol_

CutsPolicies Bonmin::OaFeasibilityChecker::pol_
protected

Policy for keeping cuts.

Definition at line 58 of file BonOaFeasChecker.hpp.

◆ type_

CutsTypes Bonmin::OaFeasibilityChecker::type_
protected

Type of cuts.

Definition at line 65 of file BonOaFeasChecker.hpp.

◆ cut_count_

unsigned int Bonmin::OaFeasibilityChecker::cut_count_
mutableprotected

Count the total number of cuts generated.

Definition at line 68 of file BonOaFeasChecker.hpp.

◆ maximum_oa_cuts_

unsigned int Bonmin::OaFeasibilityChecker::maximum_oa_cuts_
protected

maximum number of OA cuts.

Definition at line 70 of file BonOaFeasChecker.hpp.


The documentation for this class was generated from the following file: