scip_general.c
Go to the documentation of this file.
34 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
159 SCIPmessageFPrintInfo(scip->messagehdlr, file, " [precision: %d byte]", (int)sizeof(SCIP_Real));
193 SCIPmessageFPrintInfo(scip->messagehdlr, file, "clang %d.%d.%d\n", __clang_major__, __clang_minor__, __clang_patchlevel__);
198 SCIPmessageFPrintInfo(scip->messagehdlr, file, "gcc %d.%d.%d\n", __GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__);
256 SCIP_CALL( SCIPsetIncludeExternalCode((*scip)->set, SCIPlpiGetSolverName(), SCIPlpiGetSolverDesc()) );
260 SCIP_CALL( SCIPsetIncludeExternalCode((*scip)->set, SCIPexprintGetName(), SCIPexprintGetDesc()) );
264 SCIP_CALL( SCIPsetIncludeExternalCode((*scip)->set, "ZLIB " ZLIB_VERSION, "General purpose compression library by J. Gailly and M. Adler (zlib.net)") );
272 * @note The SCIP default message handler is installed. Use the method SCIPsetMessagehdlr() to install your own
273 * message handler or SCIPsetMessagehdlrLogfile() and SCIPsetMessagehdlrQuiet() to write into a log
276 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
296 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
323 SCIP_CALL( SCIPcheckStage(*scip, "SCIPfree", TRUE, TRUE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE) );
370 * @note If limits have been changed between the solution and the call to this function, the status is recomputed and
373 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
383 SCIP_CALL( SCIPcheckStage(scip, "SCIPprintStage", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE) );
443 /* We output that the objective limit has been reached if no solution respecting the objective limit has been
444 * found (nlimsolsfound == 0) and the primal bound is finite. Note that it still might be that the original
445 * problem is infeasible, even without the objective limit, i.e., we cannot be sure that we actually reached the
447 if( scip->primal->nlimsolsfound == 0 && !SCIPisInfinity(scip, (SCIP_Real)SCIPgetObjsense(scip) * SCIPgetPrimalbound(scip)) )
478 SCIP_CALL_ABORT( SCIPcheckStage(scip, "SCIPgetStatus", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE) );
492 * @return \ref SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See \ref
502 SCIP_CALL( SCIPcheckStage(scip, "SCIPprintStatus", TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE) );
591 /** returns whether the presolving process would be finished given no more presolving reductions are found in this
594 * Checks whether the number of presolving rounds is not exceeded and the presolving reductions found in the current
597 * @note if subsequent presolvers find more reductions, presolving might continue even if the method returns FALSE
598 * @note does not check whether infeasibility or unboundedness was already detected in presolving (which would result
614 SCIP_CALL_ABORT( SCIPcheckStage(scip, "SCIPisPresolveFinished", FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE) );
639 /* don't abort, if enough changes were applied to the coefficients (assume a 1% density of non-zero elements) */
646 /* since 2005, we do not take cliques and implications into account when deciding whether to stop presolving */
647 /* don't abort, if enough new implications or cliques were found (assume 100 implications per variable) */
672 SCIP_CALL_ABORT( SCIPcheckStage(scip, "SCIPhasPerformedPresolve", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE) );
698 SCIP_CALL_ABORT( SCIPcheckStage(scip, "SCIPisStopped", FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, FALSE) );
713 SCIP_CALL( SCIPcheckStage(scip, "SCIPincludeExternalCodeInformation", TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE) );
777 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:93
default message handler
SCIP_RETCODE SCIPsyncstoreRelease(SCIP_SYNCSTORE **syncstore)
Definition: syncstore.c:78
methods to interpret (evaluate) an expression "fast"
Definition: struct_scip.h:59
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:1170
char ** SCIPgetExternalCodeDescriptions(SCIP *scip)
Definition: scip_general.c:735
Definition: type_set.h:37
Definition: type_stat.h:55
interface methods for specific LP solvers
void SCIPprintExternalCodes(SCIP *scip, FILE *file)
Definition: scip_general.c:760
Definition: type_stat.h:43
SCIP_RETCODE SCIPinterruptCreate(SCIP_INTERRUPT **interrupt)
Definition: interrupt.c:82
void SCIPinfoMessage(SCIP *scip, FILE *file, const char *formatstr,...)
Definition: scip_message.c:199
Definition: type_stat.h:34
public methods for numerical tolerances
Definition: type_stat.h:35
public methods for querying solving statistics
int SCIPcliquetableGetNCliques(SCIP_CLIQUETABLE *cliquetable)
Definition: implics.c:3494
Definition: type_clock.h:34
git hash methods
Definition: type_stat.h:36
methods for block memory pools and memory buffers
Definition: type_stat.h:52
Definition: type_set.h:46
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:2177
SCIP_RETCODE SCIPdialoghdlrCreate(SCIP_SET *set, SCIP_DIALOGHDLR **dialoghdlr)
Definition: dialog.c:327
Definition: type_set.h:47
internal methods for NLP management
SCIP_RETCODE SCIPmessagehdlrRelease(SCIP_MESSAGEHDLR **messagehdlr)
Definition: message.c:339
Definition: type_set.h:43
Definition: type_retcode.h:33
Definition: type_set.h:48
Definition: type_stat.h:33
internal methods for global SCIP settings
SCIP main data structure.
SCIP_RETCODE SCIPclockCreate(SCIP_CLOCK **clck, SCIP_CLOCKTYPE clocktype)
Definition: clock.c:161
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:5234
methods for debugging
Definition: type_set.h:40
SCIP_RETCODE SCIPincludeCorePlugins(SCIP *scip)
Definition: scipcoreplugins.c:27
datastructures for block memory pools and memory buffers
Definition: type_set.h:41
Definition: type_set.h:45
datastructures for problem statistics
Definition: type_set.h:42
SCIP_RETCODE SCIPsyncstoreCreate(SCIP_SYNCSTORE **syncstore)
Definition: syncstore.c:57
internal methods for return codes for SCIP methods
datastructures for storing and manipulating the main problem
Definition: type_set.h:39
Definition: type_set.h:36
Definition: type_stat.h:39
Definition: type_set.h:35
general public methods
SCIP_RETCODE SCIPcreateMessagehdlrDefault(SCIP_MESSAGEHDLR **messagehdlr, SCIP_Bool bufferedoutput, const char *filename, SCIP_Bool quiet)
Definition: message_default.c:73
Definition: type_stat.h:56
Definition: type_stat.h:44
Definition: type_stat.h:45
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:609
datastructures for collecting primal CIP solutions and primal informations
public methods for message handling
Definition: type_set.h:44
build flags methods
SCIP_RETCODE SCIPincludeExternalCodeInformation(SCIP *scip, const char *name, const char *description)
Definition: scip_general.c:704
SCIP_Bool SCIPhasPerformedPresolve(SCIP *scip)
Definition: scip_general.c:665
SCIP_RETCODE SCIPdialoghdlrFree(SCIP *scip, SCIP_DIALOGHDLR **dialoghdlr)
Definition: dialog.c:358
Definition: type_retcode.h:43
Definition: objbenders.h:33
public methods for global and local (sub)problems
void SCIPprintBuildOptions(SCIP *scip, FILE *file)
Definition: scip_general.c:181
Definition: type_set.h:38
datastructures for global SCIP settings
Definition: type_stat.h:53
Definition: type_stat.h:48
Definition: type_stat.h:42
Definition: type_stat.h:51
Definition: type_stat.h:54
memory allocation routines