ClpInterior Class Reference

This solves LPs using interior point methods. More...

#include <ClpInterior.hpp>

Inheritance diagram for ClpInterior:

Inheritance graph
[legend]
Collaboration diagram for ClpInterior:

Collaboration graph
[legend]
List of all members.

data. Many arrays have a row part and a column part.

There is a single array with both - columns then rows and then normally two arrays pointing to rows and columns. The single array is the owner of memory

CoinWorkDouble xsize_
CoinWorkDouble zsize_
CoinWorkDoublerhs_
 Rhs.
CoinWorkDoublex_
CoinWorkDoubley_
CoinWorkDoubledj_
CoinWorkDouble largestPrimalError_
 Largest error on Ax-b.
CoinWorkDouble largestDualError_
 Largest error on basic duals.
CoinWorkDouble sumDualInfeasibilities_
 Sum of dual infeasibilities.
CoinWorkDouble sumPrimalInfeasibilities_
 Sum of primal infeasibilities.
CoinWorkDouble worstComplementarity_
 Worst complementarity.
CoinWorkDoublelower_
 Working copy of lower bounds (Owner of arrays below).
CoinWorkDoublerowLowerWork_
 Row lower bounds - working copy.
CoinWorkDoublecolumnLowerWork_
 Column lower bounds - working copy.
CoinWorkDoubleupper_
 Working copy of upper bounds (Owner of arrays below).
CoinWorkDoublerowUpperWork_
 Row upper bounds - working copy.
CoinWorkDoublecolumnUpperWork_
 Column upper bounds - working copy.
CoinWorkDoublecost_
 Working copy of objective.
ClpLsqrlsqrObject_
 Pointer to Lsqr object.
ClpPdcoBasepdcoStuff_
 Pointer to stuff.
CoinWorkDouble mu_
 Below here is standard barrier stuff mu.
CoinWorkDouble objectiveNorm_
 objectiveNorm.
CoinWorkDouble rhsNorm_
 rhsNorm.
CoinWorkDouble solutionNorm_
 solutionNorm.
CoinWorkDouble dualObjective_
 dualObjective.
CoinWorkDouble primalObjective_
 primalObjective.
CoinWorkDouble diagonalNorm_
 diagonalNorm.
CoinWorkDouble stepLength_
 stepLength
CoinWorkDouble linearPerturbation_
 linearPerturbation
CoinWorkDouble diagonalPerturbation_
 diagonalPerturbation
CoinWorkDouble gamma_
CoinWorkDouble delta_
CoinWorkDouble targetGap_
 targetGap
CoinWorkDouble projectionTolerance_
 projectionTolerance
CoinWorkDouble maximumRHSError_
 maximumRHSError. maximum Ax
CoinWorkDouble maximumBoundInfeasibility_
 maximumBoundInfeasibility.
CoinWorkDouble maximumDualError_
 maximumDualError.
CoinWorkDouble diagonalScaleFactor_
 diagonalScaleFactor.
CoinWorkDouble scaleFactor_
 scaleFactor. For scaling objective
CoinWorkDouble actualPrimalStep_
 actualPrimalStep
CoinWorkDouble actualDualStep_
 actualDualStep
CoinWorkDouble smallestInfeasibility_
 smallestInfeasibility
CoinWorkDouble historyInfeasibility_ [LENGTH_HISTORY]
CoinWorkDouble complementarityGap_
 complementarityGap.
CoinWorkDouble baseObjectiveNorm_
 baseObjectiveNorm
CoinWorkDouble worstDirectionAccuracy_
 worstDirectionAccuracy
CoinWorkDouble maximumRHSChange_
 maximumRHSChange
CoinWorkDoubleerrorRegion_
 errorRegion. i.e. Ax
CoinWorkDoublerhsFixRegion_
 rhsFixRegion.
CoinWorkDoubleupperSlack_
 upperSlack
CoinWorkDoublelowerSlack_
 lowerSlack
CoinWorkDoublediagonal_
 diagonal
CoinWorkDoublesolution_
 solution
CoinWorkDoubleworkArray_
 work array
CoinWorkDoubledeltaX_
 delta X
CoinWorkDoubledeltaY_
 delta Y
CoinWorkDoubledeltaZ_
 deltaZ.
CoinWorkDoubledeltaW_
 deltaW.
CoinWorkDoubledeltaSU_
 deltaS.
CoinWorkDoubledeltaSL_
CoinWorkDoubleprimalR_
 Primal regularization array.
