Loading...
Searching...
No Matches
LAP::CglLandPSimplex Class Reference

`#include <CglLandPSimplex.hpp>`

Collaboration diagram for LAP::CglLandPSimplex:
[legend]

## Public Member Functions

| CglLandPSimplex (const OsiSolverInterface &si, const CglLandP::CachedData &cached, const CglLandP::Parameters &params, Validator &validator)
| Usefull onstructor.
| ~CglLandPSimplex ()
| Destructor.
void | cacheUpdate (const CglLandP::CachedData &cached, bool reducedSpace=0)
| Update cached information in case of basis change in a round.
bool | resetSolver (const CoinWarmStartBasis *basis)
| reset the solver to optimal basis
bool | optimize (int var, OsiRowCut &cut, const CglLandP::CachedData &cached, const CglLandP::Parameters &params)
| Perfom pivots to find the best cuts.
bool | generateMig (int row, OsiRowCut &cut, const CglLandP::Parameters &params)
| Find Gomory cut (i.e.
int | generateExtraCuts (const CglLandP::CachedData &cached, const CglLandP::Parameters &params)
| Find extra constraints in current tableau.
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.
void | genThisBasisMigs (const CglLandP::CachedData &cached, const CglLandP::Parameters &params)
int | insertAllExtr (OsiCuts &cs, CoinRelFltEq eq)
| insert all extra cuts in cs.
void | setLogLevel (int level)
void | setSi (OsiSolverInterface *si)
void | freeSi ()
Cuts & | extraCuts ()
void | loadBasis (const OsiSolverInterface &si, std::vector< int > &M1, std::vector< int > &M2, int k)
int | getNumCols () const
int | getNumRows () const
const CoinWarmStartBasis * | getBasis () 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).
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).
int | rescanReducedCosts (int &direction, int &gammaSign, double tolerance)
| Rescan reduced costs tables.
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).
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.
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).
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.
double | newRowCoefficient (int j, double gamma) const
| return the coefficient of the new row (combining row_k + gamma row_i).
void | createIntersectionCut (TabRow &row, OsiRowCut &cut) const
| Create the intersection cut of row k.
double | normalizationFactor (const TabRow &row) const
| Compute the normalization factor of the cut.
void | scaleCut (OsiRowCut &cut, double factor) const
| Scale the cut by factor.
void | createMIG (TabRow &row, OsiRowCut &cut) const
| Create strenghtened row.
void | pullTableauRow (TabRow &row) const
| Get the row i of the tableau.
void | adjustTableauRow (int var, TabRow &row, int direction)
| Adjust the row of the tableau to reflect leaving variable direction.
void | resetOriginalTableauRow (int var, TabRow &row, int direction)
| reset the tableau row after a call to adjustTableauRow
double | getLoBound (int index) const
| Get lower bound for variable or constraint.
double | getUpBound (int index) const
| Get upper bound for variable or constraint.
double | getColsolToCut (int index) const
| Access to value in solution to cut (indexed in reduced problem).
bool | isGtConst (int index) const
void | setColsolToCut (int index, double value)
| Access to value in solution to cut (indexed in reduced problem).
CoinWarmStartBasis::Status | getStatus (int index) const
| Get the basic status of a variable (structural or slack).
bool | isInteger (int index) const
| Say if variable index by i in current tableau is integer.
void | computeWeights (CglLandP::LHSnorm norm, CglLandP::Normalization type, CglLandP::RhsWeightType rhs)
| Compute normalization weights.
double | normedCoef (double a, int ii) const
| Evenutaly multiply a by w if normed_weights_ is not empty.
void | printTableau (std::ostream &os)
| print the tableau of current basis.
void | printEverything ()
| Print everything .
void | printTableauLateX (std::ostream &os)
| print the tableau of current basis.
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.
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.
void | eliminate_slacks (double *vec) const
| Put a vector in structural sapce.
Slow versions of the function (old versions do not work).
double | computeCglpRedCost (int direction, int gammaSign, double tau)
| Compute the reduced cost of Cglp.
double | computeRedCostConstantsInRow ()
| Compute the value of sigma and thau (which are constants for a row i as defined in Mike Perregaard thesis.
double | computeCglpObjective (double gamma, bool strengthen, TabRow &row)
| Compute the objective value of the Cglp with linear combintation of the two rows by gamma.
double | computeCglpObjective (double gamma, bool strengthen)
| Compute the objective value of the Cglp with linear combintation of the row_k_ and gamma row_i_.
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).
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).
int | plotCGLPobj (int direction, double gammaTolerance, double pivotTol, bool reducedSpace, bool allowDegenerate, bool modularize)

## Private Member Functions

| CglLandPSimplex ()
| No default constructor.
| CglLandPSimplex (const CglLandPSimplex &)
| No copy constructor.
CglLandPSimplex & | operator= (const CglLandPSimplex &)
| No assignment operator.
void | updateM1_M2_M3 (TabRow &row, double tolerance, bool alwaysComputeCheap)
| Update values in M1 M2 and M3 before an iteration.
void | removeRows (int nDelete, const int *rowsIdx)
| Remove rows from current tableau.
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.

## Private Attributes

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

## Detailed Description

Definition at line 42 of file CglLandPSimplex.hpp.

## Constructor & Destructor Documentation

## CglLandPSimplex() [1/3]

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

Usefull onstructor.

## ~CglLandPSimplex()

LAP::CglLandPSimplex::~CglLandPSimplex | ( |  | ) |

Destructor.

## CglLandPSimplex() [2/3]

LAP::CglLandPSimplex::CglLandPSimplex | ( |  | ) |

private

No default constructor.

## CglLandPSimplex() [3/3]

LAP::CglLandPSimplex::CglLandPSimplex | ( | const CglLandPSimplex & |  | ) |

private

No copy constructor.

## Member Function Documentation

## cacheUpdate()

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

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

## resetSolver()

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

reset the solver to optimal basis

## optimize()

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

Perfom pivots to find the best cuts.

## generateMig()

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).

## generateExtraCuts()

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

Find extra constraints in current tableau.

## generateExtraCut()

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.

## genThisBasisMigs()

void LAP::CglLandPSimplex::genThisBasisMigs | ( | const CglLandP::CachedData & | cached,
|  | const CglLandP::Parameters & | params )

## insertAllExtr()

int LAP::CglLandPSimplex::insertAllExtr | ( | OsiCuts & | cs,
|  | CoinRelFltEq | eq )

insert all extra cuts in cs.

## setLogLevel()

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

inline

Definition at line 73 of file CglLandPSimplex.hpp.

## setSi()

void LAP::CglLandPSimplex::setSi | ( | OsiSolverInterface * | si | ) |

inline

Definition at line 79 of file CglLandPSimplex.hpp.

## freeSi()

void LAP::CglLandPSimplex::freeSi | ( |  | ) |

inline

Definition at line 90 of file CglLandPSimplex.hpp.

## extraCuts()

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

inline

Definition at line 100 of file CglLandPSimplex.hpp.

## loadBasis()

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

## getNumCols()

int LAP::CglLandPSimplex::getNumCols | ( |  | ) | const

inline

Definition at line 109 of file CglLandPSimplex.hpp.

## getNumRows()

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

inline

Definition at line 114 of file CglLandPSimplex.hpp.

## getBasis()

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

inline

Definition at line 119 of file CglLandPSimplex.hpp.

## getNonBasics()

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

inline

Definition at line 123 of file CglLandPSimplex.hpp.

## getBasics()

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

inline

Definition at line 128 of file CglLandPSimplex.hpp.

## outPivInfo()

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

inline

Definition at line 133 of file CglLandPSimplex.hpp.

## changeBasis()

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).

## fastFindCutImprovingPivotRow()

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.

## rescanReducedCosts()

int LAP::CglLandPSimplex::rescanReducedCosts | ( | int & | direction,
|  | int & | gammaSign,
|  | double | tolerance )

protected

Rescan reduced costs tables.

## fastFindBestPivotColumn()

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).

## findBestPivot()

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

  leaving | variable
  direction | leaving direction

## computeCglpObjective() [1/3]

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).

## strengthenedIntersectionCutCoef()

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

inline protected

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.

## newRowCoefficient()

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

inline protected

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

Definition at line 444 of file CglLandPSimplex.hpp.

## createIntersectionCut()

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

protected

Create the intersection cut of row k.

## normalizationFactor()

double LAP::CglLandPSimplex::normalizationFactor | ( | const TabRow & | row | ) | const

protected

Compute the normalization factor of the cut.

## scaleCut()

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

protected

Scale the cut by factor.

## createMIG()

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

protected

Create strenghtened row.

Create MIG cut from row k

## pullTableauRow()

void LAP::CglLandPSimplex::pullTableauRow | ( | TabRow & | row | ) | const

protected

Get the row i of the tableau.

## adjustTableauRow()

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

protected

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

## resetOriginalTableauRow()

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

protected

reset the tableau row after a call to adjustTableauRow

## getLoBound()

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

inline protected

Get lower bound for variable or constraint.

Definition at line 205 of file CglLandPSimplex.hpp.

## getUpBound()

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

inline protected

Get upper bound for variable or constraint.

Definition at line 210 of file CglLandPSimplex.hpp.

## getColsolToCut()

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

inline protected

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

Definition at line 215 of file CglLandPSimplex.hpp.

## isGtConst()

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

inline protected

Definition at line 219 of file CglLandPSimplex.hpp.

## setColsolToCut()

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

inline protected

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

Definition at line 224 of file CglLandPSimplex.hpp.

## getStatus()

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

inline protected

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

Definition at line 229 of file CglLandPSimplex.hpp.

## isInteger()

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

inline protected

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

Definition at line 235 of file CglLandPSimplex.hpp.

## computeWeights()

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

protected

Compute normalization weights.

## normedCoef()

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

inline protected

Evenutaly multiply a by w if normed_weights_ is not empty.

Definition at line 243 of file CglLandPSimplex.hpp.

## printTableau()

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

protected

print the tableau of current basis.

## printEverything()

void LAP::CglLandPSimplex::printEverything | ( |  | ) |

protected

Print everything .

## printTableauLateX()

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

protected

print the tableau of current basis.

## printRowLateX()

void LAP::CglLandPSimplex::printRowLateX | ( | std::ostream & | os,
|  | int | i )

protected

## printCutLateX()

void LAP::CglLandPSimplex::printCutLateX | ( | std::ostream & | os,
|  | int | i )

protected

## printCglpBasis()

void LAP::CglLandPSimplex::printCglpBasis | ( | std::ostream & | os = std::cout | ) |

protected

Print CGLP basis corresponding to current tableau and source row.

## get_M1_M2_M3()

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.

## eliminate_slacks()

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

protected

Put a vector in structural sapce.

## operator=()

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

private

No assignment operator.

## updateM1_M2_M3()

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

private

Update values in M1 M2 and M3 before an iteration.

## removeRows()

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

private

Remove rows from current tableau.

## compute_p_q_r_s()

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

private

## checkBasis()

bool LAP::CglLandPSimplex::checkBasis | ( |  | ) |

private

Check that the basis is correct.

## computeCglpRedCost()

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

protected

Compute the reduced cost of Cglp.

## computeRedCostConstantsInRow()

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.

## computeCglpObjective() [2/3]

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.

## computeCglpObjective() [3/3]

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_.

## findCutImprovingPivotRow()

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).

## findBestPivotColumn()

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).

## plotCGLPobj()

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

protected

## Member Data Documentation

## row_k_

TabRow LAP::CglLandPSimplex::row_k_

private

Source row for cut.

Definition at line 297 of file CglLandPSimplex.hpp.

## original_row_k_

TabRow LAP::CglLandPSimplex::original_row_k_

private

Original version of source row (without modularization).

Definition at line 299 of file CglLandPSimplex.hpp.

## row_i_

TabRow LAP::CglLandPSimplex::row_i_

private

Row of leaving candidate.

Definition at line 301 of file CglLandPSimplex.hpp.

## new_row_

TabRow LAP::CglLandPSimplex::new_row_

private

Definition at line 303 of file CglLandPSimplex.hpp.

## gammas_

CoinPackedVector LAP::CglLandPSimplex::gammas_

private

vector to sort the gammas

Definition at line 306 of file CglLandPSimplex.hpp.

## rWk1_

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

private

first work vector in row space.

Definition at line 308 of file CglLandPSimplex.hpp.

## rWk2_

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

private

scond work vector in row space.

Definition at line 310 of file CglLandPSimplex.hpp.

## rWk3_

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

private

third work vector in row space.

Definition at line 312 of file CglLandPSimplex.hpp.

## rWk4_

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

private

fourth work vector in row space.

Definition at line 314 of file CglLandPSimplex.hpp.

## rIntWork_

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

private

integer valued work vector on the rows

Definition at line 316 of file CglLandPSimplex.hpp.

## rowFlags_

bool* LAP::CglLandPSimplex::rowFlags_

private

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

Definition at line 318 of file CglLandPSimplex.hpp.

## col_in_subspace

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.

## colCandidateToLeave_

bool* LAP::CglLandPSimplex::colCandidateToLeave_

private

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

Definition at line 322 of file CglLandPSimplex.hpp.

## basics_

int* LAP::CglLandPSimplex::basics_

private

Store the basics variable.

Definition at line 324 of file CglLandPSimplex.hpp.

## nonBasics_

int* LAP::CglLandPSimplex::nonBasics_

private

Stores the nonBasicVariables.

Definition at line 326 of file CglLandPSimplex.hpp.

## M1_

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.

## M2_

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.

## M3_

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.

## sigma_

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.

## basis_

CoinWarmStartBasis* LAP::CglLandPSimplex::basis_

private

Keep track of basis status.

Definition at line 336 of file CglLandPSimplex.hpp.

## colsolToCut_

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.

## colsol_

double* LAP::CglLandPSimplex::colsol_

private

Pointer to the current basic solution.

Definition at line 340 of file CglLandPSimplex.hpp.

## ncols_orig_

int LAP::CglLandPSimplex::ncols_orig_

private

cached numcols in original problem

Definition at line 342 of file CglLandPSimplex.hpp.

## nrows_orig_

int LAP::CglLandPSimplex::nrows_orig_

private

cached numrows in original problem

Definition at line 344 of file CglLandPSimplex.hpp.

## ncols_

int LAP::CglLandPSimplex::ncols_

private

cached number of columns in reduced size problem

Definition at line 346 of file CglLandPSimplex.hpp.

## nrows_

int LAP::CglLandPSimplex::nrows_

private

Cached number of rows in reduced size problem.

Definition at line 348 of file CglLandPSimplex.hpp.

## lo_bounds_

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

private

Definition at line 350 of file CglLandPSimplex.hpp.

## up_bounds_

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

private

Definition at line 352 of file CglLandPSimplex.hpp.

## inDegenerateSequence_

bool LAP::CglLandPSimplex::inDegenerateSequence_

private

Say if we are in a sequence of degenerate pivots.

Definition at line 354 of file CglLandPSimplex.hpp.

## chosenReducedCostVal_

double LAP::CglLandPSimplex::chosenReducedCostVal_

private

Value for the reduced cost chosen for pivoting.

Definition at line 356 of file CglLandPSimplex.hpp.

## integers_

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.

## original_index_

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

private

Original index of variable before deletions.

Definition at line 360 of file CglLandPSimplex.hpp.

## cuts_

Cuts LAP::CglLandPSimplex::cuts_

private

Stores extra cuts which are generated along the procedure.

Definition at line 362 of file CglLandPSimplex.hpp.

## si_

OsiSolverInterface* LAP::CglLandPSimplex::si_

private

Pointer to the solver interface.

Definition at line 367 of file CglLandPSimplex.hpp.

## own_

bool LAP::CglLandPSimplex::own_

private

Own the data or not?

Definition at line 370 of file CglLandPSimplex.hpp.

## validator_

Validator& LAP::CglLandPSimplex::validator_

private

A pointer to a cut validator.

Definition at line 372 of file CglLandPSimplex.hpp.

## norm_weights_

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

private

Weights for the normalization constraint.

Definition at line 374 of file CglLandPSimplex.hpp.

## rhs_weight_

double LAP::CglLandPSimplex::rhs_weight_

private

Weight for rhs of normalization constraint.*‍/.

Definition at line 376 of file CglLandPSimplex.hpp.

## nNegativeRcRows_

int LAP::CglLandPSimplex::nNegativeRcRows_

private

number of rows with a <0 rc in current iteration

Definition at line 379 of file CglLandPSimplex.hpp.

## numPivots_

int LAP::CglLandPSimplex::numPivots_

private

Record the number of pivots.

Definition at line 384 of file CglLandPSimplex.hpp.

## numSourceRowEntered_

int LAP::CglLandPSimplex::numSourceRowEntered_

private

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

Definition at line 386 of file CglLandPSimplex.hpp.

## numIncreased_

int LAP::CglLandPSimplex::numIncreased_

private

Record the number of times that sigma increased.

Definition at line 388 of file CglLandPSimplex.hpp.

## handler_

CoinMessageHandler* LAP::CglLandPSimplex::handler_

private

Message handler.

Definition at line 391 of file CglLandPSimplex.hpp.

## messages_

CoinMessages LAP::CglLandPSimplex::messages_

private

Messages.

Definition at line 393 of file CglLandPSimplex.hpp.

## bestSigma_

double LAP::CglLandPSimplex::bestSigma_

private

Definition at line 395 of file CglLandPSimplex.hpp.

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

- Cgl/src/CglLandP/CglLandPSimplex.hpp