|
Cbc
2.10.5
|
This solves problems in Primal Dual Convex Optimization. More...
#include <ClpPdco.hpp>
Inheritance diagram for ClpPdco:
Collaboration diagram for ClpPdco:Public Member Functions | |
Description of algorithm | |
| int | pdco () |
| Pdco algorithm. More... | |
| int | pdco (ClpPdcoBase *stuff, Options &options, Info &info, Outfo &outfo) |
Functions used in pdco | |
| void | lsqr () |
| LSQR. More... | |
| void | matVecMult (int, double *, double *) |
| void | matVecMult (int, CoinDenseVector< double > &, double *) |
| void | matVecMult (int, CoinDenseVector< double > &, CoinDenseVector< double > &) |
| void | matVecMult (int, CoinDenseVector< double > *, CoinDenseVector< double > *) |
| void | getBoundTypes (int *, int *, int *, int **) |
| void | getGrad (CoinDenseVector< double > &x, CoinDenseVector< double > &grad) |
| void | getHessian (CoinDenseVector< double > &x, CoinDenseVector< double > &H) |
| double | getObj (CoinDenseVector< double > &x) |
| void | matPrecon (double, double *, double *) |
| void | matPrecon (double, CoinDenseVector< double > &, double *) |
| void | matPrecon (double, CoinDenseVector< double > &, CoinDenseVector< double > &) |
| void | matPrecon (double, CoinDenseVector< double > *, CoinDenseVector< double > *) |
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) |
| 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) |
| 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) |
| CoinWorkDouble | projectionTolerance () const |
| projectionTolerance More... | |
| void | setProjectionTolerance (CoinWorkDouble value) |
| CoinWorkDouble | diagonalPerturbation () const |
| diagonalPerturbation More... | |
| void | setDiagonalPerturbation (CoinWorkDouble value) |
| CoinWorkDouble | gamma () const |
| gamma More... | |
| void | setGamma (CoinWorkDouble value) |
| CoinWorkDouble | delta () const |
| delta More... | |
| void | setDelta (CoinWorkDouble value) |
| 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) |
| 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) |
| bool | fixed (int sequence) const |
| void | setFlagged (int sequence) |
| To flag a variable. More... | |
| void | clearFlagged (int sequence) |
| bool | flagged (int sequence) const |
| void | setFixedOrFree (int sequence) |
| To say a variable is fixed OR free. More... | |
| void | clearFixedOrFree (int sequence) |
| bool | fixedOrFree (int sequence) const |
| void | setLowerBound (int sequence) |
| To say a variable has lower bound. More... | |
| void | clearLowerBound (int sequence) |
| bool | lowerBound (int sequence) const |
| void | setUpperBound (int sequence) |
| To say a variable has upper bound. More... | |
| void | clearUpperBound (int sequence) |
| bool | upperBound (int sequence) const |
| void | setFakeLower (int sequence) |
| To say a variable has fake lower bound. More... | |
| void | clearFakeLower (int sequence) |
| bool | fakeLower (int sequence) const |
| void | setFakeUpper (int sequence) |
| To say a variable has fake upper bound. More... | |
| void | clearFakeUpper (int sequence) |
| bool | fakeUpper (int sequence) const |
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... | |
| CoinBigIndex | 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... | |
| int | numberRows () const |
| Number of rows. More... | |
| int | getNumRows () const |
| int | getNumCols () const |
| Number of columns. More... | |
| int | numberColumns () const |
| double | primalTolerance () const |
| Primal tolerance to use. More... | |
| void | setPrimalTolerance (double value) |
| double | dualTolerance () const |
| Dual tolerance to use. More... | |
| void | setDualTolerance (double value) |
| double | primalObjectiveLimit () const |
| Primal objective limit. More... | |
| void | setPrimalObjectiveLimit (double value) |
| double | dualObjectiveLimit () const |
| Dual objective limit. More... | |
| void | setDualObjectiveLimit (double value) |
| double | objectiveOffset () const |
| Objective offset. More... | |
| void | setObjectiveOffset (double value) |
| double | presolveTolerance () const |
| Presolve tolerance to use. More... | |
| const std::string & | problemName () const |
| int | numberIterations () const |
| Number of iterations. More... | |
| int | getIterationCount () const |
| void | setNumberIterations (int numberIterationsNew) |
| int | solveType () const |
| Solve type - 1 simplex, 2 simplex interface, 3 Interior. More... | |
| void | setSolveType (int type) |
| int | maximumIterations () const |
| Maximum number of iterations. More... | |
| void | setMaximumIterations (int value) |
| double | maximumSeconds () const |
| Maximum time in seconds (from when set called) More... | |
| void | setMaximumSeconds (double value) |
| void | setMaximumWallSeconds (double value) |
| 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 |
| 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) |
| 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 |
| void | setOptimizationDirection (double value) |
| double * | primalRowSolution () const |
| Primal row solution. More... | |
| const double * | getRowActivity () const |
| double * | primalColumnSolution () const |
| Primal column solution. More... | |
| const double * | getColSolution () const |
| void | setColSolution (const double *input) |
| double * | dualRowSolution () const |
| Dual row solution. More... | |
| const double * | getRowPrice () const |
| double * | dualColumnSolution () const |
| Reduced costs. More... | |
| const double * | getReducedCost () const |
| double * | rowLower () const |
| Row lower. More... | |
| const double * | getRowLower () const |
| double * | rowUpper () const |
| Row upper. More... | |
| const double * | getRowUpper () const |
| 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) |
| 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 |
| 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 |
| 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 |
| std::string | getColumnName (int iColumn) const |
| Return name or Cnnnnnnn. More... | |
| ClpObjective * | objectiveAsObject () const |
| Objective methods. More... | |
| void | setObjective (ClpObjective *objective) |
| void | setObjectivePointer (ClpObjective *newobjective) |
| 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 |
| bool | getDblParam (ClpDblParam key, double &value) const |
| bool | getStrParam (ClpStrParam key, std::string &value) const |
| 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) |
| bool | inCbcBranchAndBound () const |
| 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) |
| 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) |
| 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) |
| 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) |
| void | addColumns (int number, const double *columnLower, const double *columnUpper, const double *objective, const CoinPackedVectorBase *const *columns) |
| 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... | |
| CoinBigIndex | 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... | |
Additional Inherited Members | |
Public Attributes inherited from ClpInterior | |
| CoinWorkDouble | xsize_ |
| CoinWorkDouble | zsize_ |
| CoinWorkDouble * | rhs_ |
| Rhs. More... | |
| CoinWorkDouble * | x_ |
| CoinWorkDouble * | y_ |
| CoinWorkDouble * | dj_ |
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 () |
| 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_ |
| CoinWorkDouble | delta_ |
| 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] |
| 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_ |
| 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_ |
| 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... | |
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.
| int ClpPdco::pdco | ( | ) |
Pdco algorithm.
Method
| int ClpPdco::pdco | ( | ClpPdcoBase * | stuff, |
| Options & | options, | ||
| Info & | info, | ||
| Outfo & | outfo | ||
| ) |
| void ClpPdco::lsqr | ( | ) |
LSQR.
| void ClpPdco::matVecMult | ( | int | , |
| double * | , | ||
| double * | |||
| ) |
| void ClpPdco::matVecMult | ( | int | , |
| CoinDenseVector< double > & | , | ||
| double * | |||
| ) |
| void ClpPdco::matVecMult | ( | int | , |
| CoinDenseVector< double > & | , | ||
| CoinDenseVector< double > & | |||
| ) |
| void ClpPdco::matVecMult | ( | int | , |
| CoinDenseVector< double > * | , | ||
| CoinDenseVector< double > * | |||
| ) |
| void ClpPdco::getBoundTypes | ( | int * | , |
| int * | , | ||
| int * | , | ||
| int ** | |||
| ) |
| void ClpPdco::getGrad | ( | CoinDenseVector< double > & | x, |
| CoinDenseVector< double > & | grad | ||
| ) |
| void ClpPdco::getHessian | ( | CoinDenseVector< double > & | x, |
| CoinDenseVector< double > & | H | ||
| ) |
| double ClpPdco::getObj | ( | CoinDenseVector< double > & | x | ) |
| void ClpPdco::matPrecon | ( | double | , |
| double * | , | ||
| double * | |||
| ) |
| void ClpPdco::matPrecon | ( | double | , |
| CoinDenseVector< double > & | , | ||
| double * | |||
| ) |
| void ClpPdco::matPrecon | ( | double | , |
| CoinDenseVector< double > & | , | ||
| CoinDenseVector< double > & | |||
| ) |
| void ClpPdco::matPrecon | ( | double | , |
| CoinDenseVector< double > * | , | ||
| CoinDenseVector< double > * | |||
| ) |
1.8.5