Scippy

SCIP

Solving Constraint Integer Programs

Resource Profile

Detailed Description

Functions

SCIP_RETCODE SCIPprofileCreate (SCIP_PROFILE **profile, int capacity)
 
void SCIPprofileFree (SCIP_PROFILE **profile)
 
void SCIPprofilePrint (SCIP_PROFILE *profile, SCIP_MESSAGEHDLR *messagehdlr, FILE *file)
 
int SCIPprofileGetCapacity (SCIP_PROFILE *profile)
 
int SCIPprofileGetNTimepoints (SCIP_PROFILE *profile)
 
int * SCIPprofileGetTimepoints (SCIP_PROFILE *profile)
 
int * SCIPprofileGetLoads (SCIP_PROFILE *profile)
 
int SCIPprofileGetTime (SCIP_PROFILE *profile, int pos)
 
int SCIPprofileGetLoad (SCIP_PROFILE *profile, int pos)
 
SCIP_Bool SCIPprofileFindLeft (SCIP_PROFILE *profile, int timepoint, int *pos)
 
SCIP_RETCODE SCIPprofileInsertCore (SCIP_PROFILE *profile, int left, int right, int height, int *pos, SCIP_Bool *infeasible)
 
SCIP_RETCODE SCIPprofileDeleteCore (SCIP_PROFILE *profile, int left, int right, int height)
 
int SCIPprofileGetEarliestFeasibleStart (SCIP_PROFILE *profile, int est, int lst, int duration, int height, SCIP_Bool *infeasible)
 
int SCIPprofileGetLatestFeasibleStart (SCIP_PROFILE *profile, int lb, int ub, int duration, int height, SCIP_Bool *infeasible)
 

Function Documentation

SCIP_RETCODE SCIPprofileCreate ( SCIP_PROFILE **  profile,
int  capacity 
)

creates resource profile

Parameters
profilepointer to store the resource profile
capacityresource capacity
void SCIPprofileFree ( SCIP_PROFILE **  profile)

frees given resource profile

Parameters
profilepointer to the resource profile
void SCIPprofilePrint ( SCIP_PROFILE profile,
SCIP_MESSAGEHDLR messagehdlr,
FILE *  file 
)

output of the given resource profile

Parameters
profileresource profile to output
messagehdlrmessage handler
fileoutput file (or NULL for standard output)
int SCIPprofileGetCapacity ( SCIP_PROFILE profile)

returns the capacity of the resource profile

Parameters
profileresource profile to use
int SCIPprofileGetNTimepoints ( SCIP_PROFILE profile)

returns the number time points of the resource profile

Parameters
profileresource profile to use
int* SCIPprofileGetTimepoints ( SCIP_PROFILE profile)

returns the time points of the resource profile

Parameters
profileresource profile to use
int* SCIPprofileGetLoads ( SCIP_PROFILE profile)

returns the loads of the resource profile

Parameters
profileresource profile to use
int SCIPprofileGetTime ( SCIP_PROFILE profile,
int  pos 
)

returns the time point for given position of the resource profile

Parameters
profileresource profile to use
posposition
int SCIPprofileGetLoad ( SCIP_PROFILE profile,
int  pos 
)

returns the loads of the resource profile at the given position

Parameters
profileresource profile
posposition
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
profileresource profile to search
timepointtime point to search for
pospointer to store the position
SCIP_RETCODE SCIPprofileInsertCore ( SCIP_PROFILE profile,
int  left,
int  right,
int  height,
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
profileresource profile to use
leftleft side of the core
rightright side of the core
heightheight of the core
pospointer to store the first position were it gets infeasible
infeasiblepointer to store if the core does not fit due to capacity
SCIP_RETCODE SCIPprofileDeleteCore ( SCIP_PROFILE profile,
int  left,
int  right,
int  height 
)

subtracts the height from the resource profile during core time

Parameters
profileresource profile to use
leftleft side of the core
rightright side of the core
heightheight of the core
int SCIPprofileGetEarliestFeasibleStart ( SCIP_PROFILE profile,
int  est,
int  lst,
int  duration,
int  height,
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)

Parameters
profileresource profile to use
estearliest starting time of the given core
lstlatest starting time of the given core
durationduration of the core
heightheight of the core
infeasiblepointer store if the corer cannot be inserted
int SCIPprofileGetLatestFeasibleStart ( SCIP_PROFILE profile,
int  lb,
int  ub,
int  duration,
int  height,
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)

Parameters
profileresource profile to use
lbearliest possible start point
ublatest possible start point
durationduration of the core
heightheight of the core
infeasiblepointer store if the core cannot be inserted