131 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPcreateProb",
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE) );
143 probdelorig, probtrans, probdeltrans, probinitsol, probexitsol, probcopy, probdata,
FALSE) );
187 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPcreateProbBasic",
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE) );
208 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPsetProbDelorig",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
229 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPsetProbTrans",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
250 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPsetProbDeltrans",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
272 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPsetProbInitsol",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
293 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPsetProbExitsol",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
314 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPsetProbCopy",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
343 const char* filename,
344 const char* extension
359 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPreadProb",
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
364 if( !usevartable || !useconstable )
366 SCIPerrorMessage(
"Cannot read problem if vartable or constable is disabled. Make sure parameters 'misc/usevartable' and 'misc/useconstable' are set to TRUE.\n");
376 fileextension =
NULL;
377 if( extension ==
NULL )
386 extension !=
NULL ? extension : fileextension, &
result);
405 "original problem has %d variables (%d bin, %d int, %d cont) and %d constraints\n",
406 scip->origprob->nvars,
scip->origprob->nbinvars +
scip->origprob->nbinimplvars,
scip->origprob->nintvars
407 +
scip->origprob->nintimplvars,
scip->origprob->ncontvars +
scip->origprob->ncontimplvars,
408 scip->origprob->nconss);
410 if(
scip->origprob->nbinimplvars > 0 ||
scip->origprob->nintimplvars > 0 ||
scip->origprob->ncontimplvars > 0 )
412 "original problem has %d implied integral variables (%d bin, %d int, %d cont)\n",
414 scip->origprob->ncontimplvars);
428 for(
c =
scip->origprob->nconss - 1;
c >= 0; --
c )
430 for(
h =
scip->set->nconshdlrs - 1;
h >= 0; --
h )
432 if(
scip->origprob->conss[
c]->conshdlr ==
scip->set->conshdlrs[
h] )
443 for(
h = 0;
h <
scip->set->nconshdlrs; ++
h )
456 if(
scip->set->random_permutationseed > 0 )
462 permuteconss =
scip->set->random_permuteconss;
463 permutevars =
scip->set->random_permutevars;
464 permutationseed =
scip->set->random_permutationseed;
467 permutevars, permutevars, permutevars, permutevars, permutevars, permutevars) );
475 "Reading Time: %.2f\n", readingtime);
478 if(
scip->set->time_reading )
485 SCIPerrorMessage(
"invalid result code <%d> from reader <%s> reading file <%s>\n",
503 const char* filename,
504 const char* extension,
519 if( extension !=
NULL )
541 SCIPerrorMessage(
"invalid result code <%d> from reader <%s> writing <%s> format\n",
551 const char* filename,
552 const char* extension,
566 fileextension =
NULL;
571 if( filename !=
NULL && filename[0] !=
'\0' )
573 file = fopen(filename,
"w");
592 if( compression !=
NULL )
600 if( extension ==
NULL && fileextension ==
NULL )
602 SCIPmessagePrintWarning(
scip->messagehdlr,
"filename <%s> has no file extension, select default <cip> format for writing\n", filename);
606 retcode =
printProblem(
scip, transformed ?
scip->transprob :
scip->origprob, file, filename, extension !=
NULL ? extension : fileextension, genericnames);
608 if( tmpfilename !=
NULL )
615 if( fclose(file) != 0 )
655 const char* extension,
661 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPprintOrigProblem",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
699 const char* extension,
705 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPprintTransProblem",
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
744 const char* filename,
745 const char* extension,
752 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPwriteOrigProblem",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
791 const char* filename,
792 const char* extension,
799 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPwriteTransProblem",
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
841 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPfreeProb",
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE) );
844 transsolorig =
scip->set->misc_transsolsorig;
854 scip->set->misc_transsolsorig = transsolorig;
861 if(
scip->set->nconcsolvers > 0 )
870 for(
i =
scip->set->nactivepricers-1;
i >= 0; --
i )
877 for(
i =
scip->set->nactivebenders-1;
i >= 0; --
i )
898 for(
i = 0;
i <
scip->set->nreaders; ++
i )
924 unsigned int randseed,
948 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPpermuteProb",
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
986 for(
i = 0;
i < nconshdlrs; ++
i )
999 for( j = 0; j < nconss; ++j )
1000 conss[j]->consspos = j;
1008 int nconss =
scip->origprob->nconss;
1012 for( j = 0; j < nconss; ++j )
1014 assert(conss[j]->consspos == -1);
1028 for( j = 0; j < intstart; ++j )
1029 vars[j]->probindex = j;
1040 for( j = intstart; j < binimplstart; ++j )
1041 vars[j]->probindex = j;
1052 for( j = binimplstart; j < intimplstart; ++j )
1053 vars[j]->probindex = j;
1064 for( j = intimplstart; j < contimplstart; ++j )
1065 vars[j]->probindex = j;
1076 for( j = contimplstart; j < contstart; ++j )
1077 vars[j]->probindex = j;
1088 for( j = contstart; j <
nvars; ++j )
1089 vars[j]->probindex = j;
1102 "permute transformed problem using random seed %u\n", randseed);
1112 "permute original problem using random seed %u\n", randseed);
1143 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetProbData",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
1145 switch(
scip->set->stage )
1194 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPsetProbData",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
1196 switch(
scip->set->stage )
1246 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetProbName",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
1275 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPsetProbName",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
1306 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPchgReoptObjective",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
1311 origvars =
scip->origprob->vars;
1312 norigvars =
scip->origprob->nvars;
1314#ifdef SCIP_MORE_DEBUG
1325 for(
i = 0;
i < norigvars;
i++ )
1333 for(
i = 0;
i <
scip->transprob->nvars;
i++ )
1340 scip->origprob->objscale = 1.0;
1341 scip->origprob->objsense = objsense;
1342 scip->origprob->objoffset = 0.0;
1348 scip->transprob->objscale = 1.0;
1349 scip->transprob->objsense = objsense;
1350 scip->transprob->objoffset = 0.0;
1359 SCIPerrorMessage(
"Cannot handle variable <%s> (status: %d) in SCIPchgReoptObjective().\n",
1368#ifdef SCIP_MORE_DEBUG
1370 for(
i = 0;
i < norigvars;
i++ )
1404 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetObjsense",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
1406 return scip->origprob->objsense;
1422 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPsetObjsense",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
1448 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddObjoffset",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
1470 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddOrigObjoffsetExact",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
1491 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddOrigObjoffset",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
1533 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetOrigObjoffset",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
1535 return scip->origprob->objoffset;
1560 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetOrigObjoffsetExact",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
1564 return scip->origprob->objoffsetexact;
1587 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetOrigObjscale",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
1589 return scip->origprob->objscale;
1610 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetTransObjoffset",
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
1612 return scip->transprob->objoffset;
1633 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetTransObjscale",
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
1635 return scip->transprob->objscale;
1668 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPsetObjlimit",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
1670 switch(
scip->set->stage )
1680 SCIPerrorMessage(
"cannot relax objective limit from %.15g to %.15g in presolved stage.\n", oldobjlimit, objlimit);
1698 SCIPerrorMessage(
"cannot relax objective limit from %.15g to %.15g after problem was transformed.\n", oldobjlimit, objlimit);
1735 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetObjlimit",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
1762 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPsetObjIntegral",
FALSE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
1764 switch(
scip->set->stage )
1807 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPisObjIntegral",
FALSE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
1809 switch(
scip->set->stage )
1817 if (
scip->set->nactivepricers != 0 )
1825 for (v = 0; v <
scip->origprob->nvars; ++v)
1846 if ( v ==
scip->origprob->nvars )
1884 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetObjNorm",
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
1886 if(
scip->lp->objsqrnormunreliable )
1912 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddVar",
FALSE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
1929 SCIPerrorMessage(
"cannot add variable without exact data while exact solving is enabled\n");
1934 SCIPerrorMessage(
"cannot add variable with exact data while exact solving is disabled\n");
1938 switch(
scip->set->stage )
1943 SCIPerrorMessage(
"cannot add transformed variables to original problem\n");
1959 SCIPerrorMessage(
"cannot add original variables to transformed problem\n");
1964 SCIPerrorMessage(
"cannot add fixed or aggregated variables to transformed problem\n");
1990 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddPricedVar",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
2006 SCIPerrorMessage(
"cannot add original variables to transformed problem\n");
2011 SCIPerrorMessage(
"cannot add fixed or aggregated variables to transformed problem\n");
2051 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPdelVar",
FALSE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
FALSE) );
2053 switch(
scip->set->stage )
2058 SCIPerrorMessage(
"cannot remove transformed variables from original problem\n");
2074 SCIPerrorMessage(
"cannot remove original variables from transformed problem\n");
2079 SCIPerrorMessage(
"cannot remove fixed or aggregated variables from transformed problem\n");
2125 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetVarsData",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
2127 switch(
scip->set->stage )
2134 if( nbinvars !=
NULL )
2135 *nbinvars =
scip->origprob->nbinvars;
2136 if( nintvars !=
NULL )
2137 *nintvars =
scip->origprob->nintvars;
2138 if( nimplvars !=
NULL )
2140 if( ncontvars !=
NULL )
2141 *ncontvars =
scip->origprob->ncontvars;
2157 if( nbinvars !=
NULL )
2158 *nbinvars =
scip->transprob->nbinvars;
2159 if( nintvars !=
NULL )
2160 *nintvars =
scip->transprob->nintvars;
2161 if( nimplvars !=
NULL )
2163 if( ncontvars !=
NULL )
2164 *ncontvars =
scip->transprob->ncontvars;
2205 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetVars",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
2207 switch(
scip->set->stage )
2210 return scip->origprob->vars;
2221 return scip->transprob->vars;
2250 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNVars",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
2252 switch(
scip->set->stage )
2255 return scip->origprob->nvars;
2266 return scip->transprob->nvars;
2297 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNBinVars",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
2299 switch(
scip->set->stage )
2302 return scip->origprob->nbinvars;
2313 return scip->transprob->nbinvars;
2344 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNIntVars",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
2346 switch(
scip->set->stage )
2349 return scip->origprob->nintvars;
2360 return scip->transprob->nintvars;
2391 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNImplVars",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
2393 switch(
scip->set->stage )
2436 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNBinImplVars",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
2438 switch(
scip->set->stage )
2441 return scip->origprob->nbinimplvars;
2452 return scip->transprob->nbinimplvars;
2481 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNIntImplVars",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
2483 switch(
scip->set->stage )
2486 return scip->origprob->nintimplvars;
2497 return scip->transprob->nintimplvars;
2526 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNContImplVars",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
2528 switch(
scip->set->stage )
2531 return scip->origprob->ncontimplvars;
2542 return scip->transprob->ncontimplvars;
2573 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNContVars",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE) );
2575 switch(
scip->set->stage )
2578 return scip->origprob->ncontvars;
2589 return scip->transprob->ncontvars;
2620 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNObjVars",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
2622 switch(
scip->set->stage )
2666 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetFixedVars",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
2668 switch(
scip->set->stage )
2681 return scip->transprob->fixedvars;
2709 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNFixedVars",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
2711 switch(
scip->set->stage )
2724 return scip->transprob->nfixedvars;
2763 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetOrigVarsData",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
2769 if( nbinvars !=
NULL )
2770 *nbinvars =
scip->origprob->nbinvars;
2771 if( nintvars !=
NULL )
2772 *nintvars =
scip->origprob->nintvars;
2773 if( nimplvars !=
NULL )
2775 if( ncontvars !=
NULL )
2776 *ncontvars =
scip->origprob->ncontvars;
2815 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetOrigVars",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
2817 return scip->origprob->vars;
2842 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNOrigVars",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
2844 return scip->origprob->nvars;
2871 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNOrigBinVars",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
2873 return scip->origprob->nbinvars;
2900 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNOrigIntVars",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
2902 return scip->origprob->nintvars;
2929 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNOrigImplVars",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
2956 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNOrigBinImplVars",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
2958 return scip->origprob->nbinimplvars;
2983 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNOrigIntImplVars",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
2985 return scip->origprob->nintimplvars;
3010 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNOrigContImplVars",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
3012 return scip->origprob->ncontimplvars;
3039 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNOrigContVars",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
3041 return scip->origprob->ncontvars;
3068 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNTotalVars",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
3072 switch(
scip->set->stage )
3086 return scip->stat->nvaridx;
3127 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPgetSolVarsData",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
3135 if( nbinvars !=
NULL )
3136 *nbinvars =
scip->origprob->nbinvars;
3137 if( nintvars !=
NULL )
3138 *nintvars =
scip->origprob->nintvars;
3139 if( nbinimplvars !=
NULL )
3140 *nbinimplvars =
scip->origprob->nbinimplvars;
3141 if( nintimplvars !=
NULL )
3142 *nintimplvars =
scip->origprob->nintimplvars;
3143 if( ncontimplvars !=
NULL )
3144 *ncontimplvars =
scip->origprob->ncontimplvars;
3145 if( ncontvars !=
NULL )
3146 *ncontvars =
scip->origprob->ncontvars;
3154 if( nbinvars !=
NULL )
3155 *nbinvars =
scip->transprob->nbinvars;
3156 if( nintvars !=
NULL )
3157 *nintvars =
scip->transprob->nintvars;
3158 if( nbinimplvars !=
NULL )
3159 *nbinimplvars =
scip->transprob->nbinimplvars;
3160 if( nintimplvars !=
NULL )
3161 *nintimplvars =
scip->transprob->nintimplvars;
3162 if( ncontimplvars !=
NULL )
3163 *ncontimplvars =
scip->transprob->ncontimplvars;
3164 if( ncontvars !=
NULL )
3165 *ncontvars =
scip->transprob->ncontvars;
3198 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPfindVar",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
3200 switch(
scip->set->stage )
3251 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPallVarsInProb",
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
3253 return (
scip->set->nactivepricers == 0);
3283 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddCons",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE) );
3289 SCIPerrorMessage(
"cannot add inexact constraint while exact solving is enabled\n");
3294 SCIPerrorMessage(
"cannot add exact constraint while exact solving is disabled\n");
3298 switch(
scip->set->stage )
3304 if(
scip->set->reopt_enable )
3333 scip->tree, cons) );
3396 oldcons, *newcons) );
3427 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPdelCons",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE) );
3429 switch(
scip->set->stage )
3483 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPfindOrigCons",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
3485 switch(
scip->set->stage )
3534 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPfindCons",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
3536 switch(
scip->set->stage )
3582 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNUpgrConss",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
3584 switch(
scip->set->stage )
3596 return scip->stat->npresolupgdconss;
3624 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNConss",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
3626 switch(
scip->set->stage )
3629 return scip->origprob->nconss;
3639 return scip->transprob->nconss;
3670 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetConss",
FALSE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE) );
3672 switch(
scip->set->stage )
3675 return scip->origprob->conss;
3685 return scip->transprob->conss;
3716 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNOrigConss",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
3718 return scip->origprob->nconss;
3743 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetOrigConss",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
3745 return scip->origprob->conss;
3771 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNCheckConss",
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
3780 for(
c = 0;
c < nconshdlrs; ++
c )
3823 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddConflict",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
3827 if( iscutoffinvolved )
3847 scip->transprob,
scip->reopt, *cons, conftype, iscutoffinvolved, primalbound) );
3874 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPclearConflictStore",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
3877 scip->transprob,
scip->reopt,
scip->primal->cutoffbound) );
3913 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddConsNode",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
3919 SCIPerrorMessage(
"cannot add inexact constraint while exact solving is enabled\n");
3924 SCIPerrorMessage(
"cannot add exact constraint while exact solving is disabled\n");
3928 if( validnode !=
NULL )
3935 SCIPerrorMessage(
"cannot add constraint <%s> valid in depth %d to a node of depth %d\n",
3941 SCIPerrorMessage(
"constraint <%s> is already marked to be valid in depth %d - cannot mark it to be valid in depth %d\n",
3994 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddConsLocal",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
4025 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPdelConsNode",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
4076 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPdelConsLocal",
FALSE,
TRUE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
4078 switch(
scip->set->stage )
4126 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetLocalOrigEstimate",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
4145 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetLocalTransEstimate",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
4165 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetLocalDualbound",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
4184 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetLocalLowerbound",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
4203 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNodeDualbound",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
4220 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetNodeLowerbound",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
4244 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPupdateLocalDualbound",
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
4246 switch(
scip->set->stage )
4294 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPupdateLocalLowerbound",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
4296 switch(
scip->set->stage )
4336 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPupdateNodeDualbound",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
4360 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPupdateNodeLowerbound",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
4394 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPchgChildPrio",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
void SCIPclockSetTime(SCIP_CLOCK *clck, SCIP_Real sec)
internal methods for clocks and timing issues
SCIP_RETCODE SCIPfreeConcurrent(SCIP *scip)
helper functions for concurrent scip solvers
SCIP_RETCODE SCIPconflictstoreUpgradeConflict(SCIP_CONFLICTSTORE *conflictstore, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_CONS *oldcons, SCIP_CONS *newcons)
SCIP_RETCODE SCIPconflictstoreCleanNewIncumbent(SCIP_CONFLICTSTORE *conflictstore, SCIP_SET *set, SCIP_STAT *stat, BMS_BLKMEM *blkmem, SCIP_PROB *transprob, SCIP_REOPT *reopt, SCIP_Real cutoffbound)
SCIP_RETCODE SCIPconflictstoreFree(SCIP_CONFLICTSTORE **conflictstore, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_REOPT *reopt)
SCIP_RETCODE SCIPconflictstoreCreate(SCIP_CONFLICTSTORE **conflictstore, SCIP_SET *set)
SCIP_RETCODE SCIPconflictstoreAddConflict(SCIP_CONFLICTSTORE *conflictstore, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_TREE *tree, SCIP_PROB *transprob, SCIP_REOPT *reopt, SCIP_CONS *cons, SCIP_CONFTYPE conftype, SCIP_Bool cutoffinvolved, SCIP_Real primalbound)
internal methods for storing conflicts
void SCIPconsSetLocal(SCIP_CONS *cons, SCIP_Bool local)
SCIP_RETCODE SCIPconsDelete(SCIP_CONS *cons, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_REOPT *reopt)
SCIP_RETCODE SCIPconsMarkConflict(SCIP_CONS *cons)
internal methods for constraints and constraint handlers
SCIP_RETCODE SCIPdecompstoreCreate(SCIP_DECOMPSTORE **decompstore, BMS_BLKMEM *blkmem, int nslots)
void SCIPdecompstoreFree(SCIP_DECOMPSTORE **decompstore, BMS_BLKMEM *blkmem)
internal methods for decompositions and the decomposition store
#define SCIP_DECOMPSTORE_CAPA
#define SCIPcheckStage(scip, method, init, problem, transforming, transformed, initpresolve, presolving, exitpresolve, presolved, initsolve, solving, solved, exitsolve, freetrans, freescip)
#define SCIPdebugFreeDebugData(set)
#define SCIP_CALL_ABORT(x)
void SCIPsplitFilename(char *filename, char **path, char **name, char **extension, char **compression)
SCIP_Bool SCIPisTransformed(SCIP *scip)
int SCIPgetNObjVars(SCIP *scip)
SCIP_RETCODE SCIPaddVar(SCIP *scip, SCIP_VAR *var)
int SCIPgetNIntVars(SCIP *scip)
SCIP_RETCODE SCIPpermuteProb(SCIP *scip, unsigned int randseed, SCIP_Bool permuteconss, SCIP_Bool permutebinvars, SCIP_Bool permuteintvars, SCIP_Bool permutebinimplvars, SCIP_Bool permuteintimplvars, SCIP_Bool permutecontimplvars, SCIP_Bool permutecontvars)
SCIP_RETCODE SCIPaddConsUpgrade(SCIP *scip, SCIP_CONS *oldcons, SCIP_CONS **newcons)
SCIP_RETCODE SCIPsetObjIntegral(SCIP *scip)
SCIP_RETCODE SCIPgetOrigVarsData(SCIP *scip, SCIP_VAR ***vars, int *nvars, int *nbinvars, int *nintvars, int *nimplvars, int *ncontvars)
int SCIPgetNImplVars(SCIP *scip)
const char * SCIPgetProbName(SCIP *scip)
int SCIPgetNContVars(SCIP *scip)
int SCIPgetNCheckConss(SCIP *scip)
SCIP_RETCODE SCIPaddPricedVar(SCIP *scip, SCIP_VAR *var, SCIP_Real score)
SCIP_Real SCIPgetOrigObjscale(SCIP *scip)
SCIP_RETCODE SCIPgetSolVarsData(SCIP *scip, SCIP_SOL *sol, SCIP_VAR ***vars, int *nvars, int *nbinvars, int *nintvars, int *nbinimplvars, int *nintimplvars, int *ncontimplvars, int *ncontvars)
SCIP_RETCODE SCIPwriteOrigProblem(SCIP *scip, const char *filename, const char *extension, SCIP_Bool genericnames)
SCIP_RETCODE SCIPsetProbName(SCIP *scip, const char *name)
SCIP_RETCODE SCIPsetObjlimit(SCIP *scip, SCIP_Real objlimit)
SCIP_Real SCIPgetTransObjoffset(SCIP *scip)
int SCIPgetNBinImplVars(SCIP *scip)
SCIP_RETCODE SCIPsetProbTrans(SCIP *scip,)
int SCIPgetNOrigBinVars(SCIP *scip)
SCIP_RETCODE SCIPgetVarsData(SCIP *scip, SCIP_VAR ***vars, int *nvars, int *nbinvars, int *nintvars, int *nimplvars, int *ncontvars)
int SCIPgetNOrigConss(SCIP *scip)
SCIP_Real SCIPgetOrigObjoffset(SCIP *scip)
int SCIPgetNOrigContImplVars(SCIP *scip)
SCIP_VAR ** SCIPgetOrigVars(SCIP *scip)
int SCIPgetNOrigContVars(SCIP *scip)
SCIP_RETCODE SCIPsetProbCopy(SCIP *scip,)
int SCIPgetNOrigIntVars(SCIP *scip)
SCIP_CONS ** SCIPgetConss(SCIP *scip)
int SCIPgetNOrigImplVars(SCIP *scip)
SCIP_RETCODE SCIPsetProbDeltrans(SCIP *scip,)
SCIP_Real SCIPgetObjlimit(SCIP *scip)
SCIP_RETCODE SCIPaddObjoffset(SCIP *scip, SCIP_Real addval)
int SCIPgetNUpgrConss(SCIP *scip)
int SCIPgetNVars(SCIP *scip)
SCIP_RETCODE SCIPsetProbExitsol(SCIP *scip,)
SCIP_RETCODE SCIPaddCons(SCIP *scip, SCIP_CONS *cons)
SCIP_RETCODE SCIPchgReoptObjective(SCIP *scip, SCIP_OBJSENSE objsense, SCIP_VAR **vars, SCIP_Real *coefs, int nvars)
SCIP_CONS * SCIPfindOrigCons(SCIP *scip, const char *name)
SCIP_RETCODE SCIPdelCons(SCIP *scip, SCIP_CONS *cons)
int SCIPgetNConss(SCIP *scip)
SCIP_RETCODE SCIPfreeProb(SCIP *scip)
SCIP_PROBDATA * SCIPgetProbData(SCIP *scip)
SCIP_VAR ** SCIPgetVars(SCIP *scip)
SCIP_Real SCIPgetObjNorm(SCIP *scip)
SCIP_Bool SCIPallVarsInProb(SCIP *scip)
int SCIPgetNOrigVars(SCIP *scip)
SCIP_RETCODE SCIPprintTransProblem(SCIP *scip, FILE *file, const char *extension, SCIP_Bool genericnames)
SCIP_RETCODE SCIPprintOrigProblem(SCIP *scip, FILE *file, const char *extension, SCIP_Bool genericnames)
int SCIPgetNOrigBinImplVars(SCIP *scip)
int SCIPgetNOrigIntImplVars(SCIP *scip)
SCIP_RETCODE SCIPsetProbInitsol(SCIP *scip,)
int SCIPgetNIntImplVars(SCIP *scip)
int SCIPgetNContImplVars(SCIP *scip)
SCIP_RETCODE SCIPdelVar(SCIP *scip, SCIP_VAR *var, SCIP_Bool *deleted)
SCIP_RETCODE SCIPsetObjsense(SCIP *scip, SCIP_OBJSENSE objsense)
SCIP_RETCODE SCIPaddOrigObjoffset(SCIP *scip, SCIP_Real addval)
SCIP_RETCODE SCIPcreateProbBasic(SCIP *scip, const char *name)
SCIP_CONS ** SCIPgetOrigConss(SCIP *scip)
SCIP_RETCODE SCIPsetProbDelorig(SCIP *scip,)
SCIP_OBJSENSE SCIPgetObjsense(SCIP *scip)
SCIP_RETCODE SCIPwriteTransProblem(SCIP *scip, const char *filename, const char *extension, SCIP_Bool genericnames)
int SCIPgetNFixedVars(SCIP *scip)
SCIP_RETCODE SCIPcreateProb(SCIP *scip, const char *name, SCIP_DECL_PROBDELORIG((*probdelorig)), SCIP_DECL_PROBTRANS((*probtrans)), SCIP_DECL_PROBDELTRANS((*probdeltrans)), SCIP_DECL_PROBINITSOL((*probinitsol)), SCIP_DECL_PROBEXITSOL((*probexitsol)), SCIP_DECL_PROBCOPY((*probcopy)), SCIP_PROBDATA *probdata)
SCIP_RETCODE SCIPsetProbData(SCIP *scip, SCIP_PROBDATA *probdata)
SCIP_RATIONAL * SCIPgetOrigObjoffsetExact(SCIP *scip)
int SCIPgetNBinVars(SCIP *scip)
SCIP_VAR ** SCIPgetFixedVars(SCIP *scip)
int SCIPgetNTotalVars(SCIP *scip)
SCIP_Real SCIPgetTransObjscale(SCIP *scip)
SCIP_Bool SCIPisObjIntegral(SCIP *scip)
SCIP_VAR * SCIPfindVar(SCIP *scip, const char *name)
SCIP_CONS * SCIPfindCons(SCIP *scip, const char *name)
SCIP_RETCODE SCIPaddOrigObjoffsetExact(SCIP *scip, SCIP_RATIONAL *addval)
SCIP_RETCODE SCIPreadProb(SCIP *scip, const char *filename, const char *extension)
SCIP_RETCODE SCIPupdateNodeLowerbound(SCIP *scip, SCIP_NODE *node, SCIP_Real newbound)
SCIP_RETCODE SCIPupdateLocalLowerbound(SCIP *scip, SCIP_Real newbound)
SCIP_Real SCIPgetNodeDualbound(SCIP *scip, SCIP_NODE *node)
SCIP_RETCODE SCIPdelConsNode(SCIP *scip, SCIP_NODE *node, SCIP_CONS *cons)
SCIP_Real SCIPgetLocalOrigEstimate(SCIP *scip)
SCIP_RETCODE SCIPdelConsLocal(SCIP *scip, SCIP_CONS *cons)
SCIP_RETCODE SCIPaddConsNode(SCIP *scip, SCIP_NODE *node, SCIP_CONS *cons, SCIP_NODE *validnode)
SCIP_RETCODE SCIPclearConflictStore(SCIP *scip, SCIP_EVENT *event)
SCIP_Real SCIPgetLocalLowerbound(SCIP *scip)
SCIP_RETCODE SCIPupdateLocalDualbound(SCIP *scip, SCIP_Real newbound)
SCIP_RETCODE SCIPaddConflict(SCIP *scip, SCIP_NODE *node, SCIP_CONS **cons, SCIP_NODE *validnode, SCIP_CONFTYPE conftype, SCIP_Bool iscutoffinvolved)
SCIP_RETCODE SCIPchgChildPrio(SCIP *scip, SCIP_NODE *child, SCIP_Real priority)
SCIP_RETCODE SCIPupdateNodeDualbound(SCIP *scip, SCIP_NODE *node, SCIP_Real newbound)
SCIP_Real SCIPgetLocalDualbound(SCIP *scip)
SCIP_RETCODE SCIPaddConsLocal(SCIP *scip, SCIP_CONS *cons, SCIP_NODE *validnode)
SCIP_Real SCIPgetNodeLowerbound(SCIP *scip, SCIP_NODE *node)
SCIP_Real SCIPgetLocalTransEstimate(SCIP *scip)
SCIP_RETCODE SCIPgetBoolParam(SCIP *scip, const char *name, SCIP_Bool *value)
void SCIPrandomPermuteArray(SCIP_RANDNUMGEN *randnumgen, void **array, int begin, int end)
int SCIPconshdlrGetNCheckConss(SCIP_CONSHDLR *conshdlr)
int SCIPgetNConshdlrs(SCIP *scip)
const char * SCIPconshdlrGetName(SCIP_CONSHDLR *conshdlr)
SCIP_Bool SCIPconshdlrIsExact(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetNActiveConss(SCIP_CONSHDLR *conshdlr)
SCIP_CONS ** SCIPconshdlrGetConss(SCIP_CONSHDLR *conshdlr)
SCIP_CONSHDLR ** SCIPgetConshdlrs(SCIP *scip)
SCIP_Bool SCIPconsIsConflict(SCIP_CONS *cons)
SCIP_CONSHDLR * SCIPconsGetHdlr(SCIP_CONS *cons)
int SCIPconsGetActiveDepth(SCIP_CONS *cons)
int SCIPconsGetNUpgradeLocks(SCIP_CONS *cons)
int SCIPconsGetValidDepth(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsGlobal(SCIP_CONS *cons)
const char * SCIPconsGetName(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsAdded(SCIP_CONS *cons)
SCIP_RETCODE SCIPreleaseCons(SCIP *scip, SCIP_CONS **cons)
SCIP_EVENTTYPE SCIPeventGetType(SCIP_EVENT *event)
SCIP_SOL * SCIPeventGetSol(SCIP_EVENT *event)
SCIP_Bool SCIPisExact(SCIP *scip)
BMS_BLKMEM * SCIPblkmem(SCIP *scip)
BMS_BUFMEM * SCIPbuffer(SCIP *scip)
#define SCIPallocClearBufferArray(scip, ptr, num)
#define SCIPfreeBufferArray(scip, ptr)
#define SCIPduplicateBufferArray(scip, ptr, source, num)
SCIP_NODETYPE SCIPnodeGetType(SCIP_NODE *node)
SCIP_Real SCIPnodeGetLowerbound(SCIP_NODE *node)
SCIP_Real SCIPnodeGetEstimate(SCIP_NODE *node)
int SCIPnodeGetDepth(SCIP_NODE *node)
void SCIPrationalSetReal(SCIP_RATIONAL *res, SCIP_Real real)
void SCIPrationalFreeBuffer(BMS_BUFMEM *bufmem, SCIP_RATIONAL **rational)
SCIP_RETCODE SCIPrationalCreateBuffer(BMS_BUFMEM *bufmem, SCIP_RATIONAL **rational)
const char * SCIPreaderGetName(SCIP_READER *reader)
SCIP_RETCODE SCIPenableReoptimization(SCIP *scip, SCIP_Bool enable)
SCIP_Real SCIPtransformObj(SCIP *scip, SCIP_Real obj)
SCIP_Bool SCIPsolIsOriginal(SCIP_SOL *sol)
SCIP_RETCODE SCIPfreeTransform(SCIP *scip)
SCIP_Real SCIPgetCutoffbound(SCIP *scip)
SCIP_Real SCIPgetReadingTime(SCIP *scip)
SCIP_Real SCIPinfinity(SCIP *scip)
SCIP_Bool SCIPisIntegral(SCIP *scip, SCIP_Real val)
SCIP_Bool SCIPisPositive(SCIP *scip, SCIP_Real val)
SCIP_Bool SCIPisZero(SCIP *scip, SCIP_Real val)
SCIP_Bool SCIPisLT(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_VARSTATUS SCIPvarGetStatus(SCIP_VAR *var)
SCIP_Real SCIPvarGetObj(SCIP_VAR *var)
int SCIPvarGetProbindex(SCIP_VAR *var)
const char * SCIPvarGetName(SCIP_VAR *var)
SCIP_Bool SCIPvarIsExact(SCIP_VAR *var)
SCIP_Bool SCIPvarIsIntegral(SCIP_VAR *var)
SCIP_VAR * SCIPvarGetNegationVar(SCIP_VAR *var)
SCIP_Bool SCIPvarIsOriginal(SCIP_VAR *var)
SCIP_RETCODE SCIPchgVarObj(SCIP *scip, SCIP_VAR *var, SCIP_Real newobj)
SCIP_RETCODE SCIPaddVarObj(SCIP *scip, SCIP_VAR *var, SCIP_Real addobj)
void SCIPprintSysError(const char *message)
SCIPfreeRandom(scip, &heurdata->randnumgen)
SCIPcreateRandom(scip, &heurdata->randnumgen, DEFAULT_RANDSEED, TRUE))
assert(minobj< SCIPgetCutoffbound(scip))
void SCIPlpRecalculateObjSqrNorm(SCIP_SET *set, SCIP_LP *lp)
SCIP_Real SCIPlpGetObjNorm(SCIP_LP *lp)
internal methods for LP management
memory allocation routines
#define BMSduplicateMemoryArray(ptr, source, num)
#define BMSfreeMemoryArray(ptr)
void SCIPmessagePrintWarning(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr,...)
void SCIPmessagePrintVerbInfo(SCIP_MESSAGEHDLR *messagehdlr, SCIP_VERBLEVEL verblevel, SCIP_VERBLEVEL msgverblevel, const char *formatstr,...)
SCIP_RETCODE SCIPpricerDeactivate(SCIP_PRICER *pricer, SCIP_SET *set)
internal methods for variable pricers
SCIP_RETCODE SCIPpricestoreAddVar(SCIP_PRICESTORE *pricestore, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp, SCIP_VAR *var, SCIP_Real score, SCIP_Bool root)
internal methods for storing priced variables
void SCIPprimalAddOrigObjoffsetExact(SCIP_PRIMAL *primal, SCIP_SET *set, SCIP_RATIONAL *addval)
void SCIPprimalAddOrigObjoffset(SCIP_PRIMAL *primal, SCIP_SET *set, SCIP_Real addval)
SCIP_RETCODE SCIPprimalFree(SCIP_PRIMAL **primal, BMS_BLKMEM *blkmem)
SCIP_RETCODE SCIPprimalCreate(SCIP_PRIMAL **primal)
SCIP_RETCODE SCIPprimalUpdateObjoffset(SCIP_PRIMAL *primal, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp)
SCIP_RETCODE SCIPprimalUpdateObjlimit(SCIP_PRIMAL *primal, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp)
internal methods for collecting primal CIP solutions and primal informations
void SCIPprobSetDelorig(SCIP_PROB *prob,)
void SCIPprobSetExitsol(SCIP_PROB *prob,)
void SCIPprobSetCopy(SCIP_PROB *prob,)
SCIP_Bool SCIPprobIsPermuted(SCIP_PROB *prob)
void SCIPprobSetObjIntegral(SCIP_PROB *prob)
const char * SCIPprobGetName(SCIP_PROB *prob)
int SCIPprobGetNObjVars(SCIP_PROB *prob, SCIP_SET *set)
SCIP_RETCODE SCIPprobPerformVarDeletions(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand)
void SCIPprobSetTrans(SCIP_PROB *prob,)
SCIP_Real SCIPprobGetObjlim(SCIP_PROB *prob, SCIP_SET *set)
void SCIPprobUpdateDualbound(SCIP_PROB *prob, SCIP_Real newbound)
SCIP_RETCODE SCIPprobSetName(SCIP_PROB *prob, const char *name)
void SCIPprobSetData(SCIP_PROB *prob, SCIP_PROBDATA *probdata)
void SCIPprobAddObjoffset(SCIP_PROB *prob, SCIP_Real addval)
SCIP_VAR * SCIPprobFindVar(SCIP_PROB *prob, const char *name)
int SCIPprobGetNImplVars(SCIP_PROB *prob)
SCIP_RETCODE SCIPprobCreate(SCIP_PROB **prob, BMS_BLKMEM *blkmem, SCIP_SET *set, const char *name, SCIP_DECL_PROBDELORIG((*probdelorig)), SCIP_DECL_PROBTRANS((*probtrans)), SCIP_DECL_PROBDELTRANS((*probdeltrans)), SCIP_DECL_PROBINITSOL((*probinitsol)), SCIP_DECL_PROBEXITSOL((*probexitsol)), SCIP_DECL_PROBCOPY((*probcopy)), SCIP_PROBDATA *probdata, SCIP_Bool transformed)
void SCIPprobSetObjlim(SCIP_PROB *prob, SCIP_Real objlim)
SCIP_RETCODE SCIPprobDelVar(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_VAR *var, SCIP_Bool *deleted)
SCIP_Bool SCIPprobIsObjIntegral(SCIP_PROB *prob)
SCIP_RETCODE SCIPprobAddVar(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_VAR *var)
SCIP_CONS * SCIPprobFindCons(SCIP_PROB *prob, const char *name)
void SCIPprobMarkPermuted(SCIP_PROB *prob)
SCIP_PROBDATA * SCIPprobGetData(SCIP_PROB *prob)
void SCIPprobSetInitsol(SCIP_PROB *prob,)
SCIP_Real SCIPprobExternObjval(SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_SET *set, SCIP_Real objval)
SCIP_RETCODE SCIPprobFree(SCIP_PROB **prob, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp)
SCIP_RETCODE SCIPprobAddCons(SCIP_PROB *prob, SCIP_SET *set, SCIP_STAT *stat, SCIP_CONS *cons)
void SCIPprobSetDeltrans(SCIP_PROB *prob,)
void SCIPprobAddObjoffsetExact(SCIP_PROB *prob, SCIP_RATIONAL *addval)
void SCIPprobSetObjsense(SCIP_PROB *prob, SCIP_OBJSENSE objsense)
SCIP_Real SCIPprobInternObjval(SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_SET *set, SCIP_Real objval)
internal methods for storing and manipulating the main problem
public methods for managing constraints
public methods for managing events
public methods for message output
public data structures and miscellaneous methods
public methods for input file readers
public methods for primal CIP solutions
public methods for branch and bound tree
public methods for problem variables
SCIP_RETCODE SCIPreaderWrite(SCIP_READER *reader, SCIP_PROB *prob, SCIP_SET *set, SCIP_MESSAGEHDLR *msghdlr, FILE *file, const char *filename, const char *format, SCIP_Bool genericnames, SCIP_RESULT *result)
SCIP_RETCODE SCIPreaderRead(SCIP_READER *reader, SCIP_SET *set, const char *filename, const char *extension, SCIP_RESULT *result)
SCIP_RETCODE SCIPreaderResetReadingTime(SCIP_READER *reader)
internal methods for input file readers
SCIP_RETCODE SCIPreoptAddCons(SCIP_REOPT *reopt, SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_CONS *cons)
SCIP_RETCODE SCIPreoptFree(SCIP_REOPT **reopt, SCIP_SET *set, SCIP_PRIMAL *origprimal, BMS_BLKMEM *blkmem)
data structures and methods for collecting reoptimization information
public methods for constraint handler plugins and constraints
public methods for exact solving
public methods for memory management
public methods for message handling
public methods for numerical tolerances
public methods for SCIP parameter handling
static SCIP_RETCODE writeProblem(SCIP *scip, const char *filename, const char *extension, SCIP_Bool transformed, SCIP_Bool genericnames)
static SCIP_RETCODE printProblem(SCIP *scip, SCIP_PROB *prob, FILE *file, const char *filename, const char *extension, SCIP_Bool genericnames)
public methods for global and local (sub)problems
public methods for random numbers
public methods for solutions
public methods for querying solving statistics
public methods for timing
public methods for the branch-and-bound tree
public methods for SCIP variables
SCIP_RETCODE SCIPsetFreeConcsolvers(SCIP_SET *set)
internal methods for global SCIP settings
SCIP_RETCODE SCIPbendersDeactivate(SCIP_BENDERS *benders, SCIP_SET *set)
internal methods for Benders' decomposition
SCIP_RETCODE SCIPstatFree(SCIP_STAT **stat, BMS_BLKMEM *blkmem)
SCIP_RETCODE SCIPstatCreate(SCIP_STAT **stat, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_MESSAGEHDLR *messagehdlr)
internal methods for problem statistics
SCIP_CONSSETCHG * addconssetchg
datastructures for constraints and constraint handlers
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
datastructures for problem variables
SCIP_RETCODE SCIPsyncstoreExit(SCIP_SYNCSTORE *syncstore)
SCIP_Bool SCIPsyncstoreIsInitialized(SCIP_SYNCSTORE *syncstore)
the function declarations for the synchronization store
SCIP_RETCODE SCIPnodeDelCons(SCIP_NODE *node, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_TREE *tree, SCIP_CONS *cons)
SCIP_RETCODE SCIPnodeCutoff(SCIP_NODE *node, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTFILTER *eventfilter, SCIP_TREE *tree, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_REOPT *reopt, SCIP_LP *lp, BMS_BLKMEM *blkmem)
SCIP_NODE * SCIPtreeGetCurrentNode(SCIP_TREE *tree)
int SCIPtreeGetEffectiveRootDepth(SCIP_TREE *tree)
SCIP_RETCODE SCIPnodeAddCons(SCIP_NODE *node, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_TREE *tree, SCIP_CONS *cons)
void SCIPchildChgNodeselPrio(SCIP_TREE *tree, SCIP_NODE *child, SCIP_Real priority)
int SCIPtreeGetCurrentDepth(SCIP_TREE *tree)
SCIP_RETCODE SCIPnodeUpdateLowerbound(SCIP_NODE *node, SCIP_STAT *stat, SCIP_SET *set, SCIP_EVENTFILTER *eventfilter, SCIP_TREE *tree, SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_Real newbound, SCIP_RATIONAL *newboundexact)
internal methods for branch and bound tree
@ SCIP_CONFTYPE_BNDEXCEEDING
enum SCIP_ConflictType SCIP_CONFTYPE
struct SCIP_Cons SCIP_CONS
struct SCIP_Conshdlr SCIP_CONSHDLR
#define SCIP_EVENTTYPE_BESTSOLFOUND
struct SCIP_Event SCIP_EVENT
struct SCIP_RandNumGen SCIP_RANDNUMGEN
#define SCIP_DECL_PROBCOPY(x)
#define SCIP_DECL_PROBDELTRANS(x)
#define SCIP_DECL_PROBEXITSOL(x)
struct SCIP_ProbData SCIP_PROBDATA
struct SCIP_Prob SCIP_PROB
#define SCIP_DECL_PROBDELORIG(x)
#define SCIP_DECL_PROBTRANS(x)
#define SCIP_DECL_PROBINITSOL(x)
enum SCIP_Objsense SCIP_OBJSENSE
struct SCIP_Rational SCIP_RATIONAL
enum SCIP_Result SCIP_RESULT
enum SCIP_Retcode SCIP_RETCODE
@ SCIP_STAGE_INITPRESOLVE
@ SCIP_STAGE_EXITPRESOLVE
@ SCIP_STAGE_TRANSFORMING
struct SCIP_Node SCIP_NODE
@ SCIP_NODETYPE_PROBINGNODE
@ SCIP_VARSTATUS_ORIGINAL