Scippy

SCIP

Solving Constraint Integer Programs

Detailed Description

methods for timing

Functions

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

Function Documentation

◆ SCIPgetTimeOfDay()

SCIP_EXPORT 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 53 of file scip_timing.c.

References NULL, and SCIPclockGetTimeOfDay().

◆ SCIPcreateClock()

SCIP_EXPORT 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 67 of file scip_timing.c.

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

Referenced by alnsIncludeNeighborhood(), applyVbounds(), polyscip::Polyscip::Polyscip(), runBenders(), SCIPapplyUndercover(), and SCIPincludeBranchruleCloud().

◆ SCIPcreateCPUClock()

SCIP_EXPORT 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 84 of file scip_timing.c.

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

◆ SCIPcreateWallClock()

SCIP_EXPORT 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 101 of file scip_timing.c.

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

Referenced by SCIPconcsolverCreateInstance(), and SCIPcreateConcurrent().

◆ SCIPfreeClock()

SCIP_EXPORT 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 118 of file scip_timing.c.

References NULL, SCIP_OKAY, and SCIPclockFree().

Referenced by alnsFreeNeighborhood(), applyVbounds(), runBenders(), SCIP_DECL_BRANCHFREE(), SCIPapplyUndercover(), SCIPconcsolverDestroyInstance(), SCIPfreeConcurrent(), and polyscip::Polyscip::~Polyscip().

◆ SCIPresetClock()

SCIP_EXPORT 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 135 of file scip_timing.c.

References NULL, SCIP_OKAY, and SCIPclockReset().

Referenced by neighborhoodStatsReset(), SCIP_DECL_BRANCHINIT(), SCIPincrementConcurrentTime(), and updateTimelimit().

◆ SCIPstartClock()

SCIP_EXPORT SCIP_RETCODE SCIPstartClock ( SCIP scip,
SCIP_CLOCK clck 
)

starts the time measurement of 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
clckclock timer

Definition at line 152 of file scip_timing.c.

References NULL, SCIP_OKAY, SCIPclockStart(), and Scip::set.

Referenced by applyVbounds(), polyscip::Polyscip::computeNondomPoints(), runBenders(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), SCIPapplyUndercover(), SCIPconcsolverSync(), SCIPcreateConcurrent(), SCIPincrementConcurrentTime(), and updateTimelimit().

◆ SCIPstopClock()

SCIP_EXPORT SCIP_RETCODE SCIPstopClock ( SCIP scip,
SCIP_CLOCK clck 
)

stops the time measurement of 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
clckclock timer

Definition at line 169 of file scip_timing.c.

References NULL, SCIP_OKAY, SCIPclockStop(), and Scip::set.

Referenced by applyVbounds(), polyscip::Polyscip::computeNondomPoints(), runBenders(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), and SCIPconcsolverSync().

◆ SCIPenableOrDisableStatisticTiming()

SCIP_EXPORT 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 209 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_EXPORT 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 252 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_EXPORT 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 285 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_EXPORT 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 301 of file scip_timing.c.

References NULL, and SCIPclockGetTime().

Referenced by polyscip::Polyscip::numberofUnboundedResults(), printLongStatistics(), printNeighborhoodStatistics(), printShortStatistics(), runBenders(), SCIP_DECL_BRANCHFREE(), SCIPapplyUndercover(), SCIPcopyConcurrentSolvingStats(), SCIPincrementConcurrentTime(), and updateTimelimit().

◆ SCIPsetClockTime()

SCIP_EXPORT 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 316 of file scip_timing.c.

References NULL, SCIP_OKAY, and SCIPclockSetTime().

Referenced by SCIPcopyConcurrentSolvingStats().

◆ SCIPgetTotalTime()

SCIP_EXPORT 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 333 of file scip_timing.c.

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

Referenced by enumeratePatterns(), getlecloseterms(), redLoopMw(), redLoopPc(), redLoopStp(), reduceHc(), reduceNw(), reduceSap(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_PROBEXITSOL(), SCIPprobdataEnumeratePatterns(), SCIPprobdataWriteLogfileEnd(), SCIPverifyCircularPatternHeuristic(), setupProblem(), and solvePricingHeuristic().

◆ SCIPgetSolvingTime()

SCIP_EXPORT 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 360 of file scip_timing.c.

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

Referenced by applyBoundHeur(), applyHeur(), applyOptcumulative(), applyProbing(), applyRepair(), applyVbounds(), computeInteriorPoint(), 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_RELAXEXEC(), SCIP_DECL_SEPAEXECLP(), SCIPapplyProximity(), SCIPincludePresolMILP(), SCIPprintSolutionStatistics(), SCIPsolve(), separateCuts(), setAndUpdateCorePoint(), setSubscipLimits(), setupAndSolve(), setupAndSolveSubscip(), solveAndEvalSubscip(), solveComponent(), solveCumulative(), solveFeasibilityNonlinearSubproblem(), solveIndependentCons(), solveNlp(), solveSubscip(), subscipdataCopySubscip(), testCriteria(), transitionPhase3(), and verifyCircularPattern().

◆ SCIPgetReadingTime()

SCIP_EXPORT 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 387 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 SCIP_DECL_PROBTRANS(), SCIPprintTimingStatistics(), and SCIPreadProb().

◆ SCIPgetPresolvingTime()

SCIP_EXPORT 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 424 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_EXPORT 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 450 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().