Go to the documentation of this file.
13 #ifndef CouenneFPpool_hpp
14 #define CouenneFPpool_hpp
25 class CouenneFeasPump;
65 const int n ()
const {
return n_;}
68 const double *
x ()
const {
return x_;}
96 std::set <CouenneFPsolution, compareSol>
set_;
114 std::set <CouenneFPsolution, compareSol> &
Set ()
const double * x() const
returns vector
const int n() const
returns size
class for comparing solutions (used in tabu list)
CouenneFPsolution(CouenneProblem *p, CouNumber *x, bool copied=false)
CouenneProblem-aware constructor.
void findClosestAndReplace(double *&sol, const double *nSol, int nvars)
finds, in pool, solution x closest to sol; removes it from the pool and overwrites it to sol
bool operator<(const CouenneScalar &first, const CouenneScalar &second)
CouenneFPpool(CouenneProblem *p, enum what_to_compare c)
simple constructor (empty pool)
int n_
number of variables (for independence from CouenneProblem)
what_to_compare
what term to compare: the sum of infeasibilities, the sum of numbers of infeasible terms,...
std::set< CouenneFPsolution, compareSol > & Set()
return the main object in this class
CouenneFPpool & operator=(const CouenneFPpool &src)
assignment
CouenneProblem * problem_
holds pointer to problem to check integrality in comparison of integer variables
CouNumber objVal_
objective function value
int nIinf_
number of integer infeasibilities
general include file for different compilers
~CouenneFPsolution()
destructor
bool operator()(const CouenneFPsolution &one, const CouenneFPsolution &two) const
double CouNumber
main number type in Couenne
std::set< CouenneFPsolution, compareSol > set_
Pool.
CouenneProblem * problem_
Problem pointer.
bool copied_
This is a temporary copy, not really a solution holder.
CouNumber maxNLinf_
maximum NL infeasibility
CouenneFPsolution & operator=(const CouenneFPsolution &src)
assignment
Class containing a solution with infeasibility evaluation.
CouNumber maxIinf_
maximum integer infeasibility
CouenneProblem * Problem()
return the problem pointer
int nNLinf_
number of NL infeasibilities
static enum Couenne::what_to_compare comparedTerm_
Class for MINLP problems with symbolic information.
bool compare(const CouenneFPsolution &other, enum what_to_compare comparedTerm) const
basic comparison procedure – what to compare depends on user's choice