Interface ShipmentModelOrBuilder

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

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

    • getShipmentsList

      List<Shipment> getShipmentsList()
       Set of shipments which must be performed in the model.
       
      repeated .google.cloud.optimization.v1.Shipment shipments = 1;
    • getShipments

      Shipment getShipments(int index)
       Set of shipments which must be performed in the model.
       
      repeated .google.cloud.optimization.v1.Shipment shipments = 1;
    • getShipmentsCount

      int getShipmentsCount()
       Set of shipments which must be performed in the model.
       
      repeated .google.cloud.optimization.v1.Shipment shipments = 1;
    • getShipmentsOrBuilderList

      List<? extends ShipmentOrBuilder> getShipmentsOrBuilderList()
       Set of shipments which must be performed in the model.
       
      repeated .google.cloud.optimization.v1.Shipment shipments = 1;
    • getShipmentsOrBuilder

      ShipmentOrBuilder getShipmentsOrBuilder(int index)
       Set of shipments which must be performed in the model.
       
      repeated .google.cloud.optimization.v1.Shipment shipments = 1;
    • getVehiclesList

      List<Vehicle> getVehiclesList()
       Set of vehicles which can be used to perform visits.
       
      repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
    • getVehicles

      Vehicle getVehicles(int index)
       Set of vehicles which can be used to perform visits.
       
      repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
    • getVehiclesCount

      int getVehiclesCount()
       Set of vehicles which can be used to perform visits.
       
      repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
    • getVehiclesOrBuilderList

      List<? extends VehicleOrBuilder> getVehiclesOrBuilderList()
       Set of vehicles which can be used to perform visits.
       
      repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
    • getVehiclesOrBuilder

      VehicleOrBuilder getVehiclesOrBuilder(int index)
       Set of vehicles which can be used to perform visits.
       
      repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
    • hasMaxActiveVehicles

      boolean hasMaxActiveVehicles()
       Constrains the maximum number of active vehicles. A vehicle is active if
       its route performs at least one shipment. This can be used to limit the
       number of routes in the case where there are fewer drivers than
       vehicles and that the fleet of vehicles is heterogeneous. The optimization
       will then select the best subset of vehicles to use.
       Must be strictly positive.
       
      optional int32 max_active_vehicles = 4;
      Returns:
      Whether the maxActiveVehicles field is set.
    • getMaxActiveVehicles

      int getMaxActiveVehicles()
       Constrains the maximum number of active vehicles. A vehicle is active if
       its route performs at least one shipment. This can be used to limit the
       number of routes in the case where there are fewer drivers than
       vehicles and that the fleet of vehicles is heterogeneous. The optimization
       will then select the best subset of vehicles to use.
       Must be strictly positive.
       
      optional int32 max_active_vehicles = 4;
      Returns:
      The maxActiveVehicles.
    • hasGlobalStartTime

      boolean hasGlobalStartTime()
       Global start and end time of the model: no times outside of this range
       can be considered valid.
      
       The model's time span must be less than a year, i.e. the `global_end_time`
       and the `global_start_time` must be within 31536000 seconds of each other.
      
       When using `cost_per_*hour` fields, you might want to set this window to a
       smaller interval to increase performance (eg. if you model a single day,
       you should set the global time limits to that day).
       If unset, 00:00:00 UTC, January 1, 1970 (i.e. seconds: 0, nanos: 0) is used
       as default.
       
      .google.protobuf.Timestamp global_start_time = 5;
      Returns:
      Whether the globalStartTime field is set.
    • getGlobalStartTime

      com.google.protobuf.Timestamp getGlobalStartTime()
       Global start and end time of the model: no times outside of this range
       can be considered valid.
      
       The model's time span must be less than a year, i.e. the `global_end_time`
       and the `global_start_time` must be within 31536000 seconds of each other.
      
       When using `cost_per_*hour` fields, you might want to set this window to a
       smaller interval to increase performance (eg. if you model a single day,
       you should set the global time limits to that day).
       If unset, 00:00:00 UTC, January 1, 1970 (i.e. seconds: 0, nanos: 0) is used
       as default.
       
      .google.protobuf.Timestamp global_start_time = 5;
      Returns:
      The globalStartTime.
    • getGlobalStartTimeOrBuilder

      com.google.protobuf.TimestampOrBuilder getGlobalStartTimeOrBuilder()
       Global start and end time of the model: no times outside of this range
       can be considered valid.
      
       The model's time span must be less than a year, i.e. the `global_end_time`
       and the `global_start_time` must be within 31536000 seconds of each other.
      
       When using `cost_per_*hour` fields, you might want to set this window to a
       smaller interval to increase performance (eg. if you model a single day,
       you should set the global time limits to that day).
       If unset, 00:00:00 UTC, January 1, 1970 (i.e. seconds: 0, nanos: 0) is used
       as default.
       
      .google.protobuf.Timestamp global_start_time = 5;
    • hasGlobalEndTime

      boolean hasGlobalEndTime()
       If unset, 00:00:00 UTC, January 1, 1971 (i.e. seconds: 31536000, nanos: 0)
       is used as default.
       
      .google.protobuf.Timestamp global_end_time = 6;
      Returns:
      Whether the globalEndTime field is set.
    • getGlobalEndTime

      com.google.protobuf.Timestamp getGlobalEndTime()
       If unset, 00:00:00 UTC, January 1, 1971 (i.e. seconds: 31536000, nanos: 0)
       is used as default.
       
      .google.protobuf.Timestamp global_end_time = 6;
      Returns:
      The globalEndTime.
    • getGlobalEndTimeOrBuilder

      com.google.protobuf.TimestampOrBuilder getGlobalEndTimeOrBuilder()
       If unset, 00:00:00 UTC, January 1, 1971 (i.e. seconds: 31536000, nanos: 0)
       is used as default.
       
      .google.protobuf.Timestamp global_end_time = 6;
    • getGlobalDurationCostPerHour

      double getGlobalDurationCostPerHour()
       The "global duration" of the overall plan is the difference between the
       earliest effective start time and the latest effective end time of
       all vehicles. Users can assign a cost per hour to that quantity to try
       and optimize for earliest job completion, for example. This cost must be in
       the same unit as
       [Shipment.penalty_cost][google.cloud.optimization.v1.Shipment.penalty_cost].
       
      double global_duration_cost_per_hour = 7;
      Returns:
      The globalDurationCostPerHour.
    • getDurationDistanceMatricesList

      List<ShipmentModel.DurationDistanceMatrix> getDurationDistanceMatricesList()
       Specifies duration and distance matrices used in the model. If this field
       is empty, Google Maps or geodesic distances will be used instead, depending
       on the value of the `use_geodesic_distances` field. If it is not empty,
       `use_geodesic_distances` cannot be true and neither
       `duration_distance_matrix_src_tags` nor `duration_distance_matrix_dst_tags`
       can be empty.
      
       Usage examples:
      
       * There are two locations: locA and locB.
       * 1 vehicle starting its route at locA and ending it at locA.
       * 1 pickup visit request at locB.
      
       ```
       model {
       vehicles { start_tags: "locA"  end_tags: "locA" }
       shipments { pickups { tags: "locB" } }
       duration_distance_matrix_src_tags: "locA"
       duration_distance_matrix_src_tags: "locB"
       duration_distance_matrix_dst_tags: "locA"
       duration_distance_matrix_dst_tags: "locB"
       duration_distance_matrices {
       rows {  # from: locA
       durations { seconds: 0 }   meters: 0    # to: locA
       durations { seconds: 100 } meters: 1000 # to: locB
       }
       rows {  # from: locB
       durations { seconds: 102 } meters: 990 # to: locA
       durations { seconds: 0 }   meters: 0   # to: locB
       }
       }
       }
       ```
      
      
       * There are three locations: locA, locB and locC.
       * 1 vehicle starting its route at locA and ending it at locB, using
       matrix "fast".
       * 1 vehicle starting its route at locB and ending it at locB, using
       matrix "slow".
       * 1 vehicle starting its route at locB and ending it at locB, using
       matrix "fast".
       * 1 pickup visit request at locC.
      
       ```
       model {
       vehicles { start_tags: "locA" end_tags: "locB" start_tags: "fast" }
       vehicles { start_tags: "locB" end_tags: "locB" start_tags: "slow" }
       vehicles { start_tags: "locB" end_tags: "locB" start_tags: "fast" }
       shipments { pickups { tags: "locC" } }
       duration_distance_matrix_src_tags: "locA"
       duration_distance_matrix_src_tags: "locB"
       duration_distance_matrix_src_tags: "locC"
       duration_distance_matrix_dst_tags: "locB"
       duration_distance_matrix_dst_tags: "locC"
       duration_distance_matrices {
       vehicle_start_tag: "fast"
       rows {  # from: locA
       durations { seconds: 1000 } meters: 2000 # to: locB
       durations { seconds: 600 }  meters: 1000 # to: locC
       }
       rows {  # from: locB
       durations { seconds: 0 }   meters: 0    # to: locB
       durations { seconds: 700 } meters: 1200 # to: locC
       }
       rows {  # from: locC
       durations { seconds: 702 } meters: 1190 # to: locB
       durations { seconds: 0 }   meters: 0    # to: locC
       }
       }
       duration_distance_matrices {
       vehicle_start_tag: "slow"
       rows {  # from: locA
       durations { seconds: 1800 } meters: 2001 # to: locB
       durations { seconds: 900 }  meters: 1002 # to: locC
       }
       rows {  # from: locB
       durations { seconds: 0 }    meters: 0    # to: locB
       durations { seconds: 1000 } meters: 1202 # to: locC
       }
       rows {  # from: locC
       durations { seconds: 1001 } meters: 1195 # to: locB
       durations { seconds: 0 }    meters: 0    # to: locC
       }
       }
       }
       ```
       
      repeated .google.cloud.optimization.v1.ShipmentModel.DurationDistanceMatrix duration_distance_matrices = 8;
    • getDurationDistanceMatrices

      ShipmentModel.DurationDistanceMatrix getDurationDistanceMatrices(int index)
       Specifies duration and distance matrices used in the model. If this field
       is empty, Google Maps or geodesic distances will be used instead, depending
       on the value of the `use_geodesic_distances` field. If it is not empty,
       `use_geodesic_distances` cannot be true and neither
       `duration_distance_matrix_src_tags` nor `duration_distance_matrix_dst_tags`
       can be empty.
      
       Usage examples:
      
       * There are two locations: locA and locB.
       * 1 vehicle starting its route at locA and ending it at locA.
       * 1 pickup visit request at locB.
      
       ```
       model {
       vehicles { start_tags: "locA"  end_tags: "locA" }
       shipments { pickups { tags: "locB" } }
       duration_distance_matrix_src_tags: "locA"
       duration_distance_matrix_src_tags: "locB"
       duration_distance_matrix_dst_tags: "locA"
       duration_distance_matrix_dst_tags: "locB"
       duration_distance_matrices {
       rows {  # from: locA
       durations { seconds: 0 }   meters: 0    # to: locA
       durations { seconds: 100 } meters: 1000 # to: locB
       }
       rows {  # from: locB
       durations { seconds: 102 } meters: 990 # to: locA
       durations { seconds: 0 }   meters: 0   # to: locB
       }
       }
       }
       ```
      
      
       * There are three locations: locA, locB and locC.
       * 1 vehicle starting its route at locA and ending it at locB, using
       matrix "fast".
       * 1 vehicle starting its route at locB and ending it at locB, using
       matrix "slow".
       * 1 vehicle starting its route at locB and ending it at locB, using
       matrix "fast".
       * 1 pickup visit request at locC.
      
       ```
       model {
       vehicles { start_tags: "locA" end_tags: "locB" start_tags: "fast" }
       vehicles { start_tags: "locB" end_tags: "locB" start_tags: "slow" }
       vehicles { start_tags: "locB" end_tags: "locB" start_tags: "fast" }
       shipments { pickups { tags: "locC" } }
       duration_distance_matrix_src_tags: "locA"
       duration_distance_matrix_src_tags: "locB"
       duration_distance_matrix_src_tags: "locC"
       duration_distance_matrix_dst_tags: "locB"
       duration_distance_matrix_dst_tags: "locC"
       duration_distance_matrices {
       vehicle_start_tag: "fast"
       rows {  # from: locA
       durations { seconds: 1000 } meters: 2000 # to: locB
       durations { seconds: 600 }  meters: 1000 # to: locC
       }
       rows {  # from: locB
       durations { seconds: 0 }   meters: 0    # to: locB
       durations { seconds: 700 } meters: 1200 # to: locC
       }
       rows {  # from: locC
       durations { seconds: 702 } meters: 1190 # to: locB
       durations { seconds: 0 }   meters: 0    # to: locC
       }
       }
       duration_distance_matrices {
       vehicle_start_tag: "slow"
       rows {  # from: locA
       durations { seconds: 1800 } meters: 2001 # to: locB
       durations { seconds: 900 }  meters: 1002 # to: locC
       }
       rows {  # from: locB
       durations { seconds: 0 }    meters: 0    # to: locB
       durations { seconds: 1000 } meters: 1202 # to: locC
       }
       rows {  # from: locC
       durations { seconds: 1001 } meters: 1195 # to: locB
       durations { seconds: 0 }    meters: 0    # to: locC
       }
       }
       }
       ```
       
      repeated .google.cloud.optimization.v1.ShipmentModel.DurationDistanceMatrix duration_distance_matrices = 8;
    • getDurationDistanceMatricesCount

      int getDurationDistanceMatricesCount()
       Specifies duration and distance matrices used in the model. If this field
       is empty, Google Maps or geodesic distances will be used instead, depending
       on the value of the `use_geodesic_distances` field. If it is not empty,
       `use_geodesic_distances` cannot be true and neither
       `duration_distance_matrix_src_tags` nor `duration_distance_matrix_dst_tags`
       can be empty.
      
       Usage examples:
      
       * There are two locations: locA and locB.
       * 1 vehicle starting its route at locA and ending it at locA.
       * 1 pickup visit request at locB.
      
       ```
       model {
       vehicles { start_tags: "locA"  end_tags: "locA" }
       shipments { pickups { tags: "locB" } }
       duration_distance_matrix_src_tags: "locA"
       duration_distance_matrix_src_tags: "locB"
       duration_distance_matrix_dst_tags: "locA"
       duration_distance_matrix_dst_tags: "locB"
       duration_distance_matrices {
       rows {  # from: locA
       durations { seconds: 0 }   meters: 0    # to: locA
       durations { seconds: 100 } meters: 1000 # to: locB
       }
       rows {  # from: locB
       durations { seconds: 102 } meters: 990 # to: locA
       durations { seconds: 0 }   meters: 0   # to: locB
       }
       }
       }
       ```
      
      
       * There are three locations: locA, locB and locC.
       * 1 vehicle starting its route at locA and ending it at locB, using
       matrix "fast".
       * 1 vehicle starting its route at locB and ending it at locB, using
       matrix "slow".
       * 1 vehicle starting its route at locB and ending it at locB, using
       matrix "fast".
       * 1 pickup visit request at locC.
      
       ```
       model {
       vehicles { start_tags: "locA" end_tags: "locB" start_tags: "fast" }
       vehicles { start_tags: "locB" end_tags: "locB" start_tags: "slow" }
       vehicles { start_tags: "locB" end_tags: "locB" start_tags: "fast" }
       shipments { pickups { tags: "locC" } }
       duration_distance_matrix_src_tags: "locA"
       duration_distance_matrix_src_tags: "locB"
       duration_distance_matrix_src_tags: "locC"
       duration_distance_matrix_dst_tags: "locB"
       duration_distance_matrix_dst_tags: "locC"
       duration_distance_matrices {
       vehicle_start_tag: "fast"
       rows {  # from: locA
       durations { seconds: 1000 } meters: 2000 # to: locB
       durations { seconds: 600 }  meters: 1000 # to: locC
       }
       rows {  # from: locB
       durations { seconds: 0 }   meters: 0    # to: locB
       durations { seconds: 700 } meters: 1200 # to: locC
       }
       rows {  # from: locC
       durations { seconds: 702 } meters: 1190 # to: locB
       durations { seconds: 0 }   meters: 0    # to: locC
       }
       }
       duration_distance_matrices {
       vehicle_start_tag: "slow"
       rows {  # from: locA
       durations { seconds: 1800 } meters: 2001 # to: locB
       durations { seconds: 900 }  meters: 1002 # to: locC
       }
       rows {  # from: locB
       durations { seconds: 0 }    meters: 0    # to: locB
       durations { seconds: 1000 } meters: 1202 # to: locC
       }
       rows {  # from: locC
       durations { seconds: 1001 } meters: 1195 # to: locB
       durations { seconds: 0 }    meters: 0    # to: locC
       }
       }
       }
       ```
       
      repeated .google.cloud.optimization.v1.ShipmentModel.DurationDistanceMatrix duration_distance_matrices = 8;
    • getDurationDistanceMatricesOrBuilderList

      List<? extends ShipmentModel.DurationDistanceMatrixOrBuilder> getDurationDistanceMatricesOrBuilderList()
       Specifies duration and distance matrices used in the model. If this field
       is empty, Google Maps or geodesic distances will be used instead, depending
       on the value of the `use_geodesic_distances` field. If it is not empty,
       `use_geodesic_distances` cannot be true and neither
       `duration_distance_matrix_src_tags` nor `duration_distance_matrix_dst_tags`
       can be empty.
      
       Usage examples:
      
       * There are two locations: locA and locB.
       * 1 vehicle starting its route at locA and ending it at locA.
       * 1 pickup visit request at locB.
      
       ```
       model {
       vehicles { start_tags: "locA"  end_tags: "locA" }
       shipments { pickups { tags: "locB" } }
       duration_distance_matrix_src_tags: "locA"
       duration_distance_matrix_src_tags: "locB"
       duration_distance_matrix_dst_tags: "locA"
       duration_distance_matrix_dst_tags: "locB"
       duration_distance_matrices {
       rows {  # from: locA
       durations { seconds: 0 }   meters: 0    # to: locA
       durations { seconds: 100 } meters: 1000 # to: locB
       }
       rows {  # from: locB
       durations { seconds: 102 } meters: 990 # to: locA
       durations { seconds: 0 }   meters: 0   # to: locB
       }
       }
       }
       ```
      
      
       * There are three locations: locA, locB and locC.
       * 1 vehicle starting its route at locA and ending it at locB, using
       matrix "fast".
       * 1 vehicle starting its route at locB and ending it at locB, using
       matrix "slow".
       * 1 vehicle starting its route at locB and ending it at locB, using
       matrix "fast".
       * 1 pickup visit request at locC.
      
       ```
       model {
       vehicles { start_tags: "locA" end_tags: "locB" start_tags: "fast" }
       vehicles { start_tags: "locB" end_tags: "locB" start_tags: "slow" }
       vehicles { start_tags: "locB" end_tags: "locB" start_tags: "fast" }
       shipments { pickups { tags: "locC" } }
       duration_distance_matrix_src_tags: "locA"
       duration_distance_matrix_src_tags: "locB"
       duration_distance_matrix_src_tags: "locC"
       duration_distance_matrix_dst_tags: "locB"
       duration_distance_matrix_dst_tags: "locC"
       duration_distance_matrices {
       vehicle_start_tag: "fast"
       rows {  # from: locA
       durations { seconds: 1000 } meters: 2000 # to: locB
       durations { seconds: 600 }  meters: 1000 # to: locC
       }
       rows {  # from: locB
       durations { seconds: 0 }   meters: 0    # to: locB
       durations { seconds: 700 } meters: 1200 # to: locC
       }
       rows {  # from: locC
       durations { seconds: 702 } meters: 1190 # to: locB
       durations { seconds: 0 }   meters: 0    # to: locC
       }
       }
       duration_distance_matrices {
       vehicle_start_tag: "slow"
       rows {  # from: locA
       durations { seconds: 1800 } meters: 2001 # to: locB
       durations { seconds: 900 }  meters: 1002 # to: locC
       }
       rows {  # from: locB
       durations { seconds: 0 }    meters: 0    # to: locB
       durations { seconds: 1000 } meters: 1202 # to: locC
       }
       rows {  # from: locC
       durations { seconds: 1001 } meters: 1195 # to: locB
       durations { seconds: 0 }    meters: 0    # to: locC
       }
       }
       }
       ```
       
      repeated .google.cloud.optimization.v1.ShipmentModel.DurationDistanceMatrix duration_distance_matrices = 8;
    • getDurationDistanceMatricesOrBuilder

      ShipmentModel.DurationDistanceMatrixOrBuilder getDurationDistanceMatricesOrBuilder(int index)
       Specifies duration and distance matrices used in the model. If this field
       is empty, Google Maps or geodesic distances will be used instead, depending
       on the value of the `use_geodesic_distances` field. If it is not empty,
       `use_geodesic_distances` cannot be true and neither
       `duration_distance_matrix_src_tags` nor `duration_distance_matrix_dst_tags`
       can be empty.
      
       Usage examples:
      
       * There are two locations: locA and locB.
       * 1 vehicle starting its route at locA and ending it at locA.
       * 1 pickup visit request at locB.
      
       ```
       model {
       vehicles { start_tags: "locA"  end_tags: "locA" }
       shipments { pickups { tags: "locB" } }
       duration_distance_matrix_src_tags: "locA"
       duration_distance_matrix_src_tags: "locB"
       duration_distance_matrix_dst_tags: "locA"
       duration_distance_matrix_dst_tags: "locB"
       duration_distance_matrices {
       rows {  # from: locA
       durations { seconds: 0 }   meters: 0    # to: locA
       durations { seconds: 100 } meters: 1000 # to: locB
       }
       rows {  # from: locB
       durations { seconds: 102 } meters: 990 # to: locA
       durations { seconds: 0 }   meters: 0   # to: locB
       }
       }
       }
       ```
      
      
       * There are three locations: locA, locB and locC.
       * 1 vehicle starting its route at locA and ending it at locB, using
       matrix "fast".
       * 1 vehicle starting its route at locB and ending it at locB, using
       matrix "slow".
       * 1 vehicle starting its route at locB and ending it at locB, using
       matrix "fast".
       * 1 pickup visit request at locC.
      
       ```
       model {
       vehicles { start_tags: "locA" end_tags: "locB" start_tags: "fast" }
       vehicles { start_tags: "locB" end_tags: "locB" start_tags: "slow" }
       vehicles { start_tags: "locB" end_tags: "locB" start_tags: "fast" }
       shipments { pickups { tags: "locC" } }
       duration_distance_matrix_src_tags: "locA"
       duration_distance_matrix_src_tags: "locB"
       duration_distance_matrix_src_tags: "locC"
       duration_distance_matrix_dst_tags: "locB"
       duration_distance_matrix_dst_tags: "locC"
       duration_distance_matrices {
       vehicle_start_tag: "fast"
       rows {  # from: locA
       durations { seconds: 1000 } meters: 2000 # to: locB
       durations { seconds: 600 }  meters: 1000 # to: locC
       }
       rows {  # from: locB
       durations { seconds: 0 }   meters: 0    # to: locB
       durations { seconds: 700 } meters: 1200 # to: locC
       }
       rows {  # from: locC
       durations { seconds: 702 } meters: 1190 # to: locB
       durations { seconds: 0 }   meters: 0    # to: locC
       }
       }
       duration_distance_matrices {
       vehicle_start_tag: "slow"
       rows {  # from: locA
       durations { seconds: 1800 } meters: 2001 # to: locB
       durations { seconds: 900 }  meters: 1002 # to: locC
       }
       rows {  # from: locB
       durations { seconds: 0 }    meters: 0    # to: locB
       durations { seconds: 1000 } meters: 1202 # to: locC
       }
       rows {  # from: locC
       durations { seconds: 1001 } meters: 1195 # to: locB
       durations { seconds: 0 }    meters: 0    # to: locC
       }
       }
       }
       ```
       
      repeated .google.cloud.optimization.v1.ShipmentModel.DurationDistanceMatrix duration_distance_matrices = 8;
    • getDurationDistanceMatrixSrcTagsList

      List<String> getDurationDistanceMatrixSrcTagsList()
       Tags defining the sources of the duration and distance matrices;
       `duration_distance_matrices(i).rows(j)` defines durations and distances
       from visits with tag `duration_distance_matrix_src_tags(j)` to other visits
       in matrix i.
      
       Tags correspond to
       [VisitRequest.tags][google.cloud.optimization.v1.Shipment.VisitRequest.tags]
       or [Vehicle.start_tags][google.cloud.optimization.v1.Vehicle.start_tags].
       A given `VisitRequest` or `Vehicle` must match exactly one tag in this
       field. Note that a `Vehicle`'s source, destination and matrix tags may be
       the same; similarly a `VisitRequest`'s source and destination tags may be
       the same. All tags must be different and cannot be empty strings. If this
       field is not empty, then `duration_distance_matrices` must not be empty.
       
      repeated string duration_distance_matrix_src_tags = 9;
      Returns:
      A list containing the durationDistanceMatrixSrcTags.
    • getDurationDistanceMatrixSrcTagsCount

      int getDurationDistanceMatrixSrcTagsCount()
       Tags defining the sources of the duration and distance matrices;
       `duration_distance_matrices(i).rows(j)` defines durations and distances
       from visits with tag `duration_distance_matrix_src_tags(j)` to other visits
       in matrix i.
      
       Tags correspond to
       [VisitRequest.tags][google.cloud.optimization.v1.Shipment.VisitRequest.tags]
       or [Vehicle.start_tags][google.cloud.optimization.v1.Vehicle.start_tags].
       A given `VisitRequest` or `Vehicle` must match exactly one tag in this
       field. Note that a `Vehicle`'s source, destination and matrix tags may be
       the same; similarly a `VisitRequest`'s source and destination tags may be
       the same. All tags must be different and cannot be empty strings. If this
       field is not empty, then `duration_distance_matrices` must not be empty.
       
      repeated string duration_distance_matrix_src_tags = 9;
      Returns:
      The count of durationDistanceMatrixSrcTags.
    • getDurationDistanceMatrixSrcTags

      String getDurationDistanceMatrixSrcTags(int index)
       Tags defining the sources of the duration and distance matrices;
       `duration_distance_matrices(i).rows(j)` defines durations and distances
       from visits with tag `duration_distance_matrix_src_tags(j)` to other visits
       in matrix i.
      
       Tags correspond to
       [VisitRequest.tags][google.cloud.optimization.v1.Shipment.VisitRequest.tags]
       or [Vehicle.start_tags][google.cloud.optimization.v1.Vehicle.start_tags].
       A given `VisitRequest` or `Vehicle` must match exactly one tag in this
       field. Note that a `Vehicle`'s source, destination and matrix tags may be
       the same; similarly a `VisitRequest`'s source and destination tags may be
       the same. All tags must be different and cannot be empty strings. If this
       field is not empty, then `duration_distance_matrices` must not be empty.
       
      repeated string duration_distance_matrix_src_tags = 9;
      Parameters:
      index - The index of the element to return.
      Returns:
      The durationDistanceMatrixSrcTags at the given index.
    • getDurationDistanceMatrixSrcTagsBytes

      com.google.protobuf.ByteString getDurationDistanceMatrixSrcTagsBytes(int index)
       Tags defining the sources of the duration and distance matrices;
       `duration_distance_matrices(i).rows(j)` defines durations and distances
       from visits with tag `duration_distance_matrix_src_tags(j)` to other visits
       in matrix i.
      
       Tags correspond to
       [VisitRequest.tags][google.cloud.optimization.v1.Shipment.VisitRequest.tags]
       or [Vehicle.start_tags][google.cloud.optimization.v1.Vehicle.start_tags].
       A given `VisitRequest` or `Vehicle` must match exactly one tag in this
       field. Note that a `Vehicle`'s source, destination and matrix tags may be
       the same; similarly a `VisitRequest`'s source and destination tags may be
       the same. All tags must be different and cannot be empty strings. If this
       field is not empty, then `duration_distance_matrices` must not be empty.
       
      repeated string duration_distance_matrix_src_tags = 9;
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the durationDistanceMatrixSrcTags at the given index.
    • getDurationDistanceMatrixDstTagsList

      List<String> getDurationDistanceMatrixDstTagsList()
       Tags defining the destinations of the duration and distance matrices;
       `duration_distance_matrices(i).rows(j).durations(k)` (resp.
       `duration_distance_matrices(i).rows(j).meters(k))` defines the duration
       (resp. the distance) of the travel from visits with tag
       `duration_distance_matrix_src_tags(j)` to visits with tag
       `duration_distance_matrix_dst_tags(k)` in matrix i.
      
       Tags correspond to
       [VisitRequest.tags][google.cloud.optimization.v1.Shipment.VisitRequest.tags]
       or [Vehicle.start_tags][google.cloud.optimization.v1.Vehicle.start_tags].
       A given `VisitRequest` or `Vehicle` must match exactly one tag in this
       field. Note that a `Vehicle`'s source, destination and matrix tags may be
       the same; similarly a `VisitRequest`'s source and destination tags may be
       the same. All tags must be different and cannot be empty strings. If this
       field is not empty, then `duration_distance_matrices` must not be empty.
       
      repeated string duration_distance_matrix_dst_tags = 10;
      Returns:
      A list containing the durationDistanceMatrixDstTags.
    • getDurationDistanceMatrixDstTagsCount

      int getDurationDistanceMatrixDstTagsCount()
       Tags defining the destinations of the duration and distance matrices;
       `duration_distance_matrices(i).rows(j).durations(k)` (resp.
       `duration_distance_matrices(i).rows(j).meters(k))` defines the duration
       (resp. the distance) of the travel from visits with tag
       `duration_distance_matrix_src_tags(j)` to visits with tag
       `duration_distance_matrix_dst_tags(k)` in matrix i.
      
       Tags correspond to
       [VisitRequest.tags][google.cloud.optimization.v1.Shipment.VisitRequest.tags]
       or [Vehicle.start_tags][google.cloud.optimization.v1.Vehicle.start_tags].
       A given `VisitRequest` or `Vehicle` must match exactly one tag in this
       field. Note that a `Vehicle`'s source, destination and matrix tags may be
       the same; similarly a `VisitRequest`'s source and destination tags may be
       the same. All tags must be different and cannot be empty strings. If this
       field is not empty, then `duration_distance_matrices` must not be empty.
       
      repeated string duration_distance_matrix_dst_tags = 10;
      Returns:
      The count of durationDistanceMatrixDstTags.
    • getDurationDistanceMatrixDstTags

      String getDurationDistanceMatrixDstTags(int index)
       Tags defining the destinations of the duration and distance matrices;
       `duration_distance_matrices(i).rows(j).durations(k)` (resp.
       `duration_distance_matrices(i).rows(j).meters(k))` defines the duration
       (resp. the distance) of the travel from visits with tag
       `duration_distance_matrix_src_tags(j)` to visits with tag
       `duration_distance_matrix_dst_tags(k)` in matrix i.
      
       Tags correspond to
       [VisitRequest.tags][google.cloud.optimization.v1.Shipment.VisitRequest.tags]
       or [Vehicle.start_tags][google.cloud.optimization.v1.Vehicle.start_tags].
       A given `VisitRequest` or `Vehicle` must match exactly one tag in this
       field. Note that a `Vehicle`'s source, destination and matrix tags may be
       the same; similarly a `VisitRequest`'s source and destination tags may be
       the same. All tags must be different and cannot be empty strings. If this
       field is not empty, then `duration_distance_matrices` must not be empty.
       
      repeated string duration_distance_matrix_dst_tags = 10;
      Parameters:
      index - The index of the element to return.
      Returns:
      The durationDistanceMatrixDstTags at the given index.
    • getDurationDistanceMatrixDstTagsBytes

      com.google.protobuf.ByteString getDurationDistanceMatrixDstTagsBytes(int index)
       Tags defining the destinations of the duration and distance matrices;
       `duration_distance_matrices(i).rows(j).durations(k)` (resp.
       `duration_distance_matrices(i).rows(j).meters(k))` defines the duration
       (resp. the distance) of the travel from visits with tag
       `duration_distance_matrix_src_tags(j)` to visits with tag
       `duration_distance_matrix_dst_tags(k)` in matrix i.
      
       Tags correspond to
       [VisitRequest.tags][google.cloud.optimization.v1.Shipment.VisitRequest.tags]
       or [Vehicle.start_tags][google.cloud.optimization.v1.Vehicle.start_tags].
       A given `VisitRequest` or `Vehicle` must match exactly one tag in this
       field. Note that a `Vehicle`'s source, destination and matrix tags may be
       the same; similarly a `VisitRequest`'s source and destination tags may be
       the same. All tags must be different and cannot be empty strings. If this
       field is not empty, then `duration_distance_matrices` must not be empty.
       
      repeated string duration_distance_matrix_dst_tags = 10;
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the durationDistanceMatrixDstTags at the given index.
    • getTransitionAttributesList

      List<TransitionAttributes> getTransitionAttributesList()
       Transition attributes added to the model.
       
      repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
    • getTransitionAttributes

      TransitionAttributes getTransitionAttributes(int index)
       Transition attributes added to the model.
       
      repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
    • getTransitionAttributesCount

      int getTransitionAttributesCount()
       Transition attributes added to the model.
       
      repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
    • getTransitionAttributesOrBuilderList

      List<? extends TransitionAttributesOrBuilder> getTransitionAttributesOrBuilderList()
       Transition attributes added to the model.
       
      repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
    • getTransitionAttributesOrBuilder

      TransitionAttributesOrBuilder getTransitionAttributesOrBuilder(int index)
       Transition attributes added to the model.
       
      repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
    • getShipmentTypeIncompatibilitiesList

      List<ShipmentTypeIncompatibility> getShipmentTypeIncompatibilitiesList()
       Sets of incompatible shipment_types (see `ShipmentTypeIncompatibility`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
    • getShipmentTypeIncompatibilities

      ShipmentTypeIncompatibility getShipmentTypeIncompatibilities(int index)
       Sets of incompatible shipment_types (see `ShipmentTypeIncompatibility`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
    • getShipmentTypeIncompatibilitiesCount

      int getShipmentTypeIncompatibilitiesCount()
       Sets of incompatible shipment_types (see `ShipmentTypeIncompatibility`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
    • getShipmentTypeIncompatibilitiesOrBuilderList

      List<? extends ShipmentTypeIncompatibilityOrBuilder> getShipmentTypeIncompatibilitiesOrBuilderList()
       Sets of incompatible shipment_types (see `ShipmentTypeIncompatibility`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
    • getShipmentTypeIncompatibilitiesOrBuilder

      ShipmentTypeIncompatibilityOrBuilder getShipmentTypeIncompatibilitiesOrBuilder(int index)
       Sets of incompatible shipment_types (see `ShipmentTypeIncompatibility`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
    • getShipmentTypeRequirementsList

      List<ShipmentTypeRequirement> getShipmentTypeRequirementsList()
       Sets of `shipment_type` requirements (see `ShipmentTypeRequirement`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
    • getShipmentTypeRequirements

      ShipmentTypeRequirement getShipmentTypeRequirements(int index)
       Sets of `shipment_type` requirements (see `ShipmentTypeRequirement`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
    • getShipmentTypeRequirementsCount

      int getShipmentTypeRequirementsCount()
       Sets of `shipment_type` requirements (see `ShipmentTypeRequirement`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
    • getShipmentTypeRequirementsOrBuilderList

      List<? extends ShipmentTypeRequirementOrBuilder> getShipmentTypeRequirementsOrBuilderList()
       Sets of `shipment_type` requirements (see `ShipmentTypeRequirement`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
    • getShipmentTypeRequirementsOrBuilder

      ShipmentTypeRequirementOrBuilder getShipmentTypeRequirementsOrBuilder(int index)
       Sets of `shipment_type` requirements (see `ShipmentTypeRequirement`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
    • getPrecedenceRulesList

      List<ShipmentModel.PrecedenceRule> getPrecedenceRulesList()
       Set of precedence rules which must be enforced in the model.
       
      repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
    • getPrecedenceRules

      ShipmentModel.PrecedenceRule getPrecedenceRules(int index)
       Set of precedence rules which must be enforced in the model.
       
      repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
    • getPrecedenceRulesCount

      int getPrecedenceRulesCount()
       Set of precedence rules which must be enforced in the model.
       
      repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
    • getPrecedenceRulesOrBuilderList

      List<? extends ShipmentModel.PrecedenceRuleOrBuilder> getPrecedenceRulesOrBuilderList()
       Set of precedence rules which must be enforced in the model.
       
      repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
    • getPrecedenceRulesOrBuilder

      ShipmentModel.PrecedenceRuleOrBuilder getPrecedenceRulesOrBuilder(int index)
       Set of precedence rules which must be enforced in the model.
       
      repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
    • getBreakRulesList

      Deprecated.
       Deprecated: No longer used.
       Set of break rules used in the model.
       Each vehicle specifies the `BreakRule` that applies to it via the
       [Vehicle.break_rule_indices][google.cloud.optimization.v1.Vehicle.break_rule_indices]
       field (which must be a singleton).
       
      repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
    • getBreakRules

      @Deprecated ShipmentModel.BreakRule getBreakRules(int index)
      Deprecated.
       Deprecated: No longer used.
       Set of break rules used in the model.
       Each vehicle specifies the `BreakRule` that applies to it via the
       [Vehicle.break_rule_indices][google.cloud.optimization.v1.Vehicle.break_rule_indices]
       field (which must be a singleton).
       
      repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
    • getBreakRulesCount

      @Deprecated int getBreakRulesCount()
      Deprecated.
       Deprecated: No longer used.
       Set of break rules used in the model.
       Each vehicle specifies the `BreakRule` that applies to it via the
       [Vehicle.break_rule_indices][google.cloud.optimization.v1.Vehicle.break_rule_indices]
       field (which must be a singleton).
       
      repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
    • getBreakRulesOrBuilderList

      @Deprecated List<? extends ShipmentModel.BreakRuleOrBuilder> getBreakRulesOrBuilderList()
      Deprecated.
       Deprecated: No longer used.
       Set of break rules used in the model.
       Each vehicle specifies the `BreakRule` that applies to it via the
       [Vehicle.break_rule_indices][google.cloud.optimization.v1.Vehicle.break_rule_indices]
       field (which must be a singleton).
       
      repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
    • getBreakRulesOrBuilder

      @Deprecated ShipmentModel.BreakRuleOrBuilder getBreakRulesOrBuilder(int index)
      Deprecated.
       Deprecated: No longer used.
       Set of break rules used in the model.
       Each vehicle specifies the `BreakRule` that applies to it via the
       [Vehicle.break_rule_indices][google.cloud.optimization.v1.Vehicle.break_rule_indices]
       field (which must be a singleton).
       
      repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];