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 6667 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 6681 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 6697 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 6719 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 6729 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 6739 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 6749 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 6759 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 6771 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 6785 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 6932 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 6962 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 7052 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 7201 of file misc.c.
References FALSE, SCIP_Profile::loads, SCIP_Profile::ntimepoints, NULL, profileFindDownFeasibleStart(), SCIP_Bool, SCIPdebugMessage, and SCIPprofileFindLeft().
Referenced by profilesFindLatestFeasibleStart(), and SCIPrealHashCode().