Tightens the cumul bounds starting from the current cumul var min/max,
and propagating the precedences resulting from the next_accessor, and the
dimension's precedence rules.
Returns false iff the precedences are infeasible with the given routes.
Otherwise, the user can call CumulMin() and CumulMax() to retrieve the new
bounds of an index.
[[["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."],[[["`CumulBoundsPropagator` is a utility class within the core optimizer used for tightening cumulative bounds."],["It leverages model precedences to refine the range of possible cumulative values."],["The class provides methods like `CumulMin` and `CumulMax` to access the adjusted bounds."],["`PropagateCumulBounds` is a key function that performs the bound tightening based on precedences and returns a feasibility status."],["Users can obtain the associated `RoutingDimension` via the `dimension` method."]]],["The `CumulBoundsPropagator` class, used within the core optimizer, tightens cumul bounds based on model precedences. Key actions involve `PropagateCumulBounds`, which refines bounds using a `next_accessor` function and dimension precedence rules. It returns `false` if precedences are infeasible. `CumulMin` and `CumulMax` methods then provide the updated bounds for a given index. The class also provides methods to get the associated dimension and the constructor that receives the dimension as parameter.\n"]]