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)
 
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 129 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 143 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_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 160 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 177 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 194 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_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 211 of file scip_timing.c.

References NULL, SCIP_OKAY, and SCIPclockReset().

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

◆ SCIPstartClock()

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 228 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_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 245 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_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 285 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 328 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 361 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 377 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_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 392 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 409 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_Real SCIPgetSolvingTime ( SCIP scip)

◆ 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 463 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_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 500 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 526 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().