77#if defined(_WIN32) || defined(_WIN64)
93#undef SCIPhasPerformedPresolve
164#if SCIP_SUBVERSION > 0
170#ifndef BMS_NOBLOCKMEM
199#if defined(__INTEL_COMPILER)
201#elif defined(__clang__)
203#elif defined(_MSC_VER)
205#elif defined(__GNUC__)
206#if defined(__GNUC_PATCHLEVEL__)
332 SCIP_CALL(
SCIPcheckStage(*
scip,
"SCIPfree",
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE,
TRUE,
TRUE,
FALSE,
FALSE,
TRUE) );
356#undef SCIPhasPerformedPresolve
372 return scip->set->stage;
392 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPprintStage",
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE) );
394 switch(
scip->set->stage )
487 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPgetStatus",
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE) );
495 return scip->stat->status;
511 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPprintStatus",
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE) );
597 return (
scip->set->misc_exactsolve);
623 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPisPresolveFinished",
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
TRUE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
632 || (
scip->stat->npresolfixedvars -
scip->stat->lastnpresolfixedvars
633 +
scip->stat->npresolaggrvars -
scip->stat->lastnpresolaggrvars
634 +
scip->stat->npresolchgvartypes -
scip->stat->lastnpresolchgvartypes
635 + (
scip->stat->npresolchgbds -
scip->stat->lastnpresolchgbds)/10.0
636 + (
scip->stat->npresoladdholes -
scip->stat->lastnpresoladdholes)/10.0
637 <=
scip->set->presol_abortfac *
scip->transprob->nvars));
641 && (
scip->transprob->nconss == 0
642 || (
scip->stat->npresoldelconss -
scip->stat->lastnpresoldelconss
643 +
scip->stat->npresoladdconss -
scip->stat->lastnpresoladdconss
644 +
scip->stat->npresolupgdconss -
scip->stat->lastnpresolupgdconss
645 +
scip->stat->npresolchgsides -
scip->stat->lastnpresolchgsides
646 <=
scip->set->presol_abortfac *
scip->transprob->nconss));
650 && (
scip->transprob->nvars == 0 ||
scip->transprob->nconss == 0
651 || (
scip->stat->npresolchgcoefs -
scip->stat->lastnpresolchgcoefs
652 <=
scip->set->presol_abortfac * 0.01 *
scip->transprob->nvars *
scip->transprob->nconss));
654#ifdef SCIP_DISABLED_CODE
658 && (
scip->stat->nimplications -
scip->stat->lastnpresolimplications
659 <=
scip->set->presol_abortfac * 100 *
scip->transprob->nbinvars)
661 <=
scip->set->presol_abortfac *
scip->transprob->nbinvars);
681 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPhasPerformedPresolve",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
683 return scip->stat->performpresol;
707 SCIP_CALL_ABORT(
SCIPcheckStage(
scip,
"SCIPisStopped",
FALSE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
TRUE,
FALSE) );
716 const char* description
722 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPincludeExternalCodeInformation",
TRUE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
737 return scip->set->extcodenames;
751 return scip->set->extcodedescs;
762 return scip->set->nextcodes;
777 if(
scip->set->nextcodes == 0 )
784 for(
i = 0;
i <
scip->set->nextcodes; ++
i )
void SCIPclockStart(SCIP_CLOCK *clck, SCIP_SET *set)
void SCIPclockFree(SCIP_CLOCK **clck)
SCIP_RETCODE SCIPclockCreate(SCIP_CLOCK **clck, SCIP_CLOCKTYPE clocktype)
internal methods for clocks and timing issues
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_CALL_ABORT(x)
#define SCIP_CALL_FINALLY(x, y)
SCIP_RETCODE SCIPdialoghdlrCreate(SCIP_SET *set, SCIP_DIALOGHDLR **dialoghdlr)
SCIP_RETCODE SCIPdialoghdlrFree(SCIP *scip, SCIP_DIALOGHDLR **dialoghdlr)
internal methods for user interface dialog
methods to interpret (evaluate) an expression "fast"
const char * SCIPexprintGetName(void)
const char * SCIPexprintGetDesc(void)
SCIP_Bool SCIPisTransformed(SCIP *scip)
SCIP_RETCODE SCIPprintStage(SCIP *scip, FILE *file)
SCIP_Bool SCIPisPresolveFinished(SCIP *scip)
SCIP_Bool SCIPhasPerformedPresolve(SCIP *scip)
SCIP_Bool SCIPpressedCtrlC(SCIP *scip)
SCIP_RETCODE SCIPprintStatus(SCIP *scip, FILE *file)
SCIP_Bool SCIPisStopped(SCIP *scip)
SCIP_RETCODE SCIPfree(SCIP **scip)
SCIP_RETCODE SCIPcreate(SCIP **scip)
SCIP_STATUS SCIPgetStatus(SCIP *scip)
SCIP_STAGE SCIPgetStage(SCIP *scip)
SCIP_Bool SCIPisExactSolve(SCIP *scip)
SCIP_RETCODE SCIPfreeProb(SCIP *scip)
SCIP_OBJSENSE SCIPgetObjsense(SCIP *scip)
const char * SCIPlpiGetSolverName(void)
const char * SCIPlpiGetSolverDesc(void)
void SCIPinfoMessage(SCIP *scip, FILE *file, const char *formatstr,...)
void SCIPprintError(SCIP_RETCODE retcode)
void SCIPprintBuildOptions(SCIP *scip, FILE *file)
int SCIPminorVersion(void)
SCIP_Real SCIPversion(void)
int SCIPtechVersion(void)
void SCIPprintVersion(SCIP *scip, FILE *file)
int SCIPmajorVersion(void)
char ** SCIPgetExternalCodeDescriptions(SCIP *scip)
SCIP_RETCODE SCIPincludeExternalCodeInformation(SCIP *scip, const char *name, const char *description)
int SCIPgetNExternalCodes(SCIP *scip)
void SCIPprintExternalCodes(SCIP *scip, FILE *file)
char ** SCIPgetExternalCodeNames(SCIP *scip)
SCIP_Real SCIPgetPrimalbound(SCIP *scip)
SCIP_Bool SCIPisInfinity(SCIP *scip, SCIP_Real val)
assert(minobj< SCIPgetCutoffbound(scip))
int SCIPcliquetableGetNCliques(SCIP_CLIQUETABLE *cliquetable)
SCIP_RETCODE SCIPinterruptCreate(SCIP_INTERRUPT **interrupt)
void SCIPinterruptFree(SCIP_INTERRUPT **interrupt)
SCIP_Bool SCIPinterrupted(void)
methods for catching the user CTRL-C interrupt
interface methods for specific LP solvers
SCIP_RETCODE SCIPmemCreate(SCIP_MEM **mem)
SCIP_RETCODE SCIPmemFree(SCIP_MEM **mem)
methods for block memory pools and memory buffers
memory allocation routines
#define BMSfreeMemory(ptr)
#define BMSclearMemory(ptr)
#define BMSallocMemory(ptr)
void SCIPmessagePrintError(const char *formatstr,...)
void SCIPmessageFPrintInfo(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *formatstr,...)
SCIP_RETCODE SCIPmessagehdlrRelease(SCIP_MESSAGEHDLR **messagehdlr)
SCIP_RETCODE SCIPcreateMessagehdlrDefault(SCIP_MESSAGEHDLR **messagehdlr, SCIP_Bool bufferedoutput, const char *filename, SCIP_Bool quiet)
BMS_BLKMEM * SCIPblkmem(SCIP *scip)
SCIP_RETCODE SCIPnlpInclude(SCIP_SET *set, BMS_BLKMEM *blkmem)
internal methods for NLP management
public methods for message output
void SCIPretcodePrintError(SCIP_RETCODE retcode)
internal methods for return codes for SCIP methods
static SCIP_RETCODE doScipCreate(SCIP **scip)
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 querying solving statistics
const char * SCIPgetBuildFlags(void)
SCIP_RETCODE SCIPincludeCorePlugins(SCIP *scip)
register additional core functionality that is designed as plugins
const char * SCIPgetGitHash(void)
SCIP_RETCODE SCIPsetCreate(SCIP_SET **set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, SCIP *scip)
SCIP_RETCODE SCIPsetFree(SCIP_SET **set, BMS_BLKMEM *blkmem)
SCIP_RETCODE SCIPsetIncludeExternalCode(SCIP_SET *set, const char *name, const char *description)
internal methods for global SCIP settings
SCIP_Bool SCIPsolveIsStopped(SCIP_SET *set, SCIP_STAT *stat, SCIP_Bool checknodelimits)
internal methods for main solving loop and node processing
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
SCIP_RETCODE SCIPsyncstoreRelease(SCIP_SYNCSTORE **syncstore)
SCIP_RETCODE SCIPsyncstoreCreate(SCIP_SYNCSTORE **syncstore)
the function declarations for the synchronization store
enum SCIP_Retcode SCIP_RETCODE
@ SCIP_STAGE_INITPRESOLVE
@ SCIP_STAGE_EXITPRESOLVE
@ SCIP_STAGE_TRANSFORMING
enum SCIP_Stage SCIP_STAGE
@ SCIP_STATUS_TOTALNODELIMIT
@ SCIP_STATUS_BESTSOLLIMIT
@ SCIP_STATUS_USERINTERRUPT
@ SCIP_STATUS_STALLNODELIMIT
@ SCIP_STATUS_RESTARTLIMIT
enum SCIP_Status SCIP_STATUS