[Scip] SCIPlpiIgnoreInstability
Sebastian Ruther
Sebastian.Ruther at uon.edu.au
Wed Dec 5 02:37:30 MET 2012
Hello,
I have an issue when setting "lp/checkstability" to FALSE. SCIP asserts
in function SCIPlpiIgnoreInstability when the lpi->solstat is
CPX_STAT_ABORT_IT_LIM.
In some iteration the call to solveNodeInitialLP returned
SCIP_LPSOLSTAT_OBJLIMIT. As is described there, it then solves without
fastmip for 1 iteration.
For this, dual simplex returns CPX_STAT_ABORT_IT_LIM. In lpSolveStable
it calls SCIP_CALL( SCIPlpiIgnoreInstability(lp->lpi, &success) ); and
asserts there. The call stack is below. Note that I am still running
SCIP 2.1.1 (I am finishing the Ph.D in 2 months so would like to avoid
updating)
In SCIPlpiIgnoreInstability it says:
assert(lpi->solstat == CPX_STAT_UNBOUNDED
|| lpi->solstat == CPX_STAT_NUM_BEST
|| lpi->solstat == CPX_STAT_OPTIMAL_INFEAS);
/* replace instable status with optimal status */
if( lpi->solstat == CPX_STAT_NUM_BEST || lpi->solstat ==
CPX_STAT_OPTIMAL_INFEAS )
lpi->solstat = CPX_STAT_OPTIMAL;
can I add "|| lpi->solstat == CPX_STAT_ABORT_IT_LIM" to the if statement?
Also, in the assert you check for CPX_STAT_UNBOUNDED. Should that status
also be reset to CPX_STAT_OPTIMAL?
Regards,
Sebastian
binscip.exe!SCIPlpiIgnoreInstability(SCIP_LPi *
lpi=0x0000000001365ae0, unsigned int * success=0x000000000020e6d4) Line
2986 + 0x44 bytes C
> binscip.exe!lpSolveStable(SCIP_Lp * lp=0x000000000114bad0,
SCIP_Set * set=0x000000000042dd80, SCIP_Stat * stat=0x0000000001d7f3a0,
SCIP_LPAlgo lpalgo=SCIP_LPALGO_DUALSIMPLEX, int itlim=1, int
harditlim=-1, unsigned int resolve=0, int fastmip=1, unsigned int
tightfeastol=0, unsigned int fromscratch=0, unsigned int keepsol=0,
unsigned int * timelimit=0x000000000020e8e4, unsigned int *
lperror=0x000000000020f0e4) Line 11988 + 0x16 bytes C
binscip.exe!lpSolve(SCIP_Lp * lp=0x000000000114bad0, SCIP_Set *
set=0x000000000042dd80, SCIP_Stat * stat=0x0000000001d7f3a0, SCIP_LPAlgo
lpalgo=SCIP_LPALGO_DUALSIMPLEX, int resolveitlim=1, int harditlim=-1,
unsigned int needprimalray=0, unsigned int needdualray=0, unsigned int
resolve=1, int fastmip=1, unsigned int tightfeastol=0, unsigned int
fromscratch=0, unsigned int keepsol=0, unsigned int *
lperror=0x000000000020f0e4) Line 12339 + 0x8c bytes C
binscip.exe!SCIPlpSolveAndEval(SCIP_Lp * lp=0x000000000114bad0,
BMS_BlkMem * blkmem=0x000000000042bce0, SCIP_Set *
set=0x000000000042dd80, SCIP_Stat * stat=0x0000000001d7f3a0,
SCIP_EventQueue * eventqueue=0x0000000000c03e00, SCIP_EventFilter *
eventfilter=0x000000000eccbe00, SCIP_Prob * prob=0x0000000000bb5c80, int
itlim=-1, unsigned int limitresolveiters=1, unsigned int aging=1,
unsigned int keepsol=0, unsigned int * lperror=0x000000000020f0e4) Line
12957 + 0x84 bytes C
binscip.exe!solveNodeInitialLP(BMS_BlkMem *
blkmem=0x000000000042bce0, SCIP_Set * set=0x000000000042dd80, SCIP_Stat
* stat=0x0000000001d7f3a0, SCIP_Prob * prob=0x0000000000bb5c80,
SCIP_Primal * primal=0x0000000000b9fc20, SCIP_Tree *
tree=0x0000000001dbaf30, SCIP_Lp * lp=0x000000000114bad0,
SCIP_Pricestore * pricestore=0x0000000000c5eeb0, SCIP_SepaStore *
sepastore=0x0000000000d9beb0, SCIP_BranchCand *
branchcand=0x0000000000b9e830, SCIP_EventFilter *
eventfilter=0x000000000eccbe00, SCIP_EventQueue *
eventqueue=0x0000000000c03e00, unsigned int * cutoff=0x000000000020f3a4,
unsigned int * lperror=0x000000000020f0e4) Line 1175 + 0x79 bytes C
binscip.exe!solveNodeLP(BMS_BlkMem * blkmem=0x000000000042bce0,
SCIP_Set * set=0x000000000042dd80, SCIP_Stat * stat=0x0000000001d7f3a0,
SCIP_Prob * origprob=0x0000000001e0c360, SCIP_Prob *
transprob=0x0000000000bb5c80, SCIP_Primal * primal=0x0000000000b9fc20,
SCIP_Tree * tree=0x0000000001dbaf30, SCIP_Lp * lp=0x000000000114bad0,
SCIP_Pricestore * pricestore=0x0000000000c5eeb0, SCIP_SepaStore *
sepastore=0x0000000000d9beb0, SCIP_Cutpool * cutpool=0x000000000135df30,
SCIP_BranchCand * branchcand=0x0000000000b9e830, SCIP_Conflict *
conflict=0x00000000018ac320, SCIP_EventFilter *
eventfilter=0x000000000eccbe00, SCIP_EventQueue *
eventqueue=0x0000000000c03e00, unsigned int initiallpsolved=0, unsigned
int * cutoff=0x000000000020f3a4, unsigned int *
unbounded=0x000000000020f3c4, unsigned int * lperror=0x000000000020f0e4,
unsigned int * pricingaborted=0x000000000020f0c4) Line 2370 + 0xa7
bytes C
binscip.exe!propAndSolve(BMS_BlkMem * blkmem=0x000000000042bce0,
SCIP_Set * set=0x000000000042dd80, SCIP_Stat * stat=0x0000000001d7f3a0,
SCIP_Prob * origprob=0x0000000001e0c360, SCIP_Prob *
transprob=0x0000000000bb5c80, SCIP_Primal * primal=0x0000000000b9fc20,
SCIP_Tree * tree=0x0000000001dbaf30, SCIP_Lp * lp=0x000000000114bad0,
SCIP_Relaxation * relaxation=0x0000000000b9f860, SCIP_Pricestore *
pricestore=0x0000000000c5eeb0, SCIP_SepaStore *
sepastore=0x0000000000d9beb0, SCIP_BranchCand *
branchcand=0x0000000000b9e830, SCIP_Cutpool *
cutpool=0x000000000135df30, SCIP_Conflict * conflict=0x00000000018ac320,
SCIP_EventFilter * eventfilter=0x000000000eccbe00, SCIP_EventQueue *
eventqueue=0x0000000000c03e00, SCIP_Node * focusnode=0x0000000025cf0520,
int actdepth=16, unsigned int timingmask=1, unsigned int propagate=1,
unsigned int solvelp=1, unsigned int solverelax=1, unsigned int
forcedlpsolve=0, int * nlperrors=0x000000000020efc4, unsigned int *
fullpropagation=0x000000000020f084, unsigned int *
propagateagain=0x000000000020f064, unsigned int *
initiallpsolved=0x000000000020f004, unsigned int *
solvelpagain=0x000000000020f044, unsigned int *
solverelaxagain=0x000000000020f024, unsigned int *
cutoff=0x000000000020f3a4, unsigned int * unbounded=0x000000000020f3c4,
unsigned int * lperror=0x000000000020f0e4, unsigned int *
pricingaborted=0x000000000020f0c4, unsigned int *
forcedenforcement=0x000000000020f104) Line 3038 + 0x102 bytes C
binscip.exe!solveNode(BMS_BlkMem * blkmem=0x000000000042bce0,
SCIP_Set * set=0x000000000042dd80, SCIP_Stat * stat=0x0000000001d7f3a0,
SCIP_Prob * origprob=0x0000000001e0c360, SCIP_Prob *
transprob=0x0000000000bb5c80, SCIP_Primal * primal=0x0000000000b9fc20,
SCIP_Tree * tree=0x0000000001dbaf30, SCIP_Lp * lp=0x000000000114bad0,
SCIP_Relaxation * relaxation=0x0000000000b9f860, SCIP_Pricestore *
pricestore=0x0000000000c5eeb0, SCIP_SepaStore *
sepastore=0x0000000000d9beb0, SCIP_BranchCand *
branchcand=0x0000000000b9e830, SCIP_Cutpool *
cutpool=0x000000000135df30, SCIP_Conflict * conflict=0x00000000018ac320,
SCIP_EventFilter * eventfilter=0x000000000eccbe00, SCIP_EventQueue *
eventqueue=0x0000000000c03e00, unsigned int * cutoff=0x000000000020f3a4,
unsigned int * unbounded=0x000000000020f3c4, unsigned int *
infeasible=0x000000000020f3e4, unsigned int *
restart=0x000000000020f5d4, unsigned int *
afternodeheur=0x000000000020f424) Line 3273 + 0x1d2 bytes C
More information about the Scip
mailing list