Class RoutingModel.ResourceGroup

java.lang.Object
com.google.ortools.constraintsolver.RoutingModel.ResourceGroup
Enclosing class:
RoutingModel

public static class RoutingModel.ResourceGroup extends Object
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.
  • Field Details

    • swigCMemOwn

      protected transient boolean swigCMemOwn
  • Constructor Details

    • ResourceGroup

      public ResourceGroup(long cPtr, boolean cMemoryOwn)
  • Method Details

    • getCPtr

      public static long getCPtr(RoutingModel.ResourceGroup obj)
    • swigRelease

      public static long swigRelease(RoutingModel.ResourceGroup obj)
    • finalize

      protected void finalize()
      Overrides:
      finalize in class Object
    • delete

      public void delete()
    • AddResource

      public int AddResource(RoutingModel.ResourceGroup.Attributes attributes, RoutingDimension dimension)
      Adds a Resource with the given attributes for the corresponding
      dimension. Returns the index of the added resource in resources_.
    • NotifyVehicleRequiresAResource

      public void 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).
    • GetVehiclesRequiringAResource

      public int[] GetVehiclesRequiringAResource()
    • VehicleRequiresAResource

      public boolean VehicleRequiresAResource(int vehicle)
    • SetAllowedResourcesForVehicle

      public void SetAllowedResourcesForVehicle(int vehicle, int[] allowed_resource_indices)
    • ClearAllowedResourcesForVehicle

      public void ClearAllowedResourcesForVehicle(int vehicle)
    • GetResourcesMarkedAllowedForVehicle

      public SWIGTYPE_p_absl__flat_hash_setT_int_t GetResourcesMarkedAllowedForVehicle(int vehicle)
    • IsResourceAllowedForVehicle

      public boolean IsResourceAllowedForVehicle(int resource, int vehicle)
    • GetResources

    • GetResource

      public RoutingModel.ResourceGroup.Resource GetResource(int resource_index)
    • GetAffectedDimensionIndices

      public SWIGTYPE_p_absl__flat_hash_setT_RoutingDimensionIndex_t GetAffectedDimensionIndices()
    • GetResourceClassesCount

      public int GetResourceClassesCount()
    • GetResourceIndicesInClass

      public int[] GetResourceIndicesInClass(int resource_class)
    • GetResourceIndicesPerClass

    • GetResourceClassIndex

      public int GetResourceClassIndex(int resource_index)
    • Size

      public int Size()
    • Index

      public int Index()