Cbc  2.10.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
LAP::CglLandPSimplex Class Reference

#include <CglLandPSimplex.hpp>

+ Collaboration diagram for LAP::CglLandPSimplex:

Public Member Functions

 CglLandPSimplex (const OsiSolverInterface &si, const CglLandP::CachedData &cached, const CglLandP::Parameters &params, Validator &validator)
 Usefull onstructor. More...
 
 ~CglLandPSimplex ()
 Destructor. More...
 
void cacheUpdate (const CglLandP::CachedData &cached, bool reducedSpace=0)
 Update cached information in case of basis change in a round. More...
 
bool resetSolver (const CoinWarmStartBasis *basis)
 reset the solver to optimal basis More...
 
bool optimize (int var, OsiRowCut &cut, const CglLandP::CachedData &cached, const CglLandP::Parameters &params)
 Perfom pivots to find the best cuts. More...
 
bool generateMig (int row, OsiRowCut &cut, const CglLandP::Parameters &params)
 Find Gomory cut (i.e. More...
 
int generateExtraCuts (const CglLandP::CachedData &cached, const CglLandP::Parameters &params)
 Find extra constraints in current tableau. More...
 
int generateExtraCut (int i, const CglLandP::CachedData &cached, const CglLandP::Parameters &params)
 Generate a constrainte for a row of the tableau different from the source row. More...
 
void genThisBasisMigs (const CglLandP::CachedData &cached, const CglLandP::Parameters &params)
 
int insertAllExtr (OsiCuts &cs, CoinRelFltEq eq)
 insert all extra cuts in cs. More...
 
void setLogLevel (int level)
 
void setSi (OsiSolverInterface *si)
 
void freeSi ()
 
CutsextraCuts ()
 
void loadBasis (const OsiSolverInterface &si, std::vector< int > &M1, std::vector< int > &M2, int k)
 
int getNumCols () const
 
int getNumRows () const
 
const CoinWarmStartBasisgetBasis () const
 
const int * getNonBasics () const
 
const int * getBasics () const
 
void outPivInfo (int ncuts)
 

Protected Member Functions

bool changeBasis (int incoming, int leaving, int direction, bool modularize)
 Perform a change in the basis (direction is 1 if leaving variable is going to ub, 0 otherwise) More...
 
int fastFindCutImprovingPivotRow (int &direction, int &gammaSign, double tolerance, bool flagPositiveRows)
 Find a row which can be used to perform an improving pivot the fast way (i.e., find the leaving variable). More...
 
int rescanReducedCosts (int &direction, int &gammaSign, double tolerance)
 Rescan reduced costs tables. More...
 
int fastFindBestPivotColumn (int direction, int gammaSign, double pivotTol, double rhsTol, bool reducedSpace, bool allowNonImproving, double &bestSigma, bool modularize)
 Find the column which leads to the best cut (i.e., find incoming variable). More...
 
int findBestPivot (int &leaving, int &direction, const CglLandP::Parameters &params)
 Find incoming and leaving variables which lead to the most violated adjacent normalized lift-and-project cut. More...
 
double computeCglpObjective (const TabRow &row, bool modularize=false) const
 Compute the objective value of the Cglp for given row and rhs (if strengthening shall be applied row should have been modularized). More...
 
double strengthenedIntersectionCutCoef (int i, double alpha_i, double beta) const
 return the coefficients of the strengthened intersection cut takes one extra argument seens needs to consider variable type. More...
 
double newRowCoefficient (int j, double gamma) const
 return the coefficient of the new row (combining row_k + gamma row_i). More...
 
void createIntersectionCut (TabRow &row, OsiRowCut &cut) const
 Create the intersection cut of row k. More...
 
double normalizationFactor (const TabRow &row) const
 Compute the normalization factor of the cut. More...
 
void scaleCut (OsiRowCut &cut, double factor) const
 Scale the cut by factor. More...
 
void createMIG (TabRow &row, OsiRowCut &cut) const
 Create strenghtened row. More...
 
void pullTableauRow (TabRow &row) const
 Get the row i of the tableau. More...
 
void adjustTableauRow (int var, TabRow &row, int direction)
 Adjust the row of the tableau to reflect leaving variable direction. More...
 
void resetOriginalTableauRow (int var, TabRow &row, int direction)
 reset the tableau row after a call to adjustTableauRow More...
 
double getLoBound (int index) const
 Get lower bound for variable or constraint. More...
 
double getUpBound (int index) const
 Get upper bound for variable or constraint. More...
 
double getColsolToCut (int index) const
 Access to value in solution to cut (indexed in reduced problem) More...
 
bool isGtConst (int index) const
 
void setColsolToCut (int index, double value)
 Access to value in solution to cut (indexed in reduced problem) More...
 
CoinWarmStartBasis::Status getStatus (int index) const
 Get the basic status of a variable (structural or slack). More...
 
bool isInteger (int index) const
 Say if variable index by i in current tableau is integer. More...
 
void computeWeights (CglLandP::LHSnorm norm, CglLandP::Normalization type, CglLandP::RhsWeightType rhs)
 Compute normalization weights. More...
 
double normedCoef (double a, int ii) const
 Evenutaly multiply a by w if normed_weights_ is not empty. More...
 
void printTableau (std::ostream &os)
 print the tableau of current basis. More...
 
void printEverything ()
 Print everything . More...
 
void printTableauLateX (std::ostream &os)
 print the tableau of current basis. More...
 
void printRowLateX (std::ostream &os, int i)
 
void printCutLateX (std::ostream &os, int i)
 
void printCglpBasis (std::ostream &os=std::cout)
 Print CGLP basis corresponding to current tableau and source row. More...
 
void get_M1_M2_M3 (const TabRow &row, std::vector< int > &M1, std::vector< int > &M2, std::vector< int > &M3)
 Put variables in M1 M2 and M3 according to their sign. More...
 
void eliminate_slacks (double *vec) const
 Put a vector in structural sapce. More...
 
Slow versions of the function (old versions do not work).
double computeCglpRedCost (int direction, int gammaSign, double tau)
 Compute the reduced cost of Cglp. More...
 
double computeRedCostConstantsInRow ()
 Compute the value of sigma and thau (which are constants for a row i as defined in Mike Perregaard thesis. More...
 
double computeCglpObjective (double gamma, bool strengthen, TabRow &row)
 Compute the objective value of the Cglp with linear combintation of the two rows by gamma. More...
 
double computeCglpObjective (double gamma, bool strengthen)
 Compute the objective value of the Cglp with linear combintation of the row_k_ and gamma row_i_. More...
 
int findCutImprovingPivotRow (int &direction, int &gammaSign, double tolerance)
 Find a row which can be used to perform an improving pivot return index of the cut or -1 if none exists (i.e., find the leaving variable). More...
 
int findBestPivotColumn (int direction, double pivotTol, bool reducedSpace, bool allowDegeneratePivot, bool modularize)
 Find the column which leads to the best cut (i.e., find incoming variable). More...
 
int plotCGLPobj (int direction, double gammaTolerance, double pivotTol, bool reducedSpace, bool allowDegenerate, bool modularize)
 

Private Member Functions

 CglLandPSimplex ()
 No default constructor. More...
 
 CglLandPSimplex (const CglLandPSimplex &)
 No copy constructor. More...
 
CglLandPSimplexoperator= (const CglLandPSimplex &)
 No assignment operator. More...
 
void updateM1_M2_M3 (TabRow &row, double tolerance, bool alwaysComputeCheap)
 Update values in M1 M2 and M3 before an iteration. More...
 
void removeRows (int nDelete, const int *rowsIdx)
 Remove rows from current tableau. More...
 
void compute_p_q_r_s (double gamma, int gammaSign, double &p, double &q, double &r, double &s)
 
bool checkBasis ()
 Check that the basis is correct. More...
 

Private Attributes

bool own_
 Own the data or not? More...
 
Validatorvalidator_
 A pointer to a cut validator. More...
 
std::vector< double > norm_weights_
 Weights for the normalization constraint. More...
 
double rhs_weight_
 Weight for rhs of normalization constraint.*/. More...
 
int nNegativeRcRows_
 number of rows with a <0 rc in current iteration More...
 
int numPivots_
 Record the number of pivots. More...
 
int numSourceRowEntered_
 Record the number of times the source row entered the basis. More...
 
int numIncreased_
 Record the number of times that sigma increased. More...
 
CoinMessageHandlerhandler_
 Message handler. More...
 
CoinMessages messages_
 Messages. More...
 
double bestSigma_
 
Work infos
TabRow row_k_
 Source row for cut. More...
 
TabRow original_row_k_
 Original version of source row (without modularization). More...
 
TabRow row_i_
 Row of leaving candidate. More...
 
TabRow new_row_
 
CoinPackedVector gammas_
 vector to sort the gammas More...
 
std::vector< double > rWk1_
 first work vector in row space. More...
 
std::vector< double > rWk2_
 scond work vector in row space. More...
 
std::vector< double > rWk3_
 third work vector in row space. More...
 
std::vector< double > rWk4_
 fourth work vector in row space. More...
 
std::vector< int > rIntWork_
 integer valued work vector on the rows More...
 
bool * rowFlags_
 Flag rows which we don't want to try anymore. More...
 
std::vector< bool > col_in_subspace
 Flag columns which are in the subspace (usualy remove nonbasic structurals in subspace) More...
 
bool * colCandidateToLeave_
 Flag columns which have to be considered for leaving the basis. More...
 
int * basics_
 Store the basics variable. More...
 
int * nonBasics_
 Stores the nonBasicVariables. More...
 
std::vector< int > M1_
 Stores the variables which are always in M1 for a given k. More...
 
std::vector< int > M2_
 Stores the variables which are always in M2 for a given k. More...
 
std::vector< int > M3_
 Stores the variables which could be either in M1 or M2. More...
 
double sigma_
 stores the cglp value of the normalized cut obtained from row k_ More...
 
CoinWarmStartBasisbasis_
 Keep track of basis status. More...
 
double * colsolToCut_
 Pointer to the solution to cut (need to be modified after each pivot because we are only considering slacks). More...
 
double * colsol_
 Pointer to the current basic solution. More...
 
int ncols_orig_
 cached numcols in original problem More...
 
int nrows_orig_
 cached numrows in original problem More...
 
int ncols_
 cached number of columns in reduced size problem More...
 
int nrows_
 Cached number of rows in reduced size problem. More...
 
std::vector< double > lo_bounds_
 
std::vector< double > up_bounds_
 
bool inDegenerateSequence_
 Say if we are in a sequence of degenerate pivots. More...
 
double chosenReducedCostVal_
 Value for the reduced cost chosen for pivoting. More...
 
const bool * integers_
 pointer to array of integer info for both structural and slacks More...
 
std::vector< int > original_index_
 Original index of variable before deletions. More...
 
Cuts cuts_
 Stores extra cuts which are generated along the procedure. More...
 
Interfaces to the solver
OsiSolverInterfacesi_
 Pointer to the solver interface. More...
 

Detailed Description

Definition at line 42 of file CglLandPSimplex.hpp.

Constructor & Destructor Documentation

LAP::CglLandPSimplex::CglLandPSimplex ( const OsiSolverInterface si,
const CglLandP::CachedData cached,
const CglLandP::Parameters params,
Validator validator 
)

Usefull onstructor.

LAP::CglLandPSimplex::~CglLandPSimplex ( )

Destructor.

LAP::CglLandPSimplex::CglLandPSimplex ( )
private

No default constructor.

LAP::CglLandPSimplex::CglLandPSimplex ( const CglLandPSimplex )
private

No copy constructor.

Member Function Documentation

void LAP::CglLandPSimplex::cacheUpdate ( const CglLandP::CachedData cached,
bool  reducedSpace = 0 
)

Update cached information in case of basis change in a round.

bool LAP::CglLandPSimplex::resetSolver ( const CoinWarmStartBasis basis)

reset the solver to optimal basis

bool LAP::CglLandPSimplex::optimize ( int  var,
OsiRowCut cut,
const CglLandP::CachedData cached,
const CglLandP::Parameters params 
)

Perfom pivots to find the best cuts.

bool LAP::CglLandPSimplex::generateMig ( int  row,
OsiRowCut cut,
const CglLandP::Parameters params 
)

Find Gomory cut (i.e.

don't do extra setup required for pivots).

int LAP::CglLandPSimplex::generateExtraCuts ( const CglLandP::CachedData cached,
const CglLandP::Parameters params 
)

Find extra constraints in current tableau.

int LAP::CglLandPSimplex::generateExtraCut ( int  i,
const CglLandP::CachedData cached,
const CglLandP::Parameters params 
)

Generate a constrainte for a row of the tableau different from the source row.

void LAP::CglLandPSimplex::genThisBasisMigs ( const CglLandP::CachedData cached,
const CglLandP::Parameters params 
)
int LAP::CglLandPSimplex::insertAllExtr ( OsiCuts cs,
CoinRelFltEq  eq 
)

insert all extra cuts in cs.

void LAP::CglLandPSimplex::setLogLevel ( int  level)
inline

Definition at line 73 of file CglLandPSimplex.hpp.

void LAP::CglLandPSimplex::setSi ( OsiSolverInterface si)
inline

Definition at line 79 of file CglLandPSimplex.hpp.

void LAP::CglLandPSimplex::freeSi ( )
inline

Definition at line 90 of file CglLandPSimplex.hpp.

Cuts& LAP::CglLandPSimplex::extraCuts ( )
inline

Definition at line 100 of file CglLandPSimplex.hpp.

void LAP::CglLandPSimplex::loadBasis ( const OsiSolverInterface si,
std::vector< int > &  M1,
std::vector< int > &  M2,
int  k 
)
int LAP::CglLandPSimplex::getNumCols ( ) const
inline

Definition at line 109 of file CglLandPSimplex.hpp.

int LAP::CglLandPSimplex::getNumRows ( ) const
inline

Definition at line 114 of file CglLandPSimplex.hpp.

const CoinWarmStartBasis* LAP::CglLandPSimplex::getBasis ( ) const
inline

Definition at line 119 of file CglLandPSimplex.hpp.

const int* LAP::CglLandPSimplex::getNonBasics ( ) const
inline

Definition at line 123 of file CglLandPSimplex.hpp.

const int* LAP::CglLandPSimplex::getBasics ( ) const
inline

Definition at line 128 of file CglLandPSimplex.hpp.

void LAP::CglLandPSimplex::outPivInfo ( int  ncuts)
inline

Definition at line 133 of file CglLandPSimplex.hpp.

bool LAP::CglLandPSimplex::changeBasis ( int  incoming,
int  leaving,
int  direction,
bool  modularize 
)
protected

Perform a change in the basis (direction is 1 if leaving variable is going to ub, 0 otherwise)

int LAP::CglLandPSimplex::fastFindCutImprovingPivotRow ( int &  direction,
int &  gammaSign,
double  tolerance,
bool  flagPositiveRows 
)
protected

Find a row which can be used to perform an improving pivot the fast way (i.e., find the leaving variable).

Returns
index of the row on which to pivot or -1 if none exists.
int LAP::CglLandPSimplex::rescanReducedCosts ( int &  direction,
int &  gammaSign,
double  tolerance 
)
protected

Rescan reduced costs tables.

int LAP::CglLandPSimplex::fastFindBestPivotColumn ( int  direction,
int  gammaSign,
double  pivotTol,
double  rhsTol,
bool  reducedSpace,
bool  allowNonImproving,
double &  bestSigma,
bool  modularize 
)
protected

Find the column which leads to the best cut (i.e., find incoming variable).

int LAP::CglLandPSimplex::findBestPivot ( int &  leaving,
int &  direction,
const CglLandP::Parameters params 
)
protected

Find incoming and leaving variables which lead to the most violated adjacent normalized lift-and-project cut.

Remarks
At this point reduced costs should be already computed.
Returns
incoming variable variable,
Parameters
leavingvariable
directionleaving direction
double LAP::CglLandPSimplex::computeCglpObjective ( const TabRow row,
bool  modularize = false 
) const
protected

Compute the objective value of the Cglp for given row and rhs (if strengthening shall be applied row should have been modularized).

double LAP::CglLandPSimplex::strengthenedIntersectionCutCoef ( int  i,
double  alpha_i,
double  beta 
) const
inlineprotected

return the coefficients of the strengthened intersection cut takes one extra argument seens needs to consider variable type.

return the coefficients of the strengthened intersection cut

Definition at line 426 of file CglLandPSimplex.hpp.

double LAP::CglLandPSimplex::newRowCoefficient ( int  j,
double  gamma 
) const
inlineprotected

return the coefficient of the new row (combining row_k + gamma row_i).

Definition at line 444 of file CglLandPSimplex.hpp.

void LAP::CglLandPSimplex::createIntersectionCut ( TabRow row,
OsiRowCut cut 
) const
protected

Create the intersection cut of row k.

double LAP::CglLandPSimplex::normalizationFactor ( const TabRow row) const
protected

Compute the normalization factor of the cut.

void LAP::CglLandPSimplex::scaleCut ( OsiRowCut cut,
double  factor 
) const
protected

Scale the cut by factor.

void LAP::CglLandPSimplex::createMIG ( TabRow row,
OsiRowCut cut 
) const
protected

Create strenghtened row.

Create MIG cut from row k

void LAP::CglLandPSimplex::pullTableauRow ( TabRow row) const
protected

Get the row i of the tableau.

void LAP::CglLandPSimplex::adjustTableauRow ( int  var,
TabRow row,
int  direction 
)
protected

Adjust the row of the tableau to reflect leaving variable direction.

void LAP::CglLandPSimplex::resetOriginalTableauRow ( int  var,
TabRow row,
int  direction 
)
protected

reset the tableau row after a call to adjustTableauRow

double LAP::CglLandPSimplex::getLoBound ( int  index) const
inlineprotected

Get lower bound for variable or constraint.

Definition at line 205 of file CglLandPSimplex.hpp.

double LAP::CglLandPSimplex::getUpBound ( int  index) const
inlineprotected

Get upper bound for variable or constraint.

Definition at line 210 of file CglLandPSimplex.hpp.

double LAP::CglLandPSimplex::getColsolToCut ( int  index) const
inlineprotected

Access to value in solution to cut (indexed in reduced problem)

Definition at line 215 of file CglLandPSimplex.hpp.

bool LAP::CglLandPSimplex::isGtConst ( int  index) const
inlineprotected

Definition at line 219 of file CglLandPSimplex.hpp.

void LAP::CglLandPSimplex::setColsolToCut ( int  index,
double  value 
)
inlineprotected

Access to value in solution to cut (indexed in reduced problem)

Definition at line 224 of file CglLandPSimplex.hpp.

CoinWarmStartBasis::Status LAP::CglLandPSimplex::getStatus ( int  index) const
inlineprotected

Get the basic status of a variable (structural or slack).

Definition at line 229 of file CglLandPSimplex.hpp.

bool LAP::CglLandPSimplex::isInteger ( int  index) const
inlineprotected

Say if variable index by i in current tableau is integer.

Definition at line 235 of file CglLandPSimplex.hpp.

void LAP::CglLandPSimplex::computeWeights ( CglLandP::LHSnorm  norm,
CglLandP::Normalization  type,
CglLandP::RhsWeightType  rhs 
)
protected

Compute normalization weights.

double LAP::CglLandPSimplex::normedCoef ( double  a,
int  ii 
) const
inlineprotected

Evenutaly multiply a by w if normed_weights_ is not empty.

Definition at line 243 of file CglLandPSimplex.hpp.

void LAP::CglLandPSimplex::printTableau ( std::ostream &  os)
protected

print the tableau of current basis.

void LAP::CglLandPSimplex::printEverything ( )
protected

Print everything .

void LAP::CglLandPSimplex::printTableauLateX ( std::ostream &  os)
protected

print the tableau of current basis.

void LAP::CglLandPSimplex::printRowLateX ( std::ostream &  os,
int  i 
)
protected
void LAP::CglLandPSimplex::printCutLateX ( std::ostream &  os,
int  i 
)
protected
void LAP::CglLandPSimplex::printCglpBasis ( std::ostream &  os = std::cout)
protected

Print CGLP basis corresponding to current tableau and source row.

void LAP::CglLandPSimplex::get_M1_M2_M3 ( const TabRow row,
std::vector< int > &  M1,
std::vector< int > &  M2,
std::vector< int > &  M3 
)
protected

Put variables in M1 M2 and M3 according to their sign.

void LAP::CglLandPSimplex::eliminate_slacks ( double *  vec) const
protected

Put a vector in structural sapce.

CglLandPSimplex& LAP::CglLandPSimplex::operator= ( const CglLandPSimplex )
private

No assignment operator.

void LAP::CglLandPSimplex::updateM1_M2_M3 ( TabRow row,
double  tolerance,
bool  alwaysComputeCheap 
)
private

Update values in M1 M2 and M3 before an iteration.

void LAP::CglLandPSimplex::removeRows ( int  nDelete,
const int *  rowsIdx 
)
private

Remove rows from current tableau.

void LAP::CglLandPSimplex::compute_p_q_r_s ( double  gamma,
int  gammaSign,
double &  p,
double &  q,
double &  r,
double &  s 
)
private
bool LAP::CglLandPSimplex::checkBasis ( )
private

Check that the basis is correct.

double LAP::CglLandPSimplex::computeCglpRedCost ( int  direction,
int  gammaSign,
double  tau 
)
protected

Compute the reduced cost of Cglp.

double LAP::CglLandPSimplex::computeRedCostConstantsInRow ( )
protected

Compute the value of sigma and thau (which are constants for a row i as defined in Mike Perregaard thesis.

double LAP::CglLandPSimplex::computeCglpObjective ( double  gamma,
bool  strengthen,
TabRow row 
)
protected

Compute the objective value of the Cglp with linear combintation of the two rows by gamma.

double LAP::CglLandPSimplex::computeCglpObjective ( double  gamma,
bool  strengthen 
)
protected

Compute the objective value of the Cglp with linear combintation of the row_k_ and gamma row_i_.

int LAP::CglLandPSimplex::findCutImprovingPivotRow ( int &  direction,
int &  gammaSign,
double  tolerance 
)
protected

Find a row which can be used to perform an improving pivot return index of the cut or -1 if none exists (i.e., find the leaving variable).

int LAP::CglLandPSimplex::findBestPivotColumn ( int  direction,
double  pivotTol,
bool  reducedSpace,
bool  allowDegeneratePivot,
bool  modularize 
)
protected

Find the column which leads to the best cut (i.e., find incoming variable).

int LAP::CglLandPSimplex::plotCGLPobj ( int  direction,
double  gammaTolerance,
double  pivotTol,
bool  reducedSpace,
bool  allowDegenerate,
bool  modularize 
)
protected

Member Data Documentation

TabRow LAP::CglLandPSimplex::row_k_
private

Source row for cut.

Definition at line 297 of file CglLandPSimplex.hpp.

TabRow LAP::CglLandPSimplex::original_row_k_
private

Original version of source row (without modularization).

Definition at line 299 of file CglLandPSimplex.hpp.

TabRow LAP::CglLandPSimplex::row_i_
private

Row of leaving candidate.

Definition at line 301 of file CglLandPSimplex.hpp.

TabRow LAP::CglLandPSimplex::new_row_
private

Definition at line 303 of file CglLandPSimplex.hpp.

CoinPackedVector LAP::CglLandPSimplex::gammas_
private

vector to sort the gammas

Definition at line 306 of file CglLandPSimplex.hpp.

std::vector<double> LAP::CglLandPSimplex::rWk1_
private

first work vector in row space.

Definition at line 308 of file CglLandPSimplex.hpp.

std::vector<double> LAP::CglLandPSimplex::rWk2_
private

scond work vector in row space.

Definition at line 310 of file CglLandPSimplex.hpp.

std::vector<double> LAP::CglLandPSimplex::rWk3_
private

third work vector in row space.

Definition at line 312 of file CglLandPSimplex.hpp.

std::vector<double> LAP::CglLandPSimplex::rWk4_
private

fourth work vector in row space.

Definition at line 314 of file CglLandPSimplex.hpp.

std::vector<int> LAP::CglLandPSimplex::rIntWork_
private

integer valued work vector on the rows

Definition at line 316 of file CglLandPSimplex.hpp.

bool* LAP::CglLandPSimplex::rowFlags_
private

Flag rows which we don't want to try anymore.

Definition at line 318 of file CglLandPSimplex.hpp.

std::vector<bool> LAP::CglLandPSimplex::col_in_subspace
private

Flag columns which are in the subspace (usualy remove nonbasic structurals in subspace)

Definition at line 320 of file CglLandPSimplex.hpp.

bool* LAP::CglLandPSimplex::colCandidateToLeave_
private

Flag columns which have to be considered for leaving the basis.

Definition at line 322 of file CglLandPSimplex.hpp.

int* LAP::CglLandPSimplex::basics_
private

Store the basics variable.

Definition at line 324 of file CglLandPSimplex.hpp.

int* LAP::CglLandPSimplex::nonBasics_
private

Stores the nonBasicVariables.

Definition at line 326 of file CglLandPSimplex.hpp.

std::vector<int> LAP::CglLandPSimplex::M1_
private

Stores the variables which are always in M1 for a given k.

Definition at line 328 of file CglLandPSimplex.hpp.

std::vector<int> LAP::CglLandPSimplex::M2_
private

Stores the variables which are always in M2 for a given k.

Definition at line 330 of file CglLandPSimplex.hpp.

std::vector<int> LAP::CglLandPSimplex::M3_
private

Stores the variables which could be either in M1 or M2.

Definition at line 332 of file CglLandPSimplex.hpp.

double LAP::CglLandPSimplex::sigma_
private

stores the cglp value of the normalized cut obtained from row k_

Definition at line 334 of file CglLandPSimplex.hpp.

CoinWarmStartBasis* LAP::CglLandPSimplex::basis_
private

Keep track of basis status.

Definition at line 336 of file CglLandPSimplex.hpp.

double* LAP::CglLandPSimplex::colsolToCut_
private

Pointer to the solution to cut (need to be modified after each pivot because we are only considering slacks).

Definition at line 338 of file CglLandPSimplex.hpp.

double* LAP::CglLandPSimplex::colsol_
private

Pointer to the current basic solution.

Definition at line 340 of file CglLandPSimplex.hpp.

int LAP::CglLandPSimplex::ncols_orig_
private

cached numcols in original problem

Definition at line 342 of file CglLandPSimplex.hpp.

int LAP::CglLandPSimplex::nrows_orig_
private

cached numrows in original problem

Definition at line 344 of file CglLandPSimplex.hpp.

int LAP::CglLandPSimplex::ncols_
private

cached number of columns in reduced size problem

Definition at line 346 of file CglLandPSimplex.hpp.

int LAP::CglLandPSimplex::nrows_
private

Cached number of rows in reduced size problem.

Definition at line 348 of file CglLandPSimplex.hpp.

std::vector<double> LAP::CglLandPSimplex::lo_bounds_
private

Definition at line 350 of file CglLandPSimplex.hpp.

std::vector<double> LAP::CglLandPSimplex::up_bounds_
private

Definition at line 352 of file CglLandPSimplex.hpp.

bool LAP::CglLandPSimplex::inDegenerateSequence_
private

Say if we are in a sequence of degenerate pivots.

Definition at line 354 of file CglLandPSimplex.hpp.

double LAP::CglLandPSimplex::chosenReducedCostVal_
private

Value for the reduced cost chosen for pivoting.

Definition at line 356 of file CglLandPSimplex.hpp.

const bool* LAP::CglLandPSimplex::integers_
private

pointer to array of integer info for both structural and slacks

Definition at line 358 of file CglLandPSimplex.hpp.

std::vector<int> LAP::CglLandPSimplex::original_index_
private

Original index of variable before deletions.

Definition at line 360 of file CglLandPSimplex.hpp.

Cuts LAP::CglLandPSimplex::cuts_
private

Stores extra cuts which are generated along the procedure.

Definition at line 362 of file CglLandPSimplex.hpp.

OsiSolverInterface* LAP::CglLandPSimplex::si_
private

Pointer to the solver interface.

Definition at line 367 of file CglLandPSimplex.hpp.

bool LAP::CglLandPSimplex::own_
private

Own the data or not?

Definition at line 370 of file CglLandPSimplex.hpp.

Validator& LAP::CglLandPSimplex::validator_
private

A pointer to a cut validator.

Definition at line 372 of file CglLandPSimplex.hpp.

std::vector<double> LAP::CglLandPSimplex::norm_weights_
private

Weights for the normalization constraint.

Definition at line 374 of file CglLandPSimplex.hpp.

double LAP::CglLandPSimplex::rhs_weight_
private

Weight for rhs of normalization constraint.*/.

Definition at line 376 of file CglLandPSimplex.hpp.

int LAP::CglLandPSimplex::nNegativeRcRows_
private

number of rows with a <0 rc in current iteration

Definition at line 379 of file CglLandPSimplex.hpp.

int LAP::CglLandPSimplex::numPivots_
private

Record the number of pivots.

Definition at line 384 of file CglLandPSimplex.hpp.

int LAP::CglLandPSimplex::numSourceRowEntered_
private

Record the number of times the source row entered the basis.

Definition at line 386 of file CglLandPSimplex.hpp.

int LAP::CglLandPSimplex::numIncreased_
private

Record the number of times that sigma increased.

Definition at line 388 of file CglLandPSimplex.hpp.

CoinMessageHandler* LAP::CglLandPSimplex::handler_
private

Message handler.

Definition at line 391 of file CglLandPSimplex.hpp.

CoinMessages LAP::CglLandPSimplex::messages_
private

Messages.

Definition at line 393 of file CglLandPSimplex.hpp.

double LAP::CglLandPSimplex::bestSigma_
private

Definition at line 395 of file CglLandPSimplex.hpp.


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