OBOE
0.1
|
#include <Manager.h>
Classes | |
struct | ltAccpmVectorPair |
Public Member Functions | |
Manager (const Parameters *param) | |
virtual | ~Manager () |
virtual const AccpmVector & | getCurrentY () const |
virtual const AccpmVector & | getActiveY () const |
virtual int | getActiveCuts (AccpmGenMatrix &cuts, bool activeVar=false) const |
virtual int | getActiveCuts (const AccpmGenMatrix *&cuts, bool activeVar=false) const |
virtual const AccpmVector & | getBestY (bool activeVar=false) const |
const AccpmVector & | getCurrentZ () const |
const AccpmVector & | getRhsCoef () const |
const AccpmVector & | getSubProblemIndex () const |
const AccpmVector & | getCutOccurrence () const |
const AccpmVector & | getActiveCutNorm () const |
const AccpmVector & | getCurrentX () const |
PointGen & | getPointGen () |
const PointGen & | getPointGen () const |
const AccpmGenMatrix & | getATQA () const |
AccpmGenMatrix & | getATQA () |
double | getObjLB () const |
double | getObjUB () const |
double | getRelativeGap () const |
double | getWtEpigraphCut () const |
virtual double | getSmoothObj (bool activeVar=false) const |
virtual const AccpmVector * | getSmoothGradient (bool activeVar=false) const |
virtual const AccpmGenMatrix * | getSmoothHessian (bool activeVar=false) const |
bool | inPhase2 () const |
bool | previousPhase2 () const |
void | updatePreviousPhase2 () |
bool | isCurrentPointFeasible () const |
ExitCode | getExitCode () const |
void | setExitCode (ExitCode e) |
double | getRho () const |
int | getSizeOfs () const |
void | setSizeOfs (int n) |
virtual int | update1 (const AccpmVector &functionValue, const AccpmGenMatrix &subGradients, const AccpmGenMatrix &subProblemIndex, const AccpmVector *upperFunctionValues=0) |
virtual int | update2 (double functionValue, const AccpmGenMatrix &subGradients, const AccpmGenMatrix &hessian) |
double | computeBallConstraint (const AccpmVector &y) const |
void | computeBallConstraint (const AccpmVector &y, AccpmVector &result) const |
void | computeBox1Constraint (const AccpmVector &y, AccpmVector &result) const |
void | computeBox2Constraint (const AccpmVector &y, AccpmVector &result) const |
virtual void | updateVariables (const AccpmVector &y, const AccpmVector &z, const AccpmVector &s, double zs, double s0, double ss, const AccpmVector &sOld, double sOld0, const AccpmVector &ds, double ds0) |
virtual void | updateY (const AccpmVector &y) |
int | getNumOuterIteration () const |
void | updateInnerIterations (int n) |
int | getNumInnerIterations () const |
virtual void | updateLB (double lBound) |
virtual const AccpmVector * | getVariableLB (bool activeVar=false) const |
virtual const AccpmVector * | getVariableUB (bool activeVar=false) const |
virtual const AccpmVector * | getB (bool activeVar=false) const |
virtual const AccpmVector * | getCenterBall (bool activeVar=false) const |
virtual double | getRadiusBall () const |
virtual const AccpmVector * | getQ (bool activeVar=false) const |
virtual int | computeSmoothComponent (bool hessian=true) |
int | callSmoothOracle (const AccpmVector &y, double &f2, AccpmVector &df2, AccpmGenMatrix *d2f2) const |
virtual void | updateActiveVariables () |
virtual void | updateActiveVariablesForF2 () |
virtual int | getNumCuts () const |
virtual void | output (std::ostream &os) const |
void | check () |
Protected Types | |
typedef map< const AccpmVectorIntPair *, int, ltAccpmVectorPair > | CutSet |
Protected Member Functions | |
virtual void | init (void) |
virtual void | update () |
virtual double | convexityFix (const AccpmVector &functionValue, const AccpmGenMatrix &subGradients, const AccpmVector &subProblemIndex, const AccpmVector &upperFunctionValues) |
virtual void | updateRhs (const AccpmVector &functionValue, const AccpmGenMatrix &subGradients) |
virtual void | updateRho (void) |
virtual void | updateEpigraphWeight (void) |
virtual int | addCut (const AccpmVectorIntPair *cut, int subProblemIndex, double weight, double rhs) |
int | findCut (const AccpmVectorIntPair &v) const |
virtual int | processCuts (const AccpmVector &functionValue, const AccpmGenMatrix &newCuts, const AccpmVector &subProblemIndex, const AccpmVector &upperFunctionValues) |
virtual void | updateQ () |
void | updateRelativeGap () |
Protected Attributes | |
const Parameters * | _param |
bool | _phase2 |
bool | _prevPhase2 |
bool | _currentPointIsFeasible |
int | _numOuterIteration |
int | _numInnerIteration |
ExitCode | _exitCode |
double | _rho |
double | _objectiveFunction |
double | _objLB |
double | _objUB |
double | _relativeGap |
double | _weightEpigraphCut |
AccpmVector | _currentPointy |
AccpmVector | _bestPointy |
AccpmVector | _currentPointz |
AccpmVector | _rhsCoef |
AccpmVector | _subProblemIndex |
AccpmVector | _cutOccurrence |
AccpmVector | _activeCutNorm |
AccpmDynMatrix | _activeCuts |
AccpmGenMatrix | _activeCutsM |
PointGen | _pointGen |
double | _f2 |
AccpmVector * | _b |
AccpmVector * | _df2 |
AccpmGenMatrix * | _d2f2 |
int | _sizeOfs |
int | _numCuts |
bool | _hasSmoothOracle |
CutSet | _cutSet |
int | _currentCutId |
Manages the data generated during Accpm iterations.
typedef map<const AccpmVectorIntPair *, int, ltAccpmVectorPair> Accpm::Manager::CutSet [protected] |
Accpm::Manager::Manager | ( | const Parameters * | param | ) |
The Constructor for the Manager. It does some basic initialization and creates vectors of appropriate dimensions for: Current Point Y Best Point Current Point Z
Also initializes PointGen object
References _bestPointy, _currentPointy, _currentPointz, _hasSmoothOracle, _objLB, _objUB, _param, Accpm::Parameters::getOracle(), Accpm::Parameters::getRealParameter(), Accpm::Parameters::getStartingPoint(), Accpm::Oracle::hasSmoothOracle(), init(), IS_FINITE(), updateQ(), and updateRelativeGap().
Accpm::Manager::~Manager | ( | ) | [virtual] |
int Accpm::Manager::addCut | ( | const AccpmVectorIntPair * | cut, |
int | subProblemIndex, | ||
double | weight, | ||
double | rhs | ||
) | [protected, virtual] |
References _activeCutNorm, _activeCuts, _currentCutId, _cutOccurrence, _cutSet, _numCuts, _param, _rhsCoef, _subProblemIndex, AccpmLANorm2(), Accpm::AccpmDynMatrix::addColumn(), Accpm::AccpmVector::append(), and Accpm::Parameters::getIntParameter().
Referenced by processCuts().
int Accpm::Manager::callSmoothOracle | ( | const AccpmVector & | y, |
double & | f2, | ||
AccpmVector & | df2, | ||
AccpmGenMatrix * | d2f2 | ||
) | const |
void Accpm::Manager::check | ( | ) |
Temporary debug routine for some sanity checking fof Manager. To be removed.
References _activeCuts, _bestPointy, _cutOccurrence, _param, _phase2, _pointGen, Accpm::PointGen::_q, _rho, _rhsCoef, _subProblemIndex, Accpm::AccpmDynMatrix::addColumn(), Accpm::AccpmVector::append(), Accpm::Parameters::getIntParameter(), and Accpm::AccpmDynMatrix::getM().
Referenced by main().
double Accpm::Manager::computeBallConstraint | ( | const AccpmVector & | y | ) | const |
Returns the diagonal part of the Ball Constraints Mirrors InsertBallConstraint(...,'Diag')
References _param, AccpmLAAddMult(), AccpmLANorm2(), getCenterBall(), Accpm::Parameters::getIntParameter(), and getRadiusBall().
Referenced by computeBallConstraint().
void Accpm::Manager::computeBallConstraint | ( | const AccpmVector & | y, |
AccpmVector & | result | ||
) | const |
Returns the Rang 1 part of the Ball Constraints Mirrors InsertBallConstraint(...,'Rang')
References _param, AccpmLAAddMult(), AccpmLAScale(), computeBallConstraint(), getCenterBall(), and Accpm::Parameters::getIntParameter().
void Accpm::Manager::computeBox1Constraint | ( | const AccpmVector & | y, |
AccpmVector & | result | ||
) | const |
References AccpmLAAddMult(), getVariableLB(), getVariableUB(), and Accpm::AccpmVector::invert().
void Accpm::Manager::computeBox2Constraint | ( | const AccpmVector & | y, |
AccpmVector & | result | ||
) | const |
int Accpm::Manager::computeSmoothComponent | ( | bool | hessian = true | ) | [virtual] |
References _b, _currentPointIsFeasible, _currentPointy, _d2f2, _df2, _f2, _hasSmoothOracle, AccpmLADotProd(), and callSmoothOracle().
double Accpm::Manager::convexityFix | ( | const AccpmVector & | functionValue, |
const AccpmGenMatrix & | subGradients, | ||
const AccpmVector & | subProblemIndex, | ||
const AccpmVector & | upperFunctionValues | ||
) | [protected, virtual] |
Fix loose optimality cuts. Applies to oracle that deliver loose optimality cuts. (E.g., if the oracle computes the value f(y) by a maximization process and that process is not conducted to its end).
Updates the Objective Upper Bound: _objUB
Returns a value by which the objective function needs to be corrected due to convexity violation.
Must be called only in phase 2.
References _activeCutsM, _b, _bestPointy, _currentPointy, _exitCode, _hasSmoothOracle, _objUB, _param, _phase2, _rhsCoef, _subProblemIndex, AccpmError(), AccpmLAAddMult(), AccpmLADotProd(), AccpmLAMatTransVecMult(), AccpmWarning(), Accpm::CONVEXITY_FAILURE, DBL_LT(), Accpm::AccpmGenMatrix::getColumn(), Accpm::Parameters::getIntParameter(), Accpm::Parameters::getOptType(), Accpm::Parameters::getPi(), Accpm::Parameters::getRealParameter(), and Accpm::OPT_MIN.
Referenced by processCuts().
int Accpm::Manager::findCut | ( | const AccpmVectorIntPair & | v | ) | const [protected] |
References _cutSet.
Referenced by processCuts().
const AccpmVector& Accpm::Manager::getActiveCutNorm | ( | ) | const [inline] |
References _activeCutNorm.
int Accpm::Manager::getActiveCuts | ( | AccpmGenMatrix & | cuts, |
bool | activeVar = false |
||
) | const [virtual] |
References _activeCuts, and Accpm::AccpmDynMatrix::getM().
Referenced by Accpm::QpGenerator::getActiveCuts(), and Accpm::LocSet::LocSet().
int Accpm::Manager::getActiveCuts | ( | const AccpmGenMatrix *& | cuts, |
bool | activeVar = false |
||
) | const [virtual] |
References _activeCutsM.
const AccpmVector & Accpm::Manager::getActiveY | ( | ) | const [virtual] |
References _currentPointy.
Referenced by Accpm::NewtonSolution::init().
const AccpmGenMatrix& Accpm::Manager::getATQA | ( | ) | const [inline] |
References Accpm::PointGen::_ATQA, and _pointGen.
AccpmGenMatrix& Accpm::Manager::getATQA | ( | ) | [inline] |
References Accpm::PointGen::_ATQA, and _pointGen.
const AccpmVector * Accpm::Manager::getB | ( | bool | activeVar = false | ) | const [virtual] |
References _param, and Accpm::Parameters::getB().
Referenced by init().
const AccpmVector & Accpm::Manager::getBestY | ( | bool | activeVar = false | ) | const [virtual] |
References _bestPointy.
Referenced by Accpm::LocSet::LocSet(), and Accpm::QpGenerator::output().
const AccpmVector * Accpm::Manager::getCenterBall | ( | bool | activeVar = false | ) | const [virtual] |
References _param, and Accpm::Parameters::getCenterBall().
Referenced by computeBallConstraint().
const AccpmVector& Accpm::Manager::getCurrentX | ( | ) | const [inline] |
References _pointGen, and Accpm::PointGen::_xScaled.
Referenced by Accpm::QpGenerator::getCurrentX().
const AccpmVector & Accpm::Manager::getCurrentY | ( | ) | const [virtual] |
References _currentPointy.
Referenced by Accpm::QpGenerator::getQueryPoint(), Accpm::QpGenerator::printIteration(), and Accpm::QpGenerator::run().
const AccpmVector& Accpm::Manager::getCurrentZ | ( | ) | const [inline] |
References _currentPointz.
Referenced by Accpm::QpGenerator::getCurrentZ(), and Accpm::NewtonSolution::init().
const AccpmVector& Accpm::Manager::getCutOccurrence | ( | ) | const [inline] |
References _cutOccurrence.
ExitCode Accpm::Manager::getExitCode | ( | ) | const [inline] |
References _exitCode.
Referenced by Accpm::QpGenerator::getExitCode(), and Accpm::QpGenerator::run().
int Accpm::Manager::getNumCuts | ( | ) | const [virtual] |
References _numCuts.
Referenced by Accpm::QpGenerator::getNumCuts().
int Accpm::Manager::getNumInnerIterations | ( | ) | const [inline] |
References _numInnerIteration.
Referenced by Accpm::QpGenerator::output(), and Accpm::QpGenerator::printIteration().
int Accpm::Manager::getNumOuterIteration | ( | ) | const [inline] |
References _numOuterIteration.
Referenced by Accpm::QpGenerator::output(), Accpm::QpGenerator::printHeader(), Accpm::QpGenerator::printIteration(), and Accpm::QpGenerator::run().
double Accpm::Manager::getObjLB | ( | ) | const [inline] |
References _objLB.
Referenced by Accpm::QpGenerator::getObjLB(), Accpm::QpGenerator::getObjUB(), and Accpm::QpGenerator::run().
double Accpm::Manager::getObjUB | ( | ) | const [inline] |
References _objUB.
Referenced by Accpm::QpGenerator::getObjLB(), Accpm::QpGenerator::getObjUB(), Accpm::QpGenerator::getOptimalObj(), and Accpm::LocSet::LocSet().
PointGen& Accpm::Manager::getPointGen | ( | ) | [inline] |
References _pointGen.
Referenced by Accpm::NewtonSolution::init(), Accpm::DualMethod::run(), and Accpm::NewtonSolution::warmStart().
const PointGen& Accpm::Manager::getPointGen | ( | ) | const [inline] |
References _pointGen.
const AccpmVector * Accpm::Manager::getQ | ( | bool | activeVar = false | ) | const [virtual] |
References _pointGen, and Accpm::PointGen::_q.
double Accpm::Manager::getRadiusBall | ( | ) | const [virtual] |
References _param, and Accpm::Parameters::getRealParameter().
Referenced by computeBallConstraint().
double Accpm::Manager::getRelativeGap | ( | ) | const |
References _relativeGap.
Referenced by Accpm::QpGenerator::getRelativeGap(), and Accpm::QpGenerator::printIteration().
double Accpm::Manager::getRho | ( | ) | const [inline] |
References _rho.
const AccpmVector& Accpm::Manager::getRhsCoef | ( | ) | const [inline] |
References _rhsCoef.
Referenced by Accpm::QpGenerator::getRhs(), and Accpm::LocSet::LocSet().
int Accpm::Manager::getSizeOfs | ( | ) | const [inline] |
References _sizeOfs.
Referenced by Accpm::NewtonSolution::warmStart().
const AccpmVector * Accpm::Manager::getSmoothGradient | ( | bool | activeVar = false | ) | const [virtual] |
References _df2.
const AccpmGenMatrix * Accpm::Manager::getSmoothHessian | ( | bool | activeVar = false | ) | const [virtual] |
References _d2f2.
double Accpm::Manager::getSmoothObj | ( | bool | activeVar = false | ) | const [virtual] |
References _f2.
const AccpmVector& Accpm::Manager::getSubProblemIndex | ( | ) | const [inline] |
References _subProblemIndex.
Referenced by Accpm::QpGenerator::getCutType(), and Accpm::LocSet::LocSet().
const AccpmVector * Accpm::Manager::getVariableLB | ( | bool | activeVar = false | ) | const [virtual] |
References _param, and Accpm::Parameters::getVariableLB().
Referenced by computeBox1Constraint(), and computeBox2Constraint().
const AccpmVector * Accpm::Manager::getVariableUB | ( | bool | activeVar = false | ) | const [virtual] |
References _param, and Accpm::Parameters::getVariableUB().
Referenced by computeBox1Constraint(), and computeBox2Constraint().
double Accpm::Manager::getWtEpigraphCut | ( | ) | const [inline] |
References _weightEpigraphCut.
void Accpm::Manager::init | ( | void | ) | [protected, virtual] |
Basic intitialization routine used by the Constructor
References _b, _currentCutId, _currentPointIsFeasible, _d2f2, _df2, _exitCode, _f2, _hasSmoothOracle, _numCuts, _numInnerIteration, _numOuterIteration, _objectiveFunction, _objLB, _objUB, _param, _phase2, _prevPhase2, _relativeGap, _rho, _sizeOfs, _weightEpigraphCut, ACCPM_MINUS_INF, ACCPM_PLUS_INF, getB(), Accpm::Parameters::getIntParameter(), Accpm::Parameters::getOptType(), Accpm::Parameters::getRealParameter(), Accpm::ITERATING, Accpm::AccpmVector::negate(), and Accpm::OPT_MAX.
Referenced by Manager().
bool Accpm::Manager::inPhase2 | ( | ) | const [inline] |
References _phase2.
Referenced by Accpm::NewtonSolution::init(), Accpm::LocSet::LocSet(), and Accpm::NewtonSolution::warmStart().
bool Accpm::Manager::isCurrentPointFeasible | ( | ) | const [inline] |
References _currentPointIsFeasible.
Referenced by Accpm::QpGenerator::printIteration(), and Accpm::QpGenerator::run().
void Accpm::Manager::output | ( | std::ostream & | os | ) | const [virtual] |
References _bestPointy, _currentPointy, _currentPointz, _exitCode, _numCuts, _numInnerIteration, _objUB, _param, _relativeGap, _rhsCoef, ACCPM_PLUS_INF, Accpm::Parameters::getIntParameter(), Accpm::Parameters::getOptimizationType(), and Accpm::Parameters::getOptType().
Referenced by Accpm::QpGenerator::output().
bool Accpm::Manager::previousPhase2 | ( | ) | const [inline] |
References _prevPhase2.
Referenced by Accpm::NewtonSolution::warmStart().
int Accpm::Manager::processCuts | ( | const AccpmVector & | functionValue, |
const AccpmGenMatrix & | newCuts, | ||
const AccpmVector & | subProblemIndex, | ||
const AccpmVector & | upperFunctionValues | ||
) | [protected, virtual] |
Add the new cut information from the non-smooth Oracle f1. It is called by update1() function which takes care of transforming the cut information for a minimization problem. Update the internal structures of Manager corresponding to the new information. Returns number of filtered cuts.
References _activeCutNorm, _activeCuts, _activeCutsM, _b, _currentPointIsFeasible, _currentPointy, _cutOccurrence, _numCuts, _objectiveFunction, _param, _phase2, _rhsCoef, _subProblemIndex, AccpmLADotProd(), AccpmLANorm2(), Accpm::AccpmDynMatrix::addColumn(), addCut(), Accpm::AccpmVector::append(), convexityFix(), DBL_GT(), findCut(), Accpm::AccpmGenMatrix::getColumn(), Accpm::Parameters::getIntParameter(), Accpm::AccpmDynMatrix::getM(), Accpm::Parameters::getPi(), and updateRhs().
Referenced by update1().
void Accpm::Manager::setExitCode | ( | ExitCode | e | ) | [inline] |
References _exitCode.
Referenced by Accpm::QpGenerator::run().
void Accpm::Manager::setSizeOfs | ( | int | n | ) | [inline] |
References _sizeOfs.
void Accpm::Manager::update | ( | ) | [protected, virtual] |
Update the internal data of Manager:
Rho Phase2 flag Upper Bound on Objective Function Best Point Relative Gap Weight on the Epigraph Cut
References _bestPointy, _currentPointIsFeasible, _currentPointy, _objectiveFunction, _objUB, _param, _phase2, DBL_GT(), Accpm::Parameters::getIntParameter(), updateEpigraphWeight(), updateRelativeGap(), and updateRho().
int Accpm::Manager::update1 | ( | const AccpmVector & | functionValue, |
const AccpmGenMatrix & | subGradients, | ||
const AccpmGenMatrix & | subProblemIndex, | ||
const AccpmVector * | upperFunctionValues = 0 |
||
) | [virtual] |
Update the Manager with the new cut information for the non-smooth Oracle f1
References _currentPointIsFeasible, _exitCode, _hasSmoothOracle, _numOuterIteration, _param, _phase2, Accpm::Parameters::getOptType(), Accpm::ITERATING, Accpm::AccpmVector::negate(), Accpm::OPT_MAX, processCuts(), Accpm::AccpmGenMatrix::scaleColumn(), update(), and updateQ().
Referenced by Accpm::QpGenerator::run().
int Accpm::Manager::update2 | ( | double | functionValue, |
const AccpmGenMatrix & | subGradients, | ||
const AccpmGenMatrix & | hessian | ||
) | [virtual] |
Update the smooth function f2 values
References _currentPointIsFeasible, _d2f2, _df2, _f2, _objectiveFunction, _param, AccpmLAAddMult(), Accpm::Parameters::getIntParameter(), Accpm::Parameters::getOptType(), Accpm::OPT_MAX, Accpm::AccpmGenMatrix::scaleColumn(), and update().
Referenced by Accpm::QpGenerator::run().
void Accpm::Manager::updateActiveVariables | ( | ) | [virtual] |
void Accpm::Manager::updateActiveVariablesForF2 | ( | ) | [virtual] |
void Accpm::Manager::updateEpigraphWeight | ( | void | ) | [protected, virtual] |
References _objUB, _param, _phase2, _weightEpigraphCut, Accpm::Parameters::getRealParameter(), and IS_FINITE().
Referenced by update().
void Accpm::Manager::updateInnerIterations | ( | int | n | ) | [inline] |
References _numInnerIteration.
void Accpm::Manager::updateLB | ( | double | lBound | ) | [virtual] |
References _objLB, _param, DBL_CMP(), DBL_LT(), Accpm::Parameters::getIntParameter(), Accpm::Parameters::getRealParameter(), and updateRelativeGap().
Referenced by Accpm::QpGenerator::run().
void Accpm::Manager::updatePreviousPhase2 | ( | ) | [inline] |
References _phase2, and _prevPhase2.
Referenced by Accpm::QpGenerator::run().
void Accpm::Manager::updateQ | ( | ) | [protected, virtual] |
References _param, _pointGen, Accpm::PointGen::_q, _rho, and Accpm::Parameters::getIntParameter().
Referenced by Manager(), update1(), and updateRho().
void Accpm::Manager::updateRelativeGap | ( | ) | [protected] |
References _exitCode, _objLB, _objUB, _param, _relativeGap, DBL_GT(), Accpm::Parameters::getRealParameter(), and Accpm::RELATIVE_GAP_REACHED.
Referenced by Manager(), update(), and updateLB().
void Accpm::Manager::updateRho | ( | void | ) | [protected, virtual] |
Update the Proximal term.
References _objectiveFunction, _objUB, _param, _phase2, _rho, DBL_LT(), Accpm::Parameters::getIntParameter(), Accpm::Parameters::getRealParameter(), and updateQ().
Referenced by update().
void Accpm::Manager::updateRhs | ( | const AccpmVector & | functionValue, |
const AccpmGenMatrix & | subGradients | ||
) | [protected, virtual] |
Update the right hand side corresponding to the new cuts just returned by the Oracle
References _currentPointy, _rhsCoef, AccpmLAMatTransVecMult(), and Accpm::AccpmVector::append().
Referenced by processCuts().
void Accpm::Manager::updateVariables | ( | const AccpmVector & | y, |
const AccpmVector & | z, | ||
const AccpmVector & | s, | ||
double | zs, | ||
double | s0, | ||
double | ss, | ||
const AccpmVector & | sOld, | ||
double | sOld0, | ||
const AccpmVector & | ds, | ||
double | ds0 | ||
) | [virtual] |
void Accpm::Manager::updateY | ( | const AccpmVector & | y | ) | [virtual] |
References _currentPointy.
Referenced by updateVariables().
AccpmVector Accpm::Manager::_activeCutNorm [protected] |
Referenced by addCut(), getActiveCutNorm(), and processCuts().
AccpmDynMatrix Accpm::Manager::_activeCuts [protected] |
Referenced by addCut(), check(), getActiveCuts(), and processCuts().
AccpmGenMatrix Accpm::Manager::_activeCutsM [protected] |
Referenced by convexityFix(), getActiveCuts(), and processCuts().
AccpmVector* Accpm::Manager::_b [protected] |
Referenced by computeSmoothComponent(), convexityFix(), init(), processCuts(), and ~Manager().
AccpmVector Accpm::Manager::_bestPointy [protected] |
Referenced by check(), convexityFix(), getBestY(), Manager(), output(), and update().
int Accpm::Manager::_currentCutId [protected] |
bool Accpm::Manager::_currentPointIsFeasible [protected] |
Referenced by computeSmoothComponent(), init(), isCurrentPointFeasible(), processCuts(), update(), update1(), and update2().
AccpmVector Accpm::Manager::_currentPointy [protected] |
Referenced by computeSmoothComponent(), convexityFix(), getActiveY(), getCurrentY(), Manager(), output(), processCuts(), update(), updateRhs(), and updateY().
AccpmVector Accpm::Manager::_currentPointz [protected] |
Referenced by getCurrentZ(), Manager(), output(), and updateVariables().
AccpmVector Accpm::Manager::_cutOccurrence [protected] |
Referenced by addCut(), check(), getCutOccurrence(), processCuts(), and updateVariables().
CutSet Accpm::Manager::_cutSet [protected] |
Referenced by addCut(), findCut(), and ~Manager().
AccpmGenMatrix* Accpm::Manager::_d2f2 [protected] |
Referenced by computeSmoothComponent(), getSmoothHessian(), init(), update2(), and ~Manager().
AccpmVector* Accpm::Manager::_df2 [protected] |
Referenced by computeSmoothComponent(), getSmoothGradient(), init(), update2(), and ~Manager().
ExitCode Accpm::Manager::_exitCode [protected] |
Referenced by convexityFix(), getExitCode(), init(), output(), setExitCode(), update1(), and updateRelativeGap().
double Accpm::Manager::_f2 [protected] |
Referenced by computeSmoothComponent(), getSmoothObj(), init(), and update2().
bool Accpm::Manager::_hasSmoothOracle [protected] |
Referenced by computeSmoothComponent(), convexityFix(), init(), Manager(), and update1().
int Accpm::Manager::_numCuts [protected] |
Referenced by addCut(), getNumCuts(), init(), output(), and processCuts().
int Accpm::Manager::_numInnerIteration [protected] |
The total number of inner iterations done so far. The inner iterations refer to the number of steps taken to solve the Newton system of equations. Typically this number is 2-3 per outer iteration.
Referenced by getNumInnerIterations(), init(), output(), and updateInnerIterations().
int Accpm::Manager::_numOuterIteration [protected] |
The main iteration counter for the query point generator. At each of the outer iteration the Oracle::eval() is called.
Referenced by getNumOuterIteration(), init(), and update1().
double Accpm::Manager::_objectiveFunction [protected] |
Referenced by init(), processCuts(), update(), update2(), and updateRho().
double Accpm::Manager::_objLB [protected] |
Referenced by getObjLB(), init(), Manager(), updateLB(), and updateRelativeGap().
double Accpm::Manager::_objUB [protected] |
Referenced by convexityFix(), getObjUB(), init(), Manager(), output(), update(), updateEpigraphWeight(), updateRelativeGap(), and updateRho().
const Parameters* Accpm::Manager::_param [protected] |
Referenced by addCut(), callSmoothOracle(), check(), computeBallConstraint(), convexityFix(), getB(), getCenterBall(), getRadiusBall(), getVariableLB(), getVariableUB(), init(), Manager(), output(), processCuts(), update(), update1(), update2(), updateEpigraphWeight(), updateLB(), updateQ(), updateRelativeGap(), and updateRho().
bool Accpm::Manager::_phase2 [protected] |
Referenced by check(), convexityFix(), init(), inPhase2(), processCuts(), update(), update1(), updateEpigraphWeight(), updatePreviousPhase2(), updateRho(), and updateVariables().
PointGen Accpm::Manager::_pointGen [protected] |
Referenced by check(), getATQA(), getCurrentX(), getPointGen(), getQ(), updateQ(), and updateVariables().
bool Accpm::Manager::_prevPhase2 [protected] |
Referenced by init(), previousPhase2(), and updatePreviousPhase2().
double Accpm::Manager::_relativeGap [protected] |
Referenced by getRelativeGap(), init(), output(), and updateRelativeGap().
double Accpm::Manager::_rho [protected] |
Referenced by check(), getRho(), init(), updateQ(), and updateRho().
AccpmVector Accpm::Manager::_rhsCoef [protected] |
Referenced by addCut(), check(), convexityFix(), getRhsCoef(), output(), processCuts(), and updateRhs().
int Accpm::Manager::_sizeOfs [protected] |
Referenced by getSizeOfs(), init(), and setSizeOfs().
AccpmVector Accpm::Manager::_subProblemIndex [protected] |
Referenced by addCut(), check(), convexityFix(), getSubProblemIndex(), and processCuts().
double Accpm::Manager::_weightEpigraphCut [protected] |
Referenced by getWtEpigraphCut(), init(), updateEpigraphWeight(), and updateVariables().