public functions for relaxation handlers
| SCIP_DECL_SORTPTRCOMP | ( | SCIPrelaxComp | ) |
compares two relaxation handlers w. r. to their priority
Definition at line 56 of file relax.c.
References SCIP_DECL_SORTPTRCOMP.
| SCIP_DECL_SORTPTRCOMP | ( | SCIPrelaxCompName | ) |
comparison method for sorting relaxators w.r.t. to their name
Definition at line 62 of file relax.c.
References SCIP_DECL_SORTPTRCOMP, and SCIPrelaxGetName().
| SCIP_RELAXDATA * SCIPrelaxGetData | ( | SCIP_RELAX * | relax | ) |
gets user data of relaxation handler
| relax | relaxation handler |
Definition at line 460 of file relax.c.
References assert(), NULL, SCIP_Relax::relaxdata, and SCIPrelaxGetData().
Referenced by applyDecomposition(), freeBendersSubproblems(), freeDecomposition(), masterSolutionExists(), SCIP_DECL_RELAXCOPY(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_RELAXEXIT(), SCIP_DECL_RELAXEXITSOL(), SCIP_DECL_RELAXFREE(), SCIP_DECL_RELAXFREE(), SCIP_DECL_RELAXINIT(), SCIP_DECL_RELAXINITSOL(), SCIPfindObjRelax(), SCIPgetMasterProblemRelaxBenders(), SCIPgetObjRelax(), SCIPrelaxGetData(), setSolutionValues(), and solveBendersSubproblems().
| void SCIPrelaxSetData | ( | SCIP_RELAX * | relax, |
| SCIP_RELAXDATA * | relaxdata ) |
sets user data of relaxation handler; user has to free old data in advance!
| relax | relaxation handler |
| relaxdata | new relaxation handler user data |
Definition at line 470 of file relax.c.
References assert(), NULL, SCIP_Relax::relaxdata, and SCIPrelaxSetData().
Referenced by SCIP_DECL_RELAXFREE(), and SCIPrelaxSetData().
| void SCIPrelaxMarkExact | ( | SCIP_RELAX * | relax | ) |
marks the relaxator as safe to use in exact solving mode
| relax | relaxation handler |
Definition at line 547 of file relax.c.
References assert(), SCIP_Relax::exact, NULL, SCIPrelaxMarkExact(), and TRUE.
Referenced by SCIPrelaxMarkExact().
| const char * SCIPrelaxGetName | ( | SCIP_RELAX * | relax | ) |
gets name of relaxation handler
| relax | relaxation handler |
Definition at line 557 of file relax.c.
References assert(), SCIP_Relax::name, NULL, and SCIPrelaxGetName().
Referenced by SCIP_DECL_DIALOGEXEC(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_SORTPTRCOMP(), SCIPcollectRelaxatorStatistics(), SCIPprintRelaxatorStatistics(), SCIPrelaxCopyInclude(), SCIPrelaxGetName(), SCIPsolveProbingRelax(), and solveNodeRelax().
| const char * SCIPrelaxGetDesc | ( | SCIP_RELAX * | relax | ) |
gets description of relaxation handler
| relax | relaxation handler |
Definition at line 567 of file relax.c.
References assert(), SCIP_Relax::desc, NULL, and SCIPrelaxGetDesc().
Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPrelaxGetDesc().
| int SCIPrelaxGetPriority | ( | SCIP_RELAX * | relax | ) |
gets priority of relaxation handler
| relax | relaxation handler |
Definition at line 577 of file relax.c.
References assert(), NULL, SCIP_Relax::priority, and SCIPrelaxGetPriority().
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPrelaxGetPriority(), and solveNodeRelax().
| int SCIPrelaxGetFreq | ( | SCIP_RELAX * | relax | ) |
gets frequency of relaxation handler
| relax | relaxation handler |
Definition at line 601 of file relax.c.
References assert(), SCIP_Relax::freq, NULL, and SCIPrelaxGetFreq().
Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPrelaxGetFreq().
| SCIP_Real SCIPrelaxGetSetupTime | ( | SCIP_RELAX * | relax | ) |
gets time in seconds used in this relaxator for setting up for next stages
| relax | relaxator |
Definition at line 611 of file relax.c.
References assert(), NULL, SCIP_Real, SCIPclockGetTime(), SCIPrelaxGetSetupTime(), and SCIP_Relax::setuptime.
Referenced by SCIPrelaxGetSetupTime().
| SCIP_Real SCIPrelaxGetTime | ( | SCIP_RELAX * | relax | ) |
gets time in seconds used in this relaxation handler
| relax | relaxation handler |
Definition at line 633 of file relax.c.
References assert(), NULL, SCIP_Relax::relaxclock, SCIP_Real, SCIPclockGetTime(), and SCIPrelaxGetTime().
Referenced by SCIPcollectRelaxatorStatistics(), SCIPprintRelaxatorStatistics(), and SCIPrelaxGetTime().
| SCIP_Longint SCIPrelaxGetNCalls | ( | SCIP_RELAX * | relax | ) |
gets the total number of times the relaxation handler was called
| relax | relaxation handler |
Definition at line 643 of file relax.c.
References assert(), SCIP_Relax::ncalls, NULL, SCIP_Longint, and SCIPrelaxGetNCalls().
Referenced by SCIPcollectRelaxatorStatistics(), SCIPprintRelaxatorStatistics(), and SCIPrelaxGetNCalls().
| SCIP_Longint SCIPrelaxGetNCutoffs | ( | SCIP_RELAX * | relax | ) |
gets the total number of times the relaxation handler cut off a node
| relax | relaxation handler |
Definition at line 653 of file relax.c.
References assert(), SCIP_Relax::ncutoffs, NULL, SCIP_Longint, and SCIPrelaxGetNCutoffs().
Referenced by SCIPcollectRelaxatorStatistics(), SCIPprintRelaxatorStatistics(), and SCIPrelaxGetNCutoffs().
| SCIP_Longint SCIPrelaxGetNImprovedLowerbound | ( | SCIP_RELAX * | relax | ) |
gets the total number of times the relaxation handler improved a node's lower bound
| relax | relaxation handler |
Definition at line 663 of file relax.c.
References assert(), SCIP_Relax::nimprbounds, NULL, SCIP_Longint, and SCIPrelaxGetNImprovedLowerbound().
Referenced by SCIPcollectRelaxatorStatistics(), SCIPprintRelaxatorStatistics(), and SCIPrelaxGetNImprovedLowerbound().
| SCIP_Real SCIPrelaxGetImprovedLowerboundTime | ( | SCIP_RELAX * | relax | ) |
gets the time in seconds spent for the execution of the relaxation handler when a node's lower bound could be improved (or a cutoff was found)
| relax | relaxation handler |
Definition at line 683 of file relax.c.
References assert(), SCIP_Relax::imprtime, NULL, SCIP_Real, and SCIPrelaxGetImprovedLowerboundTime().
Referenced by SCIPcollectRelaxatorStatistics(), SCIPprintRelaxatorStatistics(), and SCIPrelaxGetImprovedLowerboundTime().
| SCIP_Longint SCIPrelaxGetNAddedConss | ( | SCIP_RELAX * | relax | ) |
gets the total number of times the relaxation handler added constraints
| relax | relaxation handler |
Definition at line 673 of file relax.c.
References assert(), SCIP_Relax::naddedconss, NULL, SCIP_Longint, and SCIPrelaxGetNAddedConss().
Referenced by SCIPcollectRelaxatorStatistics(), SCIPprintRelaxatorStatistics(), and SCIPrelaxGetNAddedConss().
| SCIP_Longint SCIPrelaxGetNReducedDomains | ( | SCIP_RELAX * | relax | ) |
gets the total number of times the relaxation handler reduced variable domains
| relax | relaxation handler |
Definition at line 693 of file relax.c.
References assert(), SCIP_Relax::nreduceddom, NULL, SCIP_Longint, and SCIPrelaxGetNReducedDomains().
Referenced by SCIPcollectRelaxatorStatistics(), SCIPprintRelaxatorStatistics(), and SCIPrelaxGetNReducedDomains().
| SCIP_Longint SCIPrelaxGetNSeparatedCuts | ( | SCIP_RELAX * | relax | ) |
gets the total number of times the relaxation handler separated cutting planes
| relax | relaxation handler |
Definition at line 703 of file relax.c.
References assert(), SCIP_Relax::nseparated, NULL, SCIP_Longint, and SCIPrelaxGetNSeparatedCuts().
Referenced by SCIPcollectRelaxatorStatistics(), SCIPprintRelaxatorStatistics(), and SCIPrelaxGetNSeparatedCuts().
| SCIP_Bool SCIPrelaxIsInitialized | ( | SCIP_RELAX * | relax | ) |
is relaxation handler initialized?
| relax | relaxation handler |
Definition at line 713 of file relax.c.
References assert(), SCIP_Relax::initialized, NULL, SCIP_Bool, and SCIPrelaxIsInitialized().
Referenced by SCIPrelaxIsInitialized().
| void SCIPrelaxMarkUnsolved | ( | SCIP_RELAX * | relax | ) |
marks the current relaxation unsolved, s.t. the relaxation handler is called again in the next solving round
| relax | relaxation handler |
Definition at line 735 of file relax.c.
References assert(), SCIP_Relax::lastsolvednode, NULL, and SCIPrelaxMarkUnsolved().
Referenced by markRelaxsUnsolved(), SCIPrelaxExec(), and SCIPrelaxMarkUnsolved().
| SCIP_RETCODE SCIPincludeRelax | ( | SCIP * | scip, |
| const char * | name, | ||
| const char * | desc, | ||
| int | priority, | ||
| int | freq, | ||
| SCIP_DECL_RELAXCOPY((*relaxcopy)) | , | ||
| SCIP_DECL_RELAXFREE((*relaxfree)) | , | ||
| SCIP_DECL_RELAXINIT((*relaxinit)) | , | ||
| SCIP_DECL_RELAXEXIT((*relaxexit)) | , | ||
| SCIP_DECL_RELAXINITSOL((*relaxinitsol)) | , | ||
| SCIP_DECL_RELAXEXITSOL((*relaxexitsol)) | , | ||
| SCIP_DECL_RELAXEXEC((*relaxexec)) | , | ||
| SCIP_RELAXDATA * | relaxdata ) |
creates a relaxation handler and includes it in SCIP
| scip | SCIP data structure |
| name | name of relaxation handler |
| desc | description of relaxation handler |
| priority | priority of the relaxation handler (negative: after LP, non-negative: before LP) |
| freq | frequency for calling relaxation handler |
| - | copy method of relaxation handler or NULL if you don't want to copy your plugin into sub-SCIPs |
| - | destructor of relaxation handler |
| - | initialize relaxation handler |
| - | deinitialize relaxation handler |
| - | solving process initialization method of relaxation handler |
| - | solving process deinitialization method of relaxation handler |
| - | execution method of relaxation handler |
| relaxdata | relaxation handler data |
Definition at line 61 of file scip_relax.c.
References FALSE, NULL, SCIP_CALL, SCIP_DECL_RELAXCOPY, SCIP_DECL_RELAXEXEC, SCIP_DECL_RELAXEXIT, SCIP_DECL_RELAXEXITSOL, SCIP_DECL_RELAXFREE, SCIP_DECL_RELAXINIT, SCIP_DECL_RELAXINITSOL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPfindRelax(), SCIPincludeRelax(), SCIPrelaxCreate(), SCIPsetIncludeRelax(), and TRUE.
Referenced by SCIPincludeObjRelax(), SCIPincludeRelax(), and SCIPincludeRelaxBenders().
| SCIP_RETCODE SCIPincludeRelaxBasic | ( | SCIP * | scip, |
| SCIP_RELAX ** | relaxptr, | ||
| const char * | name, | ||
| const char * | desc, | ||
| int | priority, | ||
| int | freq, | ||
| SCIP_DECL_RELAXEXEC((*relaxexec)) | , | ||
| SCIP_RELAXDATA * | relaxdata ) |
creates a relaxation handler and includes it in SCIP. All non fundamental (or optional) callbacks as, e.g., init and exit callbacks, will be set to NULL. Optional callbacks can be set via specific setter functions, see SCIPsetRelaxInit(), SCIPsetRelaxExit(), SCIPsetRelaxCopy(), SCIPsetRelaxFree(), SCIPsetRelaxInitsol(), and SCIPsetRelaxExitsol()
creates a relaxation handler and includes it in SCIP. All non fundamental (or optional) callbacks as, e.g., init and exit callbacks, will be set to NULL. Optional callbacks can be set via specific setter functions, see SCIPsetRelaxInit(), SCIPsetRelaxExit(), SCIPsetRelaxCopy(), SCIPsetRelaxFree(), SCIPsetRelaxInitsol(), and SCIPsetRelaxExitsol()
| scip | SCIP data structure |
| relaxptr | reference to relaxation pointer, or NULL |
| name | name of relaxation handler |
| desc | description of relaxation handler |
| priority | priority of the relaxation handler (negative: after LP, non-negative: before LP) |
| freq | frequency for calling relaxation handler |
| - | execution method of relaxation handler |
| relaxdata | relaxation handler data |
Definition at line 106 of file scip_relax.c.
References FALSE, NULL, SCIP_CALL, SCIP_DECL_RELAXEXEC, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPfindRelax(), SCIPincludeRelaxBasic(), SCIPrelaxCreate(), SCIPsetIncludeRelax(), and TRUE.
Referenced by SCIPincludeRelaxBasic(), SCIPincludeRelaxLp(), and SCIPincludeRelaxNlp().
| SCIP_RETCODE SCIPsetRelaxCopy | ( | SCIP * | scip, |
| SCIP_RELAX * | relax ) |
sets copy method of relaxation handler
| scip | SCIP data structure |
| relax | relaxation handler copy method of relaxation handler or NULL if you don't want to copy your plugin into sub-SCIPs |
Definition at line 140 of file scip_relax.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_RELAXCOPY, SCIP_OKAY, SCIPcheckStage, SCIPrelaxSetCopy(), SCIPsetRelaxCopy(), and TRUE.
Referenced by SCIPsetRelaxCopy().
| SCIP_RETCODE SCIPsetRelaxFree | ( | SCIP * | scip, |
| SCIP_RELAX * | relax ) |
sets destructor method of relaxation handler
| scip | SCIP data structure |
| relax | relaxation handler destructor of relaxation handler |
Definition at line 156 of file scip_relax.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_RELAXFREE, SCIP_OKAY, SCIPcheckStage, SCIPrelaxSetFree(), SCIPsetRelaxFree(), and TRUE.
Referenced by SCIPsetRelaxFree().
| SCIP_RETCODE SCIPsetRelaxInit | ( | SCIP * | scip, |
| SCIP_RELAX * | relax ) |
sets initialization method of relaxation handler
| scip | SCIP data structure |
| relax | relaxation handler initialize relaxation handler |
Definition at line 172 of file scip_relax.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_RELAXINIT, SCIP_OKAY, SCIPcheckStage, SCIPrelaxSetInit(), SCIPsetRelaxInit(), and TRUE.
Referenced by SCIPsetRelaxInit().
| SCIP_RETCODE SCIPsetRelaxExit | ( | SCIP * | scip, |
| SCIP_RELAX * | relax ) |
sets deinitialization method of relaxation handler
| scip | SCIP data structure |
| relax | relaxation handler deinitialize relaxation handler |
Definition at line 188 of file scip_relax.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_RELAXEXIT, SCIP_OKAY, SCIPcheckStage, SCIPrelaxSetExit(), SCIPsetRelaxExit(), and TRUE.
Referenced by SCIPsetRelaxExit().
| SCIP_RETCODE SCIPsetRelaxInitsol | ( | SCIP * | scip, |
| SCIP_RELAX * | relax ) |
sets solving process initialization method of relaxation handler
| scip | SCIP data structure |
| relax | relaxation handler solving process initialization method of relaxation handler |
Definition at line 204 of file scip_relax.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_RELAXINITSOL, SCIP_OKAY, SCIPcheckStage, SCIPrelaxSetInitsol(), SCIPsetRelaxInitsol(), and TRUE.
Referenced by SCIPincludeRelaxNlp(), and SCIPsetRelaxInitsol().
| SCIP_RETCODE SCIPsetRelaxExitsol | ( | SCIP * | scip, |
| SCIP_RELAX * | relax ) |
sets solving process deinitialization method of relaxation handler
| scip | SCIP data structure |
| relax | relaxation handler solving process deinitialization method of relaxation handler |
Definition at line 220 of file scip_relax.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_DECL_RELAXEXITSOL, SCIP_OKAY, SCIPcheckStage, SCIPrelaxSetExitsol(), SCIPsetRelaxExitsol(), and TRUE.
Referenced by SCIPincludeRelaxNlp(), and SCIPsetRelaxExitsol().
| SCIP_RELAX * SCIPfindRelax | ( | SCIP * | scip, |
| const char * | name ) |
returns the relaxation handler of the given name, or NULL if not existing
| scip | SCIP data structure |
| name | name of relaxation handler |
Definition at line 237 of file scip_relax.c.
References assert(), NULL, SCIPfindRelax(), and SCIPsetFindRelax().
Referenced by SCIPfindObjRelax(), SCIPfindRelax(), SCIPgetMasterProblemRelaxBenders(), SCIPincludeRelax(), and SCIPincludeRelaxBasic().
| SCIP_RELAX ** SCIPgetRelaxs | ( | SCIP * | scip | ) |
returns the array of currently available relaxation handlers
| scip | SCIP data structure |
Definition at line 250 of file scip_relax.c.
References assert(), NULL, SCIPgetRelaxs(), and SCIPsetSortRelaxs().
Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPgetRelaxs().
| int SCIPgetNRelaxs | ( | SCIP * | scip | ) |
returns the number of currently available relaxation handlers
| scip | SCIP data structure |
Definition at line 263 of file scip_relax.c.
References assert(), NULL, and SCIPgetNRelaxs().
Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPgetNRelaxs().
| SCIP_RETCODE SCIPsetRelaxPriority | ( | SCIP * | scip, |
| SCIP_RELAX * | relax, | ||
| int | priority ) |
sets the priority of a relaxation handler
| scip | SCIP data structure |
| relax | relaxation handler |
| priority | new priority of the relaxation handler |
Definition at line 274 of file scip_relax.c.
References assert(), NULL, SCIP_OKAY, SCIPrelaxSetPriority(), and SCIPsetRelaxPriority().
Referenced by SCIP_DECL_PARAMCHGD(), and SCIPsetRelaxPriority().