LinearizedConCutGenerator Class Reference

#include <cuts.h>

Collaboration diagram for LinearizedConCutGenerator:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 LinearizedConCutGenerator (Pointer< MinlpProblem > prob_, Pointer< MINLPData > minlpdata_=NULL, Pointer< Reformulation > reform_=NULL)
LinearizationCut get_cut (const dvector &x, int c, int block_nr, double val=INFINITY)
 Returns a linearization of a constraint, which is defined over one block only.
int get_cuts (list< pair< LinearizationCut, pair< int, bool > > > &cuts, const MINLPData::ObjCon &objcon, int objcon_nr, const dvector &x, const dvector &lower, const dvector &upper, bool violated_polyest_only=false)
int get_cuts (list< pair< LinearizationCut, pair< int, bool > > > &cuts, const MINLPData::Constraint &objcon, int objcon_nr, const dvector &x, const dvector &lower, const dvector &upper, bool violated_polyest_only=false)
int get_cuts (list< pair< LinearizationCut, pair< int, bool > > > &cuts, const dvector &x, const dvector &lower, const dvector &upper, bool violated_polyest_only=false)
 Computes linearization cuts by linearization of the convex relaxation in a given point.
Pointer< LinearizationCut > update_cut (LinearizationCut &cut, unsigned int block_nr, const dvector &lower, const dvector &upper)
 Updates a cut, using a current box.
void set_problem (Pointer< MinlpProblem > prob_)
void set_reform (Pointer< Reformulation > reform_)
void set_MINLPData (Pointer< MINLPData > minlpdata_)

Public Attributes

double max_violation
 The maximum violation of a quadratic underestimator in a reference point.

Private Attributes

Pointer< MinlpProblem > prob
Pointer< MINLPData > minlpdata
Pointer< Reformulation > reform

Static Private Attributes

static const double tol

Detailed Description

Definition at line 389 of file cuts.h.


Constructor & Destructor Documentation

LinearizedConCutGenerator::LinearizedConCutGenerator ( Pointer< MinlpProblem >  prob_,
Pointer< MINLPData >  minlpdata_ = NULL,
Pointer< Reformulation >  reform_ = NULL 
)

Member Function Documentation

LinearizationCut LinearizedConCutGenerator::get_cut ( const dvector &  x,
int  c,
int  block_nr,
double  val = INFINITY 
)

Returns a linearization of a constraint, which is defined over one block only.

Parameters:
x The point, in which we linearize the constraint. block[block_nr].size()
c The constraint number.
block_nr The number of the block, for which the constraint is defined.
val The value of the constraint in x, if available. INFINITY else.
int LinearizedConCutGenerator::get_cuts ( list< pair< LinearizationCut, pair< int, bool > > > &  cuts,
const MINLPData::ObjCon &  objcon,
int  objcon_nr,
const dvector &  x,
const dvector &  lower,
const dvector &  upper,
bool  violated_polyest_only = false 
)
int LinearizedConCutGenerator::get_cuts ( list< pair< LinearizationCut, pair< int, bool > > > &  cuts,
const MINLPData::Constraint &  objcon,
int  objcon_nr,
const dvector &  x,
const dvector &  lower,
const dvector &  upper,
bool  violated_polyest_only = false 
)
int LinearizedConCutGenerator::get_cuts ( list< pair< LinearizationCut, pair< int, bool > > > &  cuts,
const dvector &  x,
const dvector &  lower,
const dvector &  upper,
bool  violated_polyest_only = false 
)

Computes linearization cuts by linearization of the convex relaxation in a given point.

Parameters:
cuts A list of type { cut , { blocknr, is the function where the cut was derived from convex? } } to store the cuts.
x The point where to compute the cut.
lower The current lower bound on the variables.
upper The current upper bound on the variables.
violated_polyest_only If true, cuts are only generated for functions where x violates the polynomial under/over estimator. Useful if cut is ment to cuf off a solution of the relaxation.
Pointer<LinearizationCut> LinearizedConCutGenerator::update_cut ( LinearizationCut &  cut,
unsigned int  block_nr,
const dvector &  lower,
const dvector &  upper 
)

Updates a cut, using a current box.

Parameters:
lower The lower bounds on the variables, here only the lower bounds for the considered block.
upper The upper boudns on the variables, here only the upper bounds for the considered block.
void LinearizedConCutGenerator::set_problem ( Pointer< MinlpProblem >  prob_  )  [inline]

Definition at line 431 of file cuts.h.

void LinearizedConCutGenerator::set_reform ( Pointer< Reformulation >  reform_  ) 
void LinearizedConCutGenerator::set_MINLPData ( Pointer< MINLPData >  minlpdata_  )  [inline]

Definition at line 433 of file cuts.h.


Member Data Documentation

Definition at line 391 of file cuts.h.

Definition at line 393 of file cuts.h.

Definition at line 395 of file cuts.h.

const double LinearizedConCutGenerator::tol [static, private]

Definition at line 397 of file cuts.h.

The maximum violation of a quadratic underestimator in a reference point.

Definition at line 402 of file cuts.h.


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

Generated on 10 Mar 2013 for LaGO by  doxygen 1.6.1