![]() |
Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
|
A ResourceGroup defines a set of available Resources with attributes on one or multiple dimensions. For every ResourceGroup in the model, each (used) vehicle in the solution which requires a resource (see NotifyVehicleRequiresResource()) from this group must be assigned to exactly 1 resource, and each resource can in turn be assigned to at most 1 vehicle requiring it. This vehicle-to-resource assignment will apply the corresponding Attributes to the dimensions affected by the resource group. NOTE: As of 2021/07, each ResourceGroup can only affect a single RoutingDimension at a time, i.e. all Resources in a group must apply attributes to the same single dimension.
#include <routing.h>
Classes | |
| class | Attributes |
| Attributes for a dimension. More... | |
| class | Resource |
| A Resource sets attributes (costs/constraints) for a set of dimensions. More... | |
Public Member Functions | |
| int | AddResource (Attributes attributes, const RoutingDimension *dimension) |
| void | NotifyVehicleRequiresAResource (int vehicle) |
| const std::vector< int > & | GetVehiclesRequiringAResource () const |
| bool | VehicleRequiresAResource (int vehicle) const |
| void | SetAllowedResourcesForVehicle (int vehicle, const std::vector< int > &allowed_resource_indices) |
| void | ClearAllowedResourcesForVehicle (int vehicle) |
| const absl::flat_hash_set< int > & | GetResourcesMarkedAllowedForVehicle (int vehicle) const |
| bool | IsResourceAllowedForVehicle (int resource, int vehicle) const |
| const std::vector< Resource > & | GetResources () const |
| const Resource & | GetResource (int resource_index) const |
| const absl::flat_hash_set< DimensionIndex > & | GetAffectedDimensionIndices () const |
| int | GetResourceClassesCount () const |
| const std::vector< int > & | GetResourceIndicesInClass (ResourceClassIndex resource_class) const |
| const util_intops::StrongVector< ResourceClassIndex, std::vector< int > > & | GetResourceIndicesPerClass () const |
| ResourceClassIndex | GetResourceClassIndex (int resource_index) const |
| const Attributes & | GetDimensionAttributesForClass (DimensionIndex dimension_index, ResourceClassIndex rc_index) const |
| int | Size () const |
| int | Index () const |
Friends | |
| class | RoutingModel |
| int operations_research::ResourceGroup::AddResource | ( | Attributes | attributes, |
| const RoutingDimension * | dimension ) |
Adds a Resource with the given attributes for the corresponding dimension. Returns the index of the added resource in resources_.
Definition at line 1155 of file routing.cc.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void operations_research::ResourceGroup::NotifyVehicleRequiresAResource | ( | int | vehicle | ) |
Notifies that the given vehicle index requires a resource from this group if the vehicle is used (i.e. if its route is non-empty or vehicle_used_when_empty_[vehicle] is true).
Definition at line 1168 of file routing.cc.
|
inline |
|
inline |
|
inline |