Skip to content

Commit a5f28a3

Browse files
committed
unify use of debugger - now switch on unless CBC_RELEASE_CODE
1 parent bb97b92 commit a5f28a3

File tree

5 files changed

+71
-13
lines changed

5 files changed

+71
-13
lines changed

src/CbcHeuristic.cpp

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1010,15 +1010,24 @@ int CbcHeuristic::smallBranchAndBound(OsiSolverInterface *solver, int numberNode
10101010
returnCode = 2; // so will be infeasible
10111011
} else {
10121012
setPreProcessingMode(solver2,0);
1013-
#ifdef COIN_DEVELOP_z
1013+
#ifdef CHECK_KNOWN_SOLUTION
10141014
// Only way to get to work on restart
10151015
if (numberNodes < 0 && solver->getRowCutDebugger()) {
1016-
printf("TRying rowcutdebugger - need sol from /tmp/after2.mps in tmp/after2.sol\n");
1016+
#if defined(_MSC_VER)
1017+
printf("Trying rowcutdebugger on restart - need sol from after2.mps in tmp/after2.sol\n");
1018+
FILE * fp= fopen("after2.sol","r");
1019+
if (!fp) {
1020+
solver->writeMpsNative("before2.mps", NULL, NULL, 2, 1);
1021+
solver2->writeMpsNative("after2.mps", NULL, NULL, 2, 1);
1022+
printf("Solve after2.mps and re-run\n");
1023+
#else
1024+
printf("Trying rowcutdebugger on restart - need sol from /tmp/after2.mps in tmp/after2.sol\n");
10171025
FILE * fp= fopen("/tmp/after2.sol","r");
10181026
if (!fp) {
10191027
solver->writeMpsNative("/tmp/before2.mps", NULL, NULL, 2, 1);
10201028
solver2->writeMpsNative("/tmp/after2.mps", NULL, NULL, 2, 1);
1021-
printf("Solve after2 and re-run\n");
1029+
printf("Solve /tmp/after2.mps and re-run\n");
1030+
#endif
10221031
exit(77);
10231032
} else {
10241033
int ncols = solver2->getNumCols();
@@ -1037,6 +1046,10 @@ int CbcHeuristic::smallBranchAndBound(OsiSolverInterface *solver, int numberNode
10371046
charB++;
10381047
*charB='\0';
10391048
int sequence = atoi(charA);
1049+
if (sequence>=ncols) {
1050+
printf("mismatch on after2.sol - delete and try again\n");
1051+
exit(77);
1052+
}
10401053
// skip name
10411054
charB++;
10421055
while(*charB!=' ')

0 commit comments

Comments
 (0)