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 6758 of file misc.c.
References doProfileCreate(), NULL, SCIP_CALL_FINALLY, SCIP_OKAY, and SCIPprofileFree().
Referenced by computeAlternativeBounds(), computeEffectiveHorizonCumulativeCondition(), performBackwardScheduling(), performForwardScheduling(), propagateCons(), and propagateCumulativeCondition().
◆ SCIPprofileFree()
void SCIPprofileFree | ( | SCIP_PROFILE ** | profile | ) |
frees given resource profile
- Parameters
-
profile pointer to the resource profile
Definition at line 6772 of file misc.c.
References BMSfreeMemory, BMSfreeMemoryArrayNull, and NULL.
Referenced by computeAlternativeBounds(), computeEffectiveHorizonCumulativeCondition(), performBackwardScheduling(), performForwardScheduling(), propagateCons(), propagateCumulativeCondition(), and SCIPprofileCreate().
◆ 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 6788 of file misc.c.
References SCIP_Profile::capacity, SCIP_Profile::loads, SCIP_Profile::ntimepoints, SCIPmessageFPrintInfo(), and SCIP_Profile::timepoints.
Referenced by computeEffectiveHorizonCumulativeCondition(), and coretimesUpdateUb().
◆ SCIPprofileGetCapacity()
int SCIPprofileGetCapacity | ( | SCIP_PROFILE * | profile | ) |
returns the capacity of the resource profile
- Parameters
-
profile resource profile to use
Definition at line 6810 of file misc.c.
References SCIP_Profile::capacity, and NULL.
◆ SCIPprofileGetNTimepoints()
int SCIPprofileGetNTimepoints | ( | SCIP_PROFILE * | profile | ) |
returns the number time points of the resource profile
- Parameters
-
profile resource profile to use
Definition at line 6820 of file misc.c.
References SCIP_Profile::ntimepoints, and NULL.
Referenced by computeCoreEnergyAfter(), computeEffectiveHorizonCumulativeCondition(), coretimesUpdateLb(), coretimesUpdateUb(), propagateTimetable(), SCIPcomputeHmax(), and SCIPcomputeHmin().
◆ SCIPprofileGetTimepoints()
int * SCIPprofileGetTimepoints | ( | SCIP_PROFILE * | profile | ) |
returns the time points of the resource profile
- Parameters
-
profile resource profile to use
Definition at line 6830 of file misc.c.
References NULL, and SCIP_Profile::timepoints.
Referenced by computeEffectiveHorizonCumulativeCondition(), SCIPcomputeHmax(), and SCIPcomputeHmin().
◆ SCIPprofileGetLoads()
int * SCIPprofileGetLoads | ( | SCIP_PROFILE * | profile | ) |
returns the loads of the resource profile
- Parameters
-
profile resource profile to use
Definition at line 6840 of file misc.c.
References SCIP_Profile::loads, and NULL.
Referenced by computeEffectiveHorizonCumulativeCondition(), SCIPcomputeHmax(), and SCIPcomputeHmin().
◆ 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 6850 of file misc.c.
References NULL, and SCIP_Profile::timepoints.
Referenced by computeCoreEnergyAfter(), coretimesUpdateLb(), coretimesUpdateUb(), createCoreProfile(), and propagateTimetable().
◆ 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 6862 of file misc.c.
References SCIP_Profile::loads, and NULL.
Referenced by computeCoreEnergyAfter(), coretimesUpdateLb(), and coretimesUpdateUb().
◆ 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 6876 of file misc.c.
References FALSE, SCIP_Profile::ntimepoints, NULL, SCIPsortedvecFindInt(), SCIP_Profile::timepoints, and TRUE.
Referenced by coretimesUpdateLb(), coretimesUpdateUb(), profileInsertTimepoint(), SCIPprofileDeleteCore(), SCIPprofileGetEarliestFeasibleStart(), and SCIPprofileGetLatestFeasibleStart().
◆ 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 7023 of file misc.c.
References FALSE, NULL, profileUpdate(), SCIP_CALL, SCIP_OKAY, and SCIPdebugMessage.
Referenced by createCoreProfile(), profilesInsertJob(), propagateCons(), propagateTimetable(), and SCIPcreateWorstCaseProfile().
◆ 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 7053 of file misc.c.
References profileUpdate(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, and SCIPprofileFindLeft().
Referenced by propagateCons(), and propagateTimetable().
◆ 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 7143 of file misc.c.
References SCIP_Profile::capacity, FALSE, SCIP_Profile::loads, SCIP_Profile::ntimepoints, NULL, profileFindFeasibleStart(), SCIP_Bool, SCIPdebugMessage, SCIPprofileFindLeft(), and SCIP_Profile::timepoints.
Referenced by profilesFindEarliestFeasibleStart().
◆ 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 7292 of file misc.c.
References SCIP_Profile::capacity, FALSE, SCIP_Profile::loads, SCIP_Profile::ntimepoints, NULL, profileFindDownFeasibleStart(), SCIP_Bool, SCIPdebugMessage, SCIPprofileFindLeft(), and SCIP_Profile::timepoints.
Referenced by profilesFindLatestFeasibleStart().