Skip to content

Commit

Permalink
Initial rough cut to remove clique and snapshot code.
Browse files Browse the repository at this point in the history
  • Loading branch information
LouHafer committed Feb 18, 2011
1 parent 35202e5 commit 8e22c73
Show file tree
Hide file tree
Showing 10 changed files with 105 additions and 5,864 deletions.
3 changes: 0 additions & 3 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,8 @@ src/CglProbing/CglImplication.hpp -text
src/CglProbing/CglProbingDebug.cpp -text
src/CglProbing/CglProbingDebug.hpp -text
src/CglProbing/CglProbingProbe.cpp -text
src/CglProbing/CglProbingProbeClique.cpp -text
src/CglProbing/CglProbingProbeSlack.cpp -text
src/CglProbing/CglProbingRowCut.cpp -text
src/CglProbing/CglProbingRowCut.hpp -text
src/CglProbing/CglProbingSnapshot.cpp -text
src/CglProbing/CglProbingTighten.cpp -text
test/CglTestData/capPlan1.mps -text
test/CglTestData/egout.mps -text
Expand Down
2,042 changes: 104 additions & 1,938 deletions src/CglProbing/CglProbing.cpp

Large diffs are not rendered by default.

56 changes: 0 additions & 56 deletions src/CglProbing/CglProbing.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -141,49 +141,6 @@ class CglProbing : public CglCutGenerator {
CglTreeInfo * info);
//@}

/*! \name Snapshot and Clique Utilities */
//@{
/*! \brief Create a copy of the constraint matrix which will be used for
probing.
This is to speed up the process and to give global cuts. Column bounds
are tightened on the copy and remembered from one call to the next, as
are the results of probing. Returns 1 if infeasible, otherwise 0.
If given, \p possible specifies which rows should be used; set entry i
to 1 to retain row i in the copy, 0 to drop it. In addition, if \p
possible is provided, rows that are determined to be ineffective will
be dropped. If \p withObjective is true, the objective will be added
as an additional constraint.
*/
int snapshot ( const OsiSolverInterface & si,
char * possible=NULL,
bool withObjective=true);

/*! \brief Refresh an existing snapshot from the solver.
Yes, the name is totally misleading.
*/
virtual void refreshSolver(OsiSolverInterface * solver);

/// Delete the snapshot
void deleteSnapshot ( );

/*! \brief Create cliques for use by probing.
Only cliques >= minimumSize and < maximumSize are created. The method
will also try to extend cliques as a result of probing (root node
only).
Returns the number of cliques found.
*/
int createCliques( OsiSolverInterface & si,
int minimumSize=2, int maximumSize=100);

/// Delete all clique information
void deleteCliques();
//@}

/**@name Get tighter column bounds */
//@{
/// Lower
Expand Down Expand Up @@ -430,19 +387,6 @@ class CglProbing : public CglCutGenerator {
double *rowLower, double *rowUpper,
int nRows,int nCols,char * intVar,int maxpass,
double tolerance) const;
/*! \brief Tighten column bounds using clique information
Use bound propagation augmented with clique information to tighten column
bounds. Can declare infeasibility and may also declare rows to be
redundant
*/
int tightenClique(double *colLower, double * colUpper,
const int *column, const double *rowElements,
const CoinBigIndex *rowStart,const CoinBigIndex * rowStartPos,
const int * rowLength,
double *rowLower, double *rowUpper,
int nRows,int nCols,char * intVar,int maxpass,
double tolerance) const;

/*! \brief Calculate constraint left-hand-side bounds
Expand Down
10 changes: 0 additions & 10 deletions src/CglProbing/CglProbingProbe.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1482,16 +1482,6 @@ void strengthenCoeff (
// =========================================================



/*
jjf: Does probing and adding cuts
Note that this method is heavily commented and instrumented in CbcAnn.
It would appear that probe() has received more attention that probeClique or
probeSlack. Neither of them has the ONE_ARRAY option.
*/

/*
We're going to probe integer variables, and we're interested in propagating
the effect of each probe (force a variable up or down).
Expand Down

0 comments on commit 8e22c73

Please sign in to comment.