CoinWorkDoubledualR_
 Dual regularization array.
CoinWorkDoublerhsB_
 rhs B
CoinWorkDoublerhsU_
 rhsU.
CoinWorkDoublerhsL_
 rhsL.
CoinWorkDoublerhsZ_
 rhsZ.
CoinWorkDoublerhsW_
 rhsW.
CoinWorkDoublerhsC_
 rhs C
CoinWorkDoublezVec_
 zVec
CoinWorkDoublewVec_
 wVec
ClpCholeskyBasecholesky_
 cholesky.
int numberComplementarityPairs_
 numberComplementarityPairs i.e. ones with lower and/or upper bounds (not fixed)
int numberComplementarityItems_
 numberComplementarityItems_ i.e. number of active bounds
int maximumBarrierIterations_
 Maximum iterations.
bool gonePrimalFeasible_
 gonePrimalFeasible.
bool goneDualFeasible_
 goneDualFeasible.
int algorithm_
 Which algorithm being used.

Public Member Functions

Constructors and destructor and copy
 ClpInterior ()
 Default constructor.
 ClpInterior (const ClpInterior &)
 Copy constructor.
 ClpInterior (const ClpModel &)
 Copy constructor from model.
 ClpInterior (const ClpModel *wholeModel, int numberRows, const int *whichRows, int numberColumns, const int *whichColumns, bool dropNames=true, bool dropIntegers=true)
 Subproblem constructor.
ClpInterioroperator= (const ClpInterior &rhs)
 Assignment operator. This copies the data.
 ~ClpInterior ()
 Destructor.
void loadProblem (const ClpMatrixBase &matrix, const double *collb, const double *colub, const double *obj, const double *rowlb, const double *rowub, const double *rowObjective=NULL)
 Loads a problem (the constraints on the rows are given by lower and upper bounds).
void loadProblem (const CoinPackedMatrix &matrix, const double *collb, const double *colub, const double *obj, const double *rowlb, const double *rowub, const double *rowObjective=NULL)
 Default constructor.
void loadProblem (const int numcols, const int numrows, const CoinBigIndex *start, const int *index, const double *value, const double *collb, const double *colub, const double *obj, const double *rowlb, const double *rowub, const double *rowObjective=NULL)
 Just like the other loadProblem() method except that the matrix is given in a standard column major ordered format (without gaps).
void loadProblem (const int numcols, const int numrows, const CoinBigIndex *start, const int *index, const double *value, const int *length, const double *collb, const double *colub, const double *obj, const double *rowlb, const double *rowub, const double *rowObjective=NULL)
 This one is for after presolve to save memory.
int readMps (const char *filename, bool keepNames=false, bool ignoreErrors=false)
 Read an mps file from the given filename.
void borrowModel (ClpModel &otherModel)
 Borrow model.
void returnModel (ClpModel &otherModel)
 Return model - updates any scalars.
Functions most useful to user
int pdco ()
 Pdco algorithm - see ClpPdco.hpp for method.
int pdco (ClpPdcoBase *stuff, Options &options, Info &info, Outfo &outfo)
 Pdco algorithm - see ClpPdco.hpp for method.
int primalDual ()
 Primal-Dual Predictor-Corrector barrier.
most useful gets and sets
bool primalFeasible () const
 If problem is primal feasible.
bool dualFeasible () const
 If problem is dual feasible.
int algorithm () const
 Current (or last) algorithm.
void setAlgorithm (int value)
 Set algorithm.
CoinWorkDouble sumDualInfeasibilities () const
 Sum of dual infeasibilities.
CoinWorkDouble sumPrimalInfeasibilities () const
 Sum of primal infeasibilities.
CoinWorkDouble dualObjective () const
 dualObjective.
CoinWorkDouble primalObjective () const
 primalObjective.
CoinWorkDouble diagonalNorm () const
 diagonalNorm
CoinWorkDouble linearPerturbation () const
 linearPerturbation
void setLinearPerturbation (CoinWorkDouble value)
 If problem is primal feasible.
CoinWorkDouble projectionTolerance () const
 projectionTolerance
void setProjectionTolerance (CoinWorkDouble value)
 If problem is primal feasible.
CoinWorkDouble diagonalPerturbation () const
 diagonalPerturbation
void setDiagonalPerturbation (CoinWorkDouble value)
 If problem is primal feasible.
CoinWorkDouble gamma () const
 gamma
void setGamma (CoinWorkDouble value)
 If problem is primal feasible.
CoinWorkDouble delta () const
 delta
