SepaTMINLP2OsiLP.hpp
Go to the documentation of this file.
1 // (C) Copyright International Business Machines Corporation 2007
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // Authors :
6 // Pierre Bonami, International Business Machines Corporation
7 //
8 // Date : 10/16/2007
9 #ifndef SepaSepaTMINLP2OsiLP_H
10 #define SepaSepaTMINLP2OsiLP_H
11 
12 #include <cmath>
13 #include <cstdio>
14 #include "IpSmartPtr.hpp"
15 #include "IpTNLP.hpp"
16 #include "BonTypes.hpp"
17 #include "BonTMINLP2OsiLP.hpp"
18 
19 
20 namespace Sepa {
21 
24 
25  public:
26 
29  TMINLP2OsiLP(),
30  num_approx_(0)
31  {}
32 
35  TMINLP2OsiLP(other),
36  num_approx_(other.num_approx_){
37  }
38 
39  TMINLP2OsiLP * clone() const{
40  return new SepaTMINLP2OsiLP(*this);
41  }
42 
45  if(this != & rhs){
46  TMINLP2OsiLP::operator=(rhs);
48  }
49  return (*this);
50  }
51 
52  void set_num_approx(int v){
53  num_approx_ = v;
54  }
55 
58 
60  virtual void extract(OsiSolverInterface *si,
61  const double * x, bool getObj) ;
62 
64  virtual void get_oas(OsiCuts & cs,
65  const double * x, bool getObj, bool global) const;
66 
67  virtual void get_refined_oa(OsiCuts & cs) const;
69  virtual void get_oa(int iRow, OsiCuts & cs,
70  const double * x, bool getObj, bool global) const;
71 
72  void add_outer_description(OsiSolverInterface &si) ;
73  void add_outer_description_function_values(OsiSolverInterface &si) ;
74  private:
76  };
77 
78 
79 }
80 
81 #endif
82 
SepaTMINLP2OsiLP & operator=(const SepaTMINLP2OsiLP &rhs)
Assignment operator.
TMINLP2OsiLP * clone() const
virtual copy constructor
SepaTMINLP2OsiLP(const SepaTMINLP2OsiLP &other)
Copy constructor.
void add_outer_description(OsiSolverInterface &si)
virtual void extract(OsiSolverInterface *si, const double *x, bool getObj)
Build the Outer approximation of model_ in x and put it in si.
virtual void get_oa(int iRow, OsiCuts &cs, const double *x, bool getObj, bool global) const
Get OA of one constraints in x.
A transformer class to build outer approximations i.e.
~SepaTMINLP2OsiLP()
Destructor.
SepaTMINLP2OsiLP()
Default constructor.
virtual void get_oas(OsiCuts &cs, const double *x, bool getObj, bool global) const
Get OAs of nonlinear constraints in x.
A transformer class to build outer approximations i.e.
TMINLP2OsiLP()
Default constructor.
virtual void get_refined_oa(OsiCuts &cs) const
Get OAs of nonlinear constraints in x.
void add_outer_description_function_values(OsiSolverInterface &si)
void fint fint fint real fint real * x