Scippy

SCIP

Solving Constraint Integer Programs

Detailed Description

methods for timing

Functions

SCIP_Real SCIPgetTimeOfDay (SCIP *scip)
 
SCIP_RETCODE SCIPcreateClock (SCIP *scip, SCIP_CLOCK **clck)
 
SCIP_RETCODE SCIPcreateCPUClock (SCIP *scip, SCIP_CLOCK **clck)
 
SCIP_RETCODE SCIPcreateWallClock (SCIP *scip, SCIP_CLOCK **clck)
 
SCIP_RETCODE SCIPfreeClock (SCIP *scip, SCIP_CLOCK **clck)
 
SCIP_RETCODE SCIPresetClock (SCIP *scip, SCIP_CLOCK *clck)
 
SCIP_RETCODE SCIPstartClock (SCIP *scip, SCIP_CLOCK *clck)
 
SCIP_RETCODE SCIPstopClock (SCIP *scip, SCIP_CLOCK *clck)
 
void SCIPsetClockEnabled (SCIP_CLOCK *clck, SCIP_Bool enable)
 
SCIP_RETCODE SCIPenableOrDisableStatisticTiming (SCIP *scip)
 
SCIP_RETCODE SCIPstartSolvingTime (SCIP *scip)
 
SCIP_RETCODE SCIPstopSolvingTime (SCIP *scip)
 
SCIP_Real SCIPgetClockTime (SCIP *scip, SCIP_CLOCK *clck)
 
SCIP_RETCODE SCIPsetClockTime (SCIP *scip, SCIP_CLOCK *clck, SCIP_Real sec)
 
SCIP_Real SCIPgetTotalTime (SCIP *scip)
 
SCIP_Real SCIPgetSolvingTime (SCIP *scip)
 
SCIP_Real SCIPgetReadingTime (SCIP *scip)
 
SCIP_Real SCIPgetPresolvingTime (SCIP *scip)
 
SCIP_Real SCIPgetFirstLPTime (SCIP *scip)
 

Function Documentation

◆ SCIPgetTimeOfDay()

SCIP_Real SCIPgetTimeOfDay ( SCIP scip)

gets current time of day in seconds (standard time zone)

Returns
the current time of day in seconds (standard time zone).
Parameters
scipSCIP data structure

Definition at line 62 of file scip_timing.c.

References NULL, and SCIPclockGetTimeOfDay().

◆ SCIPcreateClock()

SCIP_RETCODE SCIPcreateClock ( SCIP scip,
SCIP_CLOCK **  clck 
)

creates a clock using the default clock type

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
clckpointer to clock timer

Definition at line 76 of file scip_timing.c.

References NULL, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_OKAY, and SCIPclockCreate().

Referenced by alnsIncludeNeighborhood(), applyVbounds(), runBenders(), SCIPapplyUndercover(), SCIPincludeBranchruleCloud(), SCIPincludeConshdlrNonlinear(), SCIPnlhdlrCreate(), and SCIPnlpiOracleCreate().

◆ SCIPcreateCPUClock()

SCIP_RETCODE SCIPcreateCPUClock ( SCIP scip,
SCIP_CLOCK **  clck 
)

creates a clock counting the CPU user seconds

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
clckpointer to clock timer

Definition at line 93 of file scip_timing.c.

References NULL, SCIP_CALL, SCIP_CLOCKTYPE_CPU, SCIP_OKAY, and SCIPclockCreate().

◆ SCIPcreateWallClock()

SCIP_RETCODE SCIPcreateWallClock ( SCIP scip,
SCIP_CLOCK **  clck 
)

creates a clock counting the wall clock seconds

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
clckpointer to clock timer

Definition at line 110 of file scip_timing.c.

References NULL, SCIP_CALL, SCIP_CLOCKTYPE_WALL, SCIP_OKAY, and SCIPclockCreate().

Referenced by SCIPconcsolverCreateInstance(), and SCIPcreateConcurrent().

◆ SCIPfreeClock()

SCIP_RETCODE SCIPfreeClock ( SCIP scip,
SCIP_CLOCK **  clck 
)

frees a clock

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
clckpointer to clock timer

Definition at line 127 of file scip_timing.c.

References NULL, SCIP_OKAY, and SCIPclockFree().

Referenced by alnsFreeNeighborhood(), applyVbounds(), runBenders(), SCIP_DECL_BRANCHFREE(), SCIP_DECL_CONSFREE(), SCIPapplyUndercover(), SCIPconcsolverDestroyInstance(), SCIPfreeConcurrent(), SCIPnlhdlrFree(), and SCIPnlpiOracleFree().

◆ SCIPresetClock()

SCIP_RETCODE SCIPresetClock ( SCIP scip,
SCIP_CLOCK clck 
)

resets the time measurement of a clock to zero and completely stops the clock

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
clckclock timer

Definition at line 144 of file scip_timing.c.

References NULL, SCIP_OKAY, and SCIPclockReset().

Referenced by neighborhoodStatsReset(), SCIP_DECL_BRANCHINIT(), SCIP_DECL_CONSINIT(), SCIP_DECL_NLHDLRINIT(), SCIPincrementConcurrentTime(), SCIPnlpiOracleResetEvalTime(), and updateTimelimit().

◆ SCIPstartClock()

◆ SCIPstopClock()

◆ SCIPsetClockEnabled()

void SCIPsetClockEnabled ( SCIP_CLOCK clck,
SCIP_Bool  enable 
)

enables or disables clck

Parameters
clckthe clock to be disabled/enabled
enableshould the clock be enabled or disabled?

Definition at line 191 of file scip_timing.c.

References SCIPclockEnableOrDisable().

Referenced by SCIPnlpiOracleCreate().

◆ SCIPenableOrDisableStatisticTiming()

SCIP_RETCODE SCIPenableOrDisableStatisticTiming ( SCIP scip)

enables or disables all statistic clocks of SCIP concerning plugin statistics, LP execution time, strong branching time, etc.

Method reads the value of the parameter timing/statistictiming. In order to disable statistic timing, set the parameter to FALSE.

Note
: The (pre-)solving time clocks which are relevant for the output during (pre-)solving are not affected by this method
See also
: For completely disabling all timing of SCIP, consider setting the parameter timing/enabled to FALSE
Precondition
This method can be called if SCIP is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

enables or disables all statistic clocks of SCIP concerning plugin statistics, LP execution time, strong branching time, etc.

Method reads the value of the parameter timing/statistictiming. In order to disable statistic timing, set the parameter to FALSE.

Note
: The (pre-)solving time clocks which are relevant for the output during (pre-)solving are not affected by this method
See also
: For completely disabling all timing of SCIP, consider setting the parameter timing/enabled to FALSE
Precondition
This method can be called if SCIP is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 227 of file scip_timing.c.

References Scip::conflict, FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_INIT, SCIP_STAGE_TRANSFORMING, SCIPcheckStage(), SCIPconflictEnableOrDisableClocks(), SCIPsetEnableOrDisablePluginClocks(), SCIPstatEnableOrDisableStatClocks(), Scip::set, SCIP_Set::stage, Scip::stat, SCIP_Set::time_statistictiming, and TRUE.

◆ SCIPstartSolvingTime()

SCIP_RETCODE SCIPstartSolvingTime ( SCIP scip)

starts the current solving time

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 270 of file scip_timing.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPclockStart(), Scip::set, SCIP_Stat::solvingtime, SCIP_Stat::solvingtimeoverall, Scip::stat, and TRUE.

◆ SCIPstopSolvingTime()

SCIP_RETCODE SCIPstopSolvingTime ( SCIP scip)

stops the current solving time in seconds

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 303 of file scip_timing.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPclockStop(), Scip::set, SCIP_Stat::solvingtime, SCIP_Stat::solvingtimeoverall, Scip::stat, and TRUE.

◆ SCIPgetClockTime()

SCIP_Real SCIPgetClockTime ( SCIP scip,
SCIP_CLOCK clck 
)

gets the measured time of a clock in seconds

Returns
the measured time of a clock in seconds.
Parameters
scipSCIP data structure
clckclock timer

Definition at line 319 of file scip_timing.c.

References NULL, and SCIPclockGetTime().

Referenced by printLongStatistics(), printNeighborhoodStatistics(), printShortStatistics(), runBenders(), SCIP_DECL_BRANCHFREE(), SCIP_DECL_TABLEOUTPUT(), SCIPapplyUndercover(), SCIPcopyConcurrentSolvingStats(), SCIPincrementConcurrentTime(), SCIPnlhdlrPrintStatistics(), SCIPnlpiOracleGetEvalTime(), and updateTimelimit().

◆ SCIPsetClockTime()

SCIP_RETCODE SCIPsetClockTime ( SCIP scip,
SCIP_CLOCK clck,
SCIP_Real  sec 
)

sets the measured time of a clock to the given value in seconds

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Parameters
scipSCIP data structure
clckclock timer
sectime in seconds to set the clock's timer to

Definition at line 334 of file scip_timing.c.

References NULL, SCIP_OKAY, and SCIPclockSetTime().

Referenced by SCIPcopyConcurrentSolvingStats().

◆ SCIPgetTotalTime()

SCIP_Real SCIPgetTotalTime ( SCIP scip)

gets the current total SCIP time in seconds, possibly accumulated over several problems.

Returns
the current total SCIP time in seconds, ie. the total time since the SCIP instance has been created
Parameters
scipSCIP data structure

Definition at line 351 of file scip_timing.c.

References NULL, SCIPclockGetTime(), and Scip::totaltime.

Referenced by detectMinors(), enumeratePatterns(), reoptimize(), SCIPprobdataEnumeratePatterns(), SCIPverifyCircularPatternHeuristic(), setupProblem(), and solvePricingHeuristic().

◆ SCIPgetSolvingTime()

SCIP_Real SCIPgetSolvingTime ( SCIP scip)

gets the current solving time in seconds

Returns
the current solving time in seconds.
Precondition
This method can be called if SCIP is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 378 of file scip_timing.c.

References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPclockGetTime(), SCIP_Stat::solvingtime, Scip::stat, and TRUE.

Referenced by applyBoundHeur(), applyOptcumulative(), applyProbing(), applyRepair(), applyVbounds(), copyMemoryAndTimeLimits(), copySofttimelimit(), determineLimits(), determineSymmetry(), doSeachEcAggr(), getCopyTimelimit(), getTimeLeft(), getX(), presolve(), presolveRound(), printReport(), SCIP_DECL_CONCSOLVEREXEC(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRICERREDCOST(), SCIP_DECL_SEPAEXECLP(), SCIPapplyProximity(), SCIPincludePresolMILP(), SCIPprintSolutionStatistics(), SCIPsolve(), setAndUpdateCorePoint(), setSubscipLimits(), setupAndSolve(), setupAndSolveSubscip(), solveAndEvalSubscip(), solveComponent(), solveCumulative(), solveIndependentCons(), solveNlp(), solveSubNLP(), solveSubscip(), subscipdataCopySubscip(), SYMcomputeSymmetryGenerators(), testCriteria(), transitionPhase3(), and verifyCircularPattern().

◆ SCIPgetReadingTime()

SCIP_Real SCIPgetReadingTime ( SCIP scip)

gets the current reading time in seconds

Returns
the current reading time in seconds.
Precondition
This method can be called if SCIP is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 405 of file scip_timing.c.

References FALSE, SCIP_Set::nreaders, NULL, r, SCIP_Set::readers, SCIP_CALL_ABORT, SCIP_Real, SCIPcheckStage(), SCIPisNegative(), SCIPreaderGetReadingTime(), Scip::set, and TRUE.

Referenced by SCIPprintTimingStatistics(), and SCIPreadProb().

◆ SCIPgetPresolvingTime()

SCIP_Real SCIPgetPresolvingTime ( SCIP scip)

gets the current presolving time in seconds

Returns
the current presolving time in seconds.
Precondition
This method can be called if SCIP is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 442 of file scip_timing.c.

References FALSE, SCIP_Stat::presolvingtime, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPclockGetTime(), Scip::stat, and TRUE.

Referenced by applyRepair(), SCIPapplyProximity(), and solveSubscipLpface().

◆ SCIPgetFirstLPTime()

SCIP_Real SCIPgetFirstLPTime ( SCIP scip)

gets the time need to solve the first LP in the root node

Returns
the solving time for the first LP in the root node in seconds.
Precondition
This method can be called if SCIP is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure

Definition at line 468 of file scip_timing.c.

References FALSE, SCIP_Stat::firstlptime, SCIP_CALL_ABORT, SCIPcheckStage(), Scip::stat, and TRUE.

Referenced by SCIP_DECL_SEPAEXECLP(), and SCIPprintRootStatistics().