void setDelta (CoinWorkDouble value)
 If problem is primal feasible.
CoinWorkDouble complementarityGap () const
 ComplementarityGap.
most useful gets and sets
CoinWorkDouble largestPrimalError () const
 Largest error on Ax-b.
CoinWorkDouble largestDualError () const
 Largest error on basic duals.
int maximumBarrierIterations () const
 Maximum iterations.
void setMaximumBarrierIterations (int value)
 Largest error on Ax-b.
void setCholesky (ClpCholeskyBase *cholesky)
 Set cholesky (and delete present one).
int numberFixed () const
 Return number fixed to see if worth presolving.
void fixFixed (bool reallyFix=true)
 fix variables interior says should be.
CoinWorkDoubleprimalR () const
 Primal erturbation vector.
CoinWorkDoubledualR () const
 Dual erturbation vector.
public methods
CoinWorkDouble rawObjectiveValue () const
 Raw objective value (so always minimize).
int isColumn (int sequence) const
 Returns 1 if sequence indicates column.
int sequenceWithin (int sequence) const
 Returns sequence number within section.
void checkSolution ()
 Checks solution.
CoinWorkDouble quadraticDjs (CoinWorkDouble *djRegion, const CoinWorkDouble *solution, CoinWorkDouble scaleFactor)
 Modifies djs to allow for quadratic.
void setFixed (int sequence)
 To say a variable is fixed.
void clearFixed (int sequence)
 Raw objective value (so always minimize).
bool fixed (int sequence) const
 Raw objective value (so always minimize).
void setFlagged (int sequence)
 To flag a variable.
void clearFlagged (int sequence)
 Raw objective value (so always minimize).
bool flagged (int sequence) const
 Raw objective value (so always minimize).
void setFixedOrFree (int sequence)
 To say a variable is fixed OR free.
void clearFixedOrFree (int sequence)
 Raw objective value (so always minimize).
bool fixedOrFree (int sequence) const
 Raw objective value (so always minimize).
void setLowerBound (int sequence)
 To say a variable has lower bound.
void clearLowerBound (int sequence)
 Raw objective value (so always minimize).
bool lowerBound (int sequence) const
 Raw objective value (so always minimize).
void setUpperBound (int sequence)
 To say a variable has upper bound.
void clearUpperBound (int sequence)
 Raw objective value (so always minimize).
bool upperBound (int sequence) const
 Raw objective value (so always minimize).
void setFakeLower (int sequence)
 To say a variable has fake lower bound.
void clearFakeLower (int sequence)
 Raw objective value (so always minimize).
bool fakeLower (int sequence) const
 Raw objective value (so always minimize).
void setFakeUpper (int sequence)
 To say a variable has fake upper bound.
void clearFakeUpper (int sequence)
 Raw objective value (so always minimize).
bool fakeUpper (int sequence) const
 Raw objective value (so always minimize).

Protected Member Functions

protected methods
void gutsOfDelete ()
 Does most of deletion.
void gutsOfCopy (const ClpInterior &rhs)
 Does most of copying.
bool createWorkingData ()
 Returns true if data looks okay, false if not.
void deleteWorkingData ()
 Does most of deletion.
bool sanityCheck ()
 Sanity check on input rim data.
int housekeeping ()
 This does housekeeping.

Friends

void ClpInteriorUnitTest (const std::string &mpsDir, const std::string &netlibDir)
 A function that tests the methods in the ClpInterior class.

Detailed Description

This solves LPs using interior point methods.

It inherits from ClpModel and all its arrays are created at algorithm time.

Definition at line 72 of file ClpInterior.hpp.


Constructor & Destructor Documentation

ClpInterior::ClpInterior (  ) 

Default constructor.

ClpInterior::ClpInterior ( const ClpInterior  ) 

Copy constructor.

ClpInterior::ClpInterior ( const ClpModel  ) 

Copy constructor from model.

ClpInterior::ClpInterior ( const ClpModel wholeModel,
int  numberRows,
const int *  whichRows,
int  numberColumns,
const int *  whichColumns,
bool  dropNames = true,
bool  dropIntegers = true 
)

Subproblem constructor.

A subset of whole model is created from the row and column lists given. The new order is given by list order and duplicates are allowed. Name and integer information can be dropped

ClpInterior::~ClpInterior (  ) 

Destructor.


Member Function Documentation

ClpInterior& ClpInterior::operator= ( const ClpInterior rhs  ) 

Assignment operator. This copies the data.

void ClpInterior::loadProblem ( const ClpMatrixBase matrix,
const double *  collb,
const double *  colub,
const double *  obj,
const double *  rowlb,
const double *  rowub,
const double *  rowObjective = NULL 
)

Loads a problem (the constraints on the rows are given by lower and upper bounds).

If a pointer is 0 then the following values are the default:

Reimplemented from ClpModel.

void ClpInterior::loadProblem ( const CoinPackedMatrix matrix,
const double *  collb,
const double *  colub,
const double *  obj,
const double *  rowlb,
const double *  rowub,
const double *  rowObjective = NULL 
)

Default constructor.

Reimplemented from ClpModel.

void ClpInterior::loadProblem ( const int  numcols,
const int  numrows,
const CoinBigIndex start,
const int *  index,
const double *  value,
const double *  collb,
const double *  colub,
const double *  obj,
const double *  rowlb,
const double *  rowub,
const double *  rowObjective = NULL 
)

Just like the other loadProblem() method except that the matrix is given in a standard column major ordered format (without gaps).

Reimplemented from ClpModel.

void ClpInterior::loadProblem ( const int  numcols,
const int  numrows,
const CoinBigIndex start,
const int *  index,
const double *  value,
const int *  length,
const double *  collb,
const double *  colub,
const double *  obj,
const double *  rowlb,
const double *  rowub,
const double *  rowObjective = NULL 
)

This one is for after presolve to save memory.

Reimplemented from ClpModel.

int ClpInterior::readMps ( const char *  filename,
bool  keepNames = false,
bool  ignoreErrors = false 
)

Read an mps file from the given filename.

Reimplemented from ClpModel.

void ClpInterior::borrowModel ( ClpModel otherModel  ) 

Borrow model.

This is so we dont have to copy large amounts of data around. It assumes a derived class wants to overwrite an empty model with a real one - while it does an algorithm. This is same as ClpModel one.

Reimplemented from ClpModel.

void ClpInterior::returnModel ( ClpModel otherModel  ) 

Return model - updates any scalars.

Reimplemented from ClpModel.

int ClpInterior::pdco (  ) 

Pdco algorithm - see ClpPdco.hpp for method.

Reimplemented in ClpPdco.

int ClpInterior::pdco ( ClpPdcoBase stuff,
Options options,
Info info,
Outfo outfo 
)

Pdco algorithm - see ClpPdco.hpp for method.

Reimplemented in ClpPdco.

int ClpInterior::primalDual (  ) 

Primal-Dual Predictor-Corrector barrier.

bool ClpInterior::primalFeasible (  )  const [inline]

If problem is primal feasible.

Definition at line 165 of file ClpInterior.hpp.

References sumPrimalInfeasibilities_.

bool ClpInterior::dualFeasible (  )  const [inline]

If problem is dual feasible.

Definition at line 168 of file ClpInterior.hpp.

References sumDualInfeasibilities_.

int ClpInterior::algorithm (  )  const [inline]

Current (or last) algorithm.

Definition at line 171 of file ClpInterior.hpp.

References algorithm_.

void ClpInterior::setAlgorithm ( int  value  )  [inline]

Set algorithm.

Definition at line 174 of file ClpInterior.hpp.

References algorithm_.

CoinWorkDouble ClpInterior::sumDualInfeasibilities (  )  const [inline]

Sum of dual infeasibilities.

Definition at line 177 of file ClpInterior.hpp.

References sumDualInfeasibilities_.

CoinWorkDouble ClpInterior::sumPrimalInfeasibilities (  )  const [inline]

Sum of primal infeasibilities.

Definition at line 180 of file ClpInterior.hpp.

References sumPrimalInfeasibilities_.

CoinWorkDouble ClpInterior::dualObjective (  )  const [inline]

dualObjective.

Definition at line 183 of file ClpInterior.hpp.

References dualObjective_.

CoinWorkDouble ClpInterior::primalObjective (  )  const [inline]

primalObjective.

Definition at line 186 of file ClpInterior.hpp.

References primalObjective_.

CoinWorkDouble ClpInterior::diagonalNorm (  )  const [inline]

diagonalNorm

Definition at line 189 of file ClpInterior.hpp.

References diagonalNorm_.

CoinWorkDouble ClpInterior::linearPerturbation (  )  const [inline]

linearPerturbation

Definition at line 192 of file ClpInterior.hpp.

References linearPerturbation_.

void ClpInterior::setLinearPerturbation ( CoinWorkDouble  value  )  [inline]

If problem is primal feasible.

Definition at line 194 of file ClpInterior.hpp.

References linearPerturbation_.

CoinWorkDouble ClpInterior::projectionTolerance (  )  const [inline]

projectionTolerance

Definition at line 197 of file ClpInterior.hpp.

References projectionTolerance_.

void ClpInterior::setProjectionTolerance ( CoinWorkDouble  value  )  [inline]

If problem is primal feasible.

Definition at line 199 of file ClpInterior.hpp.

References projectionTolerance_.

CoinWorkDouble ClpInterior::diagonalPerturbation (  )  const [inline]

diagonalPerturbation

Definition at line 202 of file ClpInterior.hpp.

References diagonalPerturbation_.

void ClpInterior::setDiagonalPerturbation ( CoinWorkDouble  value  )  [inline]

If problem is primal feasible.

Definition at line 204 of file ClpInterior.hpp.

References diagonalPerturbation_.

CoinWorkDouble ClpInterior::gamma (  )  const [inline]

gamma

Definition at line 207 of file ClpInterior.hpp.

References gamma_.

void ClpInterior::setGamma ( CoinWorkDouble  value  )  [inline]

If problem is primal feasible.

Definition at line 209 of file ClpInterior.hpp.

References gamma_.

CoinWorkDouble ClpInterior::delta (  )  const [inline]

delta

Definition at line 212 of file ClpInterior.hpp.

References delta_.

void ClpInterior::setDelta ( CoinWorkDouble  value  )  [inline]

If problem is primal feasible.

Definition at line 214 of file ClpInterior.hpp.

References delta_.

CoinWorkDouble ClpInterior::complementarityGap (  )  const [inline]

ComplementarityGap.

Definition at line 217 of file ClpInterior.hpp.

References complementarityGap_.

CoinWorkDouble ClpInterior::largestPrimalError (  )  const [inline]

Largest error on Ax-b.

Definition at line 224 of file ClpInterior.hpp.

References largestPrimalError_.

CoinWorkDouble ClpInterior::largestDualError (  )  const [inline]

Largest error on basic duals.

Definition at line 227 of file ClpInterior.hpp.

References largestDualError_.

int ClpInterior::maximumBarrierIterations (  )  const [inline]

Maximum iterations.

Definition at line 230 of file ClpInterior.hpp.

References maximumBarrierIterations_.

void ClpInterior::setMaximumBarrierIterations ( int  value  )  [inline]

Largest error on Ax-b.

Definition at line 232 of file ClpInterior.hpp.

References maximumBarrierIterations_.

void ClpInterior::setCholesky ( ClpCholeskyBase cholesky  ) 

Set cholesky (and delete present one).

int ClpInterior::numberFixed (  )  const

Return number fixed to see if worth presolving.

void ClpInterior::fixFixed ( bool  reallyFix = true  ) 

fix variables interior says should be.

If reallyFix false then just set values to exact bounds

CoinWorkDouble* ClpInterior::primalR (  )  const [inline]

Primal erturbation vector.

Definition at line 242 of file ClpInterior.hpp.

References primalR_.

CoinWorkDouble* ClpInterior::dualR (  )  const [inline]

Dual erturbation vector.

Definition at line 245 of file ClpInterior.hpp.

References dualR_.

void ClpInterior::gutsOfDelete (  )  [protected]

Does most of deletion.

void ClpInterior::gutsOfCopy ( const ClpInterior rhs  )  [protected]

Does most of copying.

bool ClpInterior::createWorkingData (  )  [protected]

Returns true if data looks okay, false if not.

void ClpInterior::deleteWorkingData (  )  [protected]

Does most of deletion.

bool ClpInterior::sanityCheck (  )  [protected]

Sanity check on input rim data.

int ClpInterior::housekeeping (  )  [protected]

This does housekeeping.

CoinWorkDouble ClpInterior::rawObjectiveValue (  )  const [inline]

Raw objective value (so always minimize).

Reimplemented from ClpModel.

Definition at line 268 of file ClpInterior.hpp.

References ClpModel::objectiveValue_.

int ClpInterior::isColumn ( int  sequence  )  const [inline]

Returns 1 if sequence indicates column.

Definition at line 271 of file ClpInterior.hpp.

References ClpModel::numberColumns_.

int ClpInterior::sequenceWithin ( int  sequence  )  const [inline]

Returns sequence number within section.

Definition at line 274 of file ClpInterior.hpp.

References ClpModel::numberColumns_.

void ClpInterior::checkSolution (  ) 

Checks solution.

CoinWorkDouble ClpInterior::quadraticDjs ( CoinWorkDouble djRegion,
const CoinWorkDouble solution,
CoinWorkDouble  scaleFactor 
)

Modifies djs to allow for quadratic.

returns quadratic offset

void ClpInterior::setFixed ( int  sequence  )  [inline]

To say a variable is fixed.

Definition at line 284 of file ClpInterior.hpp.

References ClpModel::status_.

void ClpInterior::clearFixed ( int  sequence  )  [inline]

Raw objective value (so always minimize).

Definition at line 288 of file ClpInterior.hpp.

References ClpModel::status_.

bool ClpInterior::fixed ( int  sequence  )  const [inline]

Raw objective value (so always minimize).

Definition at line 292 of file ClpInterior.hpp.

References ClpModel::status_.

void ClpInterior::setFlagged ( int  sequence  )  [inline]

To flag a variable.

Definition at line 296 of file ClpInterior.hpp.

References ClpModel::status_.

void ClpInterior::clearFlagged ( int  sequence  )  [inline]

Raw objective value (so always minimize).

Definition at line 300 of file ClpInterior.hpp.

References ClpModel::status_.

bool ClpInterior::flagged ( int  sequence  )  const [inline]

Raw objective value (so always minimize).

Definition at line 304 of file ClpInterior.hpp.

References ClpModel::status_.

void ClpInterior::setFixedOrFree ( int  sequence  )  [inline]

To say a variable is fixed OR free.

Definition at line 308 of file ClpInterior.hpp.

References ClpModel::status_.

void ClpInterior::clearFixedOrFree ( int  sequence  )  [inline]

Raw objective value (so always minimize).

Definition at line 312 of file ClpInterior.hpp.

References ClpModel::status_.

bool ClpInterior::fixedOrFree ( int  sequence  )  const [inline]

Raw objective value (so always minimize).

Definition at line 316 of file ClpInterior.hpp.

References ClpModel::status_.

void ClpInterior::setLowerBound ( int  sequence  )  [inline]

To say a variable has lower bound.

Definition at line 320 of file ClpInterior.hpp.

References ClpModel::status_.

void ClpInterior::clearLowerBound ( int  sequence  )  [inline]

Raw objective value (so always minimize).

Definition at line 324 of file ClpInterior.hpp.

References ClpModel::status_.

bool ClpInterior::lowerBound ( int  sequence  )  const [inline]

Raw objective value (so always minimize).

Definition at line 328 of file ClpInterior.hpp.

References ClpModel::status_.

void ClpInterior::setUpperBound ( int  sequence  )  [inline]

To say a variable has upper bound.

Definition at line 332 of file ClpInterior.hpp.

References ClpModel::status_.

void ClpInterior::clearUpperBound ( int  sequence  )  [inline]

Raw objective value (so always minimize).

Definition at line 336 of file ClpInterior.hpp.

References ClpModel::status_.

bool ClpInterior::upperBound ( int  sequence  )  const [inline]

Raw objective value (so always minimize).

Definition at line 340 of file ClpInterior.hpp.

References ClpModel::status_.

void ClpInterior::setFakeLower ( int  sequence  )  [inline]

To say a variable has fake lower bound.

Definition at line 344 of file ClpInterior.hpp.

References ClpModel::status_.

void ClpInterior::clearFakeLower ( int  sequence  )  [inline]

Raw objective value (so always minimize).

Definition at line 348 of file ClpInterior.hpp.

References ClpModel::status_.

bool ClpInterior::fakeLower ( int  sequence  )  const [inline]

Raw objective value (so always minimize).

Definition at line 352 of file ClpInterior.hpp.

References ClpModel::status_.

void ClpInterior::setFakeUpper ( int  sequence  )  [inline]

To say a variable has fake upper bound.

Definition at line 356 of file ClpInterior.hpp.

References ClpModel::status_.

void ClpInterior::clearFakeUpper ( int  sequence  )  [inline]

Raw objective value (so always minimize).

Definition at line 360 of file ClpInterior.hpp.

References ClpModel::status_.

bool ClpInterior::fakeUpper ( int  sequence  )  const [inline]

Raw objective value (so always minimize).

Definition at line 364 of file ClpInterior.hpp.

References ClpModel::status_.


Friends And Related Function Documentation

void ClpInteriorUnitTest ( const std::string &  mpsDir,
const std::string &  netlibDir 
) [friend]

A function that tests the methods in the ClpInterior class.

The only reason for it not to be a member method is that this way it doesn't have to be compiled into the library. And that's a gain, because the library should be compiled with optimization on, but this method should be compiled with debugging.

It also does some testing of ClpFactorization class


Member Data Documentation

CoinWorkDouble ClpInterior::largestPrimalError_ [protected]

Largest error on Ax-b.

Definition at line 378 of file ClpInterior.hpp.

Referenced by largestPrimalError().

CoinWorkDouble ClpInterior::largestDualError_ [protected]

Largest error on basic duals.

Definition at line 380 of file ClpInterior.hpp.

Referenced by largestDualError().

CoinWorkDouble ClpInterior::sumDualInfeasibilities_ [protected]

Sum of dual infeasibilities.

Definition at line 382 of file ClpInterior.hpp.

Referenced by dualFeasible(), and sumDualInfeasibilities().

CoinWorkDouble ClpInterior::sumPrimalInfeasibilities_ [protected]

Sum of primal infeasibilities.

Definition at line 384 of file ClpInterior.hpp.

Referenced by primalFeasible(), and sumPrimalInfeasibilities().

CoinWorkDouble ClpInterior::worstComplementarity_ [protected]

Worst complementarity.

Definition at line 386 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::xsize_

Definition at line 389 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::zsize_

Definition at line 390 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::lower_ [protected]

Working copy of lower bounds (Owner of arrays below).

Definition at line 393 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::rowLowerWork_ [protected]

Row lower bounds - working copy.

Definition at line 395 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::columnLowerWork_ [protected]

Column lower bounds - working copy.

Definition at line 397 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::upper_ [protected]

Working copy of upper bounds (Owner of arrays below).

Definition at line 399 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::rowUpperWork_ [protected]

Row upper bounds - working copy.

Definition at line 401 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::columnUpperWork_ [protected]

Column upper bounds - working copy.

Definition at line 403 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::cost_ [protected]

Working copy of objective.

Definition at line 405 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::rhs_

Rhs.

Definition at line 408 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::x_

Definition at line 409 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::y_

Definition at line 410 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::dj_

Definition at line 411 of file ClpInterior.hpp.

ClpLsqr* ClpInterior::lsqrObject_ [protected]

Pointer to Lsqr object.

Definition at line 414 of file ClpInterior.hpp.

ClpPdcoBase* ClpInterior::pdcoStuff_ [protected]

Pointer to stuff.

Definition at line 416 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::mu_ [protected]

Below here is standard barrier stuff mu.

Definition at line 419 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::objectiveNorm_ [protected]

objectiveNorm.

Definition at line 421 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::rhsNorm_ [protected]

rhsNorm.

Definition at line 423 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::solutionNorm_ [protected]

solutionNorm.

Definition at line 425 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::dualObjective_ [protected]

dualObjective.

Definition at line 427 of file ClpInterior.hpp.

Referenced by dualObjective().

CoinWorkDouble ClpInterior::primalObjective_ [protected]

primalObjective.

Definition at line 429 of file ClpInterior.hpp.

Referenced by primalObjective().

CoinWorkDouble ClpInterior::diagonalNorm_ [protected]

diagonalNorm.

Definition at line 431 of file ClpInterior.hpp.

Referenced by diagonalNorm().

CoinWorkDouble ClpInterior::stepLength_ [protected]

stepLength

Definition at line 433 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::linearPerturbation_ [protected]

linearPerturbation

Definition at line 435 of file ClpInterior.hpp.

Referenced by linearPerturbation(), and setLinearPerturbation().

CoinWorkDouble ClpInterior::diagonalPerturbation_ [protected]

diagonalPerturbation

Definition at line 437 of file ClpInterior.hpp.

Referenced by diagonalPerturbation(), and setDiagonalPerturbation().

CoinWorkDouble ClpInterior::gamma_ [protected]

Definition at line 439 of file ClpInterior.hpp.

Referenced by gamma(), and setGamma().

CoinWorkDouble ClpInterior::delta_ [protected]

Definition at line 441 of file ClpInterior.hpp.

Referenced by delta(), and setDelta().

CoinWorkDouble ClpInterior::targetGap_ [protected]

targetGap

Definition at line 443 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::projectionTolerance_ [protected]

projectionTolerance

Definition at line 445 of file ClpInterior.hpp.

Referenced by projectionTolerance(), and setProjectionTolerance().

CoinWorkDouble ClpInterior::maximumRHSError_ [protected]

maximumRHSError. maximum Ax

Definition at line 447 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::maximumBoundInfeasibility_ [protected]

maximumBoundInfeasibility.

Definition at line 449 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::maximumDualError_ [protected]

maximumDualError.

Definition at line 451 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::diagonalScaleFactor_ [protected]

diagonalScaleFactor.

Definition at line 453 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::scaleFactor_ [protected]

scaleFactor. For scaling objective

Definition at line 455 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::actualPrimalStep_ [protected]

actualPrimalStep

Definition at line 457 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::actualDualStep_ [protected]

actualDualStep

Definition at line 459 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::smallestInfeasibility_ [protected]

smallestInfeasibility

Definition at line 461 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::historyInfeasibility_[LENGTH_HISTORY] [protected]

Definition at line 464 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::complementarityGap_ [protected]

complementarityGap.

Definition at line 466 of file ClpInterior.hpp.

Referenced by complementarityGap().

CoinWorkDouble ClpInterior::baseObjectiveNorm_ [protected]

baseObjectiveNorm

Definition at line 468 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::worstDirectionAccuracy_ [protected]

worstDirectionAccuracy

Definition at line 470 of file ClpInterior.hpp.

CoinWorkDouble ClpInterior::maximumRHSChange_ [protected]

maximumRHSChange

Definition at line 472 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::errorRegion_ [protected]

errorRegion. i.e. Ax

Definition at line 474 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::rhsFixRegion_ [protected]

rhsFixRegion.

Definition at line 476 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::upperSlack_ [protected]

upperSlack

Definition at line 478 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::lowerSlack_ [protected]

lowerSlack

Definition at line 480 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::diagonal_ [protected]

diagonal

Definition at line 482 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::solution_ [protected]

solution

Definition at line 484 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::workArray_ [protected]

work array

Definition at line 486 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::deltaX_ [protected]

delta X

Definition at line 488 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::deltaY_ [protected]

delta Y

Definition at line 490 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::deltaZ_ [protected]

deltaZ.

Definition at line 492 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::deltaW_ [protected]

deltaW.

Definition at line 494 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::deltaSU_ [protected]

deltaS.

Definition at line 496 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::deltaSL_ [protected]

Definition at line 497 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::primalR_ [protected]

Primal regularization array.

Definition at line 499 of file ClpInterior.hpp.

Referenced by primalR().

CoinWorkDouble* ClpInterior::dualR_ [protected]

Dual regularization array.

Definition at line 501 of file ClpInterior.hpp.

Referenced by dualR().

CoinWorkDouble* ClpInterior::rhsB_ [protected]

rhs B

Definition at line 503 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::rhsU_ [protected]

rhsU.

Definition at line 505 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::rhsL_ [protected]

rhsL.

Definition at line 507 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::rhsZ_ [protected]

rhsZ.

Definition at line 509 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::rhsW_ [protected]

rhsW.

Definition at line 511 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::rhsC_ [protected]

rhs C

Definition at line 513 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::zVec_ [protected]

zVec

Definition at line 515 of file ClpInterior.hpp.

CoinWorkDouble* ClpInterior::wVec_ [protected]

wVec

Definition at line 517 of file ClpInterior.hpp.

ClpCholeskyBase* ClpInterior::cholesky_ [protected]

cholesky.

Definition at line 519 of file ClpInterior.hpp.

int ClpInterior::numberComplementarityPairs_ [protected]

numberComplementarityPairs i.e. ones with lower and/or upper bounds (not fixed)

Definition at line 521 of file ClpInterior.hpp.

int ClpInterior::numberComplementarityItems_ [protected]

numberComplementarityItems_ i.e. number of active bounds

Definition at line 523 of file ClpInterior.hpp.

int ClpInterior::maximumBarrierIterations_ [protected]

Maximum iterations.

Definition at line 525 of file ClpInterior.hpp.

Referenced by maximumBarrierIterations(), and setMaximumBarrierIterations().

bool ClpInterior::gonePrimalFeasible_ [protected]

gonePrimalFeasible.

Definition at line 527 of file ClpInterior.hpp.

bool ClpInterior::goneDualFeasible_ [protected]

goneDualFeasible.

Definition at line 529 of file ClpInterior.hpp.

int ClpInterior::algorithm_ [protected]

Which algorithm being used.

Definition at line 531 of file ClpInterior.hpp.

Referenced by algorithm(), and setAlgorithm().


The documentation for this class was generated from the following file:
Generated on Wed Apr 7 03:07:36 2010 by  doxygen 1.4.7