relax.c File Reference Detailed Descriptionmethods and datastructures for relaxation handlers Definition in file relax.c. #include <assert.h> #include <string.h> #include "scip/def.h" #include "scip/set.h" #include "scip/stat.h" #include "scip/clock.h" #include "scip/paramset.h" #include "scip/scip.h" #include "scip/relax.h" #include "scip/pub_message.h" #include "scip/pub_misc.h" #include "scip/struct_relax.h" Go to the source code of this file. Function Documentation
comparison method for sorting relaxators w.r.t. to their name Definition at line 48 of file relax.c. References SCIPrelaxGetName().
method to call, when the priority of a relaxation handler was changed Definition at line 55 of file relax.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPparamGetData(), SCIPparamGetInt(), and SCIPsetRelaxPriority().
copies the given relaxation handler to a new scip
Definition at line 69 of file relax.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, and SCIPrelaxGetName(). Referenced by SCIPsetCopyPlugins().
creates a relaxation handler
Definition at line 87 of file relax.c. References BMSallocMemory, BMSduplicateMemoryArray, FALSE, NULL, paramname, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPclockCreate(), SCIPsetAddIntParam(), and SCIPsnprintf(). Referenced by SCIPincludeRelax(), and SCIPincludeRelaxBasic().
calls destructor and frees memory of relaxation handler
Definition at line 149 of file relax.c. References BMSfreeMemory, BMSfreeMemoryArray, NULL, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().
initializes relaxation handler
Definition at line 175 of file relax.c. References SCIP_Relax::initialized, SCIP_Relax::lastsolvednode, SCIP_Relax::name, SCIP_Relax::ncalls, NULL, SCIP_Relax::relaxclock, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockReset(), SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIP_Relax::setuptime, and TRUE. Referenced by SCIPsetIncludeExternalCode().
calls exit method of relaxation handler
Definition at line 213 of file relax.c. References FALSE, SCIP_Relax::initialized, SCIP_Relax::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIP_Relax::setuptime. Referenced by SCIPsetInitPlugins().
informs relaxation handler that the branch and bound process is being started
Definition at line 243 of file relax.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Relax::setuptime. Referenced by SCIPsetExitprePlugins().
informs relaxation handler that the branch and bound process data is being freed
Definition at line 267 of file relax.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Relax::setuptime. Referenced by SCIPsetInitsolPlugins().
calls execution method of relaxation handler
Definition at line 291 of file relax.c. References SCIP_Relax::freq, SCIP_Relax::lastsolvednode, SCIP_Relax::name, SCIP_Relax::ncalls, SCIP_Stat::ntotalnodes, NULL, SCIP_Relax::relaxclock, SCIP_CALL, SCIP_CONSADDED, SCIP_CUTOFF, SCIP_DIDNOTRUN, SCIP_INVALIDRESULT, SCIP_OKAY, SCIP_REDUCEDDOM, SCIP_SEPARATED, SCIP_SUCCESS, SCIP_SUSPENDED, SCIPclockStart(), SCIPclockStop(), SCIPdebugMessage, SCIPerrorMessage, and SCIPrelaxMarkUnsolved(). Referenced by solveNodeRelax().
gets user data of relaxation handler
Definition at line 354 of file relax.c. References NULL, and SCIP_Relax::relaxdata. Referenced by SCIP_DECL_RELAXCOPY(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_RELAXEXIT(), SCIP_DECL_RELAXEXITSOL(), SCIP_DECL_RELAXFREE(), SCIP_DECL_RELAXINIT(), SCIP_DECL_RELAXINITSOL(), SCIPfindObjRelax(), and SCIPgetObjRelax().
sets user data of relaxation handler; user has to free old data in advance!
Definition at line 364 of file relax.c. References NULL, and SCIP_Relax::relaxdata. Referenced by SCIP_DECL_RELAXFREE().
set copy method of relaxation handler
Definition at line 375 of file relax.c. References NULL. Referenced by SCIPsetRelaxCopy().
set destructor of relaxation handler
Definition at line 386 of file relax.c. References NULL. Referenced by SCIPsetRelaxFree().
set initialization method of relaxation handler
Definition at line 397 of file relax.c. References NULL. Referenced by SCIPsetRelaxInit().
set deinitialization method of relaxation handler
Definition at line 408 of file relax.c. References NULL. Referenced by SCIPsetRelaxExit().
set solving process initialization method of relaxation handler
Definition at line 419 of file relax.c. References NULL. Referenced by SCIPsetRelaxInitsol().
set solving process deinitialization method of relaxation handler
Definition at line 430 of file relax.c. References NULL. Referenced by SCIPsetRelaxExitsol().
gets name of relaxation handler
Definition at line 441 of file relax.c. References SCIP_Relax::name, and NULL. Referenced by printRelaxatorStatistics(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_SORTPTRCOMP(), SCIPrelaxCopyInclude(), SCIPsetSortPresols(), and solveNodeRelax().
gets description of relaxation handler
Definition at line 451 of file relax.c. References SCIP_Relax::desc, and NULL. Referenced by SCIP_DECL_DIALOGEXEC().
gets priority of relaxation handler
Definition at line 461 of file relax.c. References NULL, and SCIP_Relax::priority. Referenced by SCIP_DECL_DIALOGEXEC(), and solveNodeRelax().
sets priority of relaxation handler
Definition at line 471 of file relax.c. References FALSE, NULL, and SCIP_Relax::priority. Referenced by SCIPsetRelaxPriority().
gets frequency of relaxation handler
Definition at line 485 of file relax.c. References SCIP_Relax::freq, and NULL. Referenced by SCIP_DECL_DIALOGEXEC().
gets time in seconds used in this relaxator for setting up for next stages
Definition at line 495 of file relax.c. References NULL, SCIPclockGetTime(), and SCIP_Relax::setuptime.
enables or disables all clocks of
Definition at line 505 of file relax.c. References NULL, SCIP_Relax::relaxclock, SCIPclockEnableOrDisable(), and SCIP_Relax::setuptime. Referenced by SCIPsetSetReoptimizationParams().
gets time in seconds used in this relaxation handler
Definition at line 517 of file relax.c. References NULL, SCIP_Relax::relaxclock, and SCIPclockGetTime(). Referenced by printRelaxatorStatistics().
gets the total number of times, the relaxation handler was called
Definition at line 527 of file relax.c. References SCIP_Relax::ncalls, and NULL. Referenced by printRelaxatorStatistics().
is relaxation handler initialized?
Definition at line 537 of file relax.c. References SCIP_Relax::initialized, and NULL. Referenced by SCIPsetFindPresol().
returns whether the relaxation was completely solved at the current node
Definition at line 547 of file relax.c. References SCIP_Relax::lastsolvednode, SCIP_Stat::ntotalnodes, and NULL. Referenced by updateLoopStatus().
marks the current relaxation unsolved, s.t. the relaxation handler is called again in the next solving round
Definition at line 559 of file relax.c. References SCIP_Relax::lastsolvednode, and NULL. Referenced by markRelaxsUnsolved(), and SCIPrelaxExec().
creates global relaxation data
Definition at line 573 of file relax.c. References BMSallocMemory, FALSE, NULL, SCIP_ALLOC, SCIP_OKAY, and TRUE. Referenced by SCIPtransformProb().
frees global relaxation data
Definition at line 587 of file relax.c. References BMSfreeMemory, NULL, and SCIP_OKAY. Referenced by freeTransform().
sets the relaxsolzero flag in the relaxation data to the given value
Definition at line 599 of file relax.c. References NULL, and SCIP_Relaxation::relaxsolzero. Referenced by SCIPclearRelaxSolVals(), SCIPsetRelaxSolVal(), SCIPsetRelaxSolVals(), and SCIPsetRelaxSolValsSol().
returns whether the global relaxation solution is cleared and all values are set to zero
Definition at line 610 of file relax.c. References NULL, and SCIP_Relaxation::relaxsolzero. Referenced by SCIPclearRelaxSolVals().
sets the relaxsolvalid flag in the relaxation data to the given value
Definition at line 620 of file relax.c. References NULL, and SCIP_Relaxation::relaxsolvalid. Referenced by markRelaxsUnsolved(), SCIPmarkRelaxSolInvalid(), SCIPmarkRelaxSolValid(), SCIPsetRelaxSolVal(), SCIPsetRelaxSolVals(), SCIPsetRelaxSolValsSol(), and solveNode().
returns whether the global relaxation solution is valid
Definition at line 631 of file relax.c. References NULL, and SCIP_Relaxation::relaxsolvalid. Referenced by SCIPcreateRelaxSol(), SCIPgetRelaxSolObj(), SCIPgetRelaxSolVal(), SCIPisRelaxSolValid(), SCIPlinkRelaxSol(), SCIPsolCreateRelaxSol(), and SCIPsolLinkRelaxSol().
sets the objective value of the global relaxation solution
Definition at line 641 of file relax.c. References NULL, and SCIP_Relaxation::relaxsolobjval. Referenced by SCIPclearRelaxSolVals(), and SCIPsetRelaxSolValsSol().
returns the objective value of the global relaxation solution w.r.t. the transformed problem
Definition at line 652 of file relax.c. References NULL, and SCIP_Relaxation::relaxsolobjval. Referenced by SCIPgetRelaxSolObj(), and SCIPsolLinkRelaxSol().
adds the given value to the global relaxation solution's objective value
Definition at line 662 of file relax.c. References NULL, and SCIP_Relaxation::relaxsolobjval. Referenced by SCIPvarSetRelaxSol(). |