scip_general.c
Go to the documentation of this file.
43 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
169 SCIPmessageFPrintInfo(scip->messagehdlr, file, " [precision: %d byte]", (int)sizeof(SCIP_Real));
203 SCIPmessageFPrintInfo(scip->messagehdlr, file, "clang %d.%d.%d\n", __clang_major__, __clang_minor__, __clang_patchlevel__);
208 SCIPmessageFPrintInfo(scip->messagehdlr, file, "gcc %d.%d.%d\n", __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__);
266 SCIP_CALL( SCIPsetIncludeExternalCode((*scip)->set, SCIPlpiGetSolverName(), SCIPlpiGetSolverDesc()) );
270 SCIP_CALL( SCIPsetIncludeExternalCode((*scip)->set, SCIPexprintGetName(), SCIPexprintGetDesc()) );
274 SCIP_CALL( SCIPsetIncludeExternalCode((*scip)->set, "ZLIB " ZLIB_VERSION, "General purpose compression library by J. Gailly and M. Adler (zlib.net)") );
287 SCIP_CALL( SCIPsetIncludeExternalCode((*scip)->set, name, "General Linear Algebra PACKage (http://www.netlib.org/lapack/)") );
296 * @note The SCIP default message handler is installed. Use the method SCIPsetMessagehdlr() to install your own
297 * message handler or SCIPsetMessagehdlrLogfile() and SCIPsetMessagehdlrQuiet() to write into a log
300 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
320 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
347 SCIP_CALL( SCIPcheckStage(*scip, "SCIPfree", TRUE, TRUE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE) );
394 * @note If limits have been changed between the solution and the call to this function, the status is recomputed and
397 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
407 SCIP_CALL( SCIPcheckStage(scip, "SCIPprintStage", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE) );
467 /* We output that the objective limit has been reached if no solution respecting the objective limit has been
468 * found (nlimsolsfound == 0) and the primal bound is finite. Note that it still might be that the original
469 * problem is infeasible, even without the objective limit, i.e., we cannot be sure that we actually reached the
471 if( scip->primal->nlimsolsfound == 0 && !SCIPisInfinity(scip, (SCIP_Real)SCIPgetObjsense(scip) * SCIPgetPrimalbound(scip)) )
502 SCIP_CALL_ABORT( SCIPcheckStage(scip, "SCIPgetStatus", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE) );
516 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
526 SCIP_CALL( SCIPcheckStage(scip, "SCIPprintStatus", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE) );
621 /** returns whether the presolving process would be finished given no more presolving reductions are found in this
624 * Checks whether the number of presolving rounds is not exceeded and the presolving reductions found in the current
627 * @note if subsequent presolvers find more reductions, presolving might continue even if the method returns FALSE
628 * @note does not check whether infeasibility or unboundedness was already detected in presolving (which would result
644 SCIP_CALL_ABORT( SCIPcheckStage(scip, "SCIPisPresolveFinished", FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE) );
669 /* don't abort, if enough changes were applied to the coefficients (assume a 1% density of non-zero elements) */
676 /* since 2005, we do not take cliques and implications into account when deciding whether to stop presolving */
677 /* don't abort, if enough new implications or cliques were found (assume 100 implications per variable) */
702 SCIP_CALL_ABORT( SCIPcheckStage(scip, "SCIPhasPerformedPresolve", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE) );
728 SCIP_CALL_ABORT( SCIPcheckStage(scip, "SCIPisStopped", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE) );
743 SCIP_CALL( SCIPcheckStage(scip, "SCIPincludeExternalCodeInformation", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE) );
807 SCIPinfoMessage(scip, file, " %-20s %s\n", scip->set->extcodenames[i], scip->set->extcodedescs[i] != NULL ? scip->set->extcodedescs[i] : "");
SCIP_Bool SCIPsolveIsStopped(SCIP_SET *set, SCIP_STAT *stat, SCIP_Bool checknodelimits)
Definition: solve.c:102
default message handler
SCIP_RETCODE SCIPsyncstoreRelease(SCIP_SYNCSTORE **syncstore)
Definition: syncstore.c:89
methods to interpret (evaluate) an expression "fast"
Definition: struct_scip.h:69
Definition: type_stat.h:55
public methods for memory management
internal methods for clocks and timing issues
SCIP_RETCODE SCIPsetCreate(SCIP_SET **set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, SCIP *scip)
Definition: set.c:1183
char ** SCIPgetExternalCodeDescriptions(SCIP *scip)
Definition: scip_general.c:765
Definition: type_set.h:46
Definition: type_stat.h:64
interface methods for specific LP solvers
void SCIPprintExternalCodes(SCIP *scip, FILE *file)
Definition: scip_general.c:790
Definition: type_stat.h:52
SCIP_RETCODE SCIPinterruptCreate(SCIP_INTERRUPT **interrupt)
Definition: interrupt.c:91
void SCIPinfoMessage(SCIP *scip, FILE *file, const char *formatstr,...)
Definition: scip_message.c:208
Definition: type_stat.h:43
public methods for numerical tolerances
Definition: type_stat.h:44
public methods for querying solving statistics
int SCIPcliquetableGetNCliques(SCIP_CLIQUETABLE *cliquetable)
Definition: implics.c:3506
Definition: type_clock.h:43
git hash methods
Definition: type_stat.h:45
methods for block memory pools and memory buffers
void SCIPlapackVersion(int *majorver, int *minorver, int *patchver)
Definition: lapack_calls.c:181
Definition: type_stat.h:61
Definition: type_set.h:55
register additional core functionality that is designed as plugins
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)
Definition: debug.c:2208
SCIP_RETCODE SCIPdialoghdlrCreate(SCIP_SET *set, SCIP_DIALOGHDLR **dialoghdlr)
Definition: dialog.c:336
Definition: type_set.h:56
internal methods for NLP management
SCIP_RETCODE SCIPmessagehdlrRelease(SCIP_MESSAGEHDLR **messagehdlr)
Definition: message.c:348
Definition: type_set.h:52
Definition: type_retcode.h:42
Definition: type_set.h:57
Definition: type_stat.h:42
internal methods for global SCIP settings
SCIP main data structure.
interface methods for lapack functions
SCIP_RETCODE SCIPclockCreate(SCIP_CLOCK **clck, SCIP_CLOCKTYPE clocktype)
Definition: clock.c:170
methods for catching the user CTRL-C interrupt
the function declarations for the synchronization store
internal methods for user interface dialog
SCIP_RETCODE SCIPsetIncludeExternalCode(SCIP_SET *set, const char *name, const char *description)
Definition: set.c:5295
methods for debugging
Definition: type_set.h:49
SCIP_RETCODE SCIPincludeCorePlugins(SCIP *scip)
Definition: scipcoreplugins.c:36
datastructures for block memory pools and memory buffers
Definition: type_set.h:50
Definition: type_set.h:54
datastructures for problem statistics
Definition: type_set.h:51
SCIP_RETCODE SCIPsyncstoreCreate(SCIP_SYNCSTORE **syncstore)
Definition: syncstore.c:67
internal methods for return codes for SCIP methods
datastructures for storing and manipulating the main problem
Definition: type_set.h:48
Definition: type_set.h:45
Definition: type_stat.h:48
Definition: type_set.h:44
general public methods
SCIP_RETCODE SCIPcreateMessagehdlrDefault(SCIP_MESSAGEHDLR **messagehdlr, SCIP_Bool bufferedoutput, const char *filename, SCIP_Bool quiet)
Definition: message_default.c:82
Definition: type_stat.h:65
Definition: type_stat.h:53
Definition: type_stat.h:56
internal methods for main solving loop and node processing
public methods for message output
void SCIPmessageFPrintInfo(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *formatstr,...)
Definition: message.c:618
Definition: type_stat.h:54
datastructures for collecting primal CIP solutions and primal informations
public methods for message handling
Definition: type_set.h:53
build flags methods
SCIP_RETCODE SCIPincludeExternalCodeInformation(SCIP *scip, const char *name, const char *description)
Definition: scip_general.c:734
SCIP_Bool SCIPhasPerformedPresolve(SCIP *scip)
Definition: scip_general.c:695
SCIP_RETCODE SCIPdialoghdlrFree(SCIP *scip, SCIP_DIALOGHDLR **dialoghdlr)
Definition: dialog.c:367
Definition: type_retcode.h:52
Definition: objbenders.h:43
public methods for global and local (sub)problems
void SCIPprintBuildOptions(SCIP *scip, FILE *file)
Definition: scip_general.c:191
Definition: type_set.h:47
datastructures for global SCIP settings
Definition: type_stat.h:62
Definition: type_stat.h:57
Definition: type_stat.h:51
Definition: type_stat.h:60
Definition: type_stat.h:63
memory allocation routines