C++ Reference: class SchedulingDemandHelper
Note: This documentation is automatically generated.
Helper class for cumulative constraint to wrap demands and expose concept like energy.In a cumulative constraint, an interval always has a size and a demand, but it can also have a set of "selector" literals each associated with a fixed size / fixed demands. This allows more precise energy estimation.
TODO(user): Cache energy min and reason for the non O(1) cases.
Method | |
---|---|
AddDemandMinReason | Return type: Arguments: |
AddEnergyMinInWindowReason | Return type: Arguments: |
AddEnergyMinReason | Return type: Arguments: |
CacheAllEnergyValues | Return type: The "energy" is usually size * demand, but in some non-conventional usage it might have a more complex formula. In all case, the energy is assumed to be only consumed during the interval duration. IMPORTANT: One must call CacheAllEnergyValues() for the values to be updated. TODO(user): this is error prone, maybe we should revisit. But if there is many alternatives, we don't want to rescan the list more than a linear number of time per propagation. TODO(user): Add more complex EnergyMinBefore(time) once we also support expressing the interval as a set of alternatives. |
DecreaseEnergyMax | Return type: Arguments: Important: This might not do anything depending on the representation of the energy we have. |
DemandIsFixed | Return type: Arguments: |
DemandMax | Return type: Arguments: |
DemandMin | Return type: Arguments: When defined, the interval will consume this much demand during its whole duration. Some propagator only relies on the "energy" and thus never uses this. |
Demands | Return type: |
EnergyIsQuadratic | Return type: Arguments: |
EnergyMax | Return type: Arguments: |
EnergyMin | Return type: Arguments: |
EnergyMinInWindow | Return type: Arguments: Returns the energy min in [start, end]. Note(user): These functions are not in O(1) if the decomposition is used, so we have to be careful in not calling them too often. |
OverrideDecomposedEnergies | Return type: Arguments: |
OverrideLinearizedEnergies | Return type: Arguments: Visible for testing. |
SchedulingDemandHelper | Arguments: Hack: this can be called with and empty demand vector as long as OverrideEnergies() is called to define the energies. |