Interface ShipmentOrBuilder

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

    public interface ShipmentOrBuilder
    extends com.google.protobuf.MessageOrBuilder
    • Method Detail

      • 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;
      • 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];