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< LinearizationCutupdate_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< MinlpProblemprob
Pointer< MINLPDataminlpdata
Pointer< Reformulationreform

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