Clp  1.17.3
Public Member Functions | Protected Attributes | List of all members
ClpPESimplex Class Reference

BASE CLASS FOR THE IMPROVED SIMPLEX. More...

#include <ClpPESimplex.hpp>

Public Member Functions

 ClpPESimplex (ClpSimplex *model)
 Constructor. More...
 
 ~ClpPESimplex ()
 Destructor. More...
 
int coPrimalDegenerates ()
 BASIC GET METHODS. More...
 
int coDualDegenerates ()
 
int coCompatibleCols ()
 
int coCompatibleRows ()
 
bool isCompatibleCol (int sequence)
 
bool isCompatibleRow (int row)
 
ClpSimplexclpModel ()
 
bool checkSize ()
 
void updatePrimalDegenerates ()
 PUBLIC METHODS RELATED TO COMPATIBILITY. More...
 
void updateDualDegenerates ()
 Updates the set of dual degenerate variables. More...
 
void identifyCompatibleCols (int number, const int *which, CoinIndexedVector *spareRow2, CoinIndexedVector *wPrimal)
 Identify the primal compatible columns The input argument is a temporary array that is needed for the Clp's BTRAN. More...
 
void identifyCompatibleRows (CoinIndexedVector *spare, CoinIndexedVector *wDual)
 Identify the dual compatible rows. More...
 
void updateCompatibleRows (int sequence)
 Update the dual compatible rows. More...
 
bool checkCompatibilityRow (int pivotRow)
 DEBUG AND DISPLAY METHODS. More...
 
double lastObjectiveValue ()
 Tracking the degenerate iterations after compatible pivots. More...
 
void updateLastObjectiveValue ()
 
bool isDegeneratePivot ()
 
bool isLastPivotCompatible ()
 
void isLastPivotCompatible (bool yesOrNo)
 
void startTimer ()
 Start and stop the timer, and print the total recorded time. More...
 
void stopTimer ()
 
void printTimer (std::ostream &out)
 
double timeMultRandom ()
 
double timeLinearSystem ()
 
double timeCompatibility ()
 
void addDegeneratePivot ()
 Update and return the number of degenerate pivots and variables. More...
 
int coDegeneratePivots ()
 
void addDegeneratePivotConsecutive ()
 
void resetDegeneratePivotsConsecutive ()
 
int coDegeneratePivotsConsecutive ()
 
void updateDualDegeneratesAvg (int coPivots)
 
double coDualDegeneratesAvg ()
 
void updatePrimalDegeneratesAvg (int coPivots)
 
double coPrimalDegeneratesAvg ()
 
double coCompatibleRowsAvg ()
 
void updateCompatibleRowsAvg (int coPivots)
 
double coCompatibleColsAvg ()
 
void updateCompatibleColsAvg (int coPivots)
 
int coCompatiblePivots ()
 
void addCompatiblePivot ()
 
int coDegenerateCompatiblePivots ()
 
void addDegenerateCompatiblePivot ()
 
void addPriorityPivot ()
 
int coPriorityPivots ()
 
int doStatistics () const
 
void setDoStatistics (int value)
 

Protected Attributes

int coPrimalDegenerates_
 Indices of the variables that were not at one of their bounds during the last update (non primal degenerate variables) More...
 
int * primalDegenerates_
 
bool * isPrimalDegenerate_
 
int coDualDegenerates_
 Indices of the non basic variables with a zero reduced cost during the last update (ndual-degenerate variables) More...
 
int * dualDegenerates_
 
bool * isDualDegenerate_
 
int coCompatibleCols_
 Table of booleans indicating whether each variable is primal compatible (true) or not (false) More...
 
double * compatibilityCol_
 
bool * isCompatibleCol_
 
int coCompatibleRows_
 Table of booleans indicating whether each constraint is dual compatible (true) or not (false) More...
 
double * compatibilityRow_
 
bool * isCompatibleRow_
 

Detailed Description

BASE CLASS FOR THE IMPROVED SIMPLEX.

Definition at line 42 of file ClpPESimplex.hpp.

Constructor & Destructor Documentation

◆ ClpPESimplex()

ClpPESimplex::ClpPESimplex ( ClpSimplex model)

Constructor.

◆ ~ClpPESimplex()

ClpPESimplex::~ClpPESimplex ( )

Destructor.

Member Function Documentation

◆ coPrimalDegenerates()

int ClpPESimplex::coPrimalDegenerates ( )
inline

BASIC GET METHODS.

Definition at line 53 of file ClpPESimplex.hpp.

◆ coDualDegenerates()

int ClpPESimplex::coDualDegenerates ( )
inline

Definition at line 54 of file ClpPESimplex.hpp.

◆ coCompatibleCols()

int ClpPESimplex::coCompatibleCols ( )
inline

Definition at line 55 of file ClpPESimplex.hpp.

◆ coCompatibleRows()

int ClpPESimplex::coCompatibleRows ( )
inline

Definition at line 56 of file ClpPESimplex.hpp.

◆ isCompatibleCol()

bool ClpPESimplex::isCompatibleCol ( int  sequence)
inline

Definition at line 58 of file ClpPESimplex.hpp.

◆ isCompatibleRow()

bool ClpPESimplex::isCompatibleRow ( int  row)
inline

Definition at line 59 of file ClpPESimplex.hpp.

◆ clpModel()

ClpSimplex* ClpPESimplex::clpModel ( )
inline

Definition at line 65 of file ClpPESimplex.hpp.

◆ checkSize()

bool ClpPESimplex::checkSize ( )

◆ updatePrimalDegenerates()

void ClpPESimplex::updatePrimalDegenerates ( )

PUBLIC METHODS RELATED TO COMPATIBILITY.

Updates the set of variables that are not at their bounds

◆ updateDualDegenerates()

void ClpPESimplex::updateDualDegenerates ( )

Updates the set of dual degenerate variables.

◆ identifyCompatibleCols()

void ClpPESimplex::identifyCompatibleCols ( int  number,
const int *  which,
CoinIndexedVector spareRow2,
CoinIndexedVector wPrimal 
)

Identify the primal compatible columns The input argument is a temporary array that is needed for the Clp's BTRAN.

◆ identifyCompatibleRows()

void ClpPESimplex::identifyCompatibleRows ( CoinIndexedVector spare,
CoinIndexedVector wDual 
)

Identify the dual compatible rows.

◆ updateCompatibleRows()

void ClpPESimplex::updateCompatibleRows ( int  sequence)

Update the dual compatible rows.

◆ checkCompatibilityRow()

bool ClpPESimplex::checkCompatibilityRow ( int  pivotRow)

DEBUG AND DISPLAY METHODS.

Check that a basic row is indeed compatible

◆ lastObjectiveValue()

double ClpPESimplex::lastObjectiveValue ( )
inline

Tracking the degenerate iterations after compatible pivots.

Definition at line 106 of file ClpPESimplex.hpp.

◆ updateLastObjectiveValue()

void ClpPESimplex::updateLastObjectiveValue ( )
inline

Definition at line 107 of file ClpPESimplex.hpp.

◆ isDegeneratePivot()

bool ClpPESimplex::isDegeneratePivot ( )
inline

Definition at line 108 of file ClpPESimplex.hpp.

◆ isLastPivotCompatible() [1/2]

bool ClpPESimplex::isLastPivotCompatible ( )
inline

Definition at line 109 of file ClpPESimplex.hpp.

◆ isLastPivotCompatible() [2/2]

void ClpPESimplex::isLastPivotCompatible ( bool  yesOrNo)
inline

Definition at line 110 of file ClpPESimplex.hpp.

◆ startTimer()

void ClpPESimplex::startTimer ( )
inline

Start and stop the timer, and print the total recorded time.

Definition at line 113 of file ClpPESimplex.hpp.

◆ stopTimer()

void ClpPESimplex::stopTimer ( )
inline

Definition at line 114 of file ClpPESimplex.hpp.

◆ printTimer()

void ClpPESimplex::printTimer ( std::ostream &  out)

◆ timeMultRandom()

double ClpPESimplex::timeMultRandom ( )
inline

Definition at line 116 of file ClpPESimplex.hpp.

◆ timeLinearSystem()

double ClpPESimplex::timeLinearSystem ( )
inline

Definition at line 117 of file ClpPESimplex.hpp.

◆ timeCompatibility()

double ClpPESimplex::timeCompatibility ( )
inline

Definition at line 118 of file ClpPESimplex.hpp.

◆ addDegeneratePivot()

void ClpPESimplex::addDegeneratePivot ( )
inline

Update and return the number of degenerate pivots and variables.

Definition at line 121 of file ClpPESimplex.hpp.

◆ coDegeneratePivots()

int ClpPESimplex::coDegeneratePivots ( )
inline

Definition at line 122 of file ClpPESimplex.hpp.

◆ addDegeneratePivotConsecutive()

void ClpPESimplex::addDegeneratePivotConsecutive ( )
inline

Definition at line 123 of file ClpPESimplex.hpp.

◆ resetDegeneratePivotsConsecutive()

void ClpPESimplex::resetDegeneratePivotsConsecutive ( )
inline

Definition at line 124 of file ClpPESimplex.hpp.

◆ coDegeneratePivotsConsecutive()

int ClpPESimplex::coDegeneratePivotsConsecutive ( )
inline

Definition at line 125 of file ClpPESimplex.hpp.

◆ updateDualDegeneratesAvg()

void ClpPESimplex::updateDualDegeneratesAvg ( int  coPivots)

◆ coDualDegeneratesAvg()

double ClpPESimplex::coDualDegeneratesAvg ( )
inline

Definition at line 127 of file ClpPESimplex.hpp.

◆ updatePrimalDegeneratesAvg()

void ClpPESimplex::updatePrimalDegeneratesAvg ( int  coPivots)

◆ coPrimalDegeneratesAvg()

double ClpPESimplex::coPrimalDegeneratesAvg ( )
inline

Definition at line 129 of file ClpPESimplex.hpp.

◆ coCompatibleRowsAvg()

double ClpPESimplex::coCompatibleRowsAvg ( )
inline

Definition at line 130 of file ClpPESimplex.hpp.

◆ updateCompatibleRowsAvg()

void ClpPESimplex::updateCompatibleRowsAvg ( int  coPivots)

◆ coCompatibleColsAvg()

double ClpPESimplex::coCompatibleColsAvg ( )
inline

Definition at line 132 of file ClpPESimplex.hpp.

◆ updateCompatibleColsAvg()

void ClpPESimplex::updateCompatibleColsAvg ( int  coPivots)

◆ coCompatiblePivots()

int ClpPESimplex::coCompatiblePivots ( )
inline

Definition at line 134 of file ClpPESimplex.hpp.

◆ addCompatiblePivot()

void ClpPESimplex::addCompatiblePivot ( )
inline

Definition at line 135 of file ClpPESimplex.hpp.

◆ coDegenerateCompatiblePivots()

int ClpPESimplex::coDegenerateCompatiblePivots ( )
inline

Definition at line 136 of file ClpPESimplex.hpp.

◆ addDegenerateCompatiblePivot()

void ClpPESimplex::addDegenerateCompatiblePivot ( )
inline

Definition at line 137 of file ClpPESimplex.hpp.

◆ addPriorityPivot()

void ClpPESimplex::addPriorityPivot ( )
inline

Definition at line 140 of file ClpPESimplex.hpp.

◆ coPriorityPivots()

int ClpPESimplex::coPriorityPivots ( )
inline

Definition at line 141 of file ClpPESimplex.hpp.

◆ doStatistics()

int ClpPESimplex::doStatistics ( ) const
inline

Definition at line 142 of file ClpPESimplex.hpp.

◆ setDoStatistics()

void ClpPESimplex::setDoStatistics ( int  value)
inline

Definition at line 146 of file ClpPESimplex.hpp.

Member Data Documentation

◆ coPrimalDegenerates_

int ClpPESimplex::coPrimalDegenerates_
protected

Indices of the variables that were not at one of their bounds during the last update (non primal degenerate variables)

Definition at line 154 of file ClpPESimplex.hpp.

◆ primalDegenerates_

int* ClpPESimplex::primalDegenerates_
protected

Definition at line 155 of file ClpPESimplex.hpp.

◆ isPrimalDegenerate_

bool* ClpPESimplex::isPrimalDegenerate_
protected

Definition at line 156 of file ClpPESimplex.hpp.

◆ coDualDegenerates_

int ClpPESimplex::coDualDegenerates_
protected

Indices of the non basic variables with a zero reduced cost during the last update (ndual-degenerate variables)

Definition at line 160 of file ClpPESimplex.hpp.

◆ dualDegenerates_

int* ClpPESimplex::dualDegenerates_
protected

Definition at line 161 of file ClpPESimplex.hpp.

◆ isDualDegenerate_

bool* ClpPESimplex::isDualDegenerate_
protected

Definition at line 162 of file ClpPESimplex.hpp.

◆ coCompatibleCols_

int ClpPESimplex::coCompatibleCols_
protected

Table of booleans indicating whether each variable is primal compatible (true) or not (false)

Definition at line 166 of file ClpPESimplex.hpp.

◆ compatibilityCol_

double* ClpPESimplex::compatibilityCol_
protected

Definition at line 167 of file ClpPESimplex.hpp.

◆ isCompatibleCol_

bool* ClpPESimplex::isCompatibleCol_
protected

Definition at line 168 of file ClpPESimplex.hpp.

◆ coCompatibleRows_

int ClpPESimplex::coCompatibleRows_
protected

Table of booleans indicating whether each constraint is dual compatible (true) or not (false)

Definition at line 172 of file ClpPESimplex.hpp.

◆ compatibilityRow_

double* ClpPESimplex::compatibilityRow_
protected

Definition at line 173 of file ClpPESimplex.hpp.

◆ isCompatibleRow_

bool* ClpPESimplex::isCompatibleRow_
protected

Definition at line 174 of file ClpPESimplex.hpp.


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