Detailed Description
ressource profile data structure
Function Documentation
◆ SCIPprofileCreate()
SCIP_RETCODE SCIPprofileCreate | ( | SCIP_PROFILE ** | profile, |
int | capacity | ||
) |
creates resource profile
- Parameters
-
profile pointer to store the resource profile capacity resource capacity
Definition at line 6666 of file misc.c.
References doProfileCreate(), NULL, SCIP_CALL_FINALLY, SCIP_OKAY, and SCIPprofileFree().
Referenced by computeAlternativeBounds(), computeEffectiveHorizonCumulativeCondition(), performBackwardScheduling(), performForwardScheduling(), propagateCons(), propagateCumulativeCondition(), and SCIPrealHashCode().
◆ SCIPprofileFree()
void SCIPprofileFree | ( | SCIP_PROFILE ** | profile | ) |
frees given resource profile
- Parameters
-
profile pointer to the resource profile
Definition at line 6680 of file misc.c.
References BMSfreeMemory, BMSfreeMemoryArrayNull, and NULL.
Referenced by computeAlternativeBounds(), computeEffectiveHorizonCumulativeCondition(), performBackwardScheduling(), performForwardScheduling(), propagateCons(), propagateCumulativeCondition(), SCIPprofileCreate(), and SCIPrealHashCode().
◆ SCIPprofilePrint()
void SCIPprofilePrint | ( | SCIP_PROFILE * | profile, |
SCIP_MESSAGEHDLR * | messagehdlr, | ||
FILE * | file | ||
) |
output of the given resource profile
- Parameters
-
profile resource profile to output messagehdlr message handler file output file (or NULL for standard output)
Definition at line 6696 of file misc.c.
References SCIP_Profile::capacity, and SCIPmessageFPrintInfo().
Referenced by computeEffectiveHorizonCumulativeCondition(), coretimesUpdateUb(), and SCIPrealHashCode().
◆ SCIPprofileGetCapacity()
int SCIPprofileGetCapacity | ( | SCIP_PROFILE * | profile | ) |
returns the capacity of the resource profile
- Parameters
-
profile resource profile to use
Definition at line 6718 of file misc.c.
References SCIP_Profile::capacity, and NULL.
Referenced by SCIPrealHashCode().
◆ SCIPprofileGetNTimepoints()
int SCIPprofileGetNTimepoints | ( | SCIP_PROFILE * | profile | ) |
returns the number time points of the resource profile
- Parameters
-
profile resource profile to use
Definition at line 6728 of file misc.c.
References SCIP_Profile::ntimepoints, and NULL.
Referenced by computeCoreEnergyAfter(), computeEffectiveHorizonCumulativeCondition(), coretimesUpdateLb(), coretimesUpdateUb(), propagateTimetable(), SCIPcomputeHmax(), SCIPcomputeHmin(), and SCIPrealHashCode().
◆ SCIPprofileGetTimepoints()
int* SCIPprofileGetTimepoints | ( | SCIP_PROFILE * | profile | ) |
returns the time points of the resource profile
- Parameters
-
profile resource profile to use
Definition at line 6738 of file misc.c.
References NULL, and SCIP_Profile::timepoints.
Referenced by computeEffectiveHorizonCumulativeCondition(), SCIPcomputeHmax(), SCIPcomputeHmin(), and SCIPrealHashCode().
◆ SCIPprofileGetLoads()
int* SCIPprofileGetLoads | ( | SCIP_PROFILE * | profile | ) |
returns the loads of the resource profile
- Parameters
-
profile resource profile to use
Definition at line 6748 of file misc.c.
References SCIP_Profile::loads, and NULL.
Referenced by computeEffectiveHorizonCumulativeCondition(), SCIPcomputeHmax(), SCIPcomputeHmin(), and SCIPrealHashCode().
◆ SCIPprofileGetTime()
int SCIPprofileGetTime | ( | SCIP_PROFILE * | profile, |
int | pos | ||
) |
returns the time point for given position of the resource profile
- Parameters
-
profile resource profile to use pos position
Definition at line 6758 of file misc.c.
References NULL, and SCIP_Profile::timepoints.
Referenced by computeCoreEnergyAfter(), coretimesUpdateLb(), coretimesUpdateUb(), createCoreProfile(), propagateTimetable(), and SCIPrealHashCode().
◆ SCIPprofileGetLoad()
int SCIPprofileGetLoad | ( | SCIP_PROFILE * | profile, |
int | pos | ||
) |
returns the loads of the resource profile at the given position
- Parameters
-
profile resource profile pos position
Definition at line 6770 of file misc.c.
References SCIP_Profile::loads, and NULL.
Referenced by computeCoreEnergyAfter(), coretimesUpdateLb(), coretimesUpdateUb(), and SCIPrealHashCode().
◆ SCIPprofileFindLeft()
SCIP_Bool SCIPprofileFindLeft | ( | SCIP_PROFILE * | profile, |
int | timepoint, | ||
int * | pos | ||
) |
returns if the given time point exists in the resource profile and stores the position of the given time point if it exists; otherwise the position of the next smaller existing time point is stored
- Parameters
-
profile resource profile to search timepoint time point to search for pos pointer to store the position
Definition at line 6784 of file misc.c.
References FALSE, SCIP_Profile::ntimepoints, NULL, SCIPsortedvecFindInt(), SCIP_Profile::timepoints, and TRUE.
Referenced by coretimesUpdateLb(), coretimesUpdateUb(), profileInsertTimepoint(), SCIPprofileDeleteCore(), SCIPprofileGetEarliestFeasibleStart(), SCIPprofileGetLatestFeasibleStart(), and SCIPrealHashCode().
◆ SCIPprofileInsertCore()
SCIP_RETCODE SCIPprofileInsertCore | ( | SCIP_PROFILE * | profile, |
int | left, | ||
int | right, | ||
int | demand, | ||
int * | pos, | ||
SCIP_Bool * | infeasible | ||
) |
insert a core into resource profile; if the core is non-empty the resource profile will be updated otherwise nothing happens
- Parameters
-
profile resource profile left left side of the core right right side of the core demand demand of the core pos pointer to store the first position were it gets infeasible infeasible pointer to store if the core does not fit due to capacity
Definition at line 6931 of file misc.c.
References FALSE, NULL, profileUpdate(), SCIP_CALL, SCIP_OKAY, and SCIPdebugMessage.
Referenced by createCoreProfile(), profilesInsertJob(), propagateCons(), propagateTimetable(), SCIPcreateWorstCaseProfile(), and SCIPrealHashCode().
◆ SCIPprofileDeleteCore()
SCIP_RETCODE SCIPprofileDeleteCore | ( | SCIP_PROFILE * | profile, |
int | left, | ||
int | right, | ||
int | demand | ||
) |
subtracts the height from the resource profile during core time
subtracts the demand from the resource profile during core time
- Parameters
-
profile resource profile to use left left side of the core right right side of the core demand demand of the core
Definition at line 6961 of file misc.c.
References profileUpdate(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, and SCIPprofileFindLeft().
Referenced by propagateCons(), propagateTimetable(), and SCIPrealHashCode().
◆ SCIPprofileGetEarliestFeasibleStart()
int SCIPprofileGetEarliestFeasibleStart | ( | SCIP_PROFILE * | profile, |
int | est, | ||
int | lst, | ||
int | duration, | ||
int | demand, | ||
SCIP_Bool * | infeasible | ||
) |
return the earliest possible starting point within the time interval [lb,ub] for a given core (given by its height and duration)
return the earliest possible starting point within the time interval [lb,ub] for a given core (given by its demand and duration)
- Parameters
-
profile resource profile to use est earliest starting time of the given core lst latest starting time of the given core duration duration of the core demand demand of the core infeasible pointer store if the corer cannot be inserted
Definition at line 7051 of file misc.c.
References FALSE, SCIP_Profile::loads, SCIP_Profile::ntimepoints, NULL, profileFindFeasibleStart(), SCIP_Bool, SCIPdebugMessage, and SCIPprofileFindLeft().
Referenced by profilesFindEarliestFeasibleStart(), and SCIPrealHashCode().
◆ SCIPprofileGetLatestFeasibleStart()
int SCIPprofileGetLatestFeasibleStart | ( | SCIP_PROFILE * | profile, |
int | est, | ||
int | lst, | ||
int | duration, | ||
int | demand, | ||
SCIP_Bool * | infeasible | ||
) |
return the latest possible starting point within the time interval [lb,ub] for a given core (given by its height and duration)
return the latest possible starting point within the time interval [lb,ub] for a given core (given by its demand and duration)
- Parameters
-
profile resource profile to use est earliest possible start point lst latest possible start point duration duration of the core demand demand of the core infeasible pointer store if the core cannot be inserted
Definition at line 7200 of file misc.c.
References FALSE, SCIP_Profile::loads, SCIP_Profile::ntimepoints, NULL, profileFindDownFeasibleStart(), SCIP_Bool, SCIPdebugMessage, and SCIPprofileFindLeft().
Referenced by profilesFindLatestFeasibleStart(), and SCIPrealHashCode().