[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-08-06 UTC."],[[["\u003cp\u003eThe C++ reference for 'cumulative' focuses on scheduling constraints related to resource capacity and demand.\u003c/p\u003e\n"],["\u003cp\u003eThree primary functions are outlined: \u003ccode\u003eCumulative\u003c/code\u003e, \u003ccode\u003eCumulativeTimeDecomposition\u003c/code\u003e, and \u003ccode\u003eCumulativeUsingReservoir\u003c/code\u003e, each accepting interval variables, demands, and capacity as arguments.\u003c/p\u003e\n"],["\u003cp\u003eThese functions assist in modeling and solving scheduling problems where tasks compete for a limited resource over time.\u003c/p\u003e\n"]]],["The C++ code defines three functions related to cumulative scheduling constraints: `Cumulative`, `CumulativeTimeDecomposition`, and `CumulativeUsingReservoir`. Each function takes a vector of `IntervalVariable`s, a vector of `AffineExpression`s representing demands, and an `AffineExpression` for capacity. An optional `SchedulingConstraintHelper` pointer is also accepted. These functions return a `std::function\u003cvoid(Model*)\u003e`, designed to be used to build constraint within a scheduling `Model`.\n"],null,["# cumulative\n\nC++ Reference: cumulative\n=========================\n\n\nNote: This documentation is automatically generated.\n\n| Function | Type | Arguments | Comments |\n|------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------|----------|\n| [`Cumulative`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/cumulative.h#L45) | Return type: `std::function\u003cvoid(Model*)\u003e ` Arguments: ` const std::vector\u003cIntervalVariable\u003e& vars, const std::vector\u003cAffineExpression\u003e& demands, AffineExpression capacity, SchedulingConstraintHelper* helper = nullptr` \u003cbr /\u003e |\n| [`CumulativeTimeDecomposition`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/cumulative.h#L55) | Return type: `std::function\u003cvoid(Model*)\u003e ` Arguments: ` const std::vector\u003cIntervalVariable\u003e& vars, const std::vector\u003cAffineExpression\u003e& demands, AffineExpression capacity, SchedulingConstraintHelper* helper = nullptr` \u003cbr /\u003e |\n| [`CumulativeUsingReservoir`](https://github.com/google/or-tools/blob/v9.4/ortools/sat/cumulative.h#L61) | Return type: `std::function\u003cvoid(Model*)\u003e ` Arguments: ` const std::vector\u003cIntervalVariable\u003e& vars, const std::vector\u003cAffineExpression\u003e& demands, AffineExpression capacity, SchedulingConstraintHelper* helper = nullptr` \u003cbr /\u003e |"]]