Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

ClpQuadraticInfo Class Reference

#include <ClpSimplexPrimalQuadratic.hpp>

List of all members.

Public Member Functions

Constructors, destructor
 ClpQuadraticInfo ()
 Default constructor.

 ClpQuadraticInfo (const ClpSimplex *model)
 ~ClpQuadraticInfo ()
 Destructor.

 ClpQuadraticInfo (const ClpQuadraticInfo &)
ClpQuadraticInfooperator= (const ClpQuadraticInfo &)
Gets and sets
int numberXColumns () const
 Number of Original columns.

int numberQuadraticColumns () const
 Number of Quadratic columns.

int numberXRows () const
 Number of Original rows.

int numberQuadraticRows () const
 Number of Quadratic rows.

int sequenceIn () const
 Sequence number incoming.

void setSequenceIn (int sequence)
int crucialSj () const
 Sequence number of binding Sj.

void setCrucialSj (int sequence)
int currentPhase () const
 Current phase.

void setCurrentPhase (int phase)
const double * currentSolution () const
 Current saved solution.

void setCurrentSolution (const double *solution)
ClpQuadraticObjectiveoriginalObjective () const
 Returns pointer to original objective.

void setOriginalObjective (ClpQuadraticObjective *obj)
CoinPackedMatrix * quadraticObjective () const
 Quadratic objective.

double * linearObjective () const
 Linear objective.

void saveStatus ()
 Save current In and Sj status.

void restoreStatus ()
 Restore previous.

double * djWeight () const
 Dj weights.

void createGradient (ClpSimplex *model)
 create gradient

double * gradient () const
 Current gradient.

double infeasCost () const
 Infeas cost.

void setInfeasCost (double value)
int * basicRow () const
 Backward pointer to basis (inverse of pivotVariable_).

int * impliedSj () const
 Set if Sj variable is implied.


Private Attributes

Data members
ClpQuadraticObjectiveoriginalObjective_
 Objective.

int * basicRow_
 Backward pointer to basis (inverse of pivotVariable_).

int * impliedSj_
 Set if Sj variable is implied.

int currentSequenceIn_
 Current sequenceIn.

int crucialSj_
 Crucial Sj.

int validSequenceIn_
 Valid sequenceIn (for valid factorization).

int validCrucialSj_
 Valid crucial Sj.

int currentPhase_
 Current phase.

double * currentSolution_
 Current saved solution.

int validPhase_
 Valid phase.

double * validSolution_
 Valid saved solution.

double * djWeight_
 Dj weights to stop looping.

double * gradient_
 Current gradient.

int numberXRows_
 Number of original rows.

int numberXColumns_
 Number of original columns.

int numberQuadraticColumns_
 Number of quadratic columns.

int numberQuadraticRows_
 Number of quadratic rows.

double infeasCost_
 Infeasibility cost.


Detailed Description

Trivial class to keep quadratic iterating info around

Definition at line 110 of file ClpSimplexPrimalQuadratic.hpp.


Constructor & Destructor Documentation

ClpQuadraticInfo::ClpQuadraticInfo const ClpSimplex model  ) 
 

Constructor from original model

Definition at line 3230 of file ClpSimplexPrimalQuadratic.cpp.

References basicRow_, djWeight_, impliedSj_, numberQuadraticColumns_, numberQuadraticRows_, numberXColumns_, numberXRows_, and originalObjective_.

03231   : originalObjective_(NULL),
03232     basicRow_(NULL),
03233     impliedSj_(NULL),
03234     currentSequenceIn_(-1),
03235     crucialSj_(-1),
03236     validSequenceIn_(-1),
03237     validCrucialSj_(-1),
03238     currentPhase_(-1),
03239     currentSolution_(NULL),
03240     validPhase_(-1),
03241     validSolution_(NULL),
03242     djWeight_(NULL),
03243     gradient_(NULL),
03244     numberXRows_(-1),
03245     numberXColumns_(-1),
03246     numberQuadraticColumns_(0),
03247     numberQuadraticRows_(0),
03248     infeasCost_(0.0)
03249 {
03250   if (model) {
03251     numberXRows_ = model->numberRows();
03252     numberXColumns_ = model->numberColumns();
03253     //ClpQuadraticObjective *originalObjective = (dynamic_cast< ClpQuadraticObjective*>(model->objectiveAsObject()));
03254     //assert (originalObjective);
03255     originalObjective_ = (dynamic_cast< ClpQuadraticObjective*>(model->objectiveAsObject()));
03256     assert (originalObjective_);
03257     impliedSj_ = new int[numberXColumns_];
03258     basicRow_ = new int[numberXColumns_];
03259     int i;
03260     numberQuadraticColumns_=numberXColumns_;
03261     numberQuadraticRows_=numberXRows_;
03262     int numberColumns = numberQuadraticRows_+numberXColumns_+numberQuadraticColumns_;
03263     int numberRows = numberXRows_+numberQuadraticColumns_;
03264     int size = numberRows+numberColumns;
03265     djWeight_ = new double [size];
03266     basicRow_ = new int[size];
03267     for (i=0;i<size;i++)
03268       djWeight_[i]=1.0;
03269   }
03270 }


The documentation for this class was generated from the following files:
Generated on Wed Dec 3 14:37:42 2003 for CLP by doxygen 1.3.5