All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cons_cumulative.h
Go to the documentation of this file.
24 * - a set of jobs, represented by their integer start time variables \f$S_j\f$, their array of processing times \f$p_j\f$ and of
28 * The cumulative constraint ensures that for each point in time \f$t\f$ \f$\sum_{j: S_j \leq t < S_j + p_j} d_j \leq C\f$ holds.
43 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
59 * @note If the problem was solved to the earliest start times (ests) and latest start times (lsts) array contain the
60 * solution values; If the problem was not solved these two arrays contain the global bounds at the time the sub
65 * - objvals : array of objective coefficients for each job (linear objective function), or NULL if none
73 * - maxnodes : maximum number of branch-and-bound nodes to solve the single cumulative constraint (-1: no limit)
86 #define SCIP_DECL_SOLVECUMULATIVE(x) SCIP_RETCODE x (int njobs, SCIP_Real* ests, SCIP_Real* lsts, SCIP_Real* objvals, \
104 SCIP_VAR** vars, /**< array of integer variable which corresponds to starting times for a job */
128 SCIP_Bool stickingatnode /**< should the constraint always be kept at the node where it was added, even
134 * in its most basic version, i. e., all constraint flags are set to their basic value as explained for the
135 * method SCIPcreateConsCumulative(); all flags can be set via SCIPsetConsFLAGNAME-methods in scip.h
139 * @note the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons()
147 SCIP_VAR** vars, /**< array of integer variable which corresponds to starting times for a job */
219 /** check for the given starting time variables with their demands and durations if the cumulative conditions for the
227 SCIP_VAR** vars, /**< array of integer variable which corresponds to starting times for a job */
251 /** searches for a time point within the cumulative condition were the cumulative condition can be split */
256 SCIP_VAR** vars, /**< array of integer variable which corresponds to starting times for a job */
288 SCIP_VAR** vars, /**< array of integer variable which corresponds to starting times for a job */
297 SCIP_Bool* explanation, /**< bool array which marks the variable which are part of the explanation if a cutoff was detected, or NULL */
315 SCIP_BDCHGIDX* bdchgidx, /**< the index of the bound change, representing the point of time where the change took place */
317 SCIP_Bool* explanation, /**< bool array which marks the variable which are part of the explanation if a cutoff was detected, or NULL */
318 SCIP_RESULT* result /**< pointer to store the result of the propagation conflict resolving call */
332 SCIP_DECL_SOLVECUMULATIVE((*solveCumulative)) /**< method to use an individual cumulative condition */
337 * @note If the problem was solved to the earliest start times (ests) and latest start times (lsts) array contain the
338 * solution values; If the problem was not solved these two arrays contain the global bounds at the time the sub
347 SCIP_Real* objvals, /**< array of objective coefficients for each job (linear objective function), or NULL if none */
355 SCIP_Longint maxnodes, /**< maximum number of branch-and-bound nodes to solve the single cumulative constraint (-1: no limit) */
362 /** creates the worst case resource profile, that is, all jobs are inserted with the earliest start and latest
370 SCIP_VAR** vars, /**< array of integer variable which corresponds to starting times for a job */
375 /** computes w.r.t. the given worst case resource profile the first time point where the given capacity can be violated */
|