functions for nonlinearity handlers of nonlinear constraint handler
Definition in file nlhdlr.c.
#include <assert.h>#include <string.h>#include "scip/pub_nlhdlr.h"#include "scip/nlhdlr.h"#include "scip/struct_nlhdlr.h"#include "scip/scip_datatree.h"#include "scip/scip_timing.h"#include "scip/scip_mem.h"#include "scip/scip_param.h"#include "scip/scip_message.h"#include "scip/pub_message.h"#include "scip/pub_misc.h"Go to the source code of this file.
| SCIP_RETCODE SCIPnlhdlrCreate | ( | SCIP * | scip, |
| SCIP_NLHDLR ** | nlhdlr, | ||
| const char * | name, | ||
| const char * | desc, | ||
| int | detectpriority, | ||
| int | enfopriority, | ||
| SCIP_DECL_NLHDLRDETECT((*detect)) | , | ||
| SCIP_DECL_NLHDLREVALAUX((*evalaux)) | , | ||
| SCIP_NLHDLRDATA * | nlhdlrdata ) |
creates a nonlinear handler
| scip | SCIP data structure |
| nlhdlr | buffer to store pointer to created nonlinear handler |
| name | name of nonlinear handler (must not be NULL) |
| desc | description of nonlinear handler (can be NULL) |
| detectpriority | detection priority of nonlinear handler |
| enfopriority | enforcement priority of nonlinear handler |
| nlhdlrdata | data of nonlinear handler (can be NULL) |
Definition at line 354 of file nlhdlr.c.
References assert(), FALSE, NULL, paramname, SCIP_CALL, SCIP_CALL_FINALLY, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPaddBoolParam(), SCIPallocClearBlockMemory, SCIPcreateClock(), SCIPduplicateMemoryArray, SCIPfreeMemoryArray, SCIPsnprintf(), and TRUE.
Referenced by SCIPincludeNlhdlrNonlinear().
| SCIP_RETCODE SCIPnlhdlrFree | ( | SCIP * | scip, |
| SCIP_NLHDLR ** | nlhdlr ) |
frees a nonlinear handler
| scip | SCIP data structure |
| nlhdlr | pointer to nonlinear handler to be freed |
Definition at line 402 of file nlhdlr.c.
References assert(), SCIP_Nlhdlr::data, NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPfreeClock(), SCIPfreeMemory, and SCIPfreeMemoryNull.
Referenced by SCIP_DECL_CONSFREE().
| SCIP_DECL_NLHDLRCOPYHDLR | ( | SCIPnlhdlrCopyhdlr | ) |
| SCIP_DECL_NLHDLRFREEEXPRDATA | ( | SCIPnlhdlrFreeexprdata | ) |
| SCIP_DECL_NLHDLRINIT | ( | SCIPnlhdlrInit | ) |
call the initialization callback of a nonlinear handler
Definition at line 458 of file nlhdlr.c.
References assert(), SCIP_Nlhdlr::detecttime, SCIP_Nlhdlr::enfotime, SCIP_Nlhdlr::intevaltime, SCIP_Nlhdlr::nbranchscores, SCIP_Nlhdlr::ncutoffs, SCIP_Nlhdlr::ndetections, SCIP_Nlhdlr::ndetectionslast, SCIP_Nlhdlr::ndomreds, SCIP_Nlhdlr::nenfocalls, SCIP_Nlhdlr::nintevalcalls, SCIP_Nlhdlr::npropcalls, SCIP_Nlhdlr::nseparated, NULL, SCIP_Nlhdlr::proptime, SCIP_CALL, SCIP_OKAY, and SCIPresetClock().
| SCIP_DECL_NLHDLREXIT | ( | SCIPnlhdlrExit | ) |
| SCIP_DECL_NLHDLRDETECT | ( | SCIPnlhdlrDetect | ) |
call the detect callback of a nonlinear handler
Definition at line 499 of file nlhdlr.c.
References assert(), SCIP_Nlhdlr::detecttime, SCIP_Nlhdlr::ndetections, SCIP_Nlhdlr::ndetectionslast, NULL, SCIP_CALL, SCIP_NLHDLR_METHOD_NONE, SCIP_OKAY, SCIPstartClock(), and SCIPstopClock().
| SCIP_DECL_NLHDLREVALAUX | ( | SCIPnlhdlrEvalaux | ) |
| SCIP_DECL_NLHDLRINTEVAL | ( | SCIPnlhdlrInteval | ) |
call the interval evaluation callback of a nonlinear handler
Definition at line 532 of file nlhdlr.c.
References assert(), SCIP_Nlhdlr::intevaltime, SCIP_Nlhdlr::nintevalcalls, NULL, SCIP_CALL, SCIP_OKAY, SCIPstartClock(), and SCIPstopClock().
| SCIP_DECL_NLHDLRREVERSEPROP | ( | SCIPnlhdlrReverseprop | ) |
call the reverse propagation callback of a nonlinear handler
Definition at line 551 of file nlhdlr.c.
References assert(), FALSE, SCIP_Nlhdlr::ncutoffs, SCIP_Nlhdlr::ndomreds, SCIP_Nlhdlr::npropcalls, NULL, SCIP_Nlhdlr::proptime, SCIP_CALL, SCIP_OKAY, SCIPstartClock(), and SCIPstopClock().
| SCIP_DECL_NLHDLRINITSEPA | ( | SCIPnlhdlrInitsepa | ) |
call the separation initialization callback of a nonlinear handler
Definition at line 581 of file nlhdlr.c.
References assert(), SCIP_Nlhdlr::enfotime, FALSE, SCIP_Nlhdlr::ncutoffs, SCIP_Nlhdlr::nenfocalls, NULL, SCIP_CALL, SCIP_OKAY, SCIPstartClock(), and SCIPstopClock().
| SCIP_DECL_NLHDLREXITSEPA | ( | SCIPnlhdlrExitsepa | ) |
call the separation deinitialization callback of a nonlinear handler
Definition at line 606 of file nlhdlr.c.
References assert(), SCIP_Nlhdlr::enfotime, NULL, SCIP_CALL, SCIP_OKAY, SCIPstartClock(), and SCIPstopClock().
| SCIP_DECL_NLHDLRENFO | ( | SCIPnlhdlrEnfo | ) |
call the enforcement callback of a nonlinear handler
Definition at line 623 of file nlhdlr.c.
References assert(), SCIP_Nlhdlr::enfotime, SCIP_Nlhdlr::nbranchscores, SCIP_Nlhdlr::ncutoffs, SCIP_Nlhdlr::ndomreds, SCIP_Nlhdlr::nenfocalls, SCIP_Nlhdlr::nseparated, NULL, result, SCIP_BRANCHED, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIP_SEPARATED, SCIPstartClock(), SCIPstopClock(), and sol.
| SCIP_DECL_NLHDLRESTIMATE | ( | SCIPnlhdlrEstimate | ) |
call the estimator callback of a nonlinear handler
Definition at line 676 of file nlhdlr.c.
References assert(), SCIP_Nlhdlr::enfotime, FALSE, SCIP_Nlhdlr::nenfocalls, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPstartClock(), SCIPstopClock(), and sol.
| SCIP_DECL_NLHDLRSOLLINEARIZE | ( | SCIPnlhdlrSollinearize | ) |
| void SCIPnlhdlrResetNDetectionslast | ( | SCIP_NLHDLR * | nlhdlr | ) |
reset number of detections counter for last round
| nlhdlr | nonlinear handler |
Definition at line 726 of file nlhdlr.c.
References assert(), SCIP_Nlhdlr::ndetectionslast, and NULL.
| void SCIPnlhdlrIncrementNCutoffs | ( | SCIP_NLHDLR * | nlhdlr | ) |
increments number of cutoffs in statistics
| nlhdlr | nonlinear handler |
Definition at line 735 of file nlhdlr.c.
References assert(), SCIP_Nlhdlr::ncutoffs, and NULL.
| void SCIPnlhdlrIncrementNSeparated | ( | SCIP_NLHDLR * | nlhdlr | ) |
increments number of separations in statistics
| nlhdlr | nonlinear handler |
Definition at line 744 of file nlhdlr.c.
References assert(), SCIP_Nlhdlr::nseparated, and NULL.
| void SCIPnlhdlrPrintStatistics | ( | SCIP * | scip, |
| SCIP_NLHDLR ** | nlhdlrs, | ||
| int | nnlhdlrs, | ||
| FILE * | file ) |
print statistics for nonlinear handlers
| scip | SCIP data structure |
| nlhdlrs | nonlinear handlers |
| nnlhdlrs | number of nonlinear handlers |
| file | file handle, or NULL for standard out |
Definition at line 753 of file nlhdlr.c.
References i, SCIPgetClockTime(), and SCIPinfoMessage().
Referenced by SCIP_DECL_TABLEOUTPUT().
| SCIP_RETCODE SCIPnlhdlrCollectStatistics | ( | SCIP * | scip, |
| SCIP_NLHDLR ** | nlhdlrs, | ||
| int | nnlhdlrs, | ||
| SCIP_DATATREE * | datatree ) |
collect statistics for nonlinear handlers
| scip | SCIP data structure |
| nlhdlrs | nonlinear handlers |
| nnlhdlrs | number of nonlinear handlers |
| datatree | datatree where to add statistics |
Definition at line 797 of file nlhdlr.c.
References i, SCIP_CALL, SCIP_OKAY, SCIPcreateDatatreeInTree(), SCIPgetClockTime(), SCIPinsertDatatreeLong(), SCIPinsertDatatreeReal(), and SCIPinsertDatatreeString().
Referenced by SCIP_DECL_TABLECOLLECT().