Class ShipmentModel

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
com.google.cloud.optimization.v1.ShipmentModel
All Implemented Interfaces:
ShipmentModelOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

@Generated public final class ShipmentModel extends com.google.protobuf.GeneratedMessage implements ShipmentModelOrBuilder
 A shipment model contains a set of shipments which must be performed by a
 set of vehicles, while minimizing the overall cost, which is the sum of:

 * the cost of routing the vehicles (sum of cost per total time, cost per
 travel time, and fixed cost over all vehicles).
 * the unperformed shipment penalties.
 * the cost of the global duration of the shipments
 
Protobuf type google.cloud.optimization.v1.ShipmentModel
See Also:
  • Field Details

    • SHIPMENTS_FIELD_NUMBER

      public static final int SHIPMENTS_FIELD_NUMBER
      See Also:
    • VEHICLES_FIELD_NUMBER

      public static final int VEHICLES_FIELD_NUMBER
      See Also:
    • MAX_ACTIVE_VEHICLES_FIELD_NUMBER

      public static final int MAX_ACTIVE_VEHICLES_FIELD_NUMBER
      See Also:
    • GLOBAL_START_TIME_FIELD_NUMBER

      public static final int GLOBAL_START_TIME_FIELD_NUMBER
      See Also:
    • GLOBAL_END_TIME_FIELD_NUMBER

      public static final int GLOBAL_END_TIME_FIELD_NUMBER
      See Also:
    • GLOBAL_DURATION_COST_PER_HOUR_FIELD_NUMBER

      public static final int GLOBAL_DURATION_COST_PER_HOUR_FIELD_NUMBER
      See Also:
    • DURATION_DISTANCE_MATRICES_FIELD_NUMBER

      public static final int DURATION_DISTANCE_MATRICES_FIELD_NUMBER
      See Also:
    • DURATION_DISTANCE_MATRIX_SRC_TAGS_FIELD_NUMBER

      public static final int DURATION_DISTANCE_MATRIX_SRC_TAGS_FIELD_NUMBER
      See Also:
    • DURATION_DISTANCE_MATRIX_DST_TAGS_FIELD_NUMBER

      public static final int DURATION_DISTANCE_MATRIX_DST_TAGS_FIELD_NUMBER
      See Also:
    • TRANSITION_ATTRIBUTES_FIELD_NUMBER

      public static final int TRANSITION_ATTRIBUTES_FIELD_NUMBER
      See Also:
    • SHIPMENT_TYPE_INCOMPATIBILITIES_FIELD_NUMBER

      public static final int SHIPMENT_TYPE_INCOMPATIBILITIES_FIELD_NUMBER
      See Also:
    • SHIPMENT_TYPE_REQUIREMENTS_FIELD_NUMBER

      public static final int SHIPMENT_TYPE_REQUIREMENTS_FIELD_NUMBER
      See Also:
    • PRECEDENCE_RULES_FIELD_NUMBER

      public static final int PRECEDENCE_RULES_FIELD_NUMBER
      See Also:
    • BREAK_RULES_FIELD_NUMBER

      public static final int BREAK_RULES_FIELD_NUMBER
      See Also:
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • getShipmentsList

      public List<Shipment> getShipmentsList()
       Set of shipments which must be performed in the model.
       
      repeated .google.cloud.optimization.v1.Shipment shipments = 1;
      Specified by:
      getShipmentsList in interface ShipmentModelOrBuilder
    • getShipmentsOrBuilderList

      public List<? extends ShipmentOrBuilder> getShipmentsOrBuilderList()
       Set of shipments which must be performed in the model.
       
      repeated .google.cloud.optimization.v1.Shipment shipments = 1;
      Specified by:
      getShipmentsOrBuilderList in interface ShipmentModelOrBuilder
    • getShipmentsCount

      public int getShipmentsCount()
       Set of shipments which must be performed in the model.
       
      repeated .google.cloud.optimization.v1.Shipment shipments = 1;
      Specified by:
      getShipmentsCount in interface ShipmentModelOrBuilder
    • getShipments

      public Shipment getShipments(int index)
       Set of shipments which must be performed in the model.
       
      repeated .google.cloud.optimization.v1.Shipment shipments = 1;
      Specified by:
      getShipments in interface ShipmentModelOrBuilder
    • getShipmentsOrBuilder

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

      public List<Vehicle> getVehiclesList()
       Set of vehicles which can be used to perform visits.
       
      repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
      Specified by:
      getVehiclesList in interface ShipmentModelOrBuilder
    • getVehiclesOrBuilderList

      public List<? extends VehicleOrBuilder> getVehiclesOrBuilderList()
       Set of vehicles which can be used to perform visits.
       
      repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
      Specified by:
      getVehiclesOrBuilderList in interface ShipmentModelOrBuilder
    • getVehiclesCount

      public int getVehiclesCount()
       Set of vehicles which can be used to perform visits.
       
      repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
      Specified by:
      getVehiclesCount in interface ShipmentModelOrBuilder
    • getVehicles

      public Vehicle getVehicles(int index)
       Set of vehicles which can be used to perform visits.
       
      repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
      Specified by:
      getVehicles in interface ShipmentModelOrBuilder
    • getVehiclesOrBuilder

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

      public 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;
      Specified by:
      hasMaxActiveVehicles in interface ShipmentModelOrBuilder
      Returns:
      Whether the maxActiveVehicles field is set.
    • getMaxActiveVehicles

      public 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;
      Specified by:
      getMaxActiveVehicles in interface ShipmentModelOrBuilder
      Returns:
      The maxActiveVehicles.
    • hasGlobalStartTime

      public 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;
      Specified by:
      hasGlobalStartTime in interface ShipmentModelOrBuilder
      Returns:
      Whether the globalStartTime field is set.
    • getGlobalStartTime

      public 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;
      Specified by:
      getGlobalStartTime in interface ShipmentModelOrBuilder
      Returns:
      The globalStartTime.
    • getGlobalStartTimeOrBuilder

      public 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;
      Specified by:
      getGlobalStartTimeOrBuilder in interface ShipmentModelOrBuilder
    • hasGlobalEndTime

      public 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;
      Specified by:
      hasGlobalEndTime in interface ShipmentModelOrBuilder
      Returns:
      Whether the globalEndTime field is set.
    • getGlobalEndTime

      public 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;
      Specified by:
      getGlobalEndTime in interface ShipmentModelOrBuilder
      Returns:
      The globalEndTime.
    • getGlobalEndTimeOrBuilder

      public 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;
      Specified by:
      getGlobalEndTimeOrBuilder in interface ShipmentModelOrBuilder
    • getGlobalDurationCostPerHour

      public 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;
      Specified by:
      getGlobalDurationCostPerHour in interface ShipmentModelOrBuilder
      Returns:
      The globalDurationCostPerHour.
    • getDurationDistanceMatricesList

      public 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;
      Specified by:
      getDurationDistanceMatricesList in interface ShipmentModelOrBuilder
    • getDurationDistanceMatricesOrBuilderList

      public 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;
      Specified by:
      getDurationDistanceMatricesOrBuilderList in interface ShipmentModelOrBuilder
    • getDurationDistanceMatricesCount

      public 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;
      Specified by:
      getDurationDistanceMatricesCount in interface ShipmentModelOrBuilder
    • getDurationDistanceMatrices

      public 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;
      Specified by:
      getDurationDistanceMatrices in interface ShipmentModelOrBuilder
    • getDurationDistanceMatricesOrBuilder

      public 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;
      Specified by:
      getDurationDistanceMatricesOrBuilder in interface ShipmentModelOrBuilder
    • getDurationDistanceMatrixSrcTagsList

      public com.google.protobuf.ProtocolStringList 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;
      Specified by:
      getDurationDistanceMatrixSrcTagsList in interface ShipmentModelOrBuilder
      Returns:
      A list containing the durationDistanceMatrixSrcTags.
    • getDurationDistanceMatrixSrcTagsCount

      public 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;
      Specified by:
      getDurationDistanceMatrixSrcTagsCount in interface ShipmentModelOrBuilder
      Returns:
      The count of durationDistanceMatrixSrcTags.
    • getDurationDistanceMatrixSrcTags

      public 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;
      Specified by:
      getDurationDistanceMatrixSrcTags in interface ShipmentModelOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The durationDistanceMatrixSrcTags at the given index.
    • getDurationDistanceMatrixSrcTagsBytes

      public 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;
      Specified by:
      getDurationDistanceMatrixSrcTagsBytes in interface ShipmentModelOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the durationDistanceMatrixSrcTags at the given index.
    • getDurationDistanceMatrixDstTagsList

      public com.google.protobuf.ProtocolStringList 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;
      Specified by:
      getDurationDistanceMatrixDstTagsList in interface ShipmentModelOrBuilder
      Returns:
      A list containing the durationDistanceMatrixDstTags.
    • getDurationDistanceMatrixDstTagsCount

      public 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;
      Specified by:
      getDurationDistanceMatrixDstTagsCount in interface ShipmentModelOrBuilder
      Returns:
      The count of durationDistanceMatrixDstTags.
    • getDurationDistanceMatrixDstTags

      public 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;
      Specified by:
      getDurationDistanceMatrixDstTags in interface ShipmentModelOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The durationDistanceMatrixDstTags at the given index.
    • getDurationDistanceMatrixDstTagsBytes

      public 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;
      Specified by:
      getDurationDistanceMatrixDstTagsBytes in interface ShipmentModelOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the durationDistanceMatrixDstTags at the given index.
    • getTransitionAttributesList

      public List<TransitionAttributes> getTransitionAttributesList()
       Transition attributes added to the model.
       
      repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
      Specified by:
      getTransitionAttributesList in interface ShipmentModelOrBuilder
    • getTransitionAttributesOrBuilderList

      public List<? extends TransitionAttributesOrBuilder> getTransitionAttributesOrBuilderList()
       Transition attributes added to the model.
       
      repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
      Specified by:
      getTransitionAttributesOrBuilderList in interface ShipmentModelOrBuilder
    • getTransitionAttributesCount

      public int getTransitionAttributesCount()
       Transition attributes added to the model.
       
      repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
      Specified by:
      getTransitionAttributesCount in interface ShipmentModelOrBuilder
    • getTransitionAttributes

      public TransitionAttributes getTransitionAttributes(int index)
       Transition attributes added to the model.
       
      repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
      Specified by:
      getTransitionAttributes in interface ShipmentModelOrBuilder
    • getTransitionAttributesOrBuilder

      public TransitionAttributesOrBuilder getTransitionAttributesOrBuilder(int index)
       Transition attributes added to the model.
       
      repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
      Specified by:
      getTransitionAttributesOrBuilder in interface ShipmentModelOrBuilder
    • getShipmentTypeIncompatibilitiesList

      public List<ShipmentTypeIncompatibility> getShipmentTypeIncompatibilitiesList()
       Sets of incompatible shipment_types (see `ShipmentTypeIncompatibility`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
      Specified by:
      getShipmentTypeIncompatibilitiesList in interface ShipmentModelOrBuilder
    • getShipmentTypeIncompatibilitiesOrBuilderList

      public List<? extends ShipmentTypeIncompatibilityOrBuilder> getShipmentTypeIncompatibilitiesOrBuilderList()
       Sets of incompatible shipment_types (see `ShipmentTypeIncompatibility`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
      Specified by:
      getShipmentTypeIncompatibilitiesOrBuilderList in interface ShipmentModelOrBuilder
    • getShipmentTypeIncompatibilitiesCount

      public int getShipmentTypeIncompatibilitiesCount()
       Sets of incompatible shipment_types (see `ShipmentTypeIncompatibility`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
      Specified by:
      getShipmentTypeIncompatibilitiesCount in interface ShipmentModelOrBuilder
    • getShipmentTypeIncompatibilities

      public ShipmentTypeIncompatibility getShipmentTypeIncompatibilities(int index)
       Sets of incompatible shipment_types (see `ShipmentTypeIncompatibility`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
      Specified by:
      getShipmentTypeIncompatibilities in interface ShipmentModelOrBuilder
    • getShipmentTypeIncompatibilitiesOrBuilder

      public ShipmentTypeIncompatibilityOrBuilder getShipmentTypeIncompatibilitiesOrBuilder(int index)
       Sets of incompatible shipment_types (see `ShipmentTypeIncompatibility`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
      Specified by:
      getShipmentTypeIncompatibilitiesOrBuilder in interface ShipmentModelOrBuilder
    • getShipmentTypeRequirementsList

      public List<ShipmentTypeRequirement> getShipmentTypeRequirementsList()
       Sets of `shipment_type` requirements (see `ShipmentTypeRequirement`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
      Specified by:
      getShipmentTypeRequirementsList in interface ShipmentModelOrBuilder
    • getShipmentTypeRequirementsOrBuilderList

      public List<? extends ShipmentTypeRequirementOrBuilder> getShipmentTypeRequirementsOrBuilderList()
       Sets of `shipment_type` requirements (see `ShipmentTypeRequirement`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
      Specified by:
      getShipmentTypeRequirementsOrBuilderList in interface ShipmentModelOrBuilder
    • getShipmentTypeRequirementsCount

      public int getShipmentTypeRequirementsCount()
       Sets of `shipment_type` requirements (see `ShipmentTypeRequirement`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
      Specified by:
      getShipmentTypeRequirementsCount in interface ShipmentModelOrBuilder
    • getShipmentTypeRequirements

      public ShipmentTypeRequirement getShipmentTypeRequirements(int index)
       Sets of `shipment_type` requirements (see `ShipmentTypeRequirement`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
      Specified by:
      getShipmentTypeRequirements in interface ShipmentModelOrBuilder
    • getShipmentTypeRequirementsOrBuilder

      public ShipmentTypeRequirementOrBuilder getShipmentTypeRequirementsOrBuilder(int index)
       Sets of `shipment_type` requirements (see `ShipmentTypeRequirement`).
       
      repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
      Specified by:
      getShipmentTypeRequirementsOrBuilder in interface ShipmentModelOrBuilder
    • getPrecedenceRulesList

      public 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;
      Specified by:
      getPrecedenceRulesList in interface ShipmentModelOrBuilder
    • getPrecedenceRulesOrBuilderList

      public 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;
      Specified by:
      getPrecedenceRulesOrBuilderList in interface ShipmentModelOrBuilder
    • getPrecedenceRulesCount

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

      public 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;
      Specified by:
      getPrecedenceRules in interface ShipmentModelOrBuilder
    • getPrecedenceRulesOrBuilder

      public 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;
      Specified by:
      getPrecedenceRulesOrBuilder in interface ShipmentModelOrBuilder
    • getBreakRulesList

      @Deprecated public List<ShipmentModel.BreakRule> 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];
      Specified by:
      getBreakRulesList in interface ShipmentModelOrBuilder
    • getBreakRulesOrBuilderList

      @Deprecated public 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];
      Specified by:
      getBreakRulesOrBuilderList in interface ShipmentModelOrBuilder
    • getBreakRulesCount

      @Deprecated public 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];
      Specified by:
      getBreakRulesCount in interface ShipmentModelOrBuilder
    • getBreakRules

      @Deprecated public 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];
      Specified by:
      getBreakRules in interface ShipmentModelOrBuilder
    • getBreakRulesOrBuilder

      @Deprecated public 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];
      Specified by:
      getBreakRulesOrBuilder in interface ShipmentModelOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static ShipmentModel parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static ShipmentModel parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static ShipmentModel parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static ShipmentModel parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static ShipmentModel parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static ShipmentModel parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static ShipmentModel parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static ShipmentModel parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static ShipmentModel parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static ShipmentModel parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static ShipmentModel parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static ShipmentModel parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public ShipmentModel.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static ShipmentModel.Builder newBuilder()
    • newBuilder

      public static ShipmentModel.Builder newBuilder(ShipmentModel prototype)
    • toBuilder

      public ShipmentModel.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected ShipmentModel.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static ShipmentModel getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<ShipmentModel> parser()
    • getParserForType

      public com.google.protobuf.Parser<ShipmentModel> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

      public ShipmentModel getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder