- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

List of all members
ClpPdco Class Reference

This solves problems in Primal Dual Convex Optimization. More...

`#include <ClpPdco.hpp>`

Inheritance diagram for ClpPdco:
[legend]
Collaboration diagram for ClpPdco:
[legend]

## Public Member Functions
Description of algorithm
int | pdco ()
| Pdco algorithm. More...
int | pdco (ClpPdcoBase *stuff, Options &options, Info &info, Outfo &outfo)
| Pdco algorithm. More...
Functions used in pdco
void | lsqr ()
| LSQR. More...
void | matVecMult (int, double *, double *)
| LSQR. More...
void | matVecMult (int, CoinDenseVector< double > &, double *)
| LSQR. More...
void | matVecMult (int, CoinDenseVector< double > &, CoinDenseVector< double > &)
| LSQR. More...
void | matVecMult (int, CoinDenseVector< double > *, CoinDenseVector< double > *)
| LSQR. More...
void | getBoundTypes (int *, int *, int *, int **)
| LSQR. More...
void | getGrad (CoinDenseVector< double > &x, CoinDenseVector< double > &grad)
| LSQR. More...
void | getHessian (CoinDenseVector< double > &x, CoinDenseVector< double > &H)
| LSQR. More...
double | getObj (CoinDenseVector< double > &x)
| LSQR. More...
void | matPrecon (double, double *, double *)
| LSQR. More...
void | matPrecon (double, CoinDenseVector< double > &, double *)
| LSQR. More...
void | matPrecon (double, CoinDenseVector< double > &, CoinDenseVector< double > &)
| LSQR. More...
void | matPrecon (double, CoinDenseVector< double > *, CoinDenseVector< double > *)
| LSQR. More...
Public Member Functions inherited from ClpInterior
| ClpInterior ()
| Default constructor. More...
| ClpInterior (const ClpInterior &)
| Copy constructor. More...
| ClpInterior (const ClpModel &)
| Copy constructor from model. More...
| ClpInterior (const ClpModel *wholeModel, int numberRows, const int *whichRows, int numberColumns, const int *whichColumns, bool dropNames=true, bool dropIntegers=true)
| Subproblem constructor. More...
ClpInterior & | operator= (const ClpInterior &rhs)
| Assignment operator. This copies the data. More...
| ~ClpInterior ()
| Destructor. More...
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). More...
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. More...
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). More...
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. More...
int | readMps (const char *filename, bool keepNames=false, bool ignoreErrors=false)
| Read an mps file from the given filename. More...
void | borrowModel (ClpModel &otherModel)
| Borrow model. More...
void | returnModel (ClpModel &otherModel)
| Return model - updates any scalars. More...
int | pdco ()
| Pdco algorithm - see ClpPdco.hpp for method. More...
int | pdco (ClpPdcoBase *stuff, Options &options, Info &info, Outfo &outfo)
| Pdco algorithm - see ClpPdco.hpp for method. More...
int | primalDual ()
| Primal-Dual Predictor-Corrector barrier. More...
bool | primalFeasible () const
| If problem is primal feasible. More...
bool | dualFeasible () const
| If problem is dual feasible. More...
int | algorithm () const
| Current (or last) algorithm. More...
void | setAlgorithm (int value)
| Set algorithm. More...
CoinWorkDouble | sumDualInfeasibilities () const
| Sum of dual infeasibilities. More...
CoinWorkDouble | sumPrimalInfeasibilities () const
| Sum of primal infeasibilities. More...
CoinWorkDouble | dualObjective () const
| dualObjective. More...
CoinWorkDouble | primalObjective () const
| primalObjective. More...
CoinWorkDouble | diagonalNorm () const
| diagonalNorm More...
CoinWorkDouble | linearPerturbation () const
| linearPerturbation More...
void | setLinearPerturbation (CoinWorkDouble value)
| If problem is primal feasible. More...
CoinWorkDouble | projectionTolerance () const
| projectionTolerance More...
void | setProjectionTolerance (CoinWorkDouble value)
| If problem is primal feasible. More...
CoinWorkDouble | diagonalPerturbation () const
| diagonalPerturbation More...
void | setDiagonalPerturbation (CoinWorkDouble value)
| If problem is primal feasible. More...
CoinWorkDouble | gamma () const
| gamma More...
void | setGamma (CoinWorkDouble value)
| If problem is primal feasible. More...
CoinWorkDouble | delta () const
| delta More...
void | setDelta (CoinWorkDouble value)
| If problem is primal feasible. More...
CoinWorkDouble | complementarityGap () const
| ComplementarityGap. More...
CoinWorkDouble | largestPrimalError () const
| Largest error on Ax-b. More...
CoinWorkDouble | largestDualError () const
| Largest error on basic duals. More...
int | maximumBarrierIterations () const
| Maximum iterations. More...
void | setMaximumBarrierIterations (int value)
| If problem is primal feasible. More...
void | setCholesky (ClpCholeskyBase *cholesky)
| Set cholesky (and delete present one) More...
int | numberFixed () const
| Return number fixed to see if worth presolving. More...
void | fixFixed (bool reallyFix=true)
| fix variables interior says should be. More...
CoinWorkDouble * | primalR () const
| Primal erturbation vector. More...
CoinWorkDouble * | dualR () const
| Dual erturbation vector. More...
CoinWorkDouble | rawObjectiveValue () const
| Raw objective value (so always minimize) More...
int | isColumn (int sequence) const
| Returns 1 if sequence indicates column. More...
int | sequenceWithin (int sequence) const
| Returns sequence number within section. More...
void | checkSolution ()
| Checks solution. More...
CoinWorkDouble | quadraticDjs (CoinWorkDouble *djRegion, const CoinWorkDouble *solution, CoinWorkDouble scaleFactor)
| Modifies djs to allow for quadratic. More...
void | setFixed (int sequence)
| To say a variable is fixed. More...
void | clearFixed (int sequence)
| Raw objective value (so always minimize) More...
bool | fixed (int sequence) const
| Raw objective value (so always minimize) More...
void | setFlagged (int sequence)
| To flag a variable. More...
void | clearFlagged (int sequence)
| Raw objective value (so always minimize) More...
bool | flagged (int sequence) const
| Raw objective value (so always minimize) More...
void | setFixedOrFree (int sequence)
| To say a variable is fixed OR free. More...
void | clearFixedOrFree (int sequence)
| Raw objective value (so always minimize) More...
bool | fixedOrFree (int sequence) const
| Raw objective value (so always minimize) More...
void | setLowerBound (int sequence)
| To say a variable has lower bound. More...
void | clearLowerBound (int sequence)
| Raw objective value (so always minimize) More...
bool | lowerBound (int sequence) const
| Raw objective value (so always minimize) More...
void | setUpperBound (int sequence)
| To say a variable has upper bound. More...
void | clearUpperBound (int sequence)
| Raw objective value (so always minimize) More...
bool | upperBound (int sequence) const
| Raw objective value (so always minimize) More...
void | setFakeLower (int sequence)
| To say a variable has fake lower bound. More...
void | clearFakeLower (int sequence)
| Raw objective value (so always minimize) More...
bool | fakeLower (int sequence) const
| Raw objective value (so always minimize) More...
void | setFakeUpper (int sequence)
| To say a variable has fake upper bound. More...
void | clearFakeUpper (int sequence)
| Raw objective value (so always minimize) More...
bool | fakeUpper (int sequence) const
| Raw objective value (so always minimize) More...
Public Member Functions inherited from ClpModel
const double * | rowScale () const
| Scaling. More...
const double * | columnScale () const
const double * | inverseRowScale () const
const double * | inverseColumnScale () const
double * | mutableRowScale () const
double * | mutableColumnScale () const
double * | mutableInverseRowScale () const
double * | mutableInverseColumnScale () const
double * | swapRowScale (double *newScale)
void | setRowScale (double *scale)
void | setColumnScale (double *scale)
double | objectiveScale () const
| Scaling of objective. More...
void | setObjectiveScale (double value)
double | rhsScale () const
| Scaling of rhs and bounds. More...
void | setRhsScale (double value)
void | scaling (int mode=1)
| Sets or unsets scaling, 0 -off, 1 equilibrium, 2 geometric, 3 auto, 4 auto-but-as-initialSolve-in-bab. More...
void | unscale ()
| If we constructed a "really" scaled model then this reverses the operation. More...
int | scalingFlag () const
| Gets scalingFlag. More...
double * | objective () const
| Objective. More...
double * | objective (const double *solution, double &offset, bool refresh=true) const
const double * | getObjCoefficients () const
double * | rowObjective () const
| Row Objective. More...
const double * | getRowObjCoefficients () const
double * | columnLower () const
| Column Lower. More...
const double * | getColLower () const
double * | columnUpper () const
| Column Upper. More...
const double * | getColUpper () const
CoinPackedMatrix * | matrix () const
| Matrix (if not ClpPackedmatrix be careful about memory leak. More...
int | getNumElements () const
| Number of elements in matrix. More...
double | getSmallElementValue () const
| Small element value - elements less than this set to zero, default is 1.0e-20. More...
void | setSmallElementValue (double value)
ClpMatrixBase * | rowCopy () const
| Row Matrix. More...
void | setNewRowCopy (ClpMatrixBase *newCopy)
| Set new row matrix. More...
ClpMatrixBase * | clpMatrix () const
| Clp Matrix. More...
ClpPackedMatrix * | clpScaledMatrix () const
| Scaled ClpPackedMatrix. More...
void | setClpScaledMatrix (ClpPackedMatrix *scaledMatrix)
| Sets pointer to scaled ClpPackedMatrix. More...
ClpPackedMatrix * | swapScaledMatrix (ClpPackedMatrix *scaledMatrix)
| Swaps pointer to scaled ClpPackedMatrix. More...
void | replaceMatrix (ClpMatrixBase *matrix, bool deleteCurrent=false)
| Replace Clp Matrix (current is not deleted unless told to and new is used) So up to user to delete current. More...
void | replaceMatrix (CoinPackedMatrix *newmatrix, bool deleteCurrent=false)
| Replace Clp Matrix (current is not deleted unless told to and new is used) So up to user to delete current. More...
double | objectiveValue () const
| Objective value. More...
void | setObjectiveValue (double value)
double | getObjValue () const
char * | integerInformation () const
| Integer information. More...
double * | infeasibilityRay (bool fullRay=false) const
| Infeasibility/unbounded ray (NULL returned if none/wrong) Up to user to use delete [] on these arrays. More...
double * | unboundedRay () const
double * | ray () const
| For advanced users - no need to delete - sign not changed. More...
bool | rayExists () const
| just test if infeasibility or unbounded Ray exists More...
void | deleteRay ()
| just delete ray if exists More...
const double * | internalRay () const
| Access internal ray storage. Users should call infeasibilityRay() or unboundedRay() instead. More...
bool | statusExists () const
| See if status (i.e. basis) array exists (partly for OsiClp) More...
unsigned char * | statusArray () const
| Return address of status (i.e. basis) array (char[numberRows+numberColumns]) More...
unsigned char * | statusCopy () const
| Return copy of status (i.e. More...
void | copyinStatus (const unsigned char *statusArray)
| Copy in status (basis) vector. More...
void | setUserPointer (void *pointer)
| User pointer for whatever reason. More...
void * | getUserPointer () const
void | setTrustedUserPointer (ClpTrustedData *pointer)
| Trusted user pointer. More...
ClpTrustedData * | getTrustedUserPointer () const
int | whatsChanged () const
| What has changed in model (only for masochistic users) More...
void | setWhatsChanged (int value)
int | numberThreads () const
| Number of threads (not really being used) More...
void | setNumberThreads (int value)
| ClpModel (bool emptyMessages=false)
| Default constructor. More...
| ClpModel (const ClpModel &rhs, int scalingMode=-1)
| Copy constructor. More...
ClpModel & | operator= (const ClpModel &rhs)
| Assignment operator. This copies the data. More...
| ClpModel (const ClpModel *wholeModel, int numberRows, const int *whichRows, int numberColumns, const int *whichColumns, bool dropNames=true, bool dropIntegers=true)
| Subproblem constructor. More...
| ~ClpModel ()
| Destructor. More...
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). More...
void | loadProblem (const CoinPackedMatrix &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). More...
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). More...
int | loadProblem (CoinModel &modelObject, bool tryPlusMinusOne=false)
| This loads a model from a coinModel object - returns number of errors. More...
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. More...
void | loadQuadraticObjective (const int numberColumns, const CoinBigIndex *start, const int *column, const double *element)
| Load up quadratic objective. More...
void | loadQuadraticObjective (const CoinPackedMatrix &matrix)
| Loads a problem (the constraints on the rows are given by lower and upper bounds). More...
void | deleteQuadraticObjective ()
| Get rid of quadratic objective. More...
void | setRowObjective (const double *rowObjective)
| This just loads up a row objective. More...
int | readMps (const char *filename, bool keepNames=false, bool ignoreErrors=false)
| Read an mps file from the given filename. More...
int | readGMPL (const char *filename, const char *dataName, bool keepNames=false)
| Read GMPL files from the given filenames. More...
void | copyInIntegerInformation (const char *information)
| Copy in integer informations. More...
void | deleteIntegerInformation ()
| Drop integer informations. More...
void | setContinuous (int index)
| Set the index-th variable to be a continuous variable. More...
void | setInteger (int index)
| Set the index-th variable to be an integer variable. More...
bool | isInteger (int index) const
| Return true if the index-th variable is an integer variable. More...
void | resize (int newNumberRows, int newNumberColumns)
| Resizes rim part of model. More...
void | deleteRows (int number, const int *which)
| Deletes rows. More...
void | addRow (int numberInRow, const int *columns, const double *elements, double rowLower=-COIN_DBL_MAX, double rowUpper=COIN_DBL_MAX)
| Add one row. More...
void | addRows (int number, const double *rowLower, const double *rowUpper, const CoinBigIndex *rowStarts, const int *columns, const double *elements)
| Add rows. More...
void | addRows (int number, const double *rowLower, const double *rowUpper, const CoinBigIndex *rowStarts, const int *rowLengths, const int *columns, const double *elements)
| Add rows. More...
void | addRows (int number, const double *rowLower, const double *rowUpper, const CoinPackedVectorBase *const *rows)
| Loads a problem (the constraints on the rows are given by lower and upper bounds). More...
int | addRows (const CoinBuild &buildObject, bool tryPlusMinusOne=false, bool checkDuplicates=true)
| Add rows from a build object. More...
int | addRows (CoinModel &modelObject, bool tryPlusMinusOne=false, bool checkDuplicates=true)
| Add rows from a model object. More...
void | deleteColumns (int number, const int *which)
| Deletes columns. More...
void | deleteRowsAndColumns (int numberRows, const int *whichRows, int numberColumns, const int *whichColumns)
| Deletes rows AND columns (keeps old sizes) More...
void | addColumn (int numberInColumn, const int *rows, const double *elements, double columnLower=0.0, double columnUpper=COIN_DBL_MAX, double objective=0.0)
| Add one column. More...
void | addColumns (int number, const double *columnLower, const double *columnUpper, const double *objective, const CoinBigIndex *columnStarts, const int *rows, const double *elements)
| Add columns. More...
void | addColumns (int number, const double *columnLower, const double *columnUpper, const double *objective, const CoinBigIndex *columnStarts, const int *columnLengths, const int *rows, const double *elements)
| Loads a problem (the constraints on the rows are given by lower and upper bounds). More...
void | addColumns (int number, const double *columnLower, const double *columnUpper, const double *objective, const CoinPackedVectorBase *const *columns)
| Loads a problem (the constraints on the rows are given by lower and upper bounds). More...
int | addColumns (const CoinBuild &buildObject, bool tryPlusMinusOne=false, bool checkDuplicates=true)
| Add columns from a build object If tryPlusMinusOne then will try adding as +-1 matrix if no matrix exists. More...
int | addColumns (CoinModel &modelObject, bool tryPlusMinusOne=false, bool checkDuplicates=true)
| Add columns from a model object. More...
void | modifyCoefficient (int row, int column, double newElement, bool keepZero=false)
| Modify one element of a matrix. More...
void | chgRowLower (const double *rowLower)
| Change row lower bounds. More...
void | chgRowUpper (const double *rowUpper)
| Change row upper bounds. More...
void | chgColumnLower (const double *columnLower)
| Change column lower bounds. More...
void | chgColumnUpper (const double *columnUpper)
| Change column upper bounds. More...
void | chgObjCoefficients (const double *objIn)
| Change objective coefficients. More...
void | borrowModel (ClpModel &otherModel)
| Borrow model. More...
void | returnModel (ClpModel &otherModel)
| Return model - nulls all arrays so can be deleted safely also updates any scalars. More...
void | createEmptyMatrix ()
| Create empty ClpPackedMatrix. More...
int | cleanMatrix (double threshold=1.0e-20)
| Really clean up matrix (if ClpPackedMatrix). More...
void | copy (const ClpMatrixBase *from, ClpMatrixBase *&to)
| Copy contents - resizing if necessary - otherwise re-use memory. More...
void | dropNames ()
| Drops names - makes lengthnames 0 and names empty. More...
void | copyNames (const std::vector< std::string > &rowNames, const std::vector< std::string > &columnNames)
| Copies in names. More...
void | copyRowNames (const std::vector< std::string > &rowNames, int first, int last)
| Copies in Row names - modifies names first .. last-1. More...
void | copyColumnNames (const std::vector< std::string > &columnNames, int first, int last)
| Copies in Column names - modifies names first .. last-1. More...
void | copyRowNames (const char *const *rowNames, int first, int last)
| Copies in Row names - modifies names first .. last-1. More...
void | copyColumnNames (const char *const *columnNames, int first, int last)
| Copies in Column names - modifies names first .. last-1. More...
void | setRowName (int rowIndex, std::string &name)
| Set name of row. More...
void | setColumnName (int colIndex, std::string &name)
| Set name of col. More...
int | findNetwork (char *rotate, double fractionNeeded=0.75)
| Find a network subset. More...
CoinModel * | createCoinModel () const
| This creates a coinModel object. More...
int | writeMps (const char *filename, int formatType=0, int numberAcross=2, double objSense=0.0) const
| Write the problem in MPS format to the specified file. More...
int | numberRows () const
| Number of rows. More...
int | getNumRows () const
| Number of rows. More...
int | getNumCols () const
| Number of columns. More...
int | numberColumns () const
| Number of rows. More...
double | primalTolerance () const
| Primal tolerance to use. More...
void | setPrimalTolerance (double value)
| Number of rows. More...
double | dualTolerance () const
| Dual tolerance to use. More...
void | setDualTolerance (double value)
| Number of rows. More...
double | primalObjectiveLimit () const
| Primal objective limit. More...
void | setPrimalObjectiveLimit (double value)
| Number of rows. More...
double | dualObjectiveLimit () const
| Dual objective limit. More...
void | setDualObjectiveLimit (double value)
| Number of rows. More...
double | objectiveOffset () const
| Objective offset. More...
void | setObjectiveOffset (double value)
| Number of rows. More...
double | presolveTolerance () const
| Presolve tolerance to use. More...
const std::string & | problemName () const
| Number of rows. More...
int | numberIterations () const
| Number of iterations. More...
int | getIterationCount () const
| Number of rows. More...
void | setNumberIterations (int numberIterationsNew)
| Number of rows. More...
int | solveType () const
| Solve type - 1 simplex, 2 simplex interface, 3 Interior. More...
void | setSolveType (int type)
| Number of rows. More...
int | maximumIterations () const
| Maximum number of iterations. More...
void | setMaximumIterations (int value)
| Number of rows. More...
double | maximumSeconds () const
| Maximum time in seconds (from when set called) More...
void | setMaximumSeconds (double value)
| Number of rows. More...
void | setMaximumWallSeconds (double value)
| Number of rows. More...
bool | hitMaximumIterations () const
| Returns true if hit maximum iterations (or time) More...
int | status () const
| Status of problem: -1 - unknown e.g. More...
int | problemStatus () const
| Number of rows. More...
void | setProblemStatus (int problemStatusNew)
| Set problem status. More...
int | secondaryStatus () const
| Secondary status of problem - may get extended 0 - none 1 - primal infeasible because dual limit reached OR (probably primal infeasible but can't prove it - main status was 4) 2 - scaled problem optimal - unscaled problem has primal infeasibilities 3 - scaled problem optimal - unscaled problem has dual infeasibilities 4 - scaled problem optimal - unscaled problem has primal and dual infeasibilities 5 - giving up in primal with flagged variables 6 - failed due to empty problem check 7 - postSolve says not optimal 8 - failed due to bad element check 9 - status was 3 and stopped on time 10 - status was 3 but stopped as primal feasible 100 up - translation of enum from ClpEventHandler. More...
void | setSecondaryStatus (int newstatus)
| Number of rows. More...
bool | isAbandoned () const
| Are there a numerical difficulties? More...
bool | isProvenOptimal () const
| Is optimality proven? More...
bool | isProvenPrimalInfeasible () const
| Is primal infeasiblity proven? More...
bool | isProvenDualInfeasible () const
| Is dual infeasiblity proven? More...
bool | isPrimalObjectiveLimitReached () const
| Is the given primal objective limit reached? More...
bool | isDualObjectiveLimitReached () const
| Is the given dual objective limit reached? More...
bool | isIterationLimitReached () const
| Iteration limit reached? More...
double | optimizationDirection () const
| Direction of optimization (1 - minimize, -1 - maximize, 0 - ignore. More...
double | getObjSense () const
| Number of rows. More...
void | setOptimizationDirection (double value)
| Number of rows. More...
double * | primalRowSolution () const
| Primal row solution. More...
const double * | getRowActivity () const
| Number of rows. More...
double * | primalColumnSolution () const
| Primal column solution. More...
const double * | getColSolution () const
| Number of rows. More...
void | setColSolution (const double *input)
| Number of rows. More...
double * | dualRowSolution () const
| Dual row solution. More...
const double * | getRowPrice () const
| Number of rows. More...
double * | dualColumnSolution () const
| Reduced costs. More...
const double * | getReducedCost () const
| Number of rows. More...
double * | rowLower () const
| Row lower. More...
const double * | getRowLower () const
| Number of rows. More...
double * | rowUpper () const
| Row upper. More...
const double * | getRowUpper () const
| Number of rows. More...
void | setObjectiveCoefficient (int elementIndex, double elementValue)
| Set an objective function coefficient. More...
void | setObjCoeff (int elementIndex, double elementValue)
| Set an objective function coefficient. More...
void | setColumnLower (int elementIndex, double elementValue)
| Set a single column lower bound Use -DBL_MAX for -infinity. More...
void | setColumnUpper (int elementIndex, double elementValue)
| Set a single column upper bound Use DBL_MAX for infinity. More...
void | setColumnBounds (int elementIndex, double lower, double upper)
| Set a single column lower and upper bound. More...
void | setColumnSetBounds (const int *indexFirst, const int *indexLast, const double *boundList)
| Set the bounds on a number of columns simultaneously The default implementation just invokes setColLower() and setColUpper() over and over again. More...
void | setColLower (int elementIndex, double elementValue)
| Set a single column lower bound Use -DBL_MAX for -infinity. More...
void | setColUpper (int elementIndex, double elementValue)
| Set a single column upper bound Use DBL_MAX for infinity. More...
void | setColBounds (int elementIndex, double lower, double upper)
| Set a single column lower and upper bound. More...
void | setColSetBounds (const int *indexFirst, const int *indexLast, const double *boundList)
| Set the bounds on a number of columns simultaneously More...
void | setRowLower (int elementIndex, double elementValue)
| Set a single row lower bound Use -DBL_MAX for -infinity. More...
void | setRowUpper (int elementIndex, double elementValue)
| Set a single row upper bound Use DBL_MAX for infinity. More...
void | setRowBounds (int elementIndex, double lower, double upper)
| Set a single row lower and upper bound. More...
void | setRowSetBounds (const int *indexFirst, const int *indexLast, const double *boundList)
| Set the bounds on a number of rows simultaneously More...
void | passInMessageHandler (CoinMessageHandler *handler)
| Pass in Message handler (not deleted at end) More...
CoinMessageHandler * | pushMessageHandler (CoinMessageHandler *handler, bool &oldDefault)
| Pass in Message handler (not deleted at end) and return current. More...
void | popMessageHandler (CoinMessageHandler *oldHandler, bool oldDefault)
| back to previous message handler More...
void | newLanguage (CoinMessages::Language language)
| Set language. More...
void | setLanguage (CoinMessages::Language language)
| Pass in Message handler (not deleted at end) More...
void | setDefaultMessageHandler ()
| Overrides message handler with a default one. More...
CoinMessageHandler * | messageHandler () const
| Return handler. More...
CoinMessages | messages () const
| Return messages. More...
CoinMessages * | messagesPointer ()
| Return pointer to messages. More...
CoinMessages | coinMessages () const
| Return Coin messages. More...
CoinMessages * | coinMessagesPointer ()
| Return pointer to Coin messages. More...
void | setLogLevel (int value)
| Amount of print out: 0 - none 1 - just final 2 - just factorizations 3 - as 2 plus a bit more 4 - verbose above that 8,16,32 etc just for selective debug. More...
int | logLevel () const
| Pass in Message handler (not deleted at end) More...
bool | defaultHandler () const
| Return true if default handler. More...
void | passInEventHandler (const ClpEventHandler *eventHandler)
| Pass in Event handler (cloned and deleted at end) More...
ClpEventHandler * | eventHandler () const
| Event handler. More...
CoinThreadRandom * | randomNumberGenerator ()
| Thread specific random number generator. More...
CoinThreadRandom & | mutableRandomNumberGenerator ()
| Thread specific random number generator. More...
void | setRandomSeed (int value)
| Set seed for thread specific random number generator. More...
int | lengthNames () const
| length of names (0 means no names0 More...
void | setLengthNames (int value)
| length of names (0 means no names0 More...
const std::vector< std::string > * | rowNames () const
| Row names. More...
const std::string & | rowName (int iRow) const
| Pass in Message handler (not deleted at end) More...
std::string | getRowName (int iRow) const
| Return name or Rnnnnnnn. More...
const std::vector< std::string > * | columnNames () const
| Column names. More...
const std::string & | columnName (int iColumn) const
| Pass in Message handler (not deleted at end) More...
std::string | getColumnName (int iColumn) const
| Return name or Cnnnnnnn. More...
ClpObjective * | objectiveAsObject () const
| Objective methods. More...
void | setObjective (ClpObjective *objective)
| Pass in Message handler (not deleted at end) More...
void | setObjectivePointer (ClpObjective *newobjective)
| Pass in Message handler (not deleted at end) More...
int | emptyProblem (int *infeasNumber=NULL, double *infeasSum=NULL, bool printMessage=true)
| Solve a problem with no elements - return status and dual and primal infeasibilites. More...
void | times (double scalar, const double *x, double *y) const
| Return `y + A * x * scalar` in `y`. More...
void | transposeTimes (double scalar, const double *x, double *y) const
| Return `y + x * scalar * A` in `y`. More...
bool | setIntParam (ClpIntParam key, int value)
| Set an integer parameter. More...
bool | setDblParam (ClpDblParam key, double value)
| Set an double parameter. More...
bool | setStrParam (ClpStrParam key, const std::string &value)
| Set an string parameter. More...
bool | getIntParam (ClpIntParam key, int &value) const
| Set an integer parameter. More...
bool | getDblParam (ClpDblParam key, double &value) const
| Set an integer parameter. More...
bool | getStrParam (ClpStrParam key, std::string &value) const
| Set an integer parameter. More...
void | generateCpp (FILE *fp)
| Create C++ lines to get to current state. More...
unsigned int | specialOptions () const
| For advanced options 1 - Don't keep changing infeasibility weight 2 - Keep nonLinearCost round solves 4 - Force outgoing variables to exact bound (primal) 8 - Safe to use dense initial factorization 16 -Just use basic variables for operation if column generation 32 -Create ray even in BAB 64 -Treat problem as feasible until last minute (i.e. More...
void | setSpecialOptions (unsigned int value)
| Set an integer parameter. More...
bool | inCbcBranchAndBound () const
| Set an integer parameter. More...

## Additional Inherited Members
Public Attributes inherited from ClpInterior
CoinWorkDouble | xsize_
| Largest error on Ax-b. More...
CoinWorkDouble | zsize_
| Largest error on Ax-b. More...
CoinWorkDouble * | rhs_
| Rhs. More...
CoinWorkDouble * | x_
| Largest error on Ax-b. More...
CoinWorkDouble * | y_
| Largest error on Ax-b. More...
CoinWorkDouble * | dj_
| Largest error on Ax-b. More...
Protected Member Functions inherited from ClpInterior
void | gutsOfDelete ()
| Does most of deletion. More...
void | gutsOfCopy (const ClpInterior &rhs)
| Does most of copying. More...
bool | createWorkingData ()
| Returns true if data looks okay, false if not. More...
void | deleteWorkingData ()
| Does most of deletion. More...
bool | sanityCheck ()
| Sanity check on input rim data. More...
int | housekeeping ()
| This does housekeeping. More...
Protected Member Functions inherited from ClpModel
void | gutsOfDelete (int type)
| Does most of deletion (0 = all, 1 = most) More...
void | gutsOfCopy (const ClpModel &rhs, int trueCopy=1)
| Does most of copying If trueCopy 0 then just points to arrays If -1 leaves as much as possible. More...
void | getRowBound (int iRow, double &lower, double &upper) const
| gets lower and upper bounds on rows More...
void | gutsOfLoadModel (int numberRows, int numberColumns, const double *collb, const double *colub, const double *obj, const double *rowlb, const double *rowub, const double *rowObjective=NULL)
| puts in format I like - 4 array matrix - may make row copy More...
void | gutsOfScaling ()
| Does much of scaling. More...
double | rawObjectiveValue () const
| Objective value - always minimize. More...
bool | permanentArrays () const
| If we are using maximumRows_ and Columns_. More...
void | startPermanentArrays ()
| Start using maximumRows_ and Columns_. More...
void | stopPermanentArrays ()
| Stop using maximumRows_ and Columns_. More...
const char *const * | rowNamesAsChar () const
| Create row names as char **. More...
const char *const * | columnNamesAsChar () const
| Create column names as char **. More...
void | deleteNamesAsChar (const char *const *names, int number) const
| Delete char * version of names. More...
void | onStopped ()
| On stopped - sets secondary status. More...
Protected Attributes inherited from ClpInterior
CoinWorkDouble | largestPrimalError_
| Largest error on Ax-b. More...
CoinWorkDouble | largestDualError_
| Largest error on basic duals. More...
CoinWorkDouble | sumDualInfeasibilities_
| Sum of dual infeasibilities. More...
CoinWorkDouble | sumPrimalInfeasibilities_
| Sum of primal infeasibilities. More...
CoinWorkDouble | worstComplementarity_
| Worst complementarity. More...
CoinWorkDouble * | lower_
| Working copy of lower bounds (Owner of arrays below) More...
CoinWorkDouble * | rowLowerWork_
| Row lower bounds - working copy. More...
CoinWorkDouble * | columnLowerWork_
| Column lower bounds - working copy. More...
CoinWorkDouble * | upper_
| Working copy of upper bounds (Owner of arrays below) More...
CoinWorkDouble * | rowUpperWork_
| Row upper bounds - working copy. More...
CoinWorkDouble * | columnUpperWork_
| Column upper bounds - working copy. More...
CoinWorkDouble * | cost_
| Working copy of objective. More...
ClpLsqr * | lsqrObject_
| Pointer to Lsqr object. More...
ClpPdcoBase * | pdcoStuff_
| Pointer to stuff. More...
CoinWorkDouble | mu_
| Below here is standard barrier stuff mu. More...
CoinWorkDouble | objectiveNorm_
| objectiveNorm. More...
CoinWorkDouble | rhsNorm_
| rhsNorm. More...
CoinWorkDouble | solutionNorm_
| solutionNorm. More...
CoinWorkDouble | dualObjective_
| dualObjective. More...
CoinWorkDouble | primalObjective_
| primalObjective. More...
CoinWorkDouble | diagonalNorm_
| diagonalNorm. More...
CoinWorkDouble | stepLength_
| stepLength More...
CoinWorkDouble | linearPerturbation_
| linearPerturbation More...
CoinWorkDouble | diagonalPerturbation_
| diagonalPerturbation More...
CoinWorkDouble | gamma_
| Largest error on Ax-b. More...
CoinWorkDouble | delta_
| Largest error on Ax-b. More...
CoinWorkDouble | targetGap_
| targetGap More...
CoinWorkDouble | projectionTolerance_
| projectionTolerance More...
CoinWorkDouble | maximumRHSError_
| maximumRHSError. maximum Ax More...
CoinWorkDouble | maximumBoundInfeasibility_
| maximumBoundInfeasibility. More...
CoinWorkDouble | maximumDualError_
| maximumDualError. More...
CoinWorkDouble | diagonalScaleFactor_
| diagonalScaleFactor. More...
CoinWorkDouble | scaleFactor_
| scaleFactor. For scaling objective More...
CoinWorkDouble | actualPrimalStep_
| actualPrimalStep More...
CoinWorkDouble | actualDualStep_
| actualDualStep More...
CoinWorkDouble | smallestInfeasibility_
| smallestInfeasibility More...
CoinWorkDouble | historyInfeasibility_ [LENGTH_HISTORY]
| Largest error on Ax-b. More...
CoinWorkDouble | complementarityGap_
| complementarityGap. More...
CoinWorkDouble | baseObjectiveNorm_
| baseObjectiveNorm More...
CoinWorkDouble | worstDirectionAccuracy_
| worstDirectionAccuracy More...
CoinWorkDouble | maximumRHSChange_
| maximumRHSChange More...
CoinWorkDouble * | errorRegion_
| errorRegion. i.e. Ax More...
CoinWorkDouble * | rhsFixRegion_
| rhsFixRegion. More...
CoinWorkDouble * | upperSlack_
| upperSlack More...
CoinWorkDouble * | lowerSlack_
| lowerSlack More...
CoinWorkDouble * | diagonal_
| diagonal More...
CoinWorkDouble * | solution_
| solution More...
CoinWorkDouble * | workArray_
| work array More...
CoinWorkDouble * | deltaX_
| delta X More...
CoinWorkDouble * | deltaY_
| delta Y More...
CoinWorkDouble * | deltaZ_
| deltaZ. More...
CoinWorkDouble * | deltaW_
| deltaW. More...
CoinWorkDouble * | deltaSU_
| deltaS. More...
CoinWorkDouble * | deltaSL_
| Largest error on Ax-b. More...
CoinWorkDouble * | primalR_
| Primal regularization array. More...
CoinWorkDouble * | dualR_
| Dual regularization array. More...
CoinWorkDouble * | rhsB_
| rhs B More...
CoinWorkDouble * | rhsU_
| rhsU. More...
CoinWorkDouble * | rhsL_
| rhsL. More...
CoinWorkDouble * | rhsZ_
| rhsZ. More...
CoinWorkDouble * | rhsW_
| rhsW. More...
CoinWorkDouble * | rhsC_
| rhs C More...
CoinWorkDouble * | zVec_
| zVec More...
CoinWorkDouble * | wVec_
| wVec More...
ClpCholeskyBase * | cholesky_
| cholesky. More...
int | numberComplementarityPairs_
| numberComplementarityPairs i.e. ones with lower and/or upper bounds (not fixed) More...
int | numberComplementarityItems_
| numberComplementarityItems_ i.e. number of active bounds More...
int | maximumBarrierIterations_
| Maximum iterations. More...
bool | gonePrimalFeasible_
| gonePrimalFeasible. More...
bool | goneDualFeasible_
| goneDualFeasible. More...
int | algorithm_
| Which algorithm being used. More...
Protected Attributes inherited from ClpModel
double | optimizationDirection_
| Direction of optimization (1 - minimize, -1 - maximize, 0 - ignore. More...
double | dblParam_ [ClpLastDblParam]
| Array of double parameters. More...
double | objectiveValue_
| Objective value. More...
double | smallElement_
| Small element value. More...
double | objectiveScale_
| Scaling of objective. More...
double | rhsScale_
| Scaling of rhs and bounds. More...
int | numberRows_
| Number of rows. More...
int | numberColumns_
| Number of columns. More...
double * | rowActivity_
| Row activities. More...
double * | columnActivity_
| Column activities. More...
double * | dual_
| Duals. More...
double * | reducedCost_
| Reduced costs. More...
double * | rowLower_
| Row lower. More...
double * | rowUpper_
| Row upper. More...
ClpObjective * | objective_
| Objective. More...
double * | rowObjective_
| Row Objective (? sign) - may be NULL. More...
double * | columnLower_
| Column Lower. More...
double * | columnUpper_
| Column Upper. More...
ClpMatrixBase * | matrix_
| Packed matrix. More...
ClpMatrixBase * | rowCopy_
| Row copy if wanted. More...
ClpPackedMatrix * | scaledMatrix_
| Scaled packed matrix. More...
double * | ray_
| Infeasible/unbounded ray. More...
double * | rowScale_
| Row scale factors for matrix. More...
double * | columnScale_
| Column scale factors. More...
double * | inverseRowScale_
| Inverse row scale factors for matrix (end of rowScale_) More...
double * | inverseColumnScale_
| Inverse column scale factors for matrix (end of columnScale_) More...
int | scalingFlag_
| Scale flag, 0 none, 1 equilibrium, 2 geometric, 3, auto, 4 dynamic, 5 geometric on rows. More...
unsigned char * | status_
| Status (i.e. More...
char * | integerType_
| Integer information. More...
void * | userPointer_
| User pointer for whatever reason. More...
ClpTrustedData * | trustedUserPointer_
| Trusted user pointer e.g. for heuristics. More...
int | intParam_ [ClpLastIntParam]
| Array of integer parameters. More...
int | numberIterations_
| Number of iterations. More...
int | solveType_
| Solve type - 1 simplex, 2 simplex interface, 3 Interior. More...
unsigned int | whatsChanged_
| Direction of optimization (1 - minimize, -1 - maximize, 0 - ignore. More...
int | problemStatus_
| Status of problem. More...
int | secondaryStatus_
| Secondary status of problem. More...
int | lengthNames_
| length of names (0 means no names) More...
int | numberThreads_
| Number of threads (not very operational) More...
unsigned int | specialOptions_
| For advanced options See get and set for meaning. More...
CoinMessageHandler * | handler_
| Message handler. More...
bool | defaultHandler_
| Flag to say if default handler (so delete) More...
CoinThreadRandom | randomNumberGenerator_
| Thread specific random number generator. More...
ClpEventHandler * | eventHandler_
| Event handler. More...
std::vector< std::string > | rowNames_
| Row names. More...
std::vector< std::string > | columnNames_
| Column names. More...
CoinMessages | messages_
| Messages. More...
CoinMessages | coinMessages_
| Coin messages. More...
int | maximumColumns_
| Maximum number of columns in model. More...
int | maximumRows_
| Maximum number of rows in model. More...
int | maximumInternalColumns_
| Maximum number of columns (internal arrays) in model. More...
int | maximumInternalRows_
| Maximum number of rows (internal arrays) in model. More...
CoinPackedMatrix | baseMatrix_
| Base packed matrix. More...
CoinPackedMatrix | baseRowCopy_
| Base row copy. More...
double * | savedRowScale_
| Saved row scale factors for matrix. More...
double * | savedColumnScale_
| Saved column scale factors. More...
std::string | strParam_ [ClpLastStrParam]
| Array of string parameters. More...

## Detailed Description

This solves problems in Primal Dual Convex Optimization.

It inherits from ClpInterior. It has no data of its own and is never created - only cast from a ClpInterior object at algorithm time.

Definition at line 22 of file ClpPdco.hpp.

## Member Function Documentation

int ClpPdco::pdco | ( |  | ) |

Pdco algorithm.

Method

int ClpPdco::pdco | ( | ClpPdcoBase * | stuff,
|  | Options & | options,
|  | Info & | info,
|  | Outfo & | outfo
| ) |  |

Pdco algorithm.

Method

void ClpPdco::lsqr | ( |  | ) |

LSQR.

void ClpPdco::matVecMult | ( | int | ,
|  | double * | ,
|  | double * |
| ) |  |

LSQR.

void ClpPdco::matVecMult | ( | int | ,
|  | CoinDenseVector< double > & | ,
|  | double * |
| ) |  |

LSQR.

void ClpPdco::matVecMult | ( | int | ,
|  | CoinDenseVector< double > & | ,
|  | CoinDenseVector< double > & |
| ) |  |

LSQR.

void ClpPdco::matVecMult | ( | int | ,
|  | CoinDenseVector< double > * | ,
|  | CoinDenseVector< double > * |
| ) |  |

LSQR.

void ClpPdco::getBoundTypes | ( | int * | ,
|  | int * | ,
|  | int * | ,
|  | int ** |
| ) |  |

LSQR.

void ClpPdco::getGrad | ( | CoinDenseVector< double > & | x,
|  | CoinDenseVector< double > & | grad
| ) |  |

LSQR.

void ClpPdco::getHessian | ( | CoinDenseVector< double > & | x,
|  | CoinDenseVector< double > & | H
| ) |  |

LSQR.

double ClpPdco::getObj | ( | CoinDenseVector< double > & | x | ) |

LSQR.

void ClpPdco::matPrecon | ( | double | ,
|  | double * | ,
|  | double * |
| ) |  |

LSQR.

void ClpPdco::matPrecon | ( | double | ,
|  | CoinDenseVector< double > & | ,
|  | double * |
| ) |  |

LSQR.

void ClpPdco::matPrecon | ( | double | ,
|  | CoinDenseVector< double > & | ,
|  | CoinDenseVector< double > & |
| ) |  |

LSQR.

void ClpPdco::matPrecon | ( | double | ,
|  | CoinDenseVector< double > * | ,
|  | CoinDenseVector< double > * |
| ) |  |

LSQR.

The documentation for this class was generated from the following file:

- /tmp/CHiPPS-Blis-0.94.3/Clp/src/ClpPdco.hpp