Class to compute a quadratic underestimators of nonconvex functions. More...
#include <quaduest.h>
Public Member Functions | |
QuadraticUnderestimator (Pointer< Param > param_=NULL) | |
void | quadratic_underestimator (MinlpProblem &prob, MINLPData &minlpdata, ivector &ineq_index, SparseVector< double > &obj_c_add, vector< SparseVector< double > > &con_c_add) |
Pointer< SepQcFunc > | quadratic_underestimator (Pointer< SepQcFunc > f, bool eq, dvector &lower, dvector &upper, dvector &primal) |
Public Attributes | |
SparseVector< double > | c_add1 |
SparseVector< double > | c_add2 |
double | U3_time |
double | locopt_time |
double | max_abscoeff |
int | max_locmin |
Private Member Functions | |
void | new_multiindices (const SparsityInfo &si, int n) |
void | new_sampleset (const dvector &lower, const dvector &upper) |
void | check_for_nan (const Func &f) |
multimap< double, dvector > ::iterator | add_point_to_sampleset (const dvector &point) |
multimap< double, dvector > ::iterator | add_minimizer_to_sample (Pointer< Func > f, const dvector &lower, const dvector &upper, dvector &start) |
void | quadratic_underestimator (SparseMatrix2 &A, SparseVector< double > &b, double &c, const Pointer< Func > &f, ivector &indices, const Pointer< dvector > &lower, const Pointer< dvector > &upper) |
new quadratic underestimator, based on A. | |
bool | do_locmin (BoxLocOpt &locminsolver, const Pointer< Func > &f, dvector &start, double &f_val, double &viol1, double &viol2, double &scale2, dvector &b1) |
Private Attributes | |
Pointer< Param > | param |
double | eps |
int | iter_max |
double | time_max |
Sampling | sampling |
Sampling_Vertices | sampling_vertices |
Sampling_Minimizer | sampling_minimizer |
int | sampling_initial |
multimap< double, dvector > | sample_set |
multimap< double, dvector > ::iterator | enforce_tightness |
list< MultiIndex > | multiindices |
list< Monom > | monoms |
Decomposition | decomp |
Class to compute a quadratic underestimators of nonconvex functions.
Quadratic | Underestimator iteration limit options >0 default 10 level 1 How often (at most) we should refit the underestimator of a function. | |
Quadratic | Underestimator time limit options >=0 default 0 level 1 How long (at most) we should refit the underestimator of a function. 0 means no timelimit. | |
Quadratic | Underestimator epsilon options >=0 default 0.0001 level 0 How big should the buffer in the underestimator for newly computed sample points be. | |
Quadratic | Underestimator sample set Monte Carlo options integer >= 0 default 20 level 1 | |
Quadratic | Underestimator sample set mid point options 0, 1 default 0 level 1 | |
Quadratic | Underestimator sample set box ends options 0, 1 default 0 level 1 | |
Quadratic | Underestimator sample set vertices2 options integer >= 0 default 200 level 1 | |
Quadratic | Underestimator sample set minimizer options 0, 1 default 1 level 1 | |
Quadratic | Underestimator sample set initial options 0, 1 default 1 level 1 |
Definition at line 59 of file quaduest.h.
void QuadraticUnderestimator::new_multiindices | ( | const SparsityInfo & | si, | |
int | n | |||
) | [private] |
void QuadraticUnderestimator::new_sampleset | ( | const dvector & | lower, | |
const dvector & | upper | |||
) | [private] |
void QuadraticUnderestimator::check_for_nan | ( | const Func & | f | ) | [private] |
multimap<double, dvector>::iterator QuadraticUnderestimator::add_point_to_sampleset | ( | const dvector & | point | ) | [private] |
multimap<double, dvector>::iterator QuadraticUnderestimator::add_minimizer_to_sample | ( | Pointer< Func > | f, | |
const dvector & | lower, | |||
const dvector & | upper, | |||
dvector & | start | |||
) | [private] |
void QuadraticUnderestimator::quadratic_underestimator | ( | SparseMatrix2 & | A, | |
SparseVector< double > & | b, | |||
double & | c, | |||
const Pointer< Func > & | f, | |||
ivector & | indices, | |||
const Pointer< dvector > & | lower, | |||
const Pointer< dvector > & | upper | |||
) | [private] |
new quadratic underestimator, based on A.
Neumaiers idea
bool QuadraticUnderestimator::do_locmin | ( | BoxLocOpt & | locminsolver, | |
const Pointer< Func > & | f, | |||
dvector & | start, | |||
double & | f_val, | |||
double & | viol1, | |||
double & | viol2, | |||
double & | scale2, | |||
dvector & | b1 | |||
) | [private] |
void QuadraticUnderestimator::quadratic_underestimator | ( | MinlpProblem & | prob, | |
MINLPData & | minlpdata, | |||
ivector & | ineq_index, | |||
SparseVector< double > & | obj_c_add, | |||
vector< SparseVector< double > > & | con_c_add | |||
) |
Pointer<SepQcFunc> QuadraticUnderestimator::quadratic_underestimator | ( | Pointer< SepQcFunc > | f, | |
bool | eq, | |||
dvector & | lower, | |||
dvector & | upper, | |||
dvector & | primal | |||
) |
Pointer<Param> QuadraticUnderestimator::param [private] |
Definition at line 61 of file quaduest.h.
double QuadraticUnderestimator::eps [private] |
Definition at line 63 of file quaduest.h.
int QuadraticUnderestimator::iter_max [private] |
Definition at line 64 of file quaduest.h.
double QuadraticUnderestimator::time_max [private] |
Definition at line 65 of file quaduest.h.
Sampling QuadraticUnderestimator::sampling [private] |
Definition at line 67 of file quaduest.h.
Definition at line 68 of file quaduest.h.
Definition at line 69 of file quaduest.h.
int QuadraticUnderestimator::sampling_initial [private] |
Definition at line 70 of file quaduest.h.
multimap<double, dvector> QuadraticUnderestimator::sample_set [private] |
Definition at line 72 of file quaduest.h.
multimap<double, dvector>::iterator QuadraticUnderestimator::enforce_tightness [private] |
Definition at line 73 of file quaduest.h.
list<MultiIndex> QuadraticUnderestimator::multiindices [private] |
Definition at line 75 of file quaduest.h.
list<Monom> QuadraticUnderestimator::monoms [private] |
Definition at line 76 of file quaduest.h.
Decomposition QuadraticUnderestimator::decomp [private] |
Definition at line 78 of file quaduest.h.
Definition at line 94 of file quaduest.h.
Definition at line 94 of file quaduest.h.
Definition at line 96 of file quaduest.h.
Definition at line 96 of file quaduest.h.
Definition at line 96 of file quaduest.h.
Definition at line 97 of file quaduest.h.