#include <ClpSimplexPrimalQuadratic.hpp>
Public Member Functions | |
Constructors, destructor | |
ClpQuadraticInfo () | |
Default constructor. | |
ClpQuadraticInfo (const ClpSimplex *model) | |
~ClpQuadraticInfo () | |
Destructor. | |
ClpQuadraticInfo (const ClpQuadraticInfo &) | |
ClpQuadraticInfo & | operator= (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) |
ClpQuadraticObjective * | originalObjective () 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 | |
ClpQuadraticObjective * | originalObjective_ |
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. |
Definition at line 110 of file ClpSimplexPrimalQuadratic.hpp.
|
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 } |