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().