#include <CglLandPSimplex.hpp>
Public Member Functions | |
CglLandPSimplex (const OsiSolverInterface &si, const CglLandP::CachedData &cached, const CglLandP::Parameters ¶ms, 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 ¶ms) |
Perfom pivots to find the best cuts. | |
bool | generateMig (int row, OsiRowCut &cut, const CglLandP::CachedData &cached, const CglLandP::Parameters ¶ms) const |
Find Gomory cut (i.e. | |
int | generateExtraCuts (const CglLandP::CachedData &cached, const CglLandP::Parameters ¶ms) |
Find extra constraints in current tableau. | |
int | generateExtraCut (int i, const CglLandP::CachedData &cached, const CglLandP::Parameters ¶ms) |
Generate a constrainte for a row of the tableau different from the source row. | |
void | genThisBasisMigs (const CglLandP::CachedData &cached, const CglLandP::Parameters ¶ms) |
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 |
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 ¶ms) |
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. | |
CglLandPSimplex & | operator= (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 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 | |
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. |
Definition at line 29 of file CglLandPSimplex.hpp.
enum LAP::CglLandPSimplex::lpSolver [private] |
Definition at line 220 of file CglLandPSimplex.hpp.
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.
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 60 of file CglLandPSimplex.hpp.
References handler_.
void LAP::CglLandPSimplex::setSi | ( | OsiSolverInterface * | si | ) | [inline] |
Definition at line 65 of file CglLandPSimplex.hpp.
void LAP::CglLandPSimplex::freeSi | ( | ) | [inline] |
Definition at line 73 of file CglLandPSimplex.hpp.
Cuts& LAP::CglLandPSimplex::extraCuts | ( | ) | [inline] |
Definition at line 78 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 86 of file CglLandPSimplex.hpp.
References ncols_.
int LAP::CglLandPSimplex::getNumRows | ( | ) | const [inline] |
Definition at line 90 of file CglLandPSimplex.hpp.
References nrows_.
const CoinWarmStartBasis* LAP::CglLandPSimplex::getBasis | ( | ) | const [inline] |
Definition at line 94 of file CglLandPSimplex.hpp.
References basis_.
const int* LAP::CglLandPSimplex::getNonBasics | ( | ) | const [inline] |
Definition at line 97 of file CglLandPSimplex.hpp.
const int* LAP::CglLandPSimplex::getBasics | ( | ) | const [inline] |
Definition at line 101 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).
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.
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 370 of file CglLandPSimplex.hpp.
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 387 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 [inline, protected] |
Get lower bound for variable or constraint.
Definition at line 159 of file CglLandPSimplex.hpp.
double LAP::CglLandPSimplex::getUpBound | ( | int | index | ) | const [inline, protected] |
Get upper bound for variable or constraint.
Definition at line 163 of file CglLandPSimplex.hpp.
double LAP::CglLandPSimplex::getColsolToCut | ( | int | index | ) | const [inline, protected] |
Access to value in solution to cut (indexed in reduced problem).
Definition at line 167 of file CglLandPSimplex.hpp.
bool LAP::CglLandPSimplex::isGtConst | ( | int | index | ) | const [inline, protected] |
Definition at line 170 of file CglLandPSimplex.hpp.
void LAP::CglLandPSimplex::setColsolToCut | ( | int | index, | |
double | value | |||
) | [inline, protected] |
Access to value in solution to cut (indexed in reduced problem).
Definition at line 174 of file CglLandPSimplex.hpp.
CoinWarmStartBasis::Status LAP::CglLandPSimplex::getStatus | ( | int | index | ) | const [inline, protected] |
Get the basic status of a variable (structural or slack).
Definition at line 178 of file CglLandPSimplex.hpp.
bool LAP::CglLandPSimplex::isInteger | ( | int | index | ) | [inline, protected] |
Say if variable index by i in current tableau is integer.
Definition at line 183 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 [inline, protected] |
Evenutaly multiply a by w if normed_weights_ is not empty.
Definition at line 190 of file CglLandPSimplex.hpp.
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.
lpSolver LAP::CglLandPSimplex::solver_ [private] |
Type of lp solver (for non-standardize tableau manipulation functions.
Definition at line 229 of file CglLandPSimplex.hpp.
Referenced by setSi().
OsiClpSolverInterface* LAP::CglLandPSimplex::clp_ [private] |
Pointer to OsiClpSolverInterface if used.
Definition at line 231 of file CglLandPSimplex.hpp.
Referenced by setSi().
TabRow LAP::CglLandPSimplex::row_k_ [mutable, private] |
Source row for cut.
Definition at line 246 of file CglLandPSimplex.hpp.
Referenced by newRowCoefficient().
TabRow LAP::CglLandPSimplex::row_i_ [private] |
Row of leaving candidate.
Definition at line 248 of file CglLandPSimplex.hpp.
Referenced by newRowCoefficient().
TabRow LAP::CglLandPSimplex::new_row_ [private] |
Source row for cut.
Definition at line 250 of file CglLandPSimplex.hpp.
CoinPackedVector LAP::CglLandPSimplex::gammas_ [private] |
vector to sort the gammas
Definition at line 253 of file CglLandPSimplex.hpp.
std::vector<double> LAP::CglLandPSimplex::rWk1_ [private] |
first work vector in row space.
Definition at line 255 of file CglLandPSimplex.hpp.
std::vector<double> LAP::CglLandPSimplex::rWk2_ [private] |
scond work vector in row space.
Definition at line 257 of file CglLandPSimplex.hpp.
std::vector<double> LAP::CglLandPSimplex::rWk3_ [private] |
third work vector in row space.
Definition at line 259 of file CglLandPSimplex.hpp.
std::vector<double> LAP::CglLandPSimplex::rWk4_ [private] |
fourth work vector in row space.
Definition at line 261 of file CglLandPSimplex.hpp.
std::vector<int> LAP::CglLandPSimplex::rIntWork_ [private] |
integer valued work vector on the rows
Definition at line 263 of file CglLandPSimplex.hpp.
bool* LAP::CglLandPSimplex::rowFlags_ [private] |
Flag rows which we don't want to try anymore.
Definition at line 265 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 267 of file CglLandPSimplex.hpp.
bool* LAP::CglLandPSimplex::colCandidateToLeave_ [private] |
Flag columns which have to be considered for leaving the basis.
Definition at line 269 of file CglLandPSimplex.hpp.
int* LAP::CglLandPSimplex::basics_ [private] |
Store the basics variable.
Definition at line 271 of file CglLandPSimplex.hpp.
Referenced by getBasics().
int* LAP::CglLandPSimplex::nonBasics_ [private] |
Stores the nonBasicVariables.
Definition at line 273 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 275 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 277 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 279 of file CglLandPSimplex.hpp.
double LAP::CglLandPSimplex::sigma_ [private] |
stores the cglp value of the normalized cut obtained from row k_
Definition at line 281 of file CglLandPSimplex.hpp.
CoinWarmStartBasis* LAP::CglLandPSimplex::basis_ [private] |
Keep track of basis status.
Definition at line 283 of file CglLandPSimplex.hpp.
Referenced by getBasis().
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 285 of file CglLandPSimplex.hpp.
double* LAP::CglLandPSimplex::colsol_ [private] |
Pointer to the current basic solution.
Definition at line 287 of file CglLandPSimplex.hpp.
int LAP::CglLandPSimplex::ncols_orig_ [private] |
cached numcols in original problem
Definition at line 289 of file CglLandPSimplex.hpp.
int LAP::CglLandPSimplex::nrows_orig_ [private] |
cached numrows in original problem
Definition at line 291 of file CglLandPSimplex.hpp.
int LAP::CglLandPSimplex::ncols_ [private] |
cached number of columns in reduced size problem
Definition at line 293 of file CglLandPSimplex.hpp.
Referenced by getNumCols().
int LAP::CglLandPSimplex::nrows_ [private] |
Cached number of rows in reduced size problem.
Definition at line 295 of file CglLandPSimplex.hpp.
Referenced by getNumRows().
std::vector<double> LAP::CglLandPSimplex::lo_bounds_ [private] |
Source row for cut.
Definition at line 297 of file CglLandPSimplex.hpp.
std::vector<double> LAP::CglLandPSimplex::up_bounds_ [private] |
Source row for cut.
Definition at line 299 of file CglLandPSimplex.hpp.
bool LAP::CglLandPSimplex::inDegenerateSequence_ [private] |
Say if we are in a sequence of degenerate pivots.
Definition at line 301 of file CglLandPSimplex.hpp.
double LAP::CglLandPSimplex::chosenReducedCostVal_ [private] |
Value for the reduced cost chosen for pivoting.
Definition at line 303 of file CglLandPSimplex.hpp.
const bool* LAP::CglLandPSimplex::integers_ [private] |
pointer to array of integer info for both structural and slacks
Definition at line 305 of file CglLandPSimplex.hpp.
std::vector<int> LAP::CglLandPSimplex::original_index_ [private] |
Original index of variable before deletions.
Definition at line 307 of file CglLandPSimplex.hpp.
Cuts LAP::CglLandPSimplex::cuts_ [private] |
Stores extra cuts which are generated along the procedure.
Definition at line 309 of file CglLandPSimplex.hpp.
Referenced by extraCuts().
OsiSolverInterface* LAP::CglLandPSimplex::si_ [private] |
Pointer to the solver interface.
Definition at line 314 of file CglLandPSimplex.hpp.
Referenced by setSi().
bool LAP::CglLandPSimplex::own_ [private] |
Own the data or not?
Definition at line 317 of file CglLandPSimplex.hpp.
const Validator& LAP::CglLandPSimplex::validator_ [private] |
A pointer to a cut validator.
Definition at line 319 of file CglLandPSimplex.hpp.
std::vector<double> LAP::CglLandPSimplex::norm_weights_ [private] |
Weights for the normalization constraint.
Definition at line 321 of file CglLandPSimplex.hpp.
double LAP::CglLandPSimplex::rhs_weight_ [private] |
Weight for rhs of normalization constraint.*/.
Definition at line 323 of file CglLandPSimplex.hpp.
int LAP::CglLandPSimplex::nNegativeRcRows_ [private] |
number of rows with a <0 rc in current iteration
Definition at line 326 of file CglLandPSimplex.hpp.
CoinMessageHandler* LAP::CglLandPSimplex::handler_ [private] |
CoinMessages LAP::CglLandPSimplex::messages_ [private] |
Messages.
Definition at line 334 of file CglLandPSimplex.hpp.
double LAP::CglLandPSimplex::bestSigma_ [private] |
Definition at line 336 of file CglLandPSimplex.hpp.