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 6755 of file misc.c.
References assert(), doProfileCreate(), NULL, SCIP_CALL_FINALLY, SCIP_OKAY, and SCIPprofileFree().
Referenced by computeAlternativeBounds(), computeEffectiveHorizonCumulativeCondition(), performBackwardScheduling(), performForwardScheduling(), propagateCons(), and propagateCumulativeCondition().
| void SCIPprofileFree | ( | SCIP_PROFILE ** | profile | ) |
frees given resource profile
| profile | pointer to the resource profile |
Definition at line 6769 of file misc.c.
References assert(), BMSfreeMemory, BMSfreeMemoryArrayNull, and NULL.
Referenced by computeAlternativeBounds(), computeEffectiveHorizonCumulativeCondition(), performBackwardScheduling(), performForwardScheduling(), propagateCons(), propagateCumulativeCondition(), and SCIPprofileCreate().
| 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 6785 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 6807 of file misc.c.
References assert(), 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 6817 of file misc.c.
References assert(), SCIP_Profile::ntimepoints, and NULL.
Referenced by computeCoreEnergyAfter(), 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 6827 of file misc.c.
References assert(), 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 6837 of file misc.c.
References assert(), 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 6847 of file misc.c.
References assert(), NULL, and SCIP_Profile::timepoints.
Referenced by computeCoreEnergyAfter(), 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 6859 of file misc.c.
References assert(), SCIP_Profile::loads, and NULL.
Referenced by computeCoreEnergyAfter(), 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 6873 of file misc.c.
References assert(), 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 7020 of file misc.c.
References assert(), FALSE, NULL, profileUpdate(), SCIP_CALL, SCIP_OKAY, and SCIPdebugMessage.
Referenced by createCoreProfile(), profilesInsertJob(), propagateCons(), 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 7050 of file misc.c.
References assert(), profileUpdate(), SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, and SCIPprofileFindLeft().
Referenced by propagateCons(), and 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 7140 of file misc.c.
References assert(), SCIP_Profile::capacity, FALSE, SCIP_Profile::loads, SCIP_Profile::ntimepoints, NULL, profileFindFeasibleStart(), SCIPdebugMessage, SCIPprofileFindLeft(), and SCIP_Profile::timepoints.
Referenced by profilesFindEarliestFeasibleStart().
| 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 7289 of file misc.c.
References assert(), SCIP_Profile::capacity, FALSE, SCIP_Profile::loads, SCIP_Profile::ntimepoints, NULL, profileFindDownFeasibleStart(), SCIPdebugMessage, SCIPprofileFindLeft(), and SCIP_Profile::timepoints.
Referenced by profilesFindLatestFeasibleStart().