Stay organized with collections
Save and categorize content based on your preferences.
C++ Reference: class DimensionChecker
Note: This documentation is automatically generated.
This checker enforces dimension requirements.
A dimension requires that there is some valuation of
cumul and demand such that for all paths:
- cumul[A] is in interval node_capacity[A]
- if arc A -> B is on a path of path_class p,
then cumul[A] + demand[p](A, B) = cumul[B].
- if A is on a path of class p, then
cumul[A] must be inside interval path_capacity[path].
[[["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 DimensionChecker enforces constraints on cumulative values and demands along paths in a network.\u003c/p\u003e\n"],["\u003cp\u003eIt ensures that cumulative values at nodes are within specified capacity intervals for both nodes and paths.\u003c/p\u003e\n"],["\u003cp\u003eThe checker verifies feasibility based on changes in path states and demand, requiring specific conditions to be met for paths and nodes.\u003c/p\u003e\n"],["\u003cp\u003eIt provides methods to check feasibility and commit changes, interacting with the PathState object for constraint management.\u003c/p\u003e\n"]]],["The `DimensionChecker` class enforces dimension requirements based on `cumul` and `demand`. It ensures that for all paths, `cumul[A]` is within `node_capacity[A]`, and if arc `A -\u003e B` is on a path of class `p`, then `cumul[A] + demand[p](A, B) = cumul[B]`. `cumul[A]` must also be inside `path_capacity[path]`. The `Check` method verifies feasibility after changes, and `Commit` applies changes made to `PathState`. The constructor takes various capacity and demand parameters.\n"],null,["# DimensionChecker\n\nC++ Reference: class DimensionChecker\n=====================================\n\n\nNote: This documentation is automatically generated.\nThis checker enforces dimension requirements. A dimension requires that there is some valuation of cumul and demand such that for all paths: \n- cumul\\[A\\] is in interval node_capacity\\[A\\] \n- if arc A -\\\u003e B is on a path of path_class p, then cumul\\[A\\] + demand\\[p\\](A, B) = cumul\\[B\\]. \n- if A is on a path of class p, then cumul\\[A\\] must be inside interval path_capacity\\[path\\].\n\n| Method ||\n|-------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [`Check`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L3389) | Return type: `bool ` Given the change made in PathState, checks that the dimension constraint is still feasible. |\n| [`Commit`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L3393) | Return type: `void ` Commits to the changes made in PathState, must be called before PathState::Commit(). |\n| [`DimensionChecker`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L3380) | \u003cbr /\u003e Arguments: `const PathState* path_state, std::vector\u003cInterval\u003e path_capacity, std::vector\u003cint\u003e path_class, std::vector\u003cstd::function\u003cInterval(int64_t)\u003e\u003e min_max_demand_per_path_class, std::vector\u003cInterval\u003e node_capacity` \u003cbr /\u003e |"]]