LAP::CglLandPSimplex Class Reference

#include <CglLandPSimplex.hpp>

Collaboration diagram for LAP::CglLandPSimplex:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 CglLandPSimplex (const OsiSolverInterface &si, const CglLandP::CachedData &cached, const CglLandP::Parameters &params, const 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::CachedData &cached, const CglLandP::Parameters &params) const
 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 ()
CutsextraCuts ()
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

Protected Member Functions

bool changeBasis (int incoming, int leaving, int direction, bool recompute_source_row)
 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)
 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) 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)
 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 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.
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)
 Compute the reduced cost of Cglp.

Private Types

enum  lpSolver { clp }

Private Member Functions

 CglLandPSimplex ()
 No default constructor.
 CglLandPSimplex (const CglLandPSimplex &)
 No copy constructor.
CglLandPSimplexoperator= (const CglLandPSimplex &)
 No assignment operator.
void updateM1_M2_M3 (TabRow &row, double tolerance, bool recucedSpace, 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

lpSolver solver_
 Type of lp solver (for non-standardize tableau manipulation functions.
OsiClpSolverInterface * clp_
 Pointer to OsiClpSolverInterface if used.
bool own_
 Own the data or not?
const Validatorvalidator_
 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
CoinMessageHandler * handler_
 Message handler.
CoinMessages messages_
 Messages.
double bestSigma_
Work infos



TabRow row_k_
 Source row for cut.
TabRow row_i_
 Row of leaving candidate.
TabRow new_row_
 Source row for cut.
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_
 Source row for cut.
std::vector< double > up_bounds_
 Source row for cut.
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 30 of file CglLandPSimplex.hpp.


Member Enumeration Documentation

Enumerator:
clp 

Definition at line 221 of file CglLandPSimplex.hpp.


Constructor & Destructor Documentation

LAP::CglLandPSimplex::CglLandPSimplex ( const OsiSolverInterface &  si,
const CglLandP::CachedData cached,
const CglLandP::Parameters params,
const 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::CachedData cached,
const CglLandP::Parameters params 
) const

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 61 of file CglLandPSimplex.hpp.

References handler_.

void LAP::CglLandPSimplex::setSi ( OsiSolverInterface *  si  )  [inline]

Definition at line 66 of file CglLandPSimplex.hpp.

References clp, clp_, si_, and solver_.

void LAP::CglLandPSimplex::freeSi (  )  [inline]

Definition at line 74 of file CglLandPSimplex.hpp.

References clp_, and si_.

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

Definition at line 79 of file CglLandPSimplex.hpp.

References cuts_.

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 87 of file CglLandPSimplex.hpp.

References ncols_.

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

Definition at line 91 of file CglLandPSimplex.hpp.

References nrows_.

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

Definition at line 95 of file CglLandPSimplex.hpp.

References basis_.

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

Definition at line 98 of file CglLandPSimplex.hpp.

References nonBasics_.

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

Definition at line 102 of file CglLandPSimplex.hpp.

References basics_.

bool LAP::CglLandPSimplex::changeBasis ( int  incoming,
int  leaving,
int  direction,
bool  recompute_source_row 
) [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 
) [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:
leaving variable
direction leaving direction
double LAP::CglLandPSimplex::computeCglpObjective ( const TabRow row  )  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 [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 371 of file CglLandPSimplex.hpp.

References integers_, and LAP::intersectionCutCoef().

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 388 of file CglLandPSimplex.hpp.

References row_i_, and row_k_.

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 [inline, protected]

Get lower bound for variable or constraint.

Definition at line 160 of file CglLandPSimplex.hpp.

References lo_bounds_, and original_index_.

double LAP::CglLandPSimplex::getUpBound ( int  index  )  const [inline, protected]

Get upper bound for variable or constraint.

Definition at line 164 of file CglLandPSimplex.hpp.

References original_index_, and up_bounds_.

double LAP::CglLandPSimplex::getColsolToCut ( int  index  )  const [inline, protected]

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

Definition at line 168 of file CglLandPSimplex.hpp.

References colsolToCut_, and original_index_.

bool LAP::CglLandPSimplex::isGtConst ( int  index  )  const [inline, protected]

Definition at line 171 of file CglLandPSimplex.hpp.

References lo_bounds_, ncols_, original_index_, and up_bounds_.

void LAP::CglLandPSimplex::setColsolToCut ( int  index,
double  value 
) [inline, protected]

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

Definition at line 175 of file CglLandPSimplex.hpp.

References colsolToCut_, and original_index_.

CoinWarmStartBasis::Status LAP::CglLandPSimplex::getStatus ( int  index  )  const [inline, protected]

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

Definition at line 179 of file CglLandPSimplex.hpp.

References basis_, and ncols_.

bool LAP::CglLandPSimplex::isInteger ( int  index  )  [inline, protected]

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

Definition at line 184 of file CglLandPSimplex.hpp.

References integers_, and original_index_.

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 [inline, protected]

Evenutaly multiply a by w if normed_weights_ is not empty.

Definition at line 191 of file CglLandPSimplex.hpp.

References norm_weights_.

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

print the tableau of current basis.

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.

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

No assignment operator.

void LAP::CglLandPSimplex::updateM1_M2_M3 ( TabRow row,
double  tolerance,
bool  recucedSpace,
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]

Compute the reduced cost of Cglp.


Member Data Documentation

Type of lp solver (for non-standardize tableau manipulation functions.

Definition at line 230 of file CglLandPSimplex.hpp.

Referenced by setSi().

OsiClpSolverInterface* LAP::CglLandPSimplex::clp_ [private]

Pointer to OsiClpSolverInterface if used.

Definition at line 232 of file CglLandPSimplex.hpp.

Referenced by freeSi(), and setSi().

Source row for cut.

Definition at line 247 of file CglLandPSimplex.hpp.

Referenced by newRowCoefficient().

Row of leaving candidate.

Definition at line 249 of file CglLandPSimplex.hpp.

Referenced by newRowCoefficient().

Source row for cut.

Definition at line 251 of file CglLandPSimplex.hpp.

CoinPackedVector LAP::CglLandPSimplex::gammas_ [private]

vector to sort the gammas

Definition at line 254 of file CglLandPSimplex.hpp.

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

first work vector in row space.

Definition at line 256 of file CglLandPSimplex.hpp.

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

scond work vector in row space.

Definition at line 258 of file CglLandPSimplex.hpp.

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

third work vector in row space.

Definition at line 260 of file CglLandPSimplex.hpp.

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

fourth work vector in row space.

Definition at line 262 of file CglLandPSimplex.hpp.

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

integer valued work vector on the rows

Definition at line 264 of file CglLandPSimplex.hpp.

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

Definition at line 266 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 268 of file CglLandPSimplex.hpp.

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

Definition at line 270 of file CglLandPSimplex.hpp.

Store the basics variable.

Definition at line 272 of file CglLandPSimplex.hpp.

Referenced by getBasics().

Stores the nonBasicVariables.

Definition at line 274 of file CglLandPSimplex.hpp.

Referenced by getNonBasics().

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

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

Definition at line 276 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 278 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 280 of file CglLandPSimplex.hpp.

double LAP::CglLandPSimplex::sigma_ [private]

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

Definition at line 282 of file CglLandPSimplex.hpp.

CoinWarmStartBasis* LAP::CglLandPSimplex::basis_ [private]

Keep track of basis status.

Definition at line 284 of file CglLandPSimplex.hpp.

Referenced by getBasis(), and getStatus().

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

Definition at line 286 of file CglLandPSimplex.hpp.

Referenced by getColsolToCut(), and setColsolToCut().

double* LAP::CglLandPSimplex::colsol_ [private]

Pointer to the current basic solution.

Definition at line 288 of file CglLandPSimplex.hpp.

cached numcols in original problem

Definition at line 290 of file CglLandPSimplex.hpp.

cached numrows in original problem

Definition at line 292 of file CglLandPSimplex.hpp.

cached number of columns in reduced size problem

Definition at line 294 of file CglLandPSimplex.hpp.

Referenced by getNumCols(), getStatus(), and isGtConst().

Cached number of rows in reduced size problem.

Definition at line 296 of file CglLandPSimplex.hpp.

Referenced by getNumRows().

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

Source row for cut.

Definition at line 298 of file CglLandPSimplex.hpp.

Referenced by getLoBound(), and isGtConst().

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

Source row for cut.

Definition at line 300 of file CglLandPSimplex.hpp.

Referenced by getUpBound(), and isGtConst().

Say if we are in a sequence of degenerate pivots.

Definition at line 302 of file CglLandPSimplex.hpp.

Value for the reduced cost chosen for pivoting.

Definition at line 304 of file CglLandPSimplex.hpp.

const bool* LAP::CglLandPSimplex::integers_ [private]

pointer to array of integer info for both structural and slacks

Definition at line 306 of file CglLandPSimplex.hpp.

Referenced by isInteger(), and strengthenedIntersectionCutCoef().

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

Original index of variable before deletions.

Definition at line 308 of file CglLandPSimplex.hpp.

Referenced by getColsolToCut(), getLoBound(), getUpBound(), isGtConst(), isInteger(), and setColsolToCut().

Stores extra cuts which are generated along the procedure.

Definition at line 310 of file CglLandPSimplex.hpp.

Referenced by extraCuts().

OsiSolverInterface* LAP::CglLandPSimplex::si_ [private]

Pointer to the solver interface.

Definition at line 315 of file CglLandPSimplex.hpp.

Referenced by freeSi(), and setSi().

Own the data or not?

Definition at line 318 of file CglLandPSimplex.hpp.

A pointer to a cut validator.

Definition at line 320 of file CglLandPSimplex.hpp.

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

Weights for the normalization constraint.

Definition at line 322 of file CglLandPSimplex.hpp.

Referenced by normedCoef().

Weight for rhs of normalization constraint.*/.

Definition at line 324 of file CglLandPSimplex.hpp.

number of rows with a <0 rc in current iteration

Definition at line 327 of file CglLandPSimplex.hpp.

CoinMessageHandler* LAP::CglLandPSimplex::handler_ [private]

Message handler.

Definition at line 333 of file CglLandPSimplex.hpp.

Referenced by setLogLevel().

CoinMessages LAP::CglLandPSimplex::messages_ [private]

Messages.

Definition at line 335 of file CglLandPSimplex.hpp.

Definition at line 337 of file CglLandPSimplex.hpp.


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

Generated on Fri Nov 20 19:37:22 2009 for coin-Cgl by  doxygen 1.6.1