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

A transformer class to build outer approximations i.e. More...

#include <BonTMINLP2OsiLP.hpp>

+ Inheritance diagram for Bonmin::TMINLP2OsiLP:
+ Collaboration diagram for Bonmin::TMINLP2OsiLP:

Public Member Functions

 TMINLP2OsiLP ()
 Default constructor.
 
 TMINLP2OsiLP (const TMINLP2OsiLP &other)
 Copy constructor.
 
virtual TMINLP2OsiLPclone () const =0
 virtual copy constructor
 
void set_tols (double tiny, double very_tiny, double rhs_relax, double infty)
 
void set_model (Bonmin::TMINLP2TNLP *model)
 
TMINLP2OsiLPoperator= (const TMINLP2OsiLP &rhs)
 Assignment operator.
 
 ~TMINLP2OsiLP ()
 Destructor.
 
virtual void extract (OsiSolverInterface *si, const double *x, bool getObj)=0
 Build the Outer approximation of model_ in x and put it in si.
 
virtual void get_refined_oa (OsiCuts &cs) const =0
 Get OAs of nonlinear constraints in x.
 
virtual void get_oas (OsiCuts &cs, const double *x, bool getObj, bool global) const =0
 Get OAs of nonlinear constraints in x.
 
- Public Member Functions inherited from Ipopt::ReferencedObject
 ReferencedObject ()
 
virtual ~ReferencedObject ()
 
Index ReferenceCount () const
 
void AddRef (const Referencer *referencer) const
 
void ReleaseRef (const Referencer *referencer) const
 

Protected Member Functions

bool cleanNnz (double &value, double colLower, double colUpper, double rowLower, double rowUpper, double colsol, double &lb, double &ub, double tiny, double veryTiny) const
 Facilitator to clean up coefficient.
 
void initialize_jac_storage ()
 

Protected Attributes

double tiny_
 If constraint coefficient is below this, we try to remove it.
 
double very_tiny_
 If constraint coefficient is below this, we neglect it.
 
double rhs_relax_
 Amount by which to relax OA constraints RHSes.
 
double infty_
 infinity.
 
vector< int > jCol_
 Cache Jacobian matrix.
 
vector< int > iRow_
 Rows of jacobian.
 
vector< double > value_
 Values of jacobian.
 
vector< Ipopt::TNLP::LinearityTypeconst_types_
 
Ipopt::SmartPtr< Bonmin::TMINLP2TNLPmodel_
 

Static Protected Attributes

static int nTimesCalled
 Count the number of linear outer approximations taken.
 

Detailed Description

A transformer class to build outer approximations i.e.

transfomrs nonlinear programs into linear programs.

Definition at line 26 of file BonTMINLP2OsiLP.hpp.

Constructor & Destructor Documentation

◆ TMINLP2OsiLP() [1/2]

Bonmin::TMINLP2OsiLP::TMINLP2OsiLP ( )
inline

Default constructor.

Definition at line 31 of file BonTMINLP2OsiLP.hpp.

◆ TMINLP2OsiLP() [2/2]

Bonmin::TMINLP2OsiLP::TMINLP2OsiLP ( const TMINLP2OsiLP & other)
inline

Copy constructor.

Definition at line 37 of file BonTMINLP2OsiLP.hpp.

◆ ~TMINLP2OsiLP()

Bonmin::TMINLP2OsiLP::~TMINLP2OsiLP ( )
inline

Destructor.

Definition at line 69 of file BonTMINLP2OsiLP.hpp.

Member Function Documentation

◆ clone()

virtual TMINLP2OsiLP * Bonmin::TMINLP2OsiLP::clone ( ) const
pure virtual

virtual copy constructor

◆ set_tols()

void Bonmin::TMINLP2OsiLP::set_tols ( double tiny,
double very_tiny,
double rhs_relax,
double infty )
inline

Definition at line 46 of file BonTMINLP2OsiLP.hpp.

◆ set_model()

void Bonmin::TMINLP2OsiLP::set_model ( Bonmin::TMINLP2TNLP * model)
inline

Definition at line 53 of file BonTMINLP2OsiLP.hpp.

◆ operator=()

TMINLP2OsiLP & Bonmin::TMINLP2OsiLP::operator= ( const TMINLP2OsiLP & rhs)
inline

Assignment operator.

Definition at line 59 of file BonTMINLP2OsiLP.hpp.

◆ extract()

virtual void Bonmin::TMINLP2OsiLP::extract ( OsiSolverInterface * si,
const double * x,
bool getObj )
pure virtual

Build the Outer approximation of model_ in x and put it in si.

◆ get_refined_oa()

virtual void Bonmin::TMINLP2OsiLP::get_refined_oa ( OsiCuts & cs) const
pure virtual

Get OAs of nonlinear constraints in x.

◆ get_oas()

virtual void Bonmin::TMINLP2OsiLP::get_oas ( OsiCuts & cs,
const double * x,
bool getObj,
bool global ) const
pure virtual

Get OAs of nonlinear constraints in x.

◆ cleanNnz()

bool Bonmin::TMINLP2OsiLP::cleanNnz ( double & value,
double colLower,
double colUpper,
double rowLower,
double rowUpper,
double colsol,
double & lb,
double & ub,
double tiny,
double veryTiny ) const
inlineprotected

Facilitator to clean up coefficient.

Definition at line 120 of file BonTMINLP2OsiLP.hpp.

◆ initialize_jac_storage()

void Bonmin::TMINLP2OsiLP::initialize_jac_storage ( )
protected

Member Data Documentation

◆ tiny_

double Bonmin::TMINLP2OsiLP::tiny_
protected

If constraint coefficient is below this, we try to remove it.

Definition at line 92 of file BonTMINLP2OsiLP.hpp.

◆ very_tiny_

double Bonmin::TMINLP2OsiLP::very_tiny_
protected

If constraint coefficient is below this, we neglect it.

Definition at line 94 of file BonTMINLP2OsiLP.hpp.

◆ rhs_relax_

double Bonmin::TMINLP2OsiLP::rhs_relax_
protected

Amount by which to relax OA constraints RHSes.

Definition at line 96 of file BonTMINLP2OsiLP.hpp.

◆ infty_

double Bonmin::TMINLP2OsiLP::infty_
protected

infinity.

Definition at line 98 of file BonTMINLP2OsiLP.hpp.

◆ nTimesCalled

int Bonmin::TMINLP2OsiLP::nTimesCalled
staticprotected

Count the number of linear outer approximations taken.

Definition at line 100 of file BonTMINLP2OsiLP.hpp.

◆ jCol_

vector<int> Bonmin::TMINLP2OsiLP::jCol_
mutableprotected

Cache Jacobian matrix.

Columns of jacobian.

Definition at line 104 of file BonTMINLP2OsiLP.hpp.

◆ iRow_

vector<int> Bonmin::TMINLP2OsiLP::iRow_
mutableprotected

Rows of jacobian.

Definition at line 106 of file BonTMINLP2OsiLP.hpp.

◆ value_

vector<double> Bonmin::TMINLP2OsiLP::value_
mutableprotected

Values of jacobian.

Definition at line 108 of file BonTMINLP2OsiLP.hpp.

◆ const_types_

vector<Ipopt::TNLP::LinearityType> Bonmin::TMINLP2OsiLP::const_types_
protected

Definition at line 110 of file BonTMINLP2OsiLP.hpp.

◆ model_

Ipopt::SmartPtr<Bonmin::TMINLP2TNLP> Bonmin::TMINLP2OsiLP::model_
protected

Definition at line 114 of file BonTMINLP2OsiLP.hpp.


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