Hello,
I have a user cut callback where I have separation routines that use the current solution from the LP to try and identify violated cuts.
My callback uses the following line to obtain the current solution:
status = CPXgetcallbacknodex(env, cbdata, wherefrom, cutinfo->x[thr], 0, cutinfo->numcols - 1);I am running into an out of bounds error on this line
CPLEX Error 1206: CPXgetcallbacknodex: 'end' value 700 is greater than 699.CPLEX Error 1200: Index is outside range of valid values.in the following circumstance/setting before calling CPXmipopt:
//CPXsetintparam(env, CPX_PARAM_PRELINEAR, 0);//CPXsetintparam(env, CPX_PARAM_MIPCBREDLP, CPX_OFF);CPXsetintparam(env, CPXPARAM_Advance, 0);The error goes away when the first two lines are uncommented thereby setting CPX_PARAM_PRELINEAR to 0 and CPX_PARAM_MIPCBREDLP to CPX_OFF.
Is there any documentation that specifies the interaction between these different parameter settings?
Below are the official documentation for these 3 parameter settings:
advanced start switch - IBM Documentationlinear reduction switch - IBM DocumentationMIP callback switch between original model and reduced, presolved model - IBM DocumentationI would like to gain a clearer understanding of why the error occurs.
Thanks.
------------------------------
CPLEX User
------------------------------
#DecisionOptimization