134 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPcreateVar",
FALSE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
143 switch(
scip->set->stage )
147 name, lb, ub,
obj, vartype, initial, removable, vardelorig, vartrans, vardeltrans, varcopy, vardata) );
157 name, lb, ub,
obj, vartype, initial, removable, vardelorig, vartrans, vardeltrans, varcopy, vardata) );
204 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPcreateVarBasic",
FALSE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
206 SCIP_CALL(
SCIPcreateVar(
scip,
var, name, lb, ub,
obj, vartype,
TRUE,
FALSE,
NULL,
NULL,
NULL,
NULL,
NULL) );
240 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPwriteVarName",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
303 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPwriteVarsList",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
305 for( v = 0; v <
nvars; ++v )
354 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPwriteVarsLinearsum",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
356 for( v = 0; v <
nvars; ++v )
365 else if( vals[v] == -1.0 )
408 SCIP_Real** monomialexps,
409 SCIP_Real* monomialcoefs,
419 assert(monomialvars !=
NULL || nmonomials == 0);
420 assert(monomialcoefs !=
NULL || nmonomials == 0);
421 assert(monomialnvars !=
NULL || nmonomials == 0);
423 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPwriteVarsPolynomial",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
425 if( nmonomials == 0 )
431 for(
i = 0;
i < nmonomials; ++
i )
433 if( monomialcoefs[
i] == 1.0 )
438 else if( monomialcoefs[
i] == -1.0 )
443 assert(monomialvars[
i] !=
NULL || monomialnvars[
i] == 0);
445 for( v = 0; v < monomialnvars[
i]; ++v )
448 if( monomialexps !=
NULL && monomialexps[
i] !=
NULL && monomialexps[
i][v] != 1.0 )
491 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPparseVar",
FALSE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
493 switch(
scip->set->stage )
497 str, initial, removable, varcopy, vardelorig, vartrans, vardeltrans, vardata, endptr, success) );
507 str, initial, removable, varcopy, vardelorig, vartrans, vardeltrans, vardata, endptr, success) );
546 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPparseVarName",
FALSE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
558 if( *varname ==
'~' )
632 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPparseVarsList",
FALSE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
641 *endptr = (
char*)str;
652 if( ntmpvars < varssize )
653 tmpvars[ntmpvars] =
var;
659 while( *str == delimiter );
661 *endptr = (
char*)str;
664 if( (*success) && ntmpvars <= varssize )
666 for( v = 0; v < ntmpvars; ++v )
667 vars[v] = tmpvars[v];
674 (*requiredsize) = ntmpvars;
717 SCIP_Real** monomialexps;
718 SCIP_Real* monomialcoefs;
722 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPparseVarsLinearsum",
FALSE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
744 if( nmonomials == 1 && monomialnvars[0] == 0 && monomialcoefs[0] == 0.0 )
755 *requiredsize = nmonomials;
758 if( varssize >= nmonomials )
762 for( v = 0; v < nmonomials; ++v )
764 if( monomialnvars[v] == 0 )
770 if( monomialnvars[v] > 1 || monomialexps[v][0] != 1.0 )
776 assert(monomialnvars[v] == 1);
778 assert(monomialexps[v][0] == 1.0);
780 vars[v] = monomialvars[v][0];
781 vals[v] = monomialcoefs[v];
817 SCIP_Real*** monomialexps,
818 SCIP_Real** monomialcoefs,
827 SCIPPARSEPOLYNOMIAL_STATE_BEGIN,
828 SCIPPARSEPOLYNOMIAL_STATE_INTERMED,
829 SCIPPARSEPOLYNOMIAL_STATE_COEF,
830 SCIPPARSEPOLYNOMIAL_STATE_VARS,
831 SCIPPARSEPOLYNOMIAL_STATE_EXPONENT,
832 SCIPPARSEPOLYNOMIAL_STATE_END,
833 SCIPPARSEPOLYNOMIAL_STATE_ERROR
834 } SCIPPARSEPOLYNOMIAL_STATES;
836 SCIPPARSEPOLYNOMIAL_STATES state;
843 SCIP_Real* exponents;
856 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPparseVarsPolynomial",
FALSE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
861 *monomialvars =
NULL;
862 *monomialexps =
NULL;
863 *monomialcoefs =
NULL;
864 *monomialnvars =
NULL;
867 state = SCIPPARSEPOLYNOMIAL_STATE_BEGIN;
876 while( *str && state != SCIPPARSEPOLYNOMIAL_STATE_END && state != SCIPPARSEPOLYNOMIAL_STATE_ERROR )
881 assert(state != SCIPPARSEPOLYNOMIAL_STATE_END);
885 case SCIPPARSEPOLYNOMIAL_STATE_BEGIN:
892 if( monomialssize <= *nmonomials )
909 (*monomialvars)[*nmonomials] =
NULL;
910 (*monomialexps)[*nmonomials] =
NULL;
912 (*monomialcoefs)[*nmonomials] = coef;
913 (*monomialnvars)[*nmonomials] =
nvars;
925 state = SCIPPARSEPOLYNOMIAL_STATE_VARS;
928 else if( *str ==
'-' || *str ==
'+' || isdigit(*str) )
929 state = SCIPPARSEPOLYNOMIAL_STATE_COEF;
931 state = SCIPPARSEPOLYNOMIAL_STATE_END;
936 case SCIPPARSEPOLYNOMIAL_STATE_INTERMED:
941 state = SCIPPARSEPOLYNOMIAL_STATE_VARS;
943 else if( *str ==
'-' || *str ==
'+' || isdigit(*str) )
946 state = SCIPPARSEPOLYNOMIAL_STATE_BEGIN;
949 state = SCIPPARSEPOLYNOMIAL_STATE_END;
954 case SCIPPARSEPOLYNOMIAL_STATE_COEF:
956 if( *str ==
'+' && !isdigit(str[1]) )
962 else if( *str ==
'-' && !isdigit(str[1]) )
975 state = SCIPPARSEPOLYNOMIAL_STATE_ERROR;
980 state = SCIPPARSEPOLYNOMIAL_STATE_INTERMED;
985 case SCIPPARSEPOLYNOMIAL_STATE_VARS:
997 state = SCIPPARSEPOLYNOMIAL_STATE_END;
1004 state = SCIPPARSEPOLYNOMIAL_STATE_ERROR;
1009 if(
nvars + 1 > varssize )
1019 exponents[
nvars] = 1.0;
1025 state = SCIPPARSEPOLYNOMIAL_STATE_EXPONENT;
1027 state = SCIPPARSEPOLYNOMIAL_STATE_INTERMED;
1032 case SCIPPARSEPOLYNOMIAL_STATE_EXPONENT:
1041 SCIPerrorMessage(
"could not parse number in the beginning of '%s'\n", str);
1042 state = SCIPPARSEPOLYNOMIAL_STATE_ERROR;
1048 state = SCIPPARSEPOLYNOMIAL_STATE_INTERMED;
1053 case SCIPPARSEPOLYNOMIAL_STATE_END:
1055 case SCIPPARSEPOLYNOMIAL_STATE_ERROR:
1063 *endptr = (
char*)str;
1068 case SCIPPARSEPOLYNOMIAL_STATE_BEGIN:
1069 case SCIPPARSEPOLYNOMIAL_STATE_END:
1070 case SCIPPARSEPOLYNOMIAL_STATE_INTERMED:
1076 if( monomialssize <= *nmonomials )
1078 monomialssize = *nmonomials+1;
1090 (*monomialvars)[*nmonomials] =
vars;
1091 (*monomialexps)[*nmonomials] = exponents;
1097 (*monomialvars)[*nmonomials] =
NULL;
1098 (*monomialexps)[*nmonomials] =
NULL;
1100 (*monomialcoefs)[*nmonomials] = coef;
1101 (*monomialnvars)[*nmonomials] =
nvars;
1109 case SCIPPARSEPOLYNOMIAL_STATE_COEF:
1110 case SCIPPARSEPOLYNOMIAL_STATE_VARS:
1111 case SCIPPARSEPOLYNOMIAL_STATE_EXPONENT:
1113 SCIPerrorMessage(
"unexpected parsing state at end of polynomial string\n");
1116 case SCIPPARSEPOLYNOMIAL_STATE_ERROR:
1125 if( *success && *nmonomials > 0 )
1128 assert(*nmonomials <= monomialssize);
1160 SCIP_Real*** monomialexps,
1161 SCIP_Real** monomialcoefs,
1162 int** monomialnvars,
1174 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPfreeParseVarsPolynomialData",
FALSE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
1176 if( nmonomials == 0 )
1184 for(
i = nmonomials - 1;
i >= 0; --
i )
1219 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPcaptureVar",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
1257 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPreleaseVar",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
1259 switch(
scip->set->stage )
1278 SCIPerrorMessage(
"cannot release last use of original variable while associated transformed variable exists\n");
1305 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPchgVarName",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
1310 SCIPerrorMessage(
"variable names can only be changed in problem creation stage\n");
1357 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPtransformVar",
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
1401 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPtransformVars",
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
1403 for( v = 0; v <
nvars; ++v )
1407 transvars[v] =
vars[v];
1447 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetTransformedVar",
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
1492 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetTransformedVars",
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
1494 for( v = 0; v <
nvars; ++v )
1497 transvars[v] =
vars[v];
1533 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetNegatedVar",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
1569 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetNegatedVars",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
1571 for( v = 0; v <
nvars; ++v )
1610 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetBinvarRepresentative",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
1659 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetBinvarRepresentatives",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
1670 for( v =
nvars - 1; v >= 0; --v )
1700 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPflattenVarAggregationGraph",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
1751 SCIP_Real* constant,
1756 SCIP_Bool mergemultiples
1767 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetProbvarLinearSum",
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
1806 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetProbvarSum",
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
1848 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetActiveVars",
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
2014 if( bdchgidx ==
NULL )
2019 if( bdchginfo !=
NULL )
2108 SCIPerrorMessage(
"cannot get the bounds of a multi-aggregated variable.\n");
2150 if( bdchgidx ==
NULL )
2155 if( bdchginfo !=
NULL )
2244 SCIPerrorMessage(
"cannot get the bounds of a multiple aggregated variable.\n");
2312 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarSol",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
2339 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetVarSols",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
2343 for( v = 0; v <
nvars; ++v )
2348 for( v = 0; v <
nvars; ++v )
2375 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPclearRelaxSolVals",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
2386 for( v = 0; v <
nvars; v++ )
2423 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPsetRelaxSolVal",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
2453 SCIP_Bool includeslp
2462 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPsetRelaxSolVals",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
2466 for( v = 0; v <
nvars; v++ )
2493 SCIP_Bool includeslp
2503 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPsetRelaxSolValsSol",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
2513 for( v = 0; v <
nvars; v++ )
2543 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPisRelaxSolValid",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
2560 SCIP_Bool includeslp
2565 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPmarkRelaxSolValid",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
2588 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPmarkRelaxSolInvalid",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
2612 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetRelaxSolVal",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
2638 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetRelaxSolObj",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
2660 switch(
scip->set->branch_firstsbchild )
2669 assert(
scip->set->branch_firstsbchild ==
'h');
2688 SCIP_Bool enablepropagation
2692 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPstartStrongbranch",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
2701 if( enablepropagation )
2705 SCIPerrorMessage(
"cannot start strong branching with propagation while in probing mode\n");
2711 SCIPerrorMessage(
"cannot start strong branching with propagation while in diving mode\n");
2750 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPendStrongbranch",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
2780 for(
i = 0, nbnds = 0;
i < nboundchgs; ++
i )
2796 SCIPdebugMsg(
scip,
"ending strong branching with probing: %d bound changes collected\n", nbnds);
2804 scip->branchcand,
scip->eventqueue,
scip->eventfilter,
scip->cliquetable) );
2807 for(
i = 0;
i < nbnds; ++
i )
2844 SCIP_Bool* downconflict,
2846 SCIP_Bool* upconflict
2851 SCIP_Bool downcutoff;
2860 if( downinf !=
NULL )
2861 *downinf = downcutoff;
2869 if(
scip->set->conf_enable &&
scip->set->conf_usesb &&
scip->set->nconflicthdlrs > 0
2878 scip->transprob,
scip->origprob,
scip->tree,
scip->reopt,
scip->lp,
scip->branchcand,
scip->eventqueue,
scip->cliquetable, col, downconflict, upconflict) );
2923 SCIP_Bool idempotent,
2926 SCIP_Bool* downvalid,
2932 SCIP_Bool* downconflict,
2934 SCIP_Bool* upconflict,
2942 SCIP_Real localdown;
2944 SCIP_Bool localdownvalid;
2945 SCIP_Bool localupvalid;
2952 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetVarStrongbranchFrac",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
2955 if( downvalid !=
NULL )
2957 if( upvalid !=
NULL )
2959 if( downinf !=
NULL )
2963 if( downconflict !=
NULL )
2964 *downconflict =
FALSE;
2965 if( upconflict !=
NULL )
2966 *upconflict =
FALSE;
2993 &localdown, &localup, &localdownvalid, &localupvalid,
lperror) );
3000 SCIP_Real pseudoobjval;
3014 if(
scip->set->misc_exactsolve )
3019 if( pseudoobjval > lpobjval )
3023 if( !localdownvalid || localdown < pseudoobjval )
3025 localdown = pseudoobjval;
3026 localdownvalid =
TRUE;
3031 if( !localupvalid || localup < pseudoobjval )
3033 localup = pseudoobjval;
3034 localupvalid =
TRUE;
3050 if( downinf !=
NULL )
3060 if( downvalid !=
NULL )
3061 *downvalid = localdownvalid;
3062 if( upvalid !=
NULL )
3063 *upvalid = localupvalid;
3074 SCIP_Bool firstchild,
3083 SCIP_Longint* ndomreductions,
3084 SCIP_Bool* conflict,
3092 SCIP_Bool* foundsol,
3096 SCIP_Longint ndomreds;
3123 if( conflict !=
NULL )
3145 if( conflict !=
NULL )
3184 if( conflict !=
NULL )
3205 if( ndomreductions !=
NULL )
3206 *ndomreductions = ndomreds;
3218 SCIPdebugMsg(
scip,
"%s branch of var <%s> detected infeasible during propagation\n",
3238 SCIPdebugMsg(
scip,
"%s branch of var <%s> detected infeasible in LP solving: status=%d\n",
3253 SCIPdebugMsg(
scip,
"probing LP solved to optimality, objective value: %16.9g\n", *value);
3263 ++
scip->stat->nsbtimesiterlimhit;
3270 SCIP_Real looseobjval;
3295 *value =
objval + looseobjval;
3350 for( v = 0; v <
nvars; ++v )
3359 for( v = 0; v <
nvars; ++v )
3364 newlbs[v] =
MIN(newlbs[v], lb);
3365 newubs[v] =
MAX(newubs[v], ub);
3406 SCIP_Bool* downvalid,
3410 SCIP_Longint* ndomredsdown,
3411 SCIP_Longint* ndomredsup,
3414 SCIP_Bool* downconflict,
3416 SCIP_Bool* upconflict,
3426 SCIP_Longint oldniters;
3431 SCIP_Bool downchild;
3432 SCIP_Bool firstchild;
3434 SCIP_Bool downvalidlocal;
3435 SCIP_Bool upvalidlocal;
3436 SCIP_Bool allcolsinlp;
3437 SCIP_Bool enabledconflict;
3450 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetVarStrongbranchWithPropagation",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
3453 propagate = (maxproprounds != 0 && maxproprounds != -3);
3464 if( maxproprounds == -2 )
3469 if( downvalid !=
NULL )
3471 if( upvalid !=
NULL )
3473 if( downinf !=
NULL )
3477 if( downconflict !=
NULL )
3478 *downconflict =
FALSE;
3479 if( upconflict !=
NULL )
3480 *upconflict =
FALSE;
3481 if( ndomredsdown !=
NULL )
3483 if( ndomredsup !=
NULL )
3533 if( upvalid !=
NULL )
3537 if( upconflict !=
NULL )
3555 if( downinf !=
NULL )
3558 if( downvalid !=
NULL )
3562 if( downconflict !=
NULL )
3563 *downconflict =
TRUE;
3577 oldniters =
scip->stat->nsbdivinglpiterations;
3582 enabledconflict =
scip->set->conf_enable;
3583 scip->set->conf_enable = (
scip->set->conf_enable &&
scip->set->conf_usesb);
3588 downvalidlocal =
FALSE;
3589 upvalidlocal =
FALSE;
3598 down, &downvalidlocal, ndomredsdown, downconflict,
lperror,
vars,
nvars, newlbs, newubs, &foundsol, &
cutoff) );
3603 if( downinf !=
NULL )
3606 if( downconflict !=
NULL
3608 *downconflict =
TRUE;
3617 upvalidlocal =
TRUE;
3624 up, &upvalidlocal, ndomredsup, upconflict,
lperror,
vars,
nvars, newlbs, newubs, &foundsol, &
cutoff) );
3632 if( upconflict !=
NULL
3640 if( downinf !=
NULL )
3643 downvalidlocal =
TRUE;
3648 downchild = !downchild;
3649 firstchild = !firstchild;
3652 while( !firstchild && ( !
cutoff ||
scip->set->branch_forceall ) );
3659 SCIP_Real pseudoobjval;
3673 if(
scip->set->misc_exactsolve )
3678 if( pseudoobjval > lpobjval )
3682 if( !downvalidlocal || *down < pseudoobjval )
3684 *down = pseudoobjval;
3685 downvalidlocal =
TRUE;
3693 if( !upvalidlocal || *up < pseudoobjval )
3696 upvalidlocal =
TRUE;
3713 *down, *up, downvalidlocal, upvalidlocal,
scip->stat->nsbdivinglpiterations - oldniters, itlim);
3716 if( downvalid !=
NULL )
3717 *downvalid = downvalidlocal;
3718 if( upvalid !=
NULL )
3719 *upvalid = upvalidlocal;
3721 scip->set->conf_enable = enabledconflict;
3743 SCIP_Bool idempotent,
3746 SCIP_Bool* downvalid,
3752 SCIP_Bool* downconflict,
3754 SCIP_Bool* upconflict,
3762 SCIP_Real localdown;
3764 SCIP_Bool localdownvalid;
3765 SCIP_Bool localupvalid;
3771 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetVarStrongbranchInt",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
3774 if( downvalid !=
NULL )
3776 if( upvalid !=
NULL )
3778 if( downinf !=
NULL )
3782 if( downconflict !=
NULL )
3783 *downconflict =
FALSE;
3784 if( upconflict !=
NULL )
3785 *upconflict =
FALSE;
3812 &localdown, &localup, &localdownvalid, &localupvalid,
lperror) );
3819 SCIP_Real pseudoobjval;
3833 if(
scip->set->misc_exactsolve )
3838 if( pseudoobjval > lpobjval )
3842 if( !localdownvalid || localdown < pseudoobjval )
3844 localdown = pseudoobjval;
3845 localdownvalid =
TRUE;
3850 if( !localupvalid || localup < pseudoobjval )
3852 localup = pseudoobjval;
3853 localupvalid =
TRUE;
3869 if( downinf !=
NULL )
3879 if( downvalid !=
NULL )
3880 *downvalid = localdownvalid;
3881 if( upvalid !=
NULL )
3882 *upvalid = localupvalid;
3903 SCIP_Bool* downvalid,
3909 SCIP_Bool* downconflict,
3911 SCIP_Bool* upconflict,
3920 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetVarsStrongbranchesFrac",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
3929 for( j = 0; j <
nvars; ++j )
3934 if( downvalid !=
NULL )
3935 downvalid[j] =
FALSE;
3936 if( upvalid !=
NULL )
3938 if( downinf !=
NULL )
3942 if( downconflict !=
NULL )
3943 downconflict[j] =
FALSE;
3944 if( upconflict !=
NULL )
3945 upconflict[j] =
FALSE;
3978 down, up, downvalid, upvalid,
lperror) );
3985 for( j = 0; j <
nvars; ++j )
3988 (upinf !=
NULL) ? (&(upinf[j])) :
NULL, (downconflict !=
NULL) ? (&(downconflict[j])) :
NULL,
3989 (upconflict !=
NULL) ? (&(upconflict[j])) :
NULL) );
4014 SCIP_Bool* downvalid,
4020 SCIP_Bool* downconflict,
4022 SCIP_Bool* upconflict,
4033 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetVarsStrongbranchesInt",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
4041 for( j = 0; j <
nvars; ++j )
4046 if( downvalid !=
NULL )
4047 downvalid[j] =
FALSE;
4048 if( upvalid !=
NULL )
4050 if( downinf !=
NULL )
4054 if( downconflict !=
NULL )
4055 downconflict[j] =
FALSE;
4056 if( upconflict !=
NULL )
4057 upconflict[j] =
FALSE;
4090 down, up, downvalid, upvalid,
lperror) );
4097 for( j = 0; j <
nvars; ++j )
4100 (upinf !=
NULL) ? (&(upinf[j])) :
NULL, (downconflict !=
NULL) ? (&(downconflict[j])) :
NULL,
4101 (upconflict !=
NULL) ? (&(upconflict[j])) :
NULL) );
4138 SCIP_Bool* downvalid,
4146 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetVarStrongbranchLast",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
4150 SCIPerrorMessage(
"cannot get strong branching information on non-COLUMN variable\n");
4174 SCIP_Bool downvalid,
4180 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPsetVarStrongbranchData",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
4184 SCIPerrorMessage(
"cannot set strong branching information on non-COLUMN variable\n");
4189 down, up, downvalid, upvalid, iter, itlim);
4204 SCIP_Bool* foundsol,
4212 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPtryStrongbranchLPSol",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
4214 if(
scip->set->branch_checksbsol )
4217 SCIP_Bool rounded =
TRUE;
4219 SCIP_Longint oldnbestsolsfound =
scip->primal->nbestsolsfound;
4228 if(
scip->set->branch_roundsbsol )
4247 scip->stat->nsbsolsfound++;
4249 if(
scip->primal->nbestsolsfound != oldnbestsolsfound )
4251 scip->stat->nsbbestsolsfound++;
4288 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarStrongbranchNode",
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
4322 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarStrongbranchLPAge",
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
4354 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarNStrongbranchs",
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
4390 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddVarLocksType",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
FALSE) );
4394 switch(
scip->set->stage )
4447 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddVarLocks",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
FALSE) );
4486 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPlockVarCons",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
FALSE) );
4511 switch(
scip->set->stage )
4527 if( nlocksdown[
i] == 0 && nlocksup[
i] == 0 )
4572 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPunlockVarCons",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
FALSE) );
4596 switch(
scip->set->stage )
4612 if( nlocksdown[
i] == 0 && nlocksup[
i] == 0 )
4642 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPchgVarObj",
FALSE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
4649 SCIPerrorMessage(
"invalid objective value: objective value is infinite\n");
4653 switch(
scip->set->stage )
4691 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddVarObj",
FALSE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
4695 switch(
scip->set->stage )
4742 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPadjustedVarLb",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
4774 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPadjustedVarUb",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
4805 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPchgVarLb",
FALSE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
4819 switch(
scip->set->stage )
4824 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
4826 scip->branchcand,
scip->eventqueue, newbound) );
4833 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
4848 SCIP_Bool infeasible;
4859 scip->cliquetable,
var, newbound,
4895 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPchgVarUb",
FALSE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
4909 switch(
scip->set->stage )
4914 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
4916 scip->branchcand,
scip->eventqueue, newbound) );
4923 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
4938 SCIP_Bool infeasible;
4976 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPchgVarLbNode",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
5020 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPchgVarUbNode",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
5072 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPchgVarLbGlobal",
FALSE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
5086 switch(
scip->set->stage )
5091 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
5093 scip->branchcand,
scip->eventqueue, newbound) );
5100 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
5115 SCIP_Bool infeasible;
5161 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPchgVarUbGlobal",
FALSE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
5175 switch(
scip->set->stage )
5180 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
5182 scip->branchcand,
scip->eventqueue, newbound) );
5189 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
5204 SCIP_Bool infeasible;
5255 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPchgVarLbLazy",
FALSE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
5296 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPchgVarUbLazy",
FALSE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
5331 SCIP_Bool* infeasible,
5332 SCIP_Bool* tightened
5340 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPtightenVarLb",
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
5344 *infeasible =
FALSE;
5345 if( tightened !=
NULL )
5370 newbound =
MIN(newbound, ub);
5375 switch(
scip->set->stage )
5380 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
5382 scip->branchcand,
scip->eventqueue, newbound) );
5387 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
5448 SCIP_Bool* infeasible,
5449 SCIP_Bool* tightened
5456 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPtightenVarUb",
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
5461 *infeasible =
FALSE;
5462 if( tightened !=
NULL )
5487 newbound =
MAX(newbound, lb);
5492 switch(
scip->set->stage )
5497 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
5499 scip->branchcand,
scip->eventqueue, newbound) );
5504 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
5562 SCIP_Bool* infeasible,
5563 SCIP_Bool* tightened
5570 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPinferVarFixCons",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
5572 if( tightened !=
NULL )
5582 scip->eventqueue,
scip->cliquetable, fixedval, infeasible, &fixed) );
5584 if( tightened !=
NULL )
5590 SCIP_Bool lbtightened;
5594 if( ! (*infeasible) )
5598 if( tightened !=
NULL )
5599 *tightened |= lbtightened;
5631 SCIP_Bool* infeasible,
5632 SCIP_Bool* tightened
5640 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPinferVarLbCons",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
5642 *infeasible =
FALSE;
5643 if( tightened !=
NULL )
5668 newbound =
MIN(newbound, ub);
5673 switch(
scip->set->stage )
5678 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
5680 scip->branchcand,
scip->eventqueue, newbound) );
5745 SCIP_Bool* infeasible,
5746 SCIP_Bool* tightened
5754 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPinferVarUbCons",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
5756 *infeasible =
FALSE;
5757 if( tightened !=
NULL )
5782 newbound =
MAX(newbound, lb);
5787 switch(
scip->set->stage )
5792 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
5794 scip->branchcand,
scip->eventqueue, newbound) );
5852 SCIP_Bool* infeasible,
5853 SCIP_Bool* tightened
5863 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPinferBinvarCons",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
5865 *infeasible =
FALSE;
5866 if( tightened !=
NULL )
5877 if( (lb > 0.5) || (ub < 0.5) )
5879 *infeasible = (fixedval == (lb < 0.5));
5885 switch(
scip->set->stage )
5889 if( fixedval ==
TRUE )
5906 scip->cliquetable, (SCIP_Real)fixedval, infeasible, &fixed) );
5911 if( fixedval ==
TRUE )
5930 if( tightened !=
NULL )
5956 SCIP_Bool* infeasible,
5957 SCIP_Bool* tightened
5964 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPinferVarFixProp",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
5966 if( tightened !=
NULL )
5976 scip->cliquetable, fixedval, infeasible, &fixed) );
5978 if( tightened !=
NULL )
5984 SCIP_Bool lbtightened;
5988 if( ! (*infeasible) )
5992 if( tightened !=
NULL )
5993 *tightened |= lbtightened;
6025 SCIP_Bool* infeasible,
6026 SCIP_Bool* tightened
6034 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPinferVarLbProp",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
6036 *infeasible =
FALSE;
6037 if( tightened !=
NULL )
6062 newbound =
MIN(newbound, ub);
6068 switch(
scip->set->stage )
6073 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
6075 scip->branchcand,
scip->eventqueue, newbound) );
6140 SCIP_Bool* infeasible,
6141 SCIP_Bool* tightened
6149 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPinferVarUbProp",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
6151 *infeasible =
FALSE;
6152 if( tightened !=
NULL )
6177 newbound =
MAX(newbound, lb);
6183 switch(
scip->set->stage )
6188 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
6190 scip->branchcand,
scip->eventqueue, newbound) );
6249 SCIP_Bool* infeasible,
6250 SCIP_Bool* tightened
6260 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPinferBinvarProp",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
6262 *infeasible =
FALSE;
6263 if( tightened !=
NULL )
6274 if( (lb > 0.5) || (ub < 0.5) )
6276 *infeasible = (fixedval == (lb < 0.5));
6282 switch(
scip->set->stage )
6286 if( fixedval ==
TRUE )
6303 scip->cliquetable, (SCIP_Real)fixedval, infeasible, &fixed) );
6308 if( fixedval ==
TRUE )
6311 scip->transprob,
scip->origprob,
scip->tree,
scip->reopt,
scip->lp,
scip->branchcand,
scip->eventqueue,
scip->cliquetable,
var, 1.0,
6317 scip->transprob,
scip->origprob,
scip->tree,
scip->reopt,
scip->lp,
scip->branchcand,
scip->eventqueue,
scip->cliquetable,
var, 0.0,
6327 if( tightened !=
NULL )
6356 SCIP_Bool* infeasible,
6357 SCIP_Bool* tightened
6365 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPtightenVarLbGlobal",
FALSE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
6367 *infeasible =
FALSE;
6368 if( tightened !=
NULL )
6393 newbound =
MIN(newbound, ub);
6401 switch(
scip->set->stage )
6406 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
6408 scip->branchcand,
scip->eventqueue, newbound) );
6414 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
6476 SCIP_Bool* infeasible,
6477 SCIP_Bool* tightened
6485 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPtightenVarUbGlobal",
FALSE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
6487 *infeasible =
FALSE;
6488 if( tightened !=
NULL )
6513 newbound =
MAX(newbound, lb);
6521 switch(
scip->set->stage )
6526 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
6528 scip->branchcand,
scip->eventqueue, newbound) );
6534 scip->branchcand,
scip->eventqueue,
scip->cliquetable, newbound) );
6574#undef SCIPcomputeVarLbGlobal
6575#undef SCIPcomputeVarUbGlobal
6576#undef SCIPcomputeVarLbLocal
6577#undef SCIPcomputeVarUbLocal
6736 SCIP_Real* closestvlb,
6740 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetVarClosestVlb",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
6759 SCIP_Real* closestvub,
6763 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetVarClosestVub",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
6789 SCIP_Real vlbconstant,
6790 SCIP_Bool* infeasible,
6796 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddVarVlb",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
6799 scip->reopt,
scip->lp,
scip->cliquetable,
scip->branchcand,
scip->eventqueue, vlbvar, vlbcoef, vlbconstant,
6800 TRUE, infeasible, &nlocalbdchgs) );
6802 *nbdchgs = nlocalbdchgs;
6814 -vlbconstant/vlbcoef,
TRUE, infeasible, &nlocalbdchgs) );
6821 -vlbconstant/vlbcoef,
TRUE, infeasible, &nlocalbdchgs) );
6823 *nbdchgs += nlocalbdchgs;
6848 SCIP_Real vubconstant,
6849 SCIP_Bool* infeasible,
6855 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddVarVub",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
6859 infeasible, &nlocalbdchgs) );
6861 *nbdchgs = nlocalbdchgs;
6873 -vubconstant/vubcoef,
TRUE, infeasible, &nlocalbdchgs) );
6880 -vubconstant/vubcoef,
TRUE, infeasible, &nlocalbdchgs) );
6882 *nbdchgs += nlocalbdchgs;
6906 SCIP_Bool varfixing,
6910 SCIP_Real implbound,
6911 SCIP_Bool* infeasible,
6917 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddVarImplication",
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
6920 *infeasible =
FALSE;
6922 if ( nbdchgs !=
NULL )
6949 vals[0] = varfixing;
6975 if( varfixing ==
TRUE )
6985 implbound - lby, lby,
TRUE, infeasible, nbdchgs) );
6995 implbound - uby, uby,
TRUE, infeasible, nbdchgs) );
7008 lby - implbound, implbound,
TRUE, infeasible, nbdchgs) );
7018 uby - implbound, implbound,
TRUE, infeasible, nbdchgs) );
7025 scip->tree,
scip->reopt,
scip->lp,
scip->cliquetable,
scip->branchcand,
scip->eventqueue, varfixing, implvar, impltype,
7026 implbound,
TRUE, infeasible, nbdchgs) );
7049 SCIP_Bool isequation,
7050 SCIP_Bool* infeasible,
7054 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddClique",
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
7056 *infeasible =
FALSE;
7057 if( nbdchgs !=
NULL )
7064 scip->origprob,
scip->tree,
scip->reopt,
scip->lp,
scip->branchcand,
scip->eventqueue,
vars, values,
nvars, isequation,
7065 infeasible, nbdchgs) );
7093 for(
i = 0;
i < nlabels; ++
i )
7095 int currentlabel = labels[
i];
7099 if( currentlabel == -1 )
7102 localclassidx = classidx;
7106 assert(currentlabel >= 0);
7111 localclassidx = classidx;
7119 assert(localclassidx - 1 >= 0);
7120 assert(localclassidx - 1 <=
i);
7123 labels[
i] = localclassidx - 1;
7127 assert(classidx <= nlabels);
7128 *nclasses = classidx;
7143 int* classesstartposs,
7149 int** indexpointers;
7174 for( v =
nvars - 1; v >= 0; --v )
7176 assert(0 <= classlabels[v] && classlabels[v] < nclasses);
7177 ++(classcount[classlabels[v]]);
7189 for(
c = 0;
c < nclasses; ++
c )
7197 varpointers[
c] = (
SCIP_VAR**) (sortedvars + nextpos);
7198 indexpointers[
c] = (
int*) (sortedindices + nextpos);
7199 classesstartposs[
c] = nextpos;
7201 nextpos += classcount[
c];
7205 classesstartposs[
c] = nextpos;
7208 for( v = 0; v <
nvars; ++v )
7211 *(varpointers[classlabels[v]]) =
vars[v];
7212 ++(varpointers[classlabels[v]]);
7215 *(indexpointers[classlabels[v]]) = v;
7216 ++(indexpointers[classlabels[v]]);
7221 for( v = 0; v <
nvars; ++v )
7224 assert(sortedindices[v] >= 0);
7227 assert(
vars[sortedindices[v]] == sortedvars[v]);
7243#define MAXNCLIQUEVARSCOMP 1000000
7266 SCIP_Bool*
const values,
7268 int*
const cliquepartition,
7273 SCIP_Bool* cliquevalues;
7275 int maxncliquevarscomp;
7284 cliquepartition[
i] = -1;
7291 if( cliquepartition[
i] == -1 )
7296 cliquepartition[
i] = *ncliques;
7297 cliquevars[0] =
vars[
i];
7298 cliquevalues[0] = values[
i];
7305 for( j =
i+1; j <
nvars; ++j )
7313 for( k = ncliquevars - 1; k >= 0; --k )
7322 cliquepartition[j] = cliquepartition[
i];
7323 cliquevars[ncliquevars] =
vars[j];
7324 cliquevalues[ncliquevars] = values[j];
7334 assert(cliquepartition[
i] >= 0 && cliquepartition[
i] <
i+1);
7337 if(
i *
nvars > maxncliquevarscomp )
7343 if( cliquepartition[
i] == -1 )
7345 cliquepartition[
i] = *ncliques;
7383 int*
const cliquepartition,
7390 SCIP_Bool* tmpvalues;
7391 SCIP_Bool* sortedtmpvalues;
7392 int* componentlabels;
7394 int* componentstartposs;
7405 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPcalcCliquePartition",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
7417 cliquepartition[
i] =
i;
7432 tmpvalues[
i] =
TRUE;
7433 cliquepartition[
i] = -1;
7462 componentlabels[
i] = -1;
7467 assert(ncomponents >= 1);
7474 if( ncomponents > 1 )
7483 assert(tmpvars[sortedindices[
i]] == sortedtmpvars[
i]);
7484 sortedtmpvalues[
i] = tmpvalues[sortedindices[
i]];
7490 sortedtmpvars = tmpvars;
7491 sortedtmpvalues = tmpvalues;
7492 componentstartposs[0] = 0;
7493 componentstartposs[1] =
nvars;
7497 sortedindices[
i] =
i;
7502 for(
c = 0;
c < ncomponents; ++
c )
7504 int* localcliquepartition;
7510 ncomponentvars = componentstartposs[
c + 1] - componentstartposs[
c];
7518 ncomponentvars, localcliquepartition, &nlocalcliques) );
7520 assert(nlocalcliques >= 1);
7521 assert(nlocalcliques <= ncomponentvars);
7524 for( l = componentstartposs[
c]; l < componentstartposs[
c + 1]; ++l )
7526 int origvaridx = sortedindices[l];
7527 assert(cliquepartition[origvaridx] == -1);
7528 assert(localcliquepartition[l - componentstartposs[
c]] <= l - componentstartposs[
c]);
7529 cliquepartition[origvaridx] = localcliquepartition[l - componentstartposs[
c]] + (*ncliques);
7531 *ncliques += nlocalcliques;
7538 if( ncomponents > 1 && ncomponents <
nvars )
7543 assert(partitionsize == *ncliques);
7546 if( ncomponents > 1 )
7553#ifdef SCIP_DISABLED_CODE
7555 int* debugcliquepartition;
7602 int*
const cliquepartition,
7624 for( v =
nvars - 1; v >= 0; --v )
7657 SCIP_Bool* infeasible
7661 SCIP_Bool globalinfeasibility;
7663 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPcleanupCliques",
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
7665 globalinfeasibility =
FALSE;
7669 &globalinfeasibility) );
7671 if( infeasible !=
NULL )
7672 *infeasible = globalinfeasibility;
7674 if( globalinfeasibility )
7702 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNCliques",
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
7729 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNCliquesCreated",
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
7756 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetCliques",
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
7788 SCIP_Bool regardimplics
7799 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPhaveVarsCommonClique",
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
7836 SCIP_Bool writenodeweights
7844 SCIP_Bool* clqvalues;
7860 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPwriteCliqueGraph",
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
7876 gmlfile = fopen(fname,
"w");
7878 if( gmlfile ==
NULL )
7894 for(
c = ncliques - 1;
c >= 0; --
c )
7912 if ( writenodeweights )
7939 if ( writenodeweights )
7989 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPremoveVarFromGlobalStructures",
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
8019 SCIP_Real branchfactor
8022 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPchgVarBranchFactor",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
8050 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPscaleVarBranchFactor",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
8078 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddVarBranchFactor",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
8109 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPchgVarBranchPriority",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
8150 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPupdateVarBranchPriority",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
8183 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddVarBranchPriority",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
8214 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPchgVarBranchDirection",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
8229 SCIP_Bool* infeasible
8238 *infeasible =
FALSE;
8243 SCIP_Bool tightened;
8303 SCIP_Bool* infeasible
8307 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPchgVarType",
FALSE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
8328 switch(
scip->set->stage )
8340 scip->branchcand,
scip->eventqueue,
scip->cliquetable,
var, vartype) );
8345 scip->eventqueue, vartype) );
8369 scip->branchcand,
scip->eventqueue,
scip->cliquetable,
var, vartype) );
8374 scip->eventqueue, vartype) );
8403 SCIP_Bool* infeasible,
8411 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPfixVar",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
8413 *infeasible =
FALSE;
8435 switch(
scip->set->stage )
8461 scip->cliquetable, fixedval, infeasible, fixed) );
8531 SCIP_Bool* infeasible,
8532 SCIP_Bool* redundant,
8533 SCIP_Bool* aggregated
8536 SCIP_Real constantx;
8537 SCIP_Real constanty;
8543 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaggregateVars",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
8545 *infeasible =
FALSE;
8547 *aggregated =
FALSE;
8557 if(
scip->set->presol_donotaggr )
8573 rhs -= (constantx + constanty);
8590 else if( varx ==
NULL )
8598 scip->cliquetable, rhs/scalary, infeasible, aggregated) );
8601 else if( vary ==
NULL )
8609 scip->cliquetable, rhs/scalarx, infeasible, aggregated) );
8612 else if( varx == vary )
8626 scip->cliquetable, rhs/scalarx, infeasible, aggregated) );
8635 scip->eventqueue, varx, vary, scalarx, scalary, rhs, infeasible, aggregated) );
8636 *redundant = *aggregated;
8665 SCIP_Bool* infeasible,
8666 SCIP_Bool* aggregated
8669 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPmultiaggregateVar",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
8682 scip->eventqueue, naggvars, aggvars,
scalars, constant, infeasible, aggregated) );
8694 return scip->set->presol_donotaggr;
8704 return scip->set->presol_donotmultaggr;
8743 return !
scip->set->reopt_enable &&
scip->set->misc_allowstrongdualreds;
8758 return !
scip->set->reopt_enable &&
scip->set->misc_allowstrongdualreds;
8771 return !
scip->set->reopt_enable &&
scip->set->misc_allowweakdualreds;
8785 return !
scip->set->reopt_enable &&
scip->set->misc_allowweakdualreds;
8814 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPmarkDoNotAggrVar",
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE) );
8847 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPmarkDoNotMultaggrVar",
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE) );
8868 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPenableVarHistory",
FALSE,
TRUE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
8887 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPdisableVarHistory",
FALSE,
TRUE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
8906 SCIP_Real solvaldelta,
8911 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPupdateVarPseudocost",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
8940 SCIP_Real solvaldelta
8945 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarPseudocostVal",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
8968 SCIP_Real solvaldelta
8973 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarPseudocostValCurrentRun",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
8997 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarPseudocost",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9025 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarPseudocostCurrentRun",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9051 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarPseudocostCount",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9079 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarPseudocostCountCurrentRun",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9103 SCIP_Bool onlycurrentrun
9106 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarPseudocostVariance",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9125 SCIP_Bool onlycurrentrun,
9129 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPcalculatePscostConfidenceBound",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9163 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPsignificantVarPscostDifference",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9186 SCIP_Real threshold,
9191 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPpscostThresholdProbabilityTest",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9204 SCIP_Real threshold,
9208 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPisVarPscostRelerrorReliable",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9234 SCIP_Real pscostdown;
9237 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarPseudocostScore",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9272 SCIP_Real pscostdown;
9275 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarPseudocostScoreCurrentRun",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9306 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarVSIDS",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9312 SCIPerrorMessage(
"invalid branching direction %d when asking for VSIDS value\n", dir);
9338 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarVSIDSCurrentRun",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9344 SCIPerrorMessage(
"invalid branching direction %d when asking for VSIDS value\n", dir);
9369 SCIP_Real downscore;
9372 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarConflictScore",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9400 SCIP_Real downscore;
9403 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarConflictScoreCurrentRun",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9431 SCIP_Real downscore;
9434 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarConflictlengthScore",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9462 SCIP_Real downscore;
9465 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarConflictlengthScoreCurrentRun",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9494 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarAvgConflictlength",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9520 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarAvgConflictlengthCurrentRun",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9548 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarAvgInferences",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9576 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarAvgInferencesCurrentRun",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9601 SCIP_Real inferdown;
9604 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarAvgInferenceScore",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9632 SCIP_Real inferdown;
9635 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarAvgInferenceScoreCurrentRun",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9663 SCIP_Real downpscost,
9665 SCIP_Real downvsids,
9667 SCIP_Real downconflen,
9668 SCIP_Real upconflen,
9669 SCIP_Real downinfer,
9671 SCIP_Real downcutoff,
9675 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPinitVarBranchStats",
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
9677 assert(downpscost >= 0.0 && uppscost >= 0.0);
9678 assert(downvsids >= 0.0 && upvsids >= 0.0);
9679 assert(downconflen >= 0.0 && upconflen >= 0.0);
9680 assert(downinfer >= 0.0 && upinfer >= 0.0);
9681 assert(downcutoff >= 0.0 && upcutoff >= 0.0);
9735 SCIP_Real downvsids,
9737 SCIP_Real downconflen,
9738 SCIP_Real upconflen,
9739 SCIP_Real downinfer,
9741 SCIP_Real downcutoff,
9745 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPinitVarValueBranchStats",
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
9747 assert(downvsids >= 0.0 && upvsids >= 0.0);
9748 assert(downconflen >= 0.0 && upconflen >= 0.0);
9749 assert(downinfer >= 0.0 && upinfer >= 0.0);
9750 assert(downcutoff >= 0.0 && upcutoff >= 0.0);
9802 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarAvgCutoffs",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9830 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarAvgCutoffsCurrentRun",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9855 SCIP_Real cutoffdown;
9858 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarAvgCutoffScore",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9886 SCIP_Real cutoffdown;
9889 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarAvgCutoffScoreCurrentRun",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9916 SCIP_Real cutoffweight
9919 SCIP_Real avginferdown;
9920 SCIP_Real avginferup;
9922 SCIP_Real inferdown;
9924 SCIP_Real cutoffdown;
9927 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarAvgInferenceCutoffScore",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9933 avginfer = (avginferdown + avginferup)/2.0;
9940 inferdown + cutoffweight * avginfer * cutoffdown, inferup + cutoffweight * avginfer * cutoffup);
9960 SCIP_Real cutoffweight
9963 SCIP_Real avginferdown;
9964 SCIP_Real avginferup;
9966 SCIP_Real inferdown;
9968 SCIP_Real cutoffdown;
9971 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarAvgInferenceCutoffScoreCurrentRun",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
9977 avginfer = (avginferdown + avginferup)/2.0;
9984 inferdown + cutoffweight * avginfer * cutoffdown, inferup + cutoffweight * avginfer * cutoffup);
10005 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarAvgGMIScore",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
10033 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPincVarGMISumScore",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
10060 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVarLastGMIScore",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
10087 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPsetVarLastGMIScore",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
10123 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPprintVar",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
SCIP_RETCODE SCIPbranchcandUpdateVarBranchPriority(SCIP_BRANCHCAND *branchcand, SCIP_SET *set, SCIP_VAR *var, int branchpriority)
SCIP_Real SCIPbranchGetScore(SCIP_SET *set, SCIP_VAR *var, SCIP_Real downgain, SCIP_Real upgain)
internal methods for branching rules and branching candidate storage
void SCIPclockStop(SCIP_CLOCK *clck, SCIP_SET *set)
void SCIPclockStart(SCIP_CLOCK *clck, SCIP_SET *set)
internal methods for clocks and timing issues
internal methods for conflict analysis
int SCIPconflictGetNConflicts(SCIP_CONFLICT *conflict)
SCIP_RETCODE SCIPconflictAnalyzeStrongbranch(SCIP_CONFLICT *conflict, SCIP_CONFLICTSTORE *conflictstore, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_COL *col, SCIP_Bool *downconflict, SCIP_Bool *upconflict)
SCIP_RETCODE SCIPcheckStage(SCIP *scip, const char *method, SCIP_Bool init, SCIP_Bool problem, SCIP_Bool transforming, SCIP_Bool transformed, SCIP_Bool initpresolve, SCIP_Bool presolving, SCIP_Bool exitpresolve, SCIP_Bool presolved, SCIP_Bool initsolve, SCIP_Bool solving, SCIP_Bool solved, SCIP_Bool exitsolve, SCIP_Bool freetrans, SCIP_Bool freescip)
#define SCIP_MAXTREEDEPTH
#define SCIP_VARTYPE_INTEGER_CHAR
#define SCIP_VARTYPE_IMPLINT_CHAR
#define SCIP_CALL_ABORT(x)
#define SCIP_VARTYPE_BINARY_CHAR
#define SCIP_LONGINT_FORMAT
#define SCIP_VARTYPE_CONTINUOUS_CHAR
#define SCIP_CALL_FINALLY(x, y)
void SCIPgmlWriteNodeWeight(FILE *file, unsigned int id, const char *label, const char *nodetype, const char *fillcolor, const char *bordercolor, SCIP_Real weight)
void SCIPgmlWriteNode(FILE *file, unsigned int id, const char *label, const char *nodetype, const char *fillcolor, const char *bordercolor)
void SCIPgmlWriteClosing(FILE *file)
void SCIPgmlWriteOpening(FILE *file, SCIP_Bool directed)
void SCIPgmlWriteArc(FILE *file, unsigned int source, unsigned int target, const char *label, const char *color)
SCIP_Bool SCIPisTransformed(SCIP *scip)
SCIP_STAGE SCIPgetStage(SCIP *scip)
SCIP_RETCODE SCIPgetVarsData(SCIP *scip, SCIP_VAR ***vars, int *nvars, int *nbinvars, int *nintvars, int *nimplvars, int *ncontvars)
int SCIPgetNVars(SCIP *scip)
SCIP_VAR ** SCIPgetVars(SCIP *scip)
SCIP_VAR * SCIPfindVar(SCIP *scip, const char *name)
void SCIPhashmapFree(SCIP_HASHMAP **hashmap)
int SCIPhashmapGetImageInt(SCIP_HASHMAP *hashmap, void *origin)
SCIP_RETCODE SCIPhashmapCreate(SCIP_HASHMAP **hashmap, BMS_BLKMEM *blkmem, int mapsize)
SCIP_Bool SCIPhashmapExists(SCIP_HASHMAP *hashmap, void *origin)
SCIP_RETCODE SCIPhashmapInsertInt(SCIP_HASHMAP *hashmap, void *origin, int image)
SCIP_Bool SCIPlpiIsInfinity(SCIP_LPI *lpi, SCIP_Real val)
SCIP_RETCODE SCIPlpiGetObjval(SCIP_LPI *lpi, SCIP_Real *objval)
SCIP_Bool SCIPlpiIsDualFeasible(SCIP_LPI *lpi)
SCIP_Bool SCIPlpiWasSolved(SCIP_LPI *lpi)
void SCIPinfoMessage(SCIP *scip, FILE *file, const char *formatstr,...)
void SCIPwarningMessage(SCIP *scip, const char *formatstr,...)
SCIP_Real SCIPgetColRedcost(SCIP *scip, SCIP_COL *col)
SCIP_Longint SCIPcolGetStrongbranchNode(SCIP_COL *col)
int SCIPcolGetNStrongbranchs(SCIP_COL *col)
SCIP_Bool SCIPcolIsInLP(SCIP_COL *col)
SCIP_Real SCIPgetColFarkasCoef(SCIP *scip, SCIP_COL *col)
SCIP_Bool SCIPconsIsLockedTypePos(SCIP_CONS *cons, SCIP_LOCKTYPE locktype)
SCIP_Bool SCIPconsIsLockedTypeNeg(SCIP_CONS *cons, SCIP_LOCKTYPE locktype)
SCIP_Bool SCIPinDive(SCIP *scip)
SCIP_Bool SCIPisLPRelax(SCIP *scip)
SCIP_RETCODE SCIPgetLPI(SCIP *scip, SCIP_LPI **lpi)
SCIP_LPSOLSTAT SCIPgetLPSolstat(SCIP *scip)
SCIP_Bool SCIPallColsInLP(SCIP *scip)
SCIP_Real SCIPgetLPObjval(SCIP *scip)
#define SCIPfreeBlockMemoryArray(scip, ptr, num)
int SCIPcalcMemGrowSize(SCIP *scip, int num)
#define SCIPallocBufferArray(scip, ptr, num)
#define SCIPfreeBufferArray(scip, ptr)
#define SCIPreallocBlockMemoryArray(scip, ptr, oldnum, newnum)
#define SCIPfreeBlockMemoryArrayNull(scip, ptr, num)
#define SCIPduplicateBlockMemoryArray(scip, ptr, source, num)
SCIP_NODETYPE SCIPnodeGetType(SCIP_NODE *node)
SCIP_DOMCHG * SCIPnodeGetDomchg(SCIP_NODE *node)
int SCIPgetProbingDepth(SCIP *scip)
SCIP_RETCODE SCIPchgVarUbProbing(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
SCIP_RETCODE SCIPchgVarLbProbing(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
SCIP_RETCODE SCIPpropagateProbing(SCIP *scip, int maxproprounds, SCIP_Bool *cutoff, SCIP_Longint *ndomredsfound)
SCIP_RETCODE SCIPbacktrackProbing(SCIP *scip, int probingdepth)
SCIP_Bool SCIPinProbing(SCIP *scip)
SCIP_RETCODE SCIPnewProbingNode(SCIP *scip)
SCIP_RETCODE SCIPsolveProbingLP(SCIP *scip, int itlim, SCIP_Bool *lperror, SCIP_Bool *cutoff)
void SCIPsolSetStrongbranching(SCIP_SOL *sol)
SCIP_RETCODE SCIPcreateLPSol(SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
SCIP_RETCODE SCIPgetSolVals(SCIP *scip, SCIP_SOL *sol, int nvars, SCIP_VAR **vars, SCIP_Real *vals)
SCIP_RETCODE SCIProundSol(SCIP *scip, SCIP_SOL *sol, SCIP_Bool *success)
SCIP_RETCODE SCIPtrySolFree(SCIP *scip, SCIP_SOL **sol, SCIP_Bool printreason, SCIP_Bool completely, SCIP_Bool checkbounds, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool *stored)
SCIP_Real SCIPgetSolVal(SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var)
SCIP_Real SCIPgetCutoffbound(SCIP *scip)
SCIP_Bool SCIPisFeasGE(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_Real SCIPinfinity(SCIP *scip)
SCIP_Bool SCIPisGE(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPisIntegral(SCIP *scip, SCIP_Real val)
SCIP_Bool SCIPisFeasEQ(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_Real SCIPfeasCeil(SCIP *scip, SCIP_Real val)
SCIP_Bool SCIPisLE(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPisFeasZero(SCIP *scip, SCIP_Real val)
SCIP_Real SCIPfeasFloor(SCIP *scip, SCIP_Real val)
SCIP_Bool SCIPisInfinity(SCIP *scip, SCIP_Real val)
SCIP_Bool SCIPisFeasLE(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPisFeasIntegral(SCIP *scip, SCIP_Real val)
SCIP_Bool SCIPisGT(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPisZero(SCIP *scip, SCIP_Real val)
SCIP_Bool SCIPisLT(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_NODE * SCIPgetCurrentNode(SCIP *scip)
SCIP_RETCODE SCIPgetVarStrongbranchFrac(SCIP *scip, SCIP_VAR *var, int itlim, SCIP_Bool idempotent, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Bool *downinf, SCIP_Bool *upinf, SCIP_Bool *downconflict, SCIP_Bool *upconflict, SCIP_Bool *lperror)
SCIP_Real SCIPgetRelaxSolObj(SCIP *scip)
SCIP_RETCODE SCIPinitVarBranchStats(SCIP *scip, SCIP_VAR *var, SCIP_Real downpscost, SCIP_Real uppscost, SCIP_Real downvsids, SCIP_Real upvsids, SCIP_Real downconflen, SCIP_Real upconflen, SCIP_Real downinfer, SCIP_Real upinfer, SCIP_Real downcutoff, SCIP_Real upcutoff)
SCIP_RETCODE SCIPgetProbvarLinearSum(SCIP *scip, SCIP_VAR **vars, SCIP_Real *scalars, int *nvars, int varssize, SCIP_Real *constant, int *requiredsize, SCIP_Bool mergemultiples)
SCIP_RETCODE SCIPtightenVarLb(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
SCIP_Real SCIPgetVarBdAtIndex(SCIP *scip, SCIP_VAR *var, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
SCIP_RETCODE SCIPinitVarValueBranchStats(SCIP *scip, SCIP_VAR *var, SCIP_Real value, SCIP_Real downvsids, SCIP_Real upvsids, SCIP_Real downconflen, SCIP_Real upconflen, SCIP_Real downinfer, SCIP_Real upinfer, SCIP_Real downcutoff, SCIP_Real upcutoff)
SCIP_RETCODE SCIPaddVarLocks(SCIP *scip, SCIP_VAR *var, int nlocksdown, int nlocksup)
SCIP_COL * SCIPvarGetCol(SCIP_VAR *var)
SCIP_Real SCIPgetVarMultaggrLbGlobal(SCIP *scip, SCIP_VAR *var)
SCIP_Bool SCIPpscostThresholdProbabilityTest(SCIP *scip, SCIP_VAR *var, SCIP_Real frac, SCIP_Real threshold, SCIP_BRANCHDIR dir, SCIP_CONFIDENCELEVEL clevel)
SCIP_RETCODE SCIPlockVarCons(SCIP *scip, SCIP_VAR *var, SCIP_CONS *cons, SCIP_Bool lockdown, SCIP_Bool lockup)
SCIP_BOUNDTYPE SCIPvarGetBestBoundType(SCIP_VAR *var)
SCIP_RETCODE SCIPremoveVarFromGlobalStructures(SCIP *scip, SCIP_VAR *var)
SCIP_Real SCIPvarGetSol(SCIP_VAR *var, SCIP_Bool getlpval)
SCIP_Bool SCIPdoNotAggrVar(SCIP *scip, SCIP_VAR *var)
void SCIPdisableVarHistory(SCIP *scip)
SCIP_Bool SCIPvarIsActive(SCIP_VAR *var)
SCIP_Bool SCIPgetVarWasFixedAtIndex(SCIP *scip, SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
SCIP_Bool SCIPvarIsBinary(SCIP_VAR *var)
SCIP_RETCODE SCIPincVarGMISumScore(SCIP *scip, SCIP_VAR *var, SCIP_Real gmieff)
SCIP_RETCODE SCIPinferVarFixProp(SCIP *scip, SCIP_VAR *var, SCIP_Real fixedval, SCIP_PROP *inferprop, int inferinfo, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
SCIP_BOUNDTYPE SCIPboundchgGetBoundtype(SCIP_BOUNDCHG *boundchg)
SCIP_Real SCIPgetVarMultaggrLbLocal(SCIP *scip, SCIP_VAR *var)
SCIP_RETCODE SCIPinferVarUbProp(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_PROP *inferprop, int inferinfo, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
SCIP_RETCODE SCIPaddClique(SCIP *scip, SCIP_VAR **vars, SCIP_Bool *values, int nvars, SCIP_Bool isequation, SCIP_Bool *infeasible, int *nbdchgs)
SCIP_RETCODE SCIPcalcCliquePartition(SCIP *const scip, SCIP_VAR **const vars, int const nvars, int *const cliquepartition, int *const ncliques)
SCIP_RETCODE SCIPsetRelaxSolVal(SCIP *scip, SCIP_RELAX *relax, SCIP_VAR *var, SCIP_Real val)
SCIP_RETCODE SCIPtightenVarUbGlobal(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
SCIP_Real SCIPgetVarAvgInferenceScoreCurrentRun(SCIP *scip, SCIP_VAR *var)
SCIP_RETCODE SCIPgetVarStrongbranchInt(SCIP *scip, SCIP_VAR *var, int itlim, SCIP_Bool idempotent, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Bool *downinf, SCIP_Bool *upinf, SCIP_Bool *downconflict, SCIP_Bool *upconflict, SCIP_Bool *lperror)
SCIP_VAR * SCIPboundchgGetVar(SCIP_BOUNDCHG *boundchg)
SCIP_Real SCIPgetVarPseudocostCountCurrentRun(SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
SCIP_Real SCIPgetVarAvgInferenceScore(SCIP *scip, SCIP_VAR *var)
SCIP_RETCODE SCIPscaleVarBranchFactor(SCIP *scip, SCIP_VAR *var, SCIP_Real scale)
SCIP_RETCODE SCIPendStrongbranch(SCIP *scip)
SCIP_RETCODE SCIPchgVarLb(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
SCIP_Real SCIPgetVarMultaggrUbGlobal(SCIP *scip, SCIP_VAR *var)
SCIP_BOUNDCHG * SCIPdomchgGetBoundchg(SCIP_DOMCHG *domchg, int pos)
SCIP_RETCODE SCIPgetTransformedVars(SCIP *scip, int nvars, SCIP_VAR **vars, SCIP_VAR **transvars)
SCIP_Real SCIPgetVarPseudocostCount(SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
SCIP_VARSTATUS SCIPvarGetStatus(SCIP_VAR *var)
SCIP_RETCODE SCIPcalcNegatedCliquePartition(SCIP *const scip, SCIP_VAR **const vars, int const nvars, int *const cliquepartition, int *const ncliques)
SCIP_Real SCIPgetVarPseudocostCurrentRun(SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
SCIP_RETCODE SCIPwriteCliqueGraph(SCIP *scip, const char *fname, SCIP_Bool writenodeweights)
SCIP_RETCODE SCIPchgVarName(SCIP *scip, SCIP_VAR *var, const char *name)
SCIP_Bool SCIPdoNotAggr(SCIP *scip)
SCIP_Real SCIPgetVarMultaggrUbLocal(SCIP *scip, SCIP_VAR *var)
SCIP_Real SCIPvarGetUbLocal(SCIP_VAR *var)
int SCIPvarGetNLocksDown(SCIP_VAR *var)
SCIP_RETCODE SCIPupdateVarBranchPriority(SCIP *scip, SCIP_VAR *var, int branchpriority)
SCIP_Real SCIPgetVarAvgConflictlength(SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
SCIP_Bool SCIPisVarPscostRelerrorReliable(SCIP *scip, SCIP_VAR *var, SCIP_Real threshold, SCIP_CONFIDENCELEVEL clevel)
SCIP_RETCODE SCIPgetBinvarRepresentatives(SCIP *scip, int nvars, SCIP_VAR **vars, SCIP_VAR **repvars, SCIP_Bool *negated)
SCIP_BDCHGINFO * SCIPvarGetLbchgInfo(SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
SCIP_Bool SCIPdoNotMultaggrVar(SCIP *scip, SCIP_VAR *var)
SCIP_Bool SCIPvarIsTransformed(SCIP_VAR *var)
SCIP_Real SCIPgetVarPseudocost(SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
SCIP_RETCODE SCIPparseVarsList(SCIP *scip, const char *str, SCIP_VAR **vars, int *nvars, int varssize, int *requiredsize, char **endptr, char delimiter, SCIP_Bool *success)
SCIP_Real SCIPgetVarAvgCutoffScoreCurrentRun(SCIP *scip, SCIP_VAR *var)
SCIP_RETCODE SCIPaggregateVars(SCIP *scip, SCIP_VAR *varx, SCIP_VAR *vary, SCIP_Real scalarx, SCIP_Real scalary, SCIP_Real rhs, SCIP_Bool *infeasible, SCIP_Bool *redundant, SCIP_Bool *aggregated)
SCIP_RETCODE SCIPinferVarUbCons(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_CONS *infercons, int inferinfo, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
SCIP_Bool SCIPallowObjProp(SCIP *scip)
SCIP_Real SCIPboundchgGetNewbound(SCIP_BOUNDCHG *boundchg)
SCIP_RETCODE SCIPchgVarUb(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
SCIP_RETCODE SCIPchgVarUbNode(SCIP *scip, SCIP_NODE *node, SCIP_VAR *var, SCIP_Real newbound)
SCIP_Real SCIPgetVarAvgInferencesCurrentRun(SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
SCIP_Real SCIPvarGetObj(SCIP_VAR *var)
SCIP_VAR * SCIPvarGetProbvar(SCIP_VAR *var)
SCIP_CLIQUE ** SCIPgetCliques(SCIP *scip)
SCIP_RETCODE SCIPtightenVarUb(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
SCIP_RETCODE SCIPparseVarName(SCIP *scip, const char *str, SCIP_VAR **var, char **endptr)
SCIP_RETCODE SCIPparseVar(SCIP *scip, SCIP_VAR **var, const char *str, SCIP_Bool initial, SCIP_Bool removable, SCIP_DECL_VARCOPY((*varcopy)), SCIP_DECL_VARDELORIG((*vardelorig)), SCIP_DECL_VARTRANS((*vartrans)), SCIP_DECL_VARDELTRANS((*vardeltrans)), SCIP_VARDATA *vardata, char **endptr, SCIP_Bool *success)
SCIP_VARTYPE SCIPvarGetType(SCIP_VAR *var)
SCIP_RETCODE SCIPgetProbvarSum(SCIP *scip, SCIP_VAR **var, SCIP_Real *scalar, SCIP_Real *constant)
SCIP_Real SCIPvarGetUbGlobal(SCIP_VAR *var)
SCIP_RETCODE SCIPchgVarBranchDirection(SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR branchdirection)
SCIP_RETCODE SCIPaddVarVub(SCIP *scip, SCIP_VAR *var, SCIP_VAR *vubvar, SCIP_Real vubcoef, SCIP_Real vubconstant, SCIP_Bool *infeasible, int *nbdchgs)
SCIP_RETCODE SCIPaddVarLocksType(SCIP *scip, SCIP_VAR *var, SCIP_LOCKTYPE locktype, int nlocksdown, int nlocksup)
SCIP_RETCODE SCIPaddVarVlb(SCIP *scip, SCIP_VAR *var, SCIP_VAR *vlbvar, SCIP_Real vlbcoef, SCIP_Real vlbconstant, SCIP_Bool *infeasible, int *nbdchgs)
SCIP_RETCODE SCIPchgVarBranchPriority(SCIP *scip, SCIP_VAR *var, int branchpriority)
SCIP_RETCODE SCIPunlockVarCons(SCIP *scip, SCIP_VAR *var, SCIP_CONS *cons, SCIP_Bool lockdown, SCIP_Bool lockup)
SCIP_Real SCIPgetVarFarkasCoef(SCIP *scip, SCIP_VAR *var)
SCIP_RETCODE SCIPgetVarClosestVub(SCIP *scip, SCIP_VAR *var, SCIP_SOL *sol, SCIP_Real *closestvub, int *closestvubidx)
SCIP_Real SCIPgetVarAvgCutoffsCurrentRun(SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
SCIP_RETCODE SCIPchgVarLbLazy(SCIP *scip, SCIP_VAR *var, SCIP_Real lazylb)
SCIP_Real SCIPgetVarUbAtIndex(SCIP *scip, SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
int SCIPdomchgGetNBoundchgs(SCIP_DOMCHG *domchg)
int SCIPvarGetProbindex(SCIP_VAR *var)
const char * SCIPvarGetName(SCIP_VAR *var)
SCIP_Longint SCIPgetVarStrongbranchNode(SCIP *scip, SCIP_VAR *var)
SCIP_RETCODE SCIPtransformVars(SCIP *scip, int nvars, SCIP_VAR **vars, SCIP_VAR **transvars)
SCIP_RETCODE SCIPmultiaggregateVar(SCIP *scip, SCIP_VAR *var, int naggvars, SCIP_VAR **aggvars, SCIP_Real *scalars, SCIP_Real constant, SCIP_Bool *infeasible, SCIP_Bool *aggregated)
void SCIPfreeParseVarsPolynomialData(SCIP *scip, SCIP_VAR ****monomialvars, SCIP_Real ***monomialexps, SCIP_Real **monomialcoefs, int **monomialnvars, int nmonomials)
SCIP_LPSOLSTAT SCIPgetLastStrongbranchLPSolStat(SCIP *scip, SCIP_BRANCHDIR branchdir)
SCIP_RETCODE SCIPaddVarBranchFactor(SCIP *scip, SCIP_VAR *var, SCIP_Real addfactor)
int SCIPgetNCliquesCreated(SCIP *scip)
SCIP_RETCODE SCIPcleanupCliques(SCIP *scip, SCIP_Bool *infeasible)
void SCIPvarMarkDeleteGlobalStructures(SCIP_VAR *var)
SCIP_RETCODE SCIPreleaseVar(SCIP *scip, SCIP_VAR **var)
SCIP_Real SCIPadjustedVarUb(SCIP *scip, SCIP_VAR *var, SCIP_Real ub)
SCIP_Longint SCIPgetVarStrongbranchLPAge(SCIP *scip, SCIP_VAR *var)
SCIP_RETCODE SCIPchgVarLbGlobal(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
SCIP_RETCODE SCIPmarkRelaxSolValid(SCIP *scip, SCIP_RELAX *relax, SCIP_Bool includeslp)
SCIP_RETCODE SCIPgetVarsStrongbranchesFrac(SCIP *scip, SCIP_VAR **vars, int nvars, int itlim, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Bool *downinf, SCIP_Bool *upinf, SCIP_Bool *downconflict, SCIP_Bool *upconflict, SCIP_Bool *lperror)
SCIP_RETCODE SCIPsetVarStrongbranchData(SCIP *scip, SCIP_VAR *var, SCIP_Real lpobjval, SCIP_Real primsol, SCIP_Real down, SCIP_Real up, SCIP_Bool downvalid, SCIP_Bool upvalid, SCIP_Longint iter, int itlim)
SCIP_Real SCIPvarGetBranchFactor(SCIP_VAR *var)
SCIP_Bool SCIPdoNotMultaggr(SCIP *scip)
SCIP_Real SCIPgetVarPseudocostVal(SCIP *scip, SCIP_VAR *var, SCIP_Real solvaldelta)
SCIP_RETCODE SCIPparseVarsLinearsum(SCIP *scip, const char *str, SCIP_VAR **vars, SCIP_Real *vals, int *nvars, int varssize, int *requiredsize, char **endptr, SCIP_Bool *success)
SCIP_Real SCIPgetVarConflictlengthScore(SCIP *scip, SCIP_VAR *var)
SCIP_Bool SCIPsignificantVarPscostDifference(SCIP *scip, SCIP_VAR *varx, SCIP_Real fracx, SCIP_VAR *vary, SCIP_Real fracy, SCIP_BRANCHDIR dir, SCIP_CONFIDENCELEVEL clevel, SCIP_Bool onesided)
SCIP_Real SCIPgetRelaxSolVal(SCIP *scip, SCIP_VAR *var)
SCIP_RETCODE SCIPgetVarStrongbranchWithPropagation(SCIP *scip, SCIP_VAR *var, SCIP_Real solval, SCIP_Real lpobjval, int itlim, int maxproprounds, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Longint *ndomredsdown, SCIP_Longint *ndomredsup, SCIP_Bool *downinf, SCIP_Bool *upinf, SCIP_Bool *downconflict, SCIP_Bool *upconflict, SCIP_Bool *lperror, SCIP_Real *newlbs, SCIP_Real *newubs)
SCIP_Real SCIPadjustedVarLb(SCIP *scip, SCIP_VAR *var, SCIP_Real lb)
SCIP_Bool SCIPvarIsIntegral(SCIP_VAR *var)
SCIP_Real SCIPgetVarAvgCutoffs(SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
SCIP_Real SCIPvarGetPseudoSol(SCIP_VAR *var)
SCIP_Bool SCIPisRelaxSolValid(SCIP *scip)
SCIP_RETCODE SCIPgetVarClosestVlb(SCIP *scip, SCIP_VAR *var, SCIP_SOL *sol, SCIP_Real *closestvlb, int *closestvlbidx)
SCIP_Bool SCIPallowDualReds(SCIP *scip)
SCIP_RETCODE SCIPchgVarType(SCIP *scip, SCIP_VAR *var, SCIP_VARTYPE vartype, SCIP_Bool *infeasible)
SCIP_Real SCIPvarGetLPSol(SCIP_VAR *var)
SCIP_RETCODE SCIPflattenVarAggregationGraph(SCIP *scip, SCIP_VAR *var)
SCIP_Real SCIPcomputeVarLbGlobal(SCIP *scip, SCIP_VAR *var)
SCIP_Real SCIPgetVarSol(SCIP *scip, SCIP_VAR *var)
SCIP_RETCODE SCIPgetNegatedVar(SCIP *scip, SCIP_VAR *var, SCIP_VAR **negvar)
SCIP_Real SCIPgetVarPseudocostScoreCurrentRun(SCIP *scip, SCIP_VAR *var, SCIP_Real solval)
SCIP_Bool SCIPhaveVarsCommonClique(SCIP *scip, SCIP_VAR *var1, SCIP_Bool value1, SCIP_VAR *var2, SCIP_Bool value2, SCIP_Bool regardimplics)
SCIP_RETCODE SCIPaddVarImplication(SCIP *scip, SCIP_VAR *var, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_BOUNDTYPE impltype, SCIP_Real implbound, SCIP_Bool *infeasible, int *nbdchgs)
SCIP_RETCODE SCIPsetRelaxSolVals(SCIP *scip, SCIP_RELAX *relax, int nvars, SCIP_VAR **vars, SCIP_Real *vals, SCIP_Bool includeslp)
SCIP_Real SCIPcalculatePscostConfidenceBound(SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir, SCIP_Bool onlycurrentrun, SCIP_CONFIDENCELEVEL clevel)
int SCIPvarGetNCliques(SCIP_VAR *var, SCIP_Bool varfixing)
SCIP_Real SCIPvarGetLbLocal(SCIP_VAR *var)
SCIP_Bool SCIPvarIsNegated(SCIP_VAR *var)
SCIP_RETCODE SCIPchgVarUbGlobal(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
SCIP_Real SCIPcomputeVarLbLocal(SCIP *scip, SCIP_VAR *var)
SCIP_RETCODE SCIPwriteVarsPolynomial(SCIP *scip, FILE *file, SCIP_VAR ***monomialvars, SCIP_Real **monomialexps, SCIP_Real *monomialcoefs, int *monomialnvars, int nmonomials, SCIP_Bool type)
SCIP_Bool SCIPboundchgIsRedundant(SCIP_BOUNDCHG *boundchg)
SCIP_Real SCIPgetVarPseudocostValCurrentRun(SCIP *scip, SCIP_VAR *var, SCIP_Real solvaldelta)
SCIP_VAR * SCIPvarGetNegationVar(SCIP_VAR *var)
SCIP_RETCODE SCIPupdateVarPseudocost(SCIP *scip, SCIP_VAR *var, SCIP_Real solvaldelta, SCIP_Real objdelta, SCIP_Real weight)
int SCIPgetNCliques(SCIP *scip)
SCIP_BDCHGINFO * SCIPvarGetUbchgInfo(SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
SCIP_Real SCIPgetVarAvgGMIScore(SCIP *scip, SCIP_VAR *var)
int SCIPvarGetBranchPriority(SCIP_VAR *var)
SCIP_RETCODE SCIPcreateVar(SCIP *scip, SCIP_VAR **var, const char *name, SCIP_Real lb, SCIP_Real ub, SCIP_Real obj, SCIP_VARTYPE vartype, SCIP_Bool initial, SCIP_Bool removable, SCIP_DECL_VARDELORIG((*vardelorig)), SCIP_DECL_VARTRANS((*vartrans)), SCIP_DECL_VARDELTRANS((*vardeltrans)), SCIP_DECL_VARCOPY((*varcopy)), SCIP_VARDATA *vardata)
SCIP_RETCODE SCIPaddVarBranchPriority(SCIP *scip, SCIP_VAR *var, int addpriority)
SCIP_RETCODE SCIPtransformVar(SCIP *scip, SCIP_VAR *var, SCIP_VAR **transvar)
SCIP_Real SCIPgetVarRedcost(SCIP *scip, SCIP_VAR *var)
SCIP_Real SCIPvarGetLbGlobal(SCIP_VAR *var)
SCIP_RETCODE SCIPmarkDoNotMultaggrVar(SCIP *scip, SCIP_VAR *var)
SCIP_RETCODE SCIPfixVar(SCIP *scip, SCIP_VAR *var, SCIP_Real fixedval, SCIP_Bool *infeasible, SCIP_Bool *fixed)
SCIP_RETCODE SCIPmarkRelaxSolInvalid(SCIP *scip)
SCIP_Real SCIPgetVarAvgInferenceCutoffScoreCurrentRun(SCIP *scip, SCIP_VAR *var, SCIP_Real cutoffweight)
SCIP_RETCODE SCIPinferVarLbCons(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_CONS *infercons, int inferinfo, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
SCIP_RETCODE SCIPgetVarsStrongbranchesInt(SCIP *scip, SCIP_VAR **vars, int nvars, int itlim, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Bool *downinf, SCIP_Bool *upinf, SCIP_Bool *downconflict, SCIP_Bool *upconflict, SCIP_Bool *lperror)
SCIP_Real SCIPgetVarLbAtIndex(SCIP *scip, SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
SCIP_RETCODE SCIPparseVarsPolynomial(SCIP *scip, const char *str, SCIP_VAR ****monomialvars, SCIP_Real ***monomialexps, SCIP_Real **monomialcoefs, int **monomialnvars, int *nmonomials, char **endptr, SCIP_Bool *success)
SCIP_Real SCIPgetVarLastGMIScore(SCIP *scip, SCIP_VAR *var)
SCIP_Real SCIPgetVarConflictScore(SCIP *scip, SCIP_VAR *var)
SCIP_RETCODE SCIPprintVar(SCIP *scip, SCIP_VAR *var, FILE *file)
SCIP_Real SCIPgetVarAvgCutoffScore(SCIP *scip, SCIP_VAR *var)
SCIP_RETCODE SCIPchgVarLbNode(SCIP *scip, SCIP_NODE *node, SCIP_VAR *var, SCIP_Real newbound)
SCIP_RETCODE SCIPvarGetProbvarBinary(SCIP_VAR **var, SCIP_Bool *negated)
SCIP_RETCODE SCIPcreateVarBasic(SCIP *scip, SCIP_VAR **var, const char *name, SCIP_Real lb, SCIP_Real ub, SCIP_Real obj, SCIP_VARTYPE vartype)
SCIP_RETCODE SCIPsetVarLastGMIScore(SCIP *scip, SCIP_VAR *var, SCIP_Real gmieff)
SCIP_RETCODE SCIPchgVarUbLazy(SCIP *scip, SCIP_VAR *var, SCIP_Real lazyub)
SCIP_RETCODE SCIPinferBinvarCons(SCIP *scip, SCIP_VAR *var, SCIP_Bool fixedval, SCIP_CONS *infercons, int inferinfo, SCIP_Bool *infeasible, SCIP_Bool *tightened)
int SCIPvarGetNLocksUp(SCIP_VAR *var)
SCIP_RETCODE SCIPtryStrongbranchLPSol(SCIP *scip, SCIP_Bool *foundsol, SCIP_Bool *cutoff)
SCIP_RETCODE SCIPwriteVarName(SCIP *scip, FILE *file, SCIP_VAR *var, SCIP_Bool type)
SCIP_RETCODE SCIPgetVarSols(SCIP *scip, int nvars, SCIP_VAR **vars, SCIP_Real *vals)
SCIP_RETCODE SCIPchgVarObj(SCIP *scip, SCIP_VAR *var, SCIP_Real newobj)
SCIP_RETCODE SCIPgetBinvarRepresentative(SCIP *scip, SCIP_VAR *var, SCIP_VAR **repvar, SCIP_Bool *negated)
SCIP_Real SCIPgetVarAvgInferenceCutoffScore(SCIP *scip, SCIP_VAR *var, SCIP_Real cutoffweight)
SCIP_RETCODE SCIPwriteVarsList(SCIP *scip, FILE *file, SCIP_VAR **vars, int nvars, SCIP_Bool type, char delimiter)
SCIP_Real SCIPcomputeVarUbGlobal(SCIP *scip, SCIP_VAR *var)
SCIP_Real SCIPcomputeVarUbLocal(SCIP *scip, SCIP_VAR *var)
SCIP_RETCODE SCIPgetActiveVars(SCIP *scip, SCIP_VAR **vars, int *nvars, int varssize, int *requiredsize)
int SCIPgetVarNStrongbranchs(SCIP *scip, SCIP_VAR *var)
SCIP_RETCODE SCIPwriteVarsLinearsum(SCIP *scip, FILE *file, SCIP_VAR **vars, SCIP_Real *vals, int nvars, SCIP_Bool type)
SCIP_RETCODE SCIPgetVarStrongbranchLast(SCIP *scip, SCIP_VAR *var, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Real *solval, SCIP_Real *lpobjval)
SCIP_Real SCIPgetVarVSIDS(SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
SCIP_Bool SCIPvarsHaveCommonClique(SCIP_VAR *var1, SCIP_Bool value1, SCIP_VAR *var2, SCIP_Bool value2, SCIP_Bool regardimplics)
SCIP_Real SCIPgetVarConflictlengthScoreCurrentRun(SCIP *scip, SCIP_VAR *var)
SCIP_Real SCIPgetVarVSIDSCurrentRun(SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
SCIP_Bool SCIPisStrongbranchDownFirst(SCIP *scip, SCIP_VAR *var)
SCIP_Real SCIPbdchginfoGetNewbound(SCIP_BDCHGINFO *bdchginfo)
void SCIPenableVarHistory(SCIP *scip)
SCIP_Real SCIPgetVarImplRedcost(SCIP *scip, SCIP_VAR *var, SCIP_Bool varfixing)
SCIP_Bool SCIPallowWeakDualReds(SCIP *scip)
SCIP_Real SCIPgetVarPseudocostVariance(SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir, SCIP_Bool onlycurrentrun)
SCIP_RETCODE SCIPgetNegatedVars(SCIP *scip, int nvars, SCIP_VAR **vars, SCIP_VAR **negvars)
SCIP_RETCODE SCIPgetTransformedVar(SCIP *scip, SCIP_VAR *var, SCIP_VAR **transvar)
SCIP_Real SCIPgetVarConflictScoreCurrentRun(SCIP *scip, SCIP_VAR *var)
SCIP_RETCODE SCIPcaptureVar(SCIP *scip, SCIP_VAR *var)
SCIP_Real SCIPgetVarPseudocostScore(SCIP *scip, SCIP_VAR *var, SCIP_Real solval)
SCIP_RETCODE SCIPstartStrongbranch(SCIP *scip, SCIP_Bool enablepropagation)
SCIP_RETCODE SCIPclearRelaxSolVals(SCIP *scip, SCIP_RELAX *relax)
SCIP_RETCODE SCIPmarkDoNotAggrVar(SCIP *scip, SCIP_VAR *var)
SCIP_Real SCIPgetVarAvgInferences(SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
SCIP_Bool SCIPallowStrongDualReds(SCIP *scip)
SCIP_RETCODE SCIPinferBinvarProp(SCIP *scip, SCIP_VAR *var, SCIP_Bool fixedval, SCIP_PROP *inferprop, int inferinfo, SCIP_Bool *infeasible, SCIP_Bool *tightened)
SCIP_RETCODE SCIPvarsGetProbvarBinary(SCIP_VAR ***vars, SCIP_Bool **negatedarr, int nvars)
SCIP_RETCODE SCIPinferVarFixCons(SCIP *scip, SCIP_VAR *var, SCIP_Real fixedval, SCIP_CONS *infercons, int inferinfo, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
SCIP_Real SCIPgetVarAvgConflictlengthCurrentRun(SCIP *scip, SCIP_VAR *var, SCIP_BRANCHDIR dir)
SCIP_RETCODE SCIPsetRelaxSolValsSol(SCIP *scip, SCIP_RELAX *relax, SCIP_SOL *sol, SCIP_Bool includeslp)
SCIP_RETCODE SCIPchgVarBranchFactor(SCIP *scip, SCIP_VAR *var, SCIP_Real branchfactor)
SCIP_RETCODE SCIPtightenVarLbGlobal(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
SCIP_RETCODE SCIPinferVarLbProp(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound, SCIP_PROP *inferprop, int inferinfo, SCIP_Bool force, SCIP_Bool *infeasible, SCIP_Bool *tightened)
SCIP_RETCODE SCIPaddVarObj(SCIP *scip, SCIP_VAR *var, SCIP_Real addobj)
int SCIPsnprintf(char *t, int len, const char *s,...)
SCIP_Bool SCIPstrToRealValue(const char *str, SCIP_Real *value, char **endptr)
void SCIPstrCopySection(const char *str, char startchar, char endchar, char *token, int size, char **endptr)
SCIP_RETCODE SCIPskipSpace(char **s)
SCIPfreeSol(scip, &heurdata->sol))
assert(minobj< SCIPgetCutoffbound(scip))
static SCIP_Bool propagate
SCIP_Real SCIPhistoryGetAvgInferences(SCIP_HISTORY *history, SCIP_BRANCHDIR dir)
internal methods for branching and inference history
int SCIPcliquetableGetNCliquesCreated(SCIP_CLIQUETABLE *cliquetable)
SCIP_Bool SCIPcliquetableNeedsComponentUpdate(SCIP_CLIQUETABLE *cliquetable)
SCIP_VAR ** SCIPcliqueGetVars(SCIP_CLIQUE *clique)
int SCIPcliqueGetNVars(SCIP_CLIQUE *clique)
SCIP_Bool * SCIPcliqueGetValues(SCIP_CLIQUE *clique)
SCIP_RETCODE SCIPcliquetableAdd(SCIP_CLIQUETABLE *cliquetable, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_VAR **vars, SCIP_Bool *values, int nvars, SCIP_Bool isequation, SCIP_Bool *infeasible, int *nbdchgs)
int SCIPcliquetableGetNCliques(SCIP_CLIQUETABLE *cliquetable)
int SCIPcliquetableGetVarComponentIdx(SCIP_CLIQUETABLE *cliquetable, SCIP_VAR *var)
SCIP_RETCODE SCIPcliquetableComputeCliqueComponents(SCIP_CLIQUETABLE *cliquetable, SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_VAR **vars, int nbinvars, int nintvars, int nimplvars)
SCIP_CLIQUE ** SCIPcliquetableGetCliques(SCIP_CLIQUETABLE *cliquetable)
SCIP_RETCODE SCIPcliquetableCleanup(SCIP_CLIQUETABLE *cliquetable, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, int *nchgbds, SCIP_Bool *infeasible)
methods for implications, variable bounds, and cliques
SCIP_Real SCIPlpGetModifiedProvedPseudoObjval(SCIP_LP *lp, SCIP_SET *set, SCIP_VAR *var, SCIP_Real oldbound, SCIP_Real newbound, SCIP_BOUNDTYPE boundtype)
SCIP_Real SCIPlpGetLooseObjval(SCIP_LP *lp, SCIP_SET *set, SCIP_PROB *prob)
SCIP_RETCODE SCIPlpStartStrongbranch(SCIP_LP *lp)
SCIP_Real SCIPlpGetModifiedPseudoObjval(SCIP_LP *lp, SCIP_SET *set, SCIP_PROB *prob, SCIP_VAR *var, SCIP_Real oldbound, SCIP_Real newbound, SCIP_BOUNDTYPE boundtype)
void SCIPcolInvalidateStrongbranchData(SCIP_COL *col, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp)
SCIP_RETCODE SCIPcolGetStrongbranch(SCIP_COL *col, SCIP_Bool integral, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_LP *lp, int itlim, SCIP_Bool updatecol, SCIP_Bool updatestat, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Bool *lperror)
SCIP_Real SCIPlpGetObjval(SCIP_LP *lp, SCIP_SET *set, SCIP_PROB *prob)
SCIP_RETCODE SCIPlpEndStrongbranch(SCIP_LP *lp)
SCIP_Longint SCIPcolGetStrongbranchLPAge(SCIP_COL *col, SCIP_STAT *stat)
SCIP_Bool SCIPlpDiving(SCIP_LP *lp)
void SCIPcolGetStrongbranchLast(SCIP_COL *col, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Real *solval, SCIP_Real *lpobjval)
void SCIPlpStartStrongbranchProbing(SCIP_LP *lp)
void SCIPlpEndStrongbranchProbing(SCIP_LP *lp)
SCIP_Bool SCIPlpIsDualReliable(SCIP_LP *lp)
static const SCIP_Real scalars[]
void SCIPcolSetStrongbranchData(SCIP_COL *col, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_Real lpobjval, SCIP_Real primsol, SCIP_Real sbdown, SCIP_Real sbup, SCIP_Bool sbdownvalid, SCIP_Bool sbupvalid, SCIP_Longint iter, int itlim)
SCIP_RETCODE SCIPcolGetStrongbranches(SCIP_COL **cols, int ncols, SCIP_Bool integral, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_LP *lp, int itlim, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, SCIP_Bool *lperror)
internal methods for LP management
interface methods for specific LP solvers
memory allocation routines
#define BMScopyMemoryArray(ptr, source, num)
#define BMSclearMemoryArray(ptr, num)
BMS_BLKMEM * SCIPblkmem(SCIP *scip)
SCIP_RETCODE SCIPprobAddVarName(SCIP_PROB *prob, SCIP_VAR *var)
SCIP_RETCODE SCIPprobRemoveVarName(SCIP_PROB *prob, SCIP_VAR *var)
SCIP_RETCODE SCIPprobChgVarType(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_PRIMAL *primal, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_VAR *var, SCIP_VARTYPE vartype)
SCIP_Bool SCIPprobAllColsInLP(SCIP_PROB *prob, SCIP_SET *set, SCIP_LP *lp)
internal methods for storing and manipulating the main problem
public methods for managing constraints
public methods for implications, variable bounds, and cliques
public methods for LP management
public methods for message output
public data structures and miscellaneous methods
public methods for branch and bound tree
public methods for problem variables
SCIP_Bool SCIPrelaxationIsSolZero(SCIP_RELAXATION *relaxation)
void SCIPrelaxationSetSolZero(SCIP_RELAXATION *relaxation, SCIP_Bool iszero)
void SCIPrelaxationSetSolValid(SCIP_RELAXATION *relaxation, SCIP_Bool isvalid, SCIP_Bool includeslp)
void SCIPrelaxationSetSolObj(SCIP_RELAXATION *relaxation, SCIP_Real obj)
SCIP_Real SCIPrelaxationGetSolObj(SCIP_RELAXATION *relaxation)
void SCIPrelaxationSetSolRelax(SCIP_RELAXATION *relaxation, SCIP_RELAX *relax)
SCIP_Bool SCIPrelaxationIsSolValid(SCIP_RELAXATION *relaxation)
internal methods for relaxators
public methods for the LP relaxation, rows and columns
public methods for memory management
public methods for message handling
public methods for numerical tolerances
public methods for global and local (sub)problems
public methods for the probing mode
public methods for solutions
public methods for querying solving statistics
public methods for the branch-and-bound tree
static SCIP_RETCODE analyzeStrongbranch(SCIP *scip, SCIP_VAR *var, SCIP_Bool *downinf, SCIP_Bool *upinf, SCIP_Bool *downconflict, SCIP_Bool *upconflict)
static SCIP_RETCODE calcCliquePartitionGreedy(SCIP *const scip, SCIP_VAR **const vars, SCIP_Bool *const values, int const nvars, int *const cliquepartition, int *const ncliques)
static SCIP_RETCODE performStrongbranchWithPropagation(SCIP *scip, SCIP_VAR *var, SCIP_Bool down, SCIP_Bool firstchild, SCIP_Bool propagate, SCIP_Real newbound, int itlim, int maxproprounds, SCIP_Real *value, SCIP_Bool *valid, SCIP_Longint *ndomreductions, SCIP_Bool *conflict, SCIP_Bool *lperror, SCIP_VAR **vars, int nvars, SCIP_Real *newlbs, SCIP_Real *newubs, SCIP_Bool *foundsol, SCIP_Bool *cutoff)
static SCIP_RETCODE labelSortStable(SCIP *scip, SCIP_VAR **vars, int *classlabels, SCIP_VAR **sortedvars, int *sortedindices, int *classesstartposs, int nvars, int nclasses)
static SCIP_RETCODE relabelOrderConsistent(SCIP *const scip, int *labels, int const nlabels, int *nclasses)
#define MAXNCLIQUEVARSCOMP
static SCIP_RETCODE tightenBounds(SCIP *scip, SCIP_VAR *var, SCIP_VARTYPE vartype, SCIP_Bool *infeasible)
public methods for SCIP variables
SCIP_Bool SCIPsetIsLbBetter(SCIP_SET *set, SCIP_Real newlb, SCIP_Real oldlb, SCIP_Real oldub)
SCIP_Bool SCIPsetIsGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_Real SCIPsetFeasCeil(SCIP_SET *set, SCIP_Real val)
SCIP_Bool SCIPsetIsFeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPsetIsFeasEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPsetIsLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_Real SCIPsetFeasFloor(SCIP_SET *set, SCIP_Real val)
SCIP_Bool SCIPsetIsEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPsetIsFeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPsetIsUbBetter(SCIP_SET *set, SCIP_Real newub, SCIP_Real oldlb, SCIP_Real oldub)
SCIP_Bool SCIPsetIsInfinity(SCIP_SET *set, SCIP_Real val)
SCIP_Bool SCIPsetIsZero(SCIP_SET *set, SCIP_Real val)
SCIP_Bool SCIPsetIsFeasIntegral(SCIP_SET *set, SCIP_Real val)
internal methods for global SCIP settings
#define SCIPsetFreeBufferArray(set, ptr)
#define SCIPsetAllocBufferArray(set, ptr, num)
#define SCIPsetDuplicateBufferArray(set, ptr, source, num)
SCIP_Real SCIPsolGetObj(SCIP_SOL *sol, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob)
internal methods for storing primal CIP solutions
SCIP_Bool SCIPsolveIsStopped(SCIP_SET *set, SCIP_STAT *stat, SCIP_Bool checknodelimits)
internal methods for main solving loop and node processing
void SCIPstatEnableVarHistory(SCIP_STAT *stat)
void SCIPstatDisableVarHistory(SCIP_STAT *stat)
internal methods for problem statistics
#define SCIPstatAdd(stat, set, field, val)
union SCIP_Var::@062351145146014100220174313010263165251013276204 data
data structures for LP management
datastructures for block memory pools and memory buffers
datastructures for collecting primal CIP solutions and primal informations
datastructures for storing and manipulating the main problem
SCIP main data structure.
datastructures for global SCIP settings
datastructures for problem statistics
data structures for branch and bound tree
datastructures for problem variables
SCIP_Bool SCIPtreeProbing(SCIP_TREE *tree)
int SCIPtreeGetProbingDepth(SCIP_TREE *tree)
SCIP_RETCODE SCIPtreeStartProbing(SCIP_TREE *tree, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_LP *lp, SCIP_RELAXATION *relaxation, SCIP_PROB *transprob, SCIP_Bool strongbranching)
SCIP_NODE * SCIPtreeGetCurrentNode(SCIP_TREE *tree)
SCIP_Bool SCIPtreeHasCurrentNodeLP(SCIP_TREE *tree)
SCIP_RETCODE SCIPnodeAddBoundinfer(SCIP_NODE *node, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_VAR *var, SCIP_Real newbound, SCIP_BOUNDTYPE boundtype, SCIP_CONS *infercons, SCIP_PROP *inferprop, int inferinfo, SCIP_Bool probingchange)
SCIP_RETCODE SCIPnodeAddBoundchg(SCIP_NODE *node, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_VAR *var, SCIP_Real newbound, SCIP_BOUNDTYPE boundtype, SCIP_Bool probingchange)
SCIP_RETCODE SCIPtreeEndProbing(SCIP_TREE *tree, SCIP_REOPT *reopt, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_LP *lp, SCIP_RELAXATION *relaxation, SCIP_PRIMAL *primal, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_CLIQUETABLE *cliquetable)
int SCIPtreeGetCurrentDepth(SCIP_TREE *tree)
internal methods for branch and bound tree
@ SCIP_BRANCHDIR_DOWNWARDS
enum SCIP_BranchDir SCIP_BRANCHDIR
enum SCIP_LPSolStat SCIP_LPSOLSTAT
enum SCIP_BoundType SCIP_BOUNDTYPE
@ SCIP_LPSOLSTAT_NOTSOLVED
@ SCIP_LPSOLSTAT_TIMELIMIT
@ SCIP_LPSOLSTAT_UNBOUNDEDRAY
@ SCIP_LPSOLSTAT_INFEASIBLE
@ SCIP_LPSOLSTAT_OBJLIMIT
@ SCIP_LPSOLSTAT_ITERLIMIT
enum SCIP_Confidencelevel SCIP_CONFIDENCELEVEL
enum SCIP_Retcode SCIP_RETCODE
@ SCIP_STAGE_INITPRESOLVE
@ SCIP_STAGE_EXITPRESOLVE
@ SCIP_STAGE_TRANSFORMING
@ SCIP_NODETYPE_PROBINGNODE
struct SCIP_VarData SCIP_VARDATA
#define SCIP_DECL_VARDELORIG(x)
#define SCIP_DECL_VARTRANS(x)
@ SCIP_VARTYPE_CONTINUOUS
@ SCIP_VARSTATUS_ORIGINAL
@ SCIP_VARSTATUS_MULTAGGR
@ SCIP_VARSTATUS_AGGREGATED
#define SCIP_DECL_VARCOPY(x)
#define SCIP_DECL_VARDELTRANS(x)
enum SCIP_LockType SCIP_LOCKTYPE
enum SCIP_Vartype SCIP_VARTYPE
enum SCIP_Varstatus SCIP_VARSTATUS
SCIP_RETCODE SCIPvarAddObj(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_EVENTFILTER *eventfilter, SCIP_EVENTQUEUE *eventqueue, SCIP_Real addobj)
SCIP_Real SCIPvarGetPseudocost(SCIP_VAR *var, SCIP_STAT *stat, SCIP_Real solvaldelta)
SCIP_RETCODE SCIPvarsGetActiveVars(SCIP_SET *set, SCIP_VAR **vars, int *nvars, int varssize, int *requiredsize)
SCIP_RETCODE SCIPvarIncNBranchings(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_BRANCHDIR dir, SCIP_Real value, int depth)
SCIP_RETCODE SCIPvarChgLbLazy(SCIP_VAR *var, SCIP_SET *set, SCIP_Real lazylb)
SCIP_RETCODE SCIPvarCreateTransformed(SCIP_VAR **var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, const char *name, SCIP_Real lb, SCIP_Real ub, SCIP_Real obj, SCIP_VARTYPE vartype, SCIP_Bool initial, SCIP_Bool removable, SCIP_DECL_VARDELORIG((*vardelorig)), SCIP_DECL_VARTRANS((*vartrans)), SCIP_DECL_VARDELTRANS((*vardeltrans)), SCIP_DECL_VARCOPY((*varcopy)), SCIP_VARDATA *vardata)
SCIP_Real SCIPvarGetPseudocostCount(SCIP_VAR *var, SCIP_BRANCHDIR dir)
SCIP_RETCODE SCIPvarGetTransformed(SCIP_VAR *origvar, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_VAR **transvar)
SCIP_RETCODE SCIPvarChgObj(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_PROB *prob, SCIP_PRIMAL *primal, SCIP_LP *lp, SCIP_EVENTQUEUE *eventqueue, SCIP_Real newobj)
SCIP_Real SCIPvarGetPseudocostVariance(SCIP_VAR *var, SCIP_BRANCHDIR dir, SCIP_Bool onlycurrentrun)
SCIP_Real SCIPvarGetImplRedcost(SCIP_VAR *var, SCIP_SET *set, SCIP_Bool varfixing, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_LP *lp)
SCIP_RETCODE SCIPvarSetLastGMIScore(SCIP_VAR *var, SCIP_STAT *stat, SCIP_Real gmieff)
SCIP_RETCODE SCIPvarFix(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTFILTER *eventfilter, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_Real fixedval, SCIP_Bool *infeasible, SCIP_Bool *fixed)
SCIP_RETCODE SCIPvarIncInferenceSum(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_BRANCHDIR dir, SCIP_Real value, SCIP_Real weight)
SCIP_RETCODE SCIPvarIncVSIDS(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_BRANCHDIR dir, SCIP_Real value, SCIP_Real weight)
SCIP_Real SCIPvarGetAvgCutoffs(SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
SCIP_RETCODE SCIPvarUpdatePseudocost(SCIP_VAR *var, SCIP_SET *set, SCIP_STAT *stat, SCIP_Real solvaldelta, SCIP_Real objdelta, SCIP_Real weight)
SCIP_RETCODE SCIPvarTransform(SCIP_VAR *origvar, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_OBJSENSE objsense, SCIP_VAR **transvar)
SCIP_Real SCIPvarGetAvgInferencesCurrentRun(SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
SCIP_RETCODE SCIPvarRelease(SCIP_VAR **var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp)
void SCIPvarGetClosestVub(SCIP_VAR *var, SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_Real *closestvub, int *closestvubidx)
SCIP_RETCODE SCIPvarIncNActiveConflicts(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_BRANCHDIR dir, SCIP_Real value, SCIP_Real length)
void SCIPvarAdjustLb(SCIP_VAR *var, SCIP_SET *set, SCIP_Real *lb)
SCIP_RETCODE SCIPvarChgLbGlobal(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_Real newbound)
SCIP_Real SCIPvarCalcPscostConfidenceBound(SCIP_VAR *var, SCIP_SET *set, SCIP_BRANCHDIR dir, SCIP_Bool onlycurrentrun, SCIP_CONFIDENCELEVEL clevel)
SCIP_Bool SCIPvarIsPscostRelerrorReliable(SCIP_VAR *var, SCIP_SET *set, SCIP_STAT *stat, SCIP_Real threshold, SCIP_CONFIDENCELEVEL clevel)
SCIP_RETCODE SCIPvarChgLbOriginal(SCIP_VAR *var, SCIP_SET *set, SCIP_Real newbound)
SCIP_RETCODE SCIPvarPrint(SCIP_VAR *var, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, FILE *file)
SCIP_Real SCIPvarGetAvgGMIScore(SCIP_VAR *var, SCIP_STAT *stat)
SCIP_Real SCIPvarGetVSIDS(SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
SCIP_RETCODE SCIPvarIncCutoffSum(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_BRANCHDIR dir, SCIP_Real value, SCIP_Real weight)
SCIP_Real SCIPvarGetMultaggrLbLocal(SCIP_VAR *var, SCIP_SET *set)
SCIP_Bool SCIPvarSignificantPscostDifference(SCIP_SET *set, SCIP_STAT *stat, SCIP_VAR *varx, SCIP_Real fracx, SCIP_VAR *vary, SCIP_Real fracy, SCIP_BRANCHDIR dir, SCIP_CONFIDENCELEVEL clevel, SCIP_Bool onesided)
void SCIPvarCapture(SCIP_VAR *var)
SCIP_RETCODE SCIPvarChgBranchDirection(SCIP_VAR *var, SCIP_BRANCHDIR branchdirection)
SCIP_Real SCIPvarGetPseudocostCurrentRun(SCIP_VAR *var, SCIP_STAT *stat, SCIP_Real solvaldelta)
SCIP_Bool SCIPvarDoNotAggr(SCIP_VAR *var)
SCIP_RETCODE SCIPvarChgType(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_PRIMAL *primal, SCIP_LP *lp, SCIP_EVENTQUEUE *eventqueue, SCIP_VARTYPE vartype)
SCIP_RETCODE SCIPvarFlattenAggregationGraph(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue)
void SCIPvarUpdateBestRootSol(SCIP_VAR *var, SCIP_SET *set, SCIP_Real rootsol, SCIP_Real rootredcost, SCIP_Real rootlpobjval)
SCIP_RETCODE SCIPvarCreateOriginal(SCIP_VAR **var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, const char *name, SCIP_Real lb, SCIP_Real ub, SCIP_Real obj, SCIP_VARTYPE vartype, SCIP_Bool initial, SCIP_Bool removable, SCIP_DECL_VARDELORIG((*vardelorig)), SCIP_DECL_VARTRANS((*vartrans)), SCIP_DECL_VARDELTRANS((*vardeltrans)), SCIP_DECL_VARCOPY((*varcopy)), SCIP_VARDATA *vardata)
SCIP_Real SCIPvarGetAvgConflictlength(SCIP_VAR *var, SCIP_BRANCHDIR dir)
SCIP_Real SCIPvarGetPseudocostCountCurrentRun(SCIP_VAR *var, SCIP_BRANCHDIR dir)
SCIP_RETCODE SCIPvarChgUbGlobal(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_Real newbound)
SCIP_RETCODE SCIPvarGetActiveRepresentatives(SCIP_SET *set, SCIP_VAR **vars, SCIP_Real *scalars, int *nvars, int varssize, SCIP_Real *constant, int *requiredsize, SCIP_Bool mergemultiples)
SCIP_RETCODE SCIPvarParseTransformed(SCIP_VAR **var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_STAT *stat, const char *str, SCIP_Bool initial, SCIP_Bool removable, SCIP_DECL_VARCOPY((*varcopy)), SCIP_DECL_VARDELORIG((*vardelorig)), SCIP_DECL_VARTRANS((*vartrans)), SCIP_DECL_VARDELTRANS((*vardeltrans)), SCIP_VARDATA *vardata, char **endptr, SCIP_Bool *success)
SCIP_RETCODE SCIPvarChgUbOriginal(SCIP_VAR *var, SCIP_SET *set, SCIP_Real newbound)
SCIP_Real SCIPvarGetAvgInferences(SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
SCIP_Real SCIPvarGetMultaggrUbGlobal(SCIP_VAR *var, SCIP_SET *set)
void SCIPvarGetClosestVlb(SCIP_VAR *var, SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_Real *closestvlb, int *closestvlbidx)
SCIP_RETCODE SCIPvarChgUbLazy(SCIP_VAR *var, SCIP_SET *set, SCIP_Real lazyub)
SCIP_Bool SCIPvarPscostThresholdProbabilityTest(SCIP_SET *set, SCIP_STAT *stat, SCIP_VAR *var, SCIP_Real frac, SCIP_Real threshold, SCIP_BRANCHDIR dir, SCIP_CONFIDENCELEVEL clevel)
SCIP_RETCODE SCIPvarTryAggregateVars(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTFILTER *eventfilter, SCIP_EVENTQUEUE *eventqueue, SCIP_VAR *varx, SCIP_VAR *vary, SCIP_Real scalarx, SCIP_Real scalary, SCIP_Real rhs, SCIP_Bool *infeasible, SCIP_Bool *aggregated)
SCIP_Real SCIPvarGetRelaxSol(SCIP_VAR *var, SCIP_SET *set)
SCIP_RETCODE SCIPvarAddImplic(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_Bool varfixing, SCIP_VAR *implvar, SCIP_BOUNDTYPE impltype, SCIP_Real implbound, SCIP_Bool transitive, SCIP_Bool *infeasible, int *nbdchgs)
SCIP_RETCODE SCIPvarMarkDoNotAggr(SCIP_VAR *var)
SCIP_RETCODE SCIPvarChgLbLocal(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_Real newbound)
SCIP_RETCODE SCIPvarChgBranchPriority(SCIP_VAR *var, int branchpriority)
SCIP_RETCODE SCIPvarMarkDoNotMultaggr(SCIP_VAR *var)
SCIP_RETCODE SCIPvarAddLocks(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_LOCKTYPE locktype, int addnlocksdown, int addnlocksup)
SCIP_RETCODE SCIPvarNegate(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_VAR **negvar)
SCIP_Real SCIPvarGetMultaggrUbLocal(SCIP_VAR *var, SCIP_SET *set)
SCIP_RETCODE SCIPvarGetProbvarSum(SCIP_VAR **var, SCIP_SET *set, SCIP_Real *scalar, SCIP_Real *constant)
SCIP_RETCODE SCIPvarIncGMIeffSum(SCIP_VAR *var, SCIP_STAT *stat, SCIP_Real gmieff)
SCIP_Real SCIPvarGetLastGMIScore(SCIP_VAR *var, SCIP_STAT *stat)
void SCIPvarAdjustUb(SCIP_VAR *var, SCIP_SET *set, SCIP_Real *ub)
SCIP_RETCODE SCIPvarMultiaggregate(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTFILTER *eventfilter, SCIP_EVENTQUEUE *eventqueue, int naggvars, SCIP_VAR **aggvars, SCIP_Real *scalars, SCIP_Real constant, SCIP_Bool *infeasible, SCIP_Bool *aggregated)
SCIP_Real SCIPvarGetAvgConflictlengthCurrentRun(SCIP_VAR *var, SCIP_BRANCHDIR dir)
SCIP_RETCODE SCIPvarChgUbLocal(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_Real newbound)
SCIP_RETCODE SCIPvarAddVlb(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_VAR *vlbvar, SCIP_Real vlbcoef, SCIP_Real vlbconstant, SCIP_Bool transitive, SCIP_Bool *infeasible, int *nbdchgs)
SCIP_RETCODE SCIPvarParseOriginal(SCIP_VAR **var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_STAT *stat, const char *str, SCIP_Bool initial, SCIP_Bool removable, SCIP_DECL_VARCOPY((*varcopy)), SCIP_DECL_VARDELORIG((*vardelorig)), SCIP_DECL_VARTRANS((*vartrans)), SCIP_DECL_VARDELTRANS((*vardeltrans)), SCIP_VARDATA *vardata, char **endptr, SCIP_Bool *success)
SCIP_Real SCIPvarGetVSIDSCurrentRun(SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
SCIP_RETCODE SCIPvarChgName(SCIP_VAR *var, BMS_BLKMEM *blkmem, const char *name)
SCIP_RETCODE SCIPvarAddVub(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_CLIQUETABLE *cliquetable, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_VAR *vubvar, SCIP_Real vubcoef, SCIP_Real vubconstant, SCIP_Bool transitive, SCIP_Bool *infeasible, int *nbdchgs)
SCIP_Real SCIPvarGetMultaggrLbGlobal(SCIP_VAR *var, SCIP_SET *set)
SCIP_RETCODE SCIPvarSetRelaxSol(SCIP_VAR *var, SCIP_SET *set, SCIP_RELAXATION *relaxation, SCIP_Real solval, SCIP_Bool updateobj)
SCIP_RETCODE SCIPvarChgBranchFactor(SCIP_VAR *var, SCIP_SET *set, SCIP_Real branchfactor)
SCIP_Real SCIPvarGetAvgCutoffsCurrentRun(SCIP_VAR *var, SCIP_STAT *stat, SCIP_BRANCHDIR dir)
SCIP_Bool SCIPvarDoNotMultaggr(SCIP_VAR *var)
SCIP_RETCODE SCIPvarRemoveCliquesImplicsVbs(SCIP_VAR *var, BMS_BLKMEM *blkmem, SCIP_CLIQUETABLE *cliquetable, SCIP_SET *set, SCIP_Bool irrelevantvar, SCIP_Bool onlyredundant, SCIP_Bool removefromvar)
internal methods for problem variables