This solves LPs using interior point methods. More...
#include <ClpInterior.hpp>
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. | |
ClpInterior & | operator= (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. | |
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) |
If problem is primal feasible. | |
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. | |
CoinWorkDouble * | primalR () const |
Primal erturbation vector. | |
CoinWorkDouble * | dualR () 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. | |
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 | 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. | |
CoinWorkDouble * | lower_ |
Working copy of lower bounds (Owner of arrays below) | |
CoinWorkDouble * | rowLowerWork_ |
Row lower bounds - working copy. | |
CoinWorkDouble * | columnLowerWork_ |
Column lower bounds - working copy. | |
CoinWorkDouble * | upper_ |
Working copy of upper bounds (Owner of arrays below) | |
CoinWorkDouble * | rowUpperWork_ |
Row upper bounds - working copy. | |
CoinWorkDouble * | columnUpperWork_ |
Column upper bounds - working copy. | |
CoinWorkDouble * | cost_ |
Working copy of objective. | |
ClpLsqr * | lsqrObject_ |
Pointer to Lsqr object. | |
ClpPdcoBase * | pdcoStuff_ |
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_ |
Largest error on Ax-b. | |
CoinWorkDouble | delta_ |
Largest error on Ax-b. | |
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] |
Largest error on Ax-b. | |
CoinWorkDouble | complementarityGap_ |
complementarityGap. | |
CoinWorkDouble | baseObjectiveNorm_ |
baseObjectiveNorm | |
CoinWorkDouble | worstDirectionAccuracy_ |
worstDirectionAccuracy | |
CoinWorkDouble | maximumRHSChange_ |
maximumRHSChange | |
CoinWorkDouble * | errorRegion_ |
errorRegion. i.e. Ax | |
CoinWorkDouble * | rhsFixRegion_ |
rhsFixRegion. | |
CoinWorkDouble * | upperSlack_ |
upperSlack | |
CoinWorkDouble * | lowerSlack_ |
lowerSlack | |
CoinWorkDouble * | diagonal_ |
diagonal | |
CoinWorkDouble * | solution_ |
solution | |
CoinWorkDouble * | workArray_ |
work array | |
CoinWorkDouble * | deltaX_ |
delta X | |
CoinWorkDouble * | deltaY_ |
delta Y | |
CoinWorkDouble * | deltaZ_ |
deltaZ. | |
CoinWorkDouble * | deltaW_ |
deltaW. | |
CoinWorkDouble * | deltaSU_ |
deltaS. | |
CoinWorkDouble * | deltaSL_ |
Largest error on Ax-b. | |
CoinWorkDouble * | primalR_ |
Primal regularization array. | |
CoinWorkDouble * | dualR_ |
Dual regularization array. | |
CoinWorkDouble * | rhsB_ |
rhs B | |
CoinWorkDouble * | rhsU_ |
rhsU. | |
CoinWorkDouble * | rhsL_ |
rhsL. | |
CoinWorkDouble * | rhsZ_ |
rhsZ. | |
CoinWorkDouble * | rhsW_ |
rhsW. | |
CoinWorkDouble * | rhsC_ |
rhs C | |
CoinWorkDouble * | zVec_ |
zVec | |
CoinWorkDouble * | wVec_ |
wVec | |
ClpCholeskyBase * | cholesky_ |
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. | |
CoinWorkDouble | xsize_ |
Largest error on Ax-b. | |
CoinWorkDouble | zsize_ |
Largest error on Ax-b. | |
CoinWorkDouble * | rhs_ |
Rhs. | |
CoinWorkDouble * | x_ |
Largest error on Ax-b. | |
CoinWorkDouble * | y_ |
Largest error on Ax-b. | |
CoinWorkDouble * | dj_ |
Largest error on Ax-b. |
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.
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
Destructor.
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:
colub
: all columns have upper bound infinity collb
: all columns have lower bound 0 rowub
: all rows have upper bound infinity rowlb
: all rows have lower bound -infinity obj
: all variables have 0 objective coefficient 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 | ) |
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.
bool ClpInterior::dualFeasible | ( | ) | const [inline] |
If problem is dual feasible.
Definition at line 169 of file ClpInterior.hpp.
int ClpInterior::algorithm | ( | ) | const [inline] |
Current (or last) algorithm.
Definition at line 173 of file ClpInterior.hpp.
void ClpInterior::setAlgorithm | ( | int | value | ) | [inline] |
Set algorithm.
Definition at line 177 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::sumDualInfeasibilities | ( | ) | const [inline] |
Sum of dual infeasibilities.
Definition at line 181 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::sumPrimalInfeasibilities | ( | ) | const [inline] |
Sum of primal infeasibilities.
Definition at line 185 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::dualObjective | ( | ) | const [inline] |
dualObjective.
Definition at line 189 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::primalObjective | ( | ) | const [inline] |
primalObjective.
Definition at line 193 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::diagonalNorm | ( | ) | const [inline] |
diagonalNorm
Definition at line 197 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::linearPerturbation | ( | ) | const [inline] |
linearPerturbation
Definition at line 201 of file ClpInterior.hpp.
void ClpInterior::setLinearPerturbation | ( | CoinWorkDouble | value | ) | [inline] |
If problem is primal feasible.
Definition at line 204 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::projectionTolerance | ( | ) | const [inline] |
projectionTolerance
Definition at line 208 of file ClpInterior.hpp.
void ClpInterior::setProjectionTolerance | ( | CoinWorkDouble | value | ) | [inline] |
If problem is primal feasible.
Definition at line 211 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::diagonalPerturbation | ( | ) | const [inline] |
diagonalPerturbation
Definition at line 215 of file ClpInterior.hpp.
void ClpInterior::setDiagonalPerturbation | ( | CoinWorkDouble | value | ) | [inline] |
If problem is primal feasible.
Definition at line 218 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::gamma | ( | ) | const [inline] |
gamma
Definition at line 222 of file ClpInterior.hpp.
void ClpInterior::setGamma | ( | CoinWorkDouble | value | ) | [inline] |
If problem is primal feasible.
Definition at line 225 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::delta | ( | ) | const [inline] |
delta
Definition at line 229 of file ClpInterior.hpp.
void ClpInterior::setDelta | ( | CoinWorkDouble | value | ) | [inline] |
If problem is primal feasible.
Definition at line 232 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::complementarityGap | ( | ) | const [inline] |
ComplementarityGap.
Definition at line 236 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::largestPrimalError | ( | ) | const [inline] |
Largest error on Ax-b.
Definition at line 244 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::largestDualError | ( | ) | const [inline] |
Largest error on basic duals.
Definition at line 248 of file ClpInterior.hpp.
int ClpInterior::maximumBarrierIterations | ( | ) | const [inline] |
Maximum iterations.
Definition at line 252 of file ClpInterior.hpp.
void ClpInterior::setMaximumBarrierIterations | ( | int | value | ) | [inline] |
If problem is primal feasible.
Definition at line 255 of file ClpInterior.hpp.
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 266 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::dualR | ( | ) | const [inline] |
Dual erturbation vector.
Definition at line 270 of file ClpInterior.hpp.
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 294 of file ClpInterior.hpp.
int ClpInterior::isColumn | ( | int | sequence | ) | const [inline] |
Returns 1 if sequence indicates column.
Definition at line 298 of file ClpInterior.hpp.
int ClpInterior::sequenceWithin | ( | int | sequence | ) | const [inline] |
Returns sequence number within section.
Definition at line 302 of file ClpInterior.hpp.
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 313 of file ClpInterior.hpp.
void ClpInterior::clearFixed | ( | int | sequence | ) | [inline] |
Raw objective value (so always minimize)
Definition at line 316 of file ClpInterior.hpp.
bool ClpInterior::fixed | ( | int | sequence | ) | const [inline] |
Raw objective value (so always minimize)
Definition at line 319 of file ClpInterior.hpp.
void ClpInterior::setFlagged | ( | int | sequence | ) | [inline] |
To flag a variable.
Definition at line 324 of file ClpInterior.hpp.
void ClpInterior::clearFlagged | ( | int | sequence | ) | [inline] |
Raw objective value (so always minimize)
Definition at line 327 of file ClpInterior.hpp.
bool ClpInterior::flagged | ( | int | sequence | ) | const [inline] |
Raw objective value (so always minimize)
Definition at line 330 of file ClpInterior.hpp.
void ClpInterior::setFixedOrFree | ( | int | sequence | ) | [inline] |
To say a variable is fixed OR free.
Definition at line 335 of file ClpInterior.hpp.
void ClpInterior::clearFixedOrFree | ( | int | sequence | ) | [inline] |
Raw objective value (so always minimize)
Definition at line 338 of file ClpInterior.hpp.
bool ClpInterior::fixedOrFree | ( | int | sequence | ) | const [inline] |
Raw objective value (so always minimize)
Definition at line 341 of file ClpInterior.hpp.
void ClpInterior::setLowerBound | ( | int | sequence | ) | [inline] |
To say a variable has lower bound.
Definition at line 346 of file ClpInterior.hpp.
void ClpInterior::clearLowerBound | ( | int | sequence | ) | [inline] |
Raw objective value (so always minimize)
Definition at line 349 of file ClpInterior.hpp.
bool ClpInterior::lowerBound | ( | int | sequence | ) | const [inline] |
Raw objective value (so always minimize)
Definition at line 352 of file ClpInterior.hpp.
void ClpInterior::setUpperBound | ( | int | sequence | ) | [inline] |
To say a variable has upper bound.
Definition at line 357 of file ClpInterior.hpp.
void ClpInterior::clearUpperBound | ( | int | sequence | ) | [inline] |
Raw objective value (so always minimize)
Definition at line 360 of file ClpInterior.hpp.
bool ClpInterior::upperBound | ( | int | sequence | ) | const [inline] |
Raw objective value (so always minimize)
Definition at line 363 of file ClpInterior.hpp.
void ClpInterior::setFakeLower | ( | int | sequence | ) | [inline] |
To say a variable has fake lower bound.
Definition at line 368 of file ClpInterior.hpp.
void ClpInterior::clearFakeLower | ( | int | sequence | ) | [inline] |
Raw objective value (so always minimize)
Definition at line 371 of file ClpInterior.hpp.
bool ClpInterior::fakeLower | ( | int | sequence | ) | const [inline] |
Raw objective value (so always minimize)
Definition at line 374 of file ClpInterior.hpp.
void ClpInterior::setFakeUpper | ( | int | sequence | ) | [inline] |
To say a variable has fake upper bound.
Definition at line 379 of file ClpInterior.hpp.
void ClpInterior::clearFakeUpper | ( | int | sequence | ) | [inline] |
Raw objective value (so always minimize)
Definition at line 382 of file ClpInterior.hpp.
bool ClpInterior::fakeUpper | ( | int | sequence | ) | const [inline] |
Raw objective value (so always minimize)
Definition at line 385 of file ClpInterior.hpp.
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
CoinWorkDouble ClpInterior::largestPrimalError_ [protected] |
Largest error on Ax-b.
Definition at line 400 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::largestDualError_ [protected] |
Largest error on basic duals.
Definition at line 402 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::sumDualInfeasibilities_ [protected] |
Sum of dual infeasibilities.
Definition at line 404 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::sumPrimalInfeasibilities_ [protected] |
Sum of primal infeasibilities.
Definition at line 406 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::worstComplementarity_ [protected] |
Worst complementarity.
Definition at line 408 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::xsize_ |
Largest error on Ax-b.
Definition at line 411 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::zsize_ |
Largest error on Ax-b.
Definition at line 412 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::lower_ [protected] |
Working copy of lower bounds (Owner of arrays below)
Definition at line 415 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::rowLowerWork_ [protected] |
Row lower bounds - working copy.
Definition at line 417 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::columnLowerWork_ [protected] |
Column lower bounds - working copy.
Definition at line 419 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::upper_ [protected] |
Working copy of upper bounds (Owner of arrays below)
Definition at line 421 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::rowUpperWork_ [protected] |
Row upper bounds - working copy.
Definition at line 423 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::columnUpperWork_ [protected] |
Column upper bounds - working copy.
Definition at line 425 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::cost_ [protected] |
Working copy of objective.
Definition at line 427 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::rhs_ |
Rhs.
Definition at line 430 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::x_ |
Largest error on Ax-b.
Definition at line 431 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::y_ |
Largest error on Ax-b.
Definition at line 432 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::dj_ |
Largest error on Ax-b.
Definition at line 433 of file ClpInterior.hpp.
ClpLsqr* ClpInterior::lsqrObject_ [protected] |
Pointer to Lsqr object.
Definition at line 436 of file ClpInterior.hpp.
ClpPdcoBase* ClpInterior::pdcoStuff_ [protected] |
Pointer to stuff.
Definition at line 438 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::mu_ [protected] |
Below here is standard barrier stuff mu.
Definition at line 441 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::objectiveNorm_ [protected] |
objectiveNorm.
Definition at line 443 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::rhsNorm_ [protected] |
rhsNorm.
Definition at line 445 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::solutionNorm_ [protected] |
solutionNorm.
Definition at line 447 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::dualObjective_ [protected] |
dualObjective.
Definition at line 449 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::primalObjective_ [protected] |
primalObjective.
Definition at line 451 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::diagonalNorm_ [protected] |
diagonalNorm.
Definition at line 453 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::stepLength_ [protected] |
stepLength
Definition at line 455 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::linearPerturbation_ [protected] |
linearPerturbation
Definition at line 457 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::diagonalPerturbation_ [protected] |
diagonalPerturbation
Definition at line 459 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::gamma_ [protected] |
Largest error on Ax-b.
Definition at line 461 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::delta_ [protected] |
Largest error on Ax-b.
Definition at line 463 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::targetGap_ [protected] |
targetGap
Definition at line 465 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::projectionTolerance_ [protected] |
projectionTolerance
Definition at line 467 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::maximumRHSError_ [protected] |
maximumRHSError. maximum Ax
Definition at line 469 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::maximumBoundInfeasibility_ [protected] |
maximumBoundInfeasibility.
Definition at line 471 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::maximumDualError_ [protected] |
maximumDualError.
Definition at line 473 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::diagonalScaleFactor_ [protected] |
diagonalScaleFactor.
Definition at line 475 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::scaleFactor_ [protected] |
scaleFactor. For scaling objective
Definition at line 477 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::actualPrimalStep_ [protected] |
actualPrimalStep
Definition at line 479 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::actualDualStep_ [protected] |
actualDualStep
Definition at line 481 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::smallestInfeasibility_ [protected] |
smallestInfeasibility
Definition at line 483 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::historyInfeasibility_[LENGTH_HISTORY] [protected] |
Largest error on Ax-b.
Definition at line 486 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::complementarityGap_ [protected] |
complementarityGap.
Definition at line 488 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::baseObjectiveNorm_ [protected] |
baseObjectiveNorm
Definition at line 490 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::worstDirectionAccuracy_ [protected] |
worstDirectionAccuracy
Definition at line 492 of file ClpInterior.hpp.
CoinWorkDouble ClpInterior::maximumRHSChange_ [protected] |
maximumRHSChange
Definition at line 494 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::errorRegion_ [protected] |
errorRegion. i.e. Ax
Definition at line 496 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::rhsFixRegion_ [protected] |
rhsFixRegion.
Definition at line 498 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::upperSlack_ [protected] |
upperSlack
Definition at line 500 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::lowerSlack_ [protected] |
lowerSlack
Definition at line 502 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::diagonal_ [protected] |
diagonal
Definition at line 504 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::solution_ [protected] |
solution
Definition at line 506 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::workArray_ [protected] |
work array
Definition at line 508 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::deltaX_ [protected] |
delta X
Definition at line 510 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::deltaY_ [protected] |
delta Y
Definition at line 512 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::deltaZ_ [protected] |
deltaZ.
Definition at line 514 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::deltaW_ [protected] |
deltaW.
Definition at line 516 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::deltaSU_ [protected] |
deltaS.
Definition at line 518 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::deltaSL_ [protected] |
Largest error on Ax-b.
Definition at line 519 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::primalR_ [protected] |
Primal regularization array.
Definition at line 521 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::dualR_ [protected] |
Dual regularization array.
Definition at line 523 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::rhsB_ [protected] |
rhs B
Definition at line 525 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::rhsU_ [protected] |
rhsU.
Definition at line 527 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::rhsL_ [protected] |
rhsL.
Definition at line 529 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::rhsZ_ [protected] |
rhsZ.
Definition at line 531 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::rhsW_ [protected] |
rhsW.
Definition at line 533 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::rhsC_ [protected] |
rhs C
Definition at line 535 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::zVec_ [protected] |
zVec
Definition at line 537 of file ClpInterior.hpp.
CoinWorkDouble* ClpInterior::wVec_ [protected] |
wVec
Definition at line 539 of file ClpInterior.hpp.
ClpCholeskyBase* ClpInterior::cholesky_ [protected] |
cholesky.
Definition at line 541 of file ClpInterior.hpp.
int ClpInterior::numberComplementarityPairs_ [protected] |
numberComplementarityPairs i.e. ones with lower and/or upper bounds (not fixed)
Definition at line 543 of file ClpInterior.hpp.
int ClpInterior::numberComplementarityItems_ [protected] |
numberComplementarityItems_ i.e. number of active bounds
Definition at line 545 of file ClpInterior.hpp.
int ClpInterior::maximumBarrierIterations_ [protected] |
Maximum iterations.
Definition at line 547 of file ClpInterior.hpp.
bool ClpInterior::gonePrimalFeasible_ [protected] |
gonePrimalFeasible.
Definition at line 549 of file ClpInterior.hpp.
bool ClpInterior::goneDualFeasible_ [protected] |
goneDualFeasible.
Definition at line 551 of file ClpInterior.hpp.
int ClpInterior::algorithm_ [protected] |
Which algorithm being used.
Definition at line 553 of file ClpInterior.hpp.