|
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().