ressource profile data structure
SCIP_RETCODE SCIPprofileCreate | ( | SCIP_PROFILE ** | profile, |
int | capacity | ||
) |
creates resource profile
profile | pointer to store the resource profile |
capacity | resource capacity |
Definition at line 5812 of file misc.c.
References BMSallocMemory, BMSallocMemoryArray, NULL, SCIP_ALLOC, and SCIP_OKAY.
Referenced by computeAlternativeBounds(), computeEffectiveHorizonCumulativeCondition(), and propagateCumulativeCondition().
void SCIPprofileFree | ( | SCIP_PROFILE ** | profile | ) |
frees given resource profile
profile | pointer to the resource profile |
Definition at line 5836 of file misc.c.
References BMSfreeMemory, BMSfreeMemoryArray, and NULL.
Referenced by computeAlternativeBounds(), computeEffectiveHorizonCumulativeCondition(), and propagateCumulativeCondition().
void SCIPprofilePrint | ( | SCIP_PROFILE * | profile, |
SCIP_MESSAGEHDLR * | messagehdlr, | ||
FILE * | file | ||
) |
output of the given resource profile
profile | resource profile to output |
messagehdlr | message handler |
file | output file (or NULL for standard output) |
Definition at line 5850 of file misc.c.
References SCIP_Profile::capacity, SCIP_Profile::loads, SCIP_Profile::ntimepoints, SCIPmessageFPrintInfo(), and SCIP_Profile::timepoints.
Referenced by computeEffectiveHorizonCumulativeCondition(), and coretimesUpdateUb().
int SCIPprofileGetCapacity | ( | SCIP_PROFILE * | profile | ) |
returns the capacity of the resource profile
profile | resource profile to use |
Definition at line 5872 of file misc.c.
References SCIP_Profile::capacity, and NULL.
int SCIPprofileGetNTimepoints | ( | SCIP_PROFILE * | profile | ) |
returns the number time points of the resource profile
profile | resource profile to use |
Definition at line 5882 of file misc.c.
References SCIP_Profile::ntimepoints, and NULL.
Referenced by computeCoreEngeryAfter(), computeEffectiveHorizonCumulativeCondition(), coretimesUpdateLb(), coretimesUpdateUb(), propagateTimetable(), SCIPcomputeHmax(), and SCIPcomputeHmin().
int* SCIPprofileGetTimepoints | ( | SCIP_PROFILE * | profile | ) |
returns the time points of the resource profile
profile | resource profile to use |
Definition at line 5892 of file misc.c.
References NULL, and SCIP_Profile::timepoints.
Referenced by computeEffectiveHorizonCumulativeCondition(), SCIPcomputeHmax(), and SCIPcomputeHmin().
int* SCIPprofileGetLoads | ( | SCIP_PROFILE * | profile | ) |
returns the loads of the resource profile
profile | resource profile to use |
Definition at line 5902 of file misc.c.
References SCIP_Profile::loads, and NULL.
Referenced by computeEffectiveHorizonCumulativeCondition(), SCIPcomputeHmax(), and SCIPcomputeHmin().
int SCIPprofileGetTime | ( | SCIP_PROFILE * | profile, |
int | pos | ||
) |
returns the time point for given position of the resource profile
profile | resource profile to use |
pos | position |
Definition at line 5912 of file misc.c.
References NULL, and SCIP_Profile::timepoints.
Referenced by computeCoreEngeryAfter(), coretimesUpdateLb(), coretimesUpdateUb(), createCoreProfile(), and propagateTimetable().
int SCIPprofileGetLoad | ( | SCIP_PROFILE * | profile, |
int | pos | ||
) |
returns the loads of the resource profile at the given position
profile | resource profile |
pos | position |
Definition at line 5924 of file misc.c.
References SCIP_Profile::loads, and NULL.
Referenced by computeCoreEngeryAfter(), coretimesUpdateLb(), and coretimesUpdateUb().
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
profile | resource profile to search |
timepoint | time point to search for |
pos | pointer to store the position |
Definition at line 5938 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().
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
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 6085 of file misc.c.
References FALSE, NULL, profileUpdate(), SCIP_CALL, SCIP_OKAY, and SCIPdebugMessage.
Referenced by createCoreProfile(), propagateTimetable(), and SCIPcreateWorstCaseProfile().
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
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 6115 of file misc.c.
References profileUpdate(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, and SCIPprofileFindLeft().
Referenced by propagateTimetable().
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)
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 6205 of file misc.c.
References FALSE, SCIP_Profile::loads, SCIP_Profile::ntimepoints, NULL, profileFindFeasibleStart(), SCIP_Bool, SCIPdebugMessage, and SCIPprofileFindLeft().
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)
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 6355 of file misc.c.
References FALSE, SCIP_Profile::loads, SCIP_Profile::ntimepoints, NULL, profileFindDownFeasibleStart(), SCIP_Bool, SCIPdebugMessage, and SCIPprofileFindLeft().