Interface ShipmentOrBuilder

All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
All Known Implementing Classes:
Shipment, Shipment.Builder

@Generated public interface ShipmentOrBuilder extends com.google.protobuf.MessageOrBuilder
  • Method Details

    • getPickupsList

      List<Shipment.VisitRequest> getPickupsList()
       Set of pickup alternatives associated to the shipment. If not specified,
       the vehicle only needs to visit a location corresponding to the deliveries.
       
      repeated .google.cloud.optimization.v1.Shipment.VisitRequest pickups = 1;
    • getPickups

      Shipment.VisitRequest getPickups(int index)
       Set of pickup alternatives associated to the shipment. If not specified,
       the vehicle only needs to visit a location corresponding to the deliveries.
       
      repeated .google.cloud.optimization.v1.Shipment.VisitRequest pickups = 1;
    • getPickupsCount

      int getPickupsCount()
       Set of pickup alternatives associated to the shipment. If not specified,
       the vehicle only needs to visit a location corresponding to the deliveries.
       
      repeated .google.cloud.optimization.v1.Shipment.VisitRequest pickups = 1;
    • getPickupsOrBuilderList

      List<? extends Shipment.VisitRequestOrBuilder> getPickupsOrBuilderList()
       Set of pickup alternatives associated to the shipment. If not specified,
       the vehicle only needs to visit a location corresponding to the deliveries.
       
      repeated .google.cloud.optimization.v1.Shipment.VisitRequest pickups = 1;
    • getPickupsOrBuilder

      Shipment.VisitRequestOrBuilder getPickupsOrBuilder(int index)
       Set of pickup alternatives associated to the shipment. If not specified,
       the vehicle only needs to visit a location corresponding to the deliveries.
       
      repeated .google.cloud.optimization.v1.Shipment.VisitRequest pickups = 1;
    • getDeliveriesList

      List<Shipment.VisitRequest> getDeliveriesList()
       Set of delivery alternatives associated to the shipment. If not specified,
       the vehicle only needs to visit a location corresponding to the pickups.
       
      repeated .google.cloud.optimization.v1.Shipment.VisitRequest deliveries = 2;
    • getDeliveries

      Shipment.VisitRequest getDeliveries(int index)
       Set of delivery alternatives associated to the shipment. If not specified,
       the vehicle only needs to visit a location corresponding to the pickups.
       
      repeated .google.cloud.optimization.v1.Shipment.VisitRequest deliveries = 2;
    • getDeliveriesCount

      int getDeliveriesCount()
       Set of delivery alternatives associated to the shipment. If not specified,
       the vehicle only needs to visit a location corresponding to the pickups.
       
      repeated .google.cloud.optimization.v1.Shipment.VisitRequest deliveries = 2;
    • getDeliveriesOrBuilderList

      List<? extends Shipment.VisitRequestOrBuilder> getDeliveriesOrBuilderList()
       Set of delivery alternatives associated to the shipment. If not specified,
       the vehicle only needs to visit a location corresponding to the pickups.
       
      repeated .google.cloud.optimization.v1.Shipment.VisitRequest deliveries = 2;
    • getDeliveriesOrBuilder

      Shipment.VisitRequestOrBuilder getDeliveriesOrBuilder(int index)
       Set of delivery alternatives associated to the shipment. If not specified,
       the vehicle only needs to visit a location corresponding to the pickups.
       
      repeated .google.cloud.optimization.v1.Shipment.VisitRequest deliveries = 2;
    • getLoadDemandsCount

      int getLoadDemandsCount()
       Load demands of the shipment (for example weight, volume, number of
       pallets etc). The keys in the map should be identifiers describing the type
       of the corresponding load, ideally also including the units.
       For example: "weight_kg", "volume_gallons", "pallet_count", etc.
       If a given key does not appear in the map, the corresponding load is
       considered as null.
       
      map<string, .google.cloud.optimization.v1.Shipment.Load> load_demands = 14;
    • containsLoadDemands

      boolean containsLoadDemands(String key)
       Load demands of the shipment (for example weight, volume, number of
       pallets etc). The keys in the map should be identifiers describing the type
       of the corresponding load, ideally also including the units.
       For example: "weight_kg", "volume_gallons", "pallet_count", etc.
       If a given key does not appear in the map, the corresponding load is
       considered as null.
       
      map<string, .google.cloud.optimization.v1.Shipment.Load> load_demands = 14;
    • getLoadDemands

      @Deprecated Map<String,Shipment.Load> getLoadDemands()
      Deprecated.
      Use getLoadDemandsMap() instead.
    • getLoadDemandsMap

      Map<String,Shipment.Load> getLoadDemandsMap()
       Load demands of the shipment (for example weight, volume, number of
       pallets etc). The keys in the map should be identifiers describing the type
       of the corresponding load, ideally also including the units.
       For example: "weight_kg", "volume_gallons", "pallet_count", etc.
       If a given key does not appear in the map, the corresponding load is
       considered as null.
       
      map<string, .google.cloud.optimization.v1.Shipment.Load> load_demands = 14;
    • getLoadDemandsOrDefault

      Shipment.Load getLoadDemandsOrDefault(String key, Shipment.Load defaultValue)
       Load demands of the shipment (for example weight, volume, number of
       pallets etc). The keys in the map should be identifiers describing the type
       of the corresponding load, ideally also including the units.
       For example: "weight_kg", "volume_gallons", "pallet_count", etc.
       If a given key does not appear in the map, the corresponding load is
       considered as null.
       
      map<string, .google.cloud.optimization.v1.Shipment.Load> load_demands = 14;
    • getLoadDemandsOrThrow

      Shipment.Load getLoadDemandsOrThrow(String key)
       Load demands of the shipment (for example weight, volume, number of
       pallets etc). The keys in the map should be identifiers describing the type
       of the corresponding load, ideally also including the units.
       For example: "weight_kg", "volume_gallons", "pallet_count", etc.
       If a given key does not appear in the map, the corresponding load is
       considered as null.
       
      map<string, .google.cloud.optimization.v1.Shipment.Load> load_demands = 14;
    • hasPenaltyCost

      boolean hasPenaltyCost()
       If the shipment is not completed, this penalty is added to the overall
       cost of the routes. A shipment is considered completed if one of its pickup
       and delivery alternatives is visited. The cost may be expressed in the
       same unit used for all other cost-related fields in the model and must be
       positive.
      
       *IMPORTANT*: If this penalty is not specified, it is considered infinite,
       i.e. the shipment must be completed.
       
      optional double penalty_cost = 4;
      Returns:
      Whether the penaltyCost field is set.
    • getPenaltyCost

      double getPenaltyCost()
       If the shipment is not completed, this penalty is added to the overall
       cost of the routes. A shipment is considered completed if one of its pickup
       and delivery alternatives is visited. The cost may be expressed in the
       same unit used for all other cost-related fields in the model and must be
       positive.
      
       *IMPORTANT*: If this penalty is not specified, it is considered infinite,
       i.e. the shipment must be completed.
       
      optional double penalty_cost = 4;
      Returns:
      The penaltyCost.
    • getAllowedVehicleIndicesList

      List<Integer> getAllowedVehicleIndicesList()
       The set of vehicles that may perform this shipment. If empty, all vehicles
       may perform it. Vehicles are given by their index in the `ShipmentModel`'s
       `vehicles` list.
       
      repeated int32 allowed_vehicle_indices = 5;
      Returns:
      A list containing the allowedVehicleIndices.
    • getAllowedVehicleIndicesCount

      int getAllowedVehicleIndicesCount()
       The set of vehicles that may perform this shipment. If empty, all vehicles
       may perform it. Vehicles are given by their index in the `ShipmentModel`'s
       `vehicles` list.
       
      repeated int32 allowed_vehicle_indices = 5;
      Returns:
      The count of allowedVehicleIndices.
    • getAllowedVehicleIndices

      int getAllowedVehicleIndices(int index)
       The set of vehicles that may perform this shipment. If empty, all vehicles
       may perform it. Vehicles are given by their index in the `ShipmentModel`'s
       `vehicles` list.
       
      repeated int32 allowed_vehicle_indices = 5;
      Parameters:
      index - The index of the element to return.
      Returns:
      The allowedVehicleIndices at the given index.
    • getCostsPerVehicleList

      List<Double> getCostsPerVehicleList()
       Specifies the cost that is incurred when this shipment is delivered by each
       vehicle. If specified, it must have EITHER:
      
       * the same number of elements as `costs_per_vehicle_indices`.
       `costs_per_vehicle[i]` corresponds to vehicle
       `costs_per_vehicle_indices[i]` of the model.
       * the same number of elements as there are vehicles in the model. The
       i-th element corresponds to vehicle #i of the model.
      
       These costs must be in the same unit as `penalty_cost` and must not be
       negative. Leave this field empty, if there are no such costs.
       
      repeated double costs_per_vehicle = 6;
      Returns:
      A list containing the costsPerVehicle.
    • getCostsPerVehicleCount

      int getCostsPerVehicleCount()
       Specifies the cost that is incurred when this shipment is delivered by each
       vehicle. If specified, it must have EITHER:
      
       * the same number of elements as `costs_per_vehicle_indices`.
       `costs_per_vehicle[i]` corresponds to vehicle
       `costs_per_vehicle_indices[i]` of the model.
       * the same number of elements as there are vehicles in the model. The
       i-th element corresponds to vehicle #i of the model.
      
       These costs must be in the same unit as `penalty_cost` and must not be
       negative. Leave this field empty, if there are no such costs.
       
      repeated double costs_per_vehicle = 6;
      Returns:
      The count of costsPerVehicle.
    • getCostsPerVehicle

      double getCostsPerVehicle(int index)
       Specifies the cost that is incurred when this shipment is delivered by each
       vehicle. If specified, it must have EITHER:
      
       * the same number of elements as `costs_per_vehicle_indices`.
       `costs_per_vehicle[i]` corresponds to vehicle
       `costs_per_vehicle_indices[i]` of the model.
       * the same number of elements as there are vehicles in the model. The
       i-th element corresponds to vehicle #i of the model.
      
       These costs must be in the same unit as `penalty_cost` and must not be
       negative. Leave this field empty, if there are no such costs.
       
      repeated double costs_per_vehicle = 6;
      Parameters:
      index - The index of the element to return.
      Returns:
      The costsPerVehicle at the given index.
    • getCostsPerVehicleIndicesList

      List<Integer> getCostsPerVehicleIndicesList()
       Indices of the vehicles to which `costs_per_vehicle` applies. If non-empty,
       it must have the same number of elements as `costs_per_vehicle`. A vehicle
       index may not be specified more than once. If a vehicle is excluded from
       `costs_per_vehicle_indices`, its cost is zero.
       
      repeated int32 costs_per_vehicle_indices = 7;
      Returns:
      A list containing the costsPerVehicleIndices.
    • getCostsPerVehicleIndicesCount

      int getCostsPerVehicleIndicesCount()
       Indices of the vehicles to which `costs_per_vehicle` applies. If non-empty,
       it must have the same number of elements as `costs_per_vehicle`. A vehicle
       index may not be specified more than once. If a vehicle is excluded from
       `costs_per_vehicle_indices`, its cost is zero.
       
      repeated int32 costs_per_vehicle_indices = 7;
      Returns:
      The count of costsPerVehicleIndices.
    • getCostsPerVehicleIndices

      int getCostsPerVehicleIndices(int index)
       Indices of the vehicles to which `costs_per_vehicle` applies. If non-empty,
       it must have the same number of elements as `costs_per_vehicle`. A vehicle
       index may not be specified more than once. If a vehicle is excluded from
       `costs_per_vehicle_indices`, its cost is zero.
       
      repeated int32 costs_per_vehicle_indices = 7;
      Parameters:
      index - The index of the element to return.
      Returns:
      The costsPerVehicleIndices at the given index.
    • hasPickupToDeliveryRelativeDetourLimit

      boolean hasPickupToDeliveryRelativeDetourLimit()
       Specifies the maximum relative detour time compared to the shortest path
       from pickup to delivery. If specified, it must be nonnegative, and the
       shipment must contain at least a pickup and a delivery.
      
       For example, let t be the shortest time taken to go from the selected
       pickup alternative directly to the selected delivery alternative. Then
       setting `pickup_to_delivery_relative_detour_limit` enforces:
      
       ```
       start_time(delivery) - start_time(pickup) <=
       std::ceil(t * (1.0 + pickup_to_delivery_relative_detour_limit))
       ```
      
       If both relative and absolute limits are specified on the same shipment,
       the more constraining limit is used for each possible pickup/delivery pair.
       As of 2017/10, detours are only supported when travel durations do not
       depend on vehicles.
       
      optional double pickup_to_delivery_relative_detour_limit = 8;
      Returns:
      Whether the pickupToDeliveryRelativeDetourLimit field is set.
    • getPickupToDeliveryRelativeDetourLimit

      double getPickupToDeliveryRelativeDetourLimit()
       Specifies the maximum relative detour time compared to the shortest path
       from pickup to delivery. If specified, it must be nonnegative, and the
       shipment must contain at least a pickup and a delivery.
      
       For example, let t be the shortest time taken to go from the selected
       pickup alternative directly to the selected delivery alternative. Then
       setting `pickup_to_delivery_relative_detour_limit` enforces:
      
       ```
       start_time(delivery) - start_time(pickup) <=
       std::ceil(t * (1.0 + pickup_to_delivery_relative_detour_limit))
       ```
      
       If both relative and absolute limits are specified on the same shipment,
       the more constraining limit is used for each possible pickup/delivery pair.
       As of 2017/10, detours are only supported when travel durations do not
       depend on vehicles.
       
      optional double pickup_to_delivery_relative_detour_limit = 8;
      Returns:
      The pickupToDeliveryRelativeDetourLimit.
    • hasPickupToDeliveryAbsoluteDetourLimit

      boolean hasPickupToDeliveryAbsoluteDetourLimit()
       Specifies the maximum absolute detour time compared to the shortest path
       from pickup to delivery. If specified, it must be nonnegative, and the
       shipment must contain at least a pickup and a delivery.
      
       For example, let t be the shortest time taken to go from the selected
       pickup alternative directly to the selected delivery alternative. Then
       setting `pickup_to_delivery_absolute_detour_limit` enforces:
      
       ```
       start_time(delivery) - start_time(pickup) <=
       t + pickup_to_delivery_absolute_detour_limit
       ```
      
       If both relative and absolute limits are specified on the same shipment,
       the more constraining limit is used for each possible pickup/delivery pair.
       As of 2017/10, detours are only supported when travel durations do not
       depend on vehicles.
       
      .google.protobuf.Duration pickup_to_delivery_absolute_detour_limit = 9;
      Returns:
      Whether the pickupToDeliveryAbsoluteDetourLimit field is set.
    • getPickupToDeliveryAbsoluteDetourLimit

      com.google.protobuf.Duration getPickupToDeliveryAbsoluteDetourLimit()
       Specifies the maximum absolute detour time compared to the shortest path
       from pickup to delivery. If specified, it must be nonnegative, and the
       shipment must contain at least a pickup and a delivery.
      
       For example, let t be the shortest time taken to go from the selected
       pickup alternative directly to the selected delivery alternative. Then
       setting `pickup_to_delivery_absolute_detour_limit` enforces:
      
       ```
       start_time(delivery) - start_time(pickup) <=
       t + pickup_to_delivery_absolute_detour_limit
       ```
      
       If both relative and absolute limits are specified on the same shipment,
       the more constraining limit is used for each possible pickup/delivery pair.
       As of 2017/10, detours are only supported when travel durations do not
       depend on vehicles.
       
      .google.protobuf.Duration pickup_to_delivery_absolute_detour_limit = 9;
      Returns:
      The pickupToDeliveryAbsoluteDetourLimit.
    • getPickupToDeliveryAbsoluteDetourLimitOrBuilder

      com.google.protobuf.DurationOrBuilder getPickupToDeliveryAbsoluteDetourLimitOrBuilder()
       Specifies the maximum absolute detour time compared to the shortest path
       from pickup to delivery. If specified, it must be nonnegative, and the
       shipment must contain at least a pickup and a delivery.
      
       For example, let t be the shortest time taken to go from the selected
       pickup alternative directly to the selected delivery alternative. Then
       setting `pickup_to_delivery_absolute_detour_limit` enforces:
      
       ```
       start_time(delivery) - start_time(pickup) <=
       t + pickup_to_delivery_absolute_detour_limit
       ```
      
       If both relative and absolute limits are specified on the same shipment,
       the more constraining limit is used for each possible pickup/delivery pair.
       As of 2017/10, detours are only supported when travel durations do not
       depend on vehicles.
       
      .google.protobuf.Duration pickup_to_delivery_absolute_detour_limit = 9;
    • hasPickupToDeliveryTimeLimit

      boolean hasPickupToDeliveryTimeLimit()
       Specifies the maximum duration from start of pickup to start of delivery of
       a shipment. If specified, it must be nonnegative, and the shipment must
       contain at least a pickup and a delivery. This does not depend on which
       alternatives are selected for pickup and delivery, nor on vehicle speed.
       This can be specified alongside maximum detour constraints: the solution
       will respect both specifications.
       
      .google.protobuf.Duration pickup_to_delivery_time_limit = 10;
      Returns:
      Whether the pickupToDeliveryTimeLimit field is set.
    • getPickupToDeliveryTimeLimit

      com.google.protobuf.Duration getPickupToDeliveryTimeLimit()
       Specifies the maximum duration from start of pickup to start of delivery of
       a shipment. If specified, it must be nonnegative, and the shipment must
       contain at least a pickup and a delivery. This does not depend on which
       alternatives are selected for pickup and delivery, nor on vehicle speed.
       This can be specified alongside maximum detour constraints: the solution
       will respect both specifications.
       
      .google.protobuf.Duration pickup_to_delivery_time_limit = 10;
      Returns:
      The pickupToDeliveryTimeLimit.
    • getPickupToDeliveryTimeLimitOrBuilder

      com.google.protobuf.DurationOrBuilder getPickupToDeliveryTimeLimitOrBuilder()
       Specifies the maximum duration from start of pickup to start of delivery of
       a shipment. If specified, it must be nonnegative, and the shipment must
       contain at least a pickup and a delivery. This does not depend on which
       alternatives are selected for pickup and delivery, nor on vehicle speed.
       This can be specified alongside maximum detour constraints: the solution
       will respect both specifications.
       
      .google.protobuf.Duration pickup_to_delivery_time_limit = 10;
    • getShipmentType

      String getShipmentType()
       Non-empty string specifying a "type" for this shipment.
       This feature can be used to define incompatibilities or requirements
       between `shipment_types` (see `shipment_type_incompatibilities` and
       `shipment_type_requirements` in `ShipmentModel`).
      
       Differs from `visit_types` which is specified for a single visit: All
       pickup/deliveries belonging to the same shipment share the same
       `shipment_type`.
       
      string shipment_type = 11;
      Returns:
      The shipmentType.
    • getShipmentTypeBytes

      com.google.protobuf.ByteString getShipmentTypeBytes()
       Non-empty string specifying a "type" for this shipment.
       This feature can be used to define incompatibilities or requirements
       between `shipment_types` (see `shipment_type_incompatibilities` and
       `shipment_type_requirements` in `ShipmentModel`).
      
       Differs from `visit_types` which is specified for a single visit: All
       pickup/deliveries belonging to the same shipment share the same
       `shipment_type`.
       
      string shipment_type = 11;
      Returns:
      The bytes for shipmentType.
    • getLabel

      String getLabel()
       Specifies a label for this shipment. This label is reported in the response
       in the `shipment_label` of the corresponding
       [ShipmentRoute.Visit][google.cloud.optimization.v1.ShipmentRoute.Visit].
       
      string label = 12;
      Returns:
      The label.
    • getLabelBytes

      com.google.protobuf.ByteString getLabelBytes()
       Specifies a label for this shipment. This label is reported in the response
       in the `shipment_label` of the corresponding
       [ShipmentRoute.Visit][google.cloud.optimization.v1.ShipmentRoute.Visit].
       
      string label = 12;
      Returns:
      The bytes for label.
    • getIgnore

      boolean getIgnore()
       If true, skip this shipment, but don't apply a `penalty_cost`.
      
       Ignoring a shipment results in a validation error when there are any
       `shipment_type_requirements` in the model.
      
       Ignoring a shipment that is performed in `injected_first_solution_routes`
       or `injected_solution_constraint` is permitted; the solver removes the
       related pickup/delivery visits from the performing route.
       `precedence_rules` that reference ignored shipments will also be ignored.
       
      bool ignore = 13;
      Returns:
      The ignore.
    • getDemandsList

      @Deprecated List<CapacityQuantity> getDemandsList()
      Deprecated.
       Deprecated: Use
       [Shipment.load_demands][google.cloud.optimization.v1.Shipment.load_demands]
       instead.
       
      repeated .google.cloud.optimization.v1.CapacityQuantity demands = 3 [deprecated = true];
    • getDemands

      @Deprecated CapacityQuantity getDemands(int index)
      Deprecated.
       Deprecated: Use
       [Shipment.load_demands][google.cloud.optimization.v1.Shipment.load_demands]
       instead.
       
      repeated .google.cloud.optimization.v1.CapacityQuantity demands = 3 [deprecated = true];
    • getDemandsCount

      @Deprecated int getDemandsCount()
      Deprecated.
       Deprecated: Use
       [Shipment.load_demands][google.cloud.optimization.v1.Shipment.load_demands]
       instead.
       
      repeated .google.cloud.optimization.v1.CapacityQuantity demands = 3 [deprecated = true];
    • getDemandsOrBuilderList

      @Deprecated List<? extends CapacityQuantityOrBuilder> getDemandsOrBuilderList()
      Deprecated.
       Deprecated: Use
       [Shipment.load_demands][google.cloud.optimization.v1.Shipment.load_demands]
       instead.
       
      repeated .google.cloud.optimization.v1.CapacityQuantity demands = 3 [deprecated = true];
    • getDemandsOrBuilder

      @Deprecated CapacityQuantityOrBuilder getDemandsOrBuilder(int index)
      Deprecated.
       Deprecated: Use
       [Shipment.load_demands][google.cloud.optimization.v1.Shipment.load_demands]
       instead.
       
      repeated .google.cloud.optimization.v1.CapacityQuantity demands = 3 [deprecated = true];