Package com.google.cloud.optimization.v1
Interface ShipmentModelOrBuilder
-
- All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder
,com.google.protobuf.MessageOrBuilder
- All Known Implementing Classes:
ShipmentModel
,ShipmentModel.Builder
public interface ShipmentModelOrBuilder extends com.google.protobuf.MessageOrBuilder
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description ShipmentModel.BreakRule
getBreakRules(int index)
Deprecated.int
getBreakRulesCount()
Deprecated.List<ShipmentModel.BreakRule>
getBreakRulesList()
Deprecated.ShipmentModel.BreakRuleOrBuilder
getBreakRulesOrBuilder(int index)
Deprecated.List<? extends ShipmentModel.BreakRuleOrBuilder>
getBreakRulesOrBuilderList()
Deprecated.ShipmentModel.DurationDistanceMatrix
getDurationDistanceMatrices(int index)
Specifies duration and distance matrices used in the model.int
getDurationDistanceMatricesCount()
Specifies duration and distance matrices used in the model.List<ShipmentModel.DurationDistanceMatrix>
getDurationDistanceMatricesList()
Specifies duration and distance matrices used in the model.ShipmentModel.DurationDistanceMatrixOrBuilder
getDurationDistanceMatricesOrBuilder(int index)
Specifies duration and distance matrices used in the model.List<? extends ShipmentModel.DurationDistanceMatrixOrBuilder>
getDurationDistanceMatricesOrBuilderList()
Specifies duration and distance matrices used in the model.String
getDurationDistanceMatrixDstTags(int index)
Tags defining the destinations of the duration and distance matrices; `duration_distance_matrices(i).rows(j).durations(k)` (resp.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.int
getDurationDistanceMatrixDstTagsCount()
Tags defining the destinations of the duration and distance matrices; `duration_distance_matrices(i).rows(j).durations(k)` (resp.List<String>
getDurationDistanceMatrixDstTagsList()
Tags defining the destinations of the duration and distance matrices; `duration_distance_matrices(i).rows(j).durations(k)` (resp.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.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.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.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.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.com.google.protobuf.Timestamp
getGlobalEndTime()
If unset, 00:00:00 UTC, January 1, 1971 (i.e.com.google.protobuf.TimestampOrBuilder
getGlobalEndTimeOrBuilder()
If unset, 00:00:00 UTC, January 1, 1971 (i.e.com.google.protobuf.Timestamp
getGlobalStartTime()
Global start and end time of the model: no times outside of this range can be considered valid.com.google.protobuf.TimestampOrBuilder
getGlobalStartTimeOrBuilder()
Global start and end time of the model: no times outside of this range can be considered valid.int
getMaxActiveVehicles()
Constrains the maximum number of active vehicles.ShipmentModel.PrecedenceRule
getPrecedenceRules(int index)
Set of precedence rules which must be enforced in the model.int
getPrecedenceRulesCount()
Set of precedence rules which must be enforced in the model.List<ShipmentModel.PrecedenceRule>
getPrecedenceRulesList()
Set of precedence rules which must be enforced in the model.ShipmentModel.PrecedenceRuleOrBuilder
getPrecedenceRulesOrBuilder(int index)
Set of precedence rules which must be enforced in the model.List<? extends ShipmentModel.PrecedenceRuleOrBuilder>
getPrecedenceRulesOrBuilderList()
Set of precedence rules which must be enforced in the model.Shipment
getShipments(int index)
Set of shipments which must be performed in the model.int
getShipmentsCount()
Set of shipments which must be performed in the model.List<Shipment>
getShipmentsList()
Set of shipments which must be performed in the model.ShipmentOrBuilder
getShipmentsOrBuilder(int index)
Set of shipments which must be performed in the model.List<? extends ShipmentOrBuilder>
getShipmentsOrBuilderList()
Set of shipments which must be performed in the model.ShipmentTypeIncompatibility
getShipmentTypeIncompatibilities(int index)
Sets of incompatible shipment_types (see `ShipmentTypeIncompatibility`).int
getShipmentTypeIncompatibilitiesCount()
Sets of incompatible shipment_types (see `ShipmentTypeIncompatibility`).List<ShipmentTypeIncompatibility>
getShipmentTypeIncompatibilitiesList()
Sets of incompatible shipment_types (see `ShipmentTypeIncompatibility`).ShipmentTypeIncompatibilityOrBuilder
getShipmentTypeIncompatibilitiesOrBuilder(int index)
Sets of incompatible shipment_types (see `ShipmentTypeIncompatibility`).List<? extends ShipmentTypeIncompatibilityOrBuilder>
getShipmentTypeIncompatibilitiesOrBuilderList()
Sets of incompatible shipment_types (see `ShipmentTypeIncompatibility`).ShipmentTypeRequirement
getShipmentTypeRequirements(int index)
Sets of `shipment_type` requirements (see `ShipmentTypeRequirement`).int
getShipmentTypeRequirementsCount()
Sets of `shipment_type` requirements (see `ShipmentTypeRequirement`).List<ShipmentTypeRequirement>
getShipmentTypeRequirementsList()
Sets of `shipment_type` requirements (see `ShipmentTypeRequirement`).ShipmentTypeRequirementOrBuilder
getShipmentTypeRequirementsOrBuilder(int index)
Sets of `shipment_type` requirements (see `ShipmentTypeRequirement`).List<? extends ShipmentTypeRequirementOrBuilder>
getShipmentTypeRequirementsOrBuilderList()
Sets of `shipment_type` requirements (see `ShipmentTypeRequirement`).TransitionAttributes
getTransitionAttributes(int index)
Transition attributes added to the model.int
getTransitionAttributesCount()
Transition attributes added to the model.List<TransitionAttributes>
getTransitionAttributesList()
Transition attributes added to the model.TransitionAttributesOrBuilder
getTransitionAttributesOrBuilder(int index)
Transition attributes added to the model.List<? extends TransitionAttributesOrBuilder>
getTransitionAttributesOrBuilderList()
Transition attributes added to the model.Vehicle
getVehicles(int index)
Set of vehicles which can be used to perform visits.int
getVehiclesCount()
Set of vehicles which can be used to perform visits.List<Vehicle>
getVehiclesList()
Set of vehicles which can be used to perform visits.VehicleOrBuilder
getVehiclesOrBuilder(int index)
Set of vehicles which can be used to perform visits.List<? extends VehicleOrBuilder>
getVehiclesOrBuilderList()
Set of vehicles which can be used to perform visits.boolean
hasGlobalEndTime()
If unset, 00:00:00 UTC, January 1, 1971 (i.e.boolean
hasGlobalStartTime()
Global start and end time of the model: no times outside of this range can be considered valid.boolean
hasMaxActiveVehicles()
Constrains the maximum number of active vehicles.-
Methods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
-
-
-
Method Detail
-
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 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];
-
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];
-
-