Class ShipmentModel.Builder (1.7.0)
Stay organized with collections
Save and categorize content based on your preferences.
- 1.76.0 (latest)
- 1.74.0
- 1.73.0
- 1.72.0
- 1.71.0
- 1.70.0
- 1.68.0
- 1.66.0
- 1.65.0
- 1.62.0
- 1.61.0
- 1.60.0
- 1.58.0
- 1.57.0
- 1.56.0
- 1.55.0
- 1.54.0
- 1.53.0
- 1.52.0
- 1.51.0
- 1.50.0
- 1.49.0
- 1.47.0
- 1.46.0
- 1.45.0
- 1.44.0
- 1.43.0
- 1.42.0
- 1.41.0
- 1.40.0
- 1.39.0
- 1.38.0
- 1.37.0
- 1.35.0
- 1.34.0
- 1.33.0
- 1.32.0
- 1.31.0
- 1.30.0
- 1.29.0
- 1.28.0
- 1.27.0
- 1.26.0
- 1.25.0
- 1.22.0
- 1.21.0
- 1.20.0
- 1.19.0
- 1.18.0
- 1.17.0
- 1.16.0
- 1.15.0
- 1.14.0
- 1.13.0
- 1.12.0
- 1.11.0
- 1.10.0
- 1.9.0
- 1.7.0
- 1.6.0
- 1.5.0
- 1.4.0
- 1.3.0
- 1.2.0
- 1.1.14
- 0.1.2
publicstaticfinalclass ShipmentModel.BuilderextendsGeneratedMessageV3.Builder<ShipmentModel.Builder>implementsShipmentModelOrBuilderA 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
Inheritance
Object > AbstractMessageLite.Builder<MessageType,BuilderType> > AbstractMessage.Builder<BuilderType> > GeneratedMessageV3.Builder > ShipmentModel.BuilderImplements
ShipmentModelOrBuilderInherited Members
Static Methods
getDescriptor()
publicstaticfinalDescriptors.DescriptorgetDescriptor()Methods
addAllBreakRules(Iterable<? extends ShipmentModel.BreakRule> values)
publicShipmentModel.BuilderaddAllBreakRules(Iterable<?extendsShipmentModel.BreakRule>values) 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
field (which must be a singleton).
repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
addAllDurationDistanceMatrices(Iterable<? extends ShipmentModel.DurationDistanceMatrix> values)
publicShipmentModel.BuilderaddAllDurationDistanceMatrices(Iterable<?extendsShipmentModel.DurationDistanceMatrix>values) 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;
addAllDurationDistanceMatrixDstTags(Iterable<String> values)
publicShipmentModel.BuilderaddAllDurationDistanceMatrixDstTags(Iterable<String>values) 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
or 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;
ShipmentModel.Builder
This builder for chaining.
addAllDurationDistanceMatrixSrcTags(Iterable<String> values)
publicShipmentModel.BuilderaddAllDurationDistanceMatrixSrcTags(Iterable<String>values) 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
or 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;
ShipmentModel.Builder
This builder for chaining.
addAllPrecedenceRules(Iterable<? extends ShipmentModel.PrecedenceRule> values)
publicShipmentModel.BuilderaddAllPrecedenceRules(Iterable<?extendsShipmentModel.PrecedenceRule>values)Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
addAllShipmentTypeIncompatibilities(Iterable<? extends ShipmentTypeIncompatibility> values)
publicShipmentModel.BuilderaddAllShipmentTypeIncompatibilities(Iterable<?extendsShipmentTypeIncompatibility>values) Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
addAllShipmentTypeRequirements(Iterable<? extends ShipmentTypeRequirement> values)
publicShipmentModel.BuilderaddAllShipmentTypeRequirements(Iterable<?extendsShipmentTypeRequirement>values) Sets of shipment_type requirements (see ShipmentTypeRequirement).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
addAllShipments(Iterable<? extends Shipment> values)
publicShipmentModel.BuilderaddAllShipments(Iterable<?extendsShipment>values)Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
addAllTransitionAttributes(Iterable<? extends TransitionAttributes> values)
publicShipmentModel.BuilderaddAllTransitionAttributes(Iterable<?extendsTransitionAttributes>values)Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
addAllVehicles(Iterable<? extends Vehicle> values)
publicShipmentModel.BuilderaddAllVehicles(Iterable<?extendsVehicle>values)Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
addBreakRules(ShipmentModel.BreakRule value)
publicShipmentModel.BuilderaddBreakRules(ShipmentModel.BreakRulevalue) 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
field (which must be a singleton).
repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
addBreakRules(ShipmentModel.BreakRule.Builder builderForValue)
publicShipmentModel.BuilderaddBreakRules(ShipmentModel.BreakRule.BuilderbuilderForValue) 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
field (which must be a singleton).
repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
addBreakRules(int index, ShipmentModel.BreakRule value)
publicShipmentModel.BuilderaddBreakRules(intindex,ShipmentModel.BreakRulevalue) 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
field (which must be a singleton).
repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
addBreakRules(int index, ShipmentModel.BreakRule.Builder builderForValue)
publicShipmentModel.BuilderaddBreakRules(intindex,ShipmentModel.BreakRule.BuilderbuilderForValue) 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
field (which must be a singleton).
repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
addBreakRulesBuilder()
publicShipmentModel.BreakRule.BuilderaddBreakRulesBuilder() 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
field (which must be a singleton).
repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
addBreakRulesBuilder(int index)
publicShipmentModel.BreakRule.BuilderaddBreakRulesBuilder(intindex) 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
field (which must be a singleton).
repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
addDurationDistanceMatrices(ShipmentModel.DurationDistanceMatrix value)
publicShipmentModel.BuilderaddDurationDistanceMatrices(ShipmentModel.DurationDistanceMatrixvalue) 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;
addDurationDistanceMatrices(ShipmentModel.DurationDistanceMatrix.Builder builderForValue)
publicShipmentModel.BuilderaddDurationDistanceMatrices(ShipmentModel.DurationDistanceMatrix.BuilderbuilderForValue) 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;
addDurationDistanceMatrices(int index, ShipmentModel.DurationDistanceMatrix value)
publicShipmentModel.BuilderaddDurationDistanceMatrices(intindex,ShipmentModel.DurationDistanceMatrixvalue) 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;
addDurationDistanceMatrices(int index, ShipmentModel.DurationDistanceMatrix.Builder builderForValue)
publicShipmentModel.BuilderaddDurationDistanceMatrices(intindex,ShipmentModel.DurationDistanceMatrix.BuilderbuilderForValue) 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;
addDurationDistanceMatricesBuilder()
publicShipmentModel.DurationDistanceMatrix.BuilderaddDurationDistanceMatricesBuilder() 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;
addDurationDistanceMatricesBuilder(int index)
publicShipmentModel.DurationDistanceMatrix.BuilderaddDurationDistanceMatricesBuilder(intindex) 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;
addDurationDistanceMatrixDstTags(String value)
publicShipmentModel.BuilderaddDurationDistanceMatrixDstTags(Stringvalue) 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
or 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;
ShipmentModel.Builder
This builder for chaining.
addDurationDistanceMatrixDstTagsBytes(ByteString value)
publicShipmentModel.BuilderaddDurationDistanceMatrixDstTagsBytes(ByteStringvalue) 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
or 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;
ShipmentModel.Builder
This builder for chaining.
addDurationDistanceMatrixSrcTags(String value)
publicShipmentModel.BuilderaddDurationDistanceMatrixSrcTags(Stringvalue) 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
or 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;
ShipmentModel.Builder
This builder for chaining.
addDurationDistanceMatrixSrcTagsBytes(ByteString value)
publicShipmentModel.BuilderaddDurationDistanceMatrixSrcTagsBytes(ByteStringvalue) 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
or 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;
ShipmentModel.Builder
This builder for chaining.
addPrecedenceRules(ShipmentModel.PrecedenceRule value)
publicShipmentModel.BuilderaddPrecedenceRules(ShipmentModel.PrecedenceRulevalue)Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
addPrecedenceRules(ShipmentModel.PrecedenceRule.Builder builderForValue)
publicShipmentModel.BuilderaddPrecedenceRules(ShipmentModel.PrecedenceRule.BuilderbuilderForValue)Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
addPrecedenceRules(int index, ShipmentModel.PrecedenceRule value)
publicShipmentModel.BuilderaddPrecedenceRules(intindex,ShipmentModel.PrecedenceRulevalue)Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
addPrecedenceRules(int index, ShipmentModel.PrecedenceRule.Builder builderForValue)
publicShipmentModel.BuilderaddPrecedenceRules(intindex,ShipmentModel.PrecedenceRule.BuilderbuilderForValue)Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
addPrecedenceRulesBuilder()
publicShipmentModel.PrecedenceRule.BuilderaddPrecedenceRulesBuilder()Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
addPrecedenceRulesBuilder(int index)
publicShipmentModel.PrecedenceRule.BuilderaddPrecedenceRulesBuilder(intindex)Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
addRepeatedField(Descriptors.FieldDescriptor field, Object value)
publicShipmentModel.BuilderaddRepeatedField(Descriptors.FieldDescriptorfield,Objectvalue)addShipmentTypeIncompatibilities(ShipmentTypeIncompatibility value)
publicShipmentModel.BuilderaddShipmentTypeIncompatibilities(ShipmentTypeIncompatibilityvalue) Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
addShipmentTypeIncompatibilities(ShipmentTypeIncompatibility.Builder builderForValue)
publicShipmentModel.BuilderaddShipmentTypeIncompatibilities(ShipmentTypeIncompatibility.BuilderbuilderForValue) Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
addShipmentTypeIncompatibilities(int index, ShipmentTypeIncompatibility value)
publicShipmentModel.BuilderaddShipmentTypeIncompatibilities(intindex,ShipmentTypeIncompatibilityvalue) Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
addShipmentTypeIncompatibilities(int index, ShipmentTypeIncompatibility.Builder builderForValue)
publicShipmentModel.BuilderaddShipmentTypeIncompatibilities(intindex,ShipmentTypeIncompatibility.BuilderbuilderForValue) Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
addShipmentTypeIncompatibilitiesBuilder()
publicShipmentTypeIncompatibility.BuilderaddShipmentTypeIncompatibilitiesBuilder() Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
addShipmentTypeIncompatibilitiesBuilder(int index)
publicShipmentTypeIncompatibility.BuilderaddShipmentTypeIncompatibilitiesBuilder(intindex) Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
addShipmentTypeRequirements(ShipmentTypeRequirement value)
publicShipmentModel.BuilderaddShipmentTypeRequirements(ShipmentTypeRequirementvalue) Sets of shipment_type requirements (see ShipmentTypeRequirement).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
addShipmentTypeRequirements(ShipmentTypeRequirement.Builder builderForValue)
publicShipmentModel.BuilderaddShipmentTypeRequirements(ShipmentTypeRequirement.BuilderbuilderForValue) Sets of shipment_type requirements (see ShipmentTypeRequirement).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
addShipmentTypeRequirements(int index, ShipmentTypeRequirement value)
publicShipmentModel.BuilderaddShipmentTypeRequirements(intindex,ShipmentTypeRequirementvalue) Sets of shipment_type requirements (see ShipmentTypeRequirement).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
addShipmentTypeRequirements(int index, ShipmentTypeRequirement.Builder builderForValue)
publicShipmentModel.BuilderaddShipmentTypeRequirements(intindex,ShipmentTypeRequirement.BuilderbuilderForValue) Sets of shipment_type requirements (see ShipmentTypeRequirement).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
addShipmentTypeRequirementsBuilder()
publicShipmentTypeRequirement.BuilderaddShipmentTypeRequirementsBuilder() Sets of shipment_type requirements (see ShipmentTypeRequirement).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
addShipmentTypeRequirementsBuilder(int index)
publicShipmentTypeRequirement.BuilderaddShipmentTypeRequirementsBuilder(intindex) Sets of shipment_type requirements (see ShipmentTypeRequirement).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
addShipments(Shipment value)
publicShipmentModel.BuilderaddShipments(Shipmentvalue)Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
addShipments(Shipment.Builder builderForValue)
publicShipmentModel.BuilderaddShipments(Shipment.BuilderbuilderForValue)Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
addShipments(int index, Shipment value)
publicShipmentModel.BuilderaddShipments(intindex,Shipmentvalue)Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
addShipments(int index, Shipment.Builder builderForValue)
publicShipmentModel.BuilderaddShipments(intindex,Shipment.BuilderbuilderForValue)Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
addShipmentsBuilder()
publicShipment.BuilderaddShipmentsBuilder()Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
addShipmentsBuilder(int index)
publicShipment.BuilderaddShipmentsBuilder(intindex)Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
addTransitionAttributes(TransitionAttributes value)
publicShipmentModel.BuilderaddTransitionAttributes(TransitionAttributesvalue)Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
addTransitionAttributes(TransitionAttributes.Builder builderForValue)
publicShipmentModel.BuilderaddTransitionAttributes(TransitionAttributes.BuilderbuilderForValue)Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
addTransitionAttributes(int index, TransitionAttributes value)
publicShipmentModel.BuilderaddTransitionAttributes(intindex,TransitionAttributesvalue)Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
addTransitionAttributes(int index, TransitionAttributes.Builder builderForValue)
publicShipmentModel.BuilderaddTransitionAttributes(intindex,TransitionAttributes.BuilderbuilderForValue)Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
addTransitionAttributesBuilder()
publicTransitionAttributes.BuilderaddTransitionAttributesBuilder()Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
addTransitionAttributesBuilder(int index)
publicTransitionAttributes.BuilderaddTransitionAttributesBuilder(intindex)Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
addVehicles(Vehicle value)
publicShipmentModel.BuilderaddVehicles(Vehiclevalue)Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
addVehicles(Vehicle.Builder builderForValue)
publicShipmentModel.BuilderaddVehicles(Vehicle.BuilderbuilderForValue)Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
addVehicles(int index, Vehicle value)
publicShipmentModel.BuilderaddVehicles(intindex,Vehiclevalue)Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
addVehicles(int index, Vehicle.Builder builderForValue)
publicShipmentModel.BuilderaddVehicles(intindex,Vehicle.BuilderbuilderForValue)Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
addVehiclesBuilder()
publicVehicle.BuilderaddVehiclesBuilder()Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
addVehiclesBuilder(int index)
publicVehicle.BuilderaddVehiclesBuilder(intindex)Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
build()
publicShipmentModelbuild()buildPartial()
publicShipmentModelbuildPartial()clear()
publicShipmentModel.Builderclear()clearBreakRules()
publicShipmentModel.BuilderclearBreakRules() 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
field (which must be a singleton).
repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
clearDurationDistanceMatrices()
publicShipmentModel.BuilderclearDurationDistanceMatrices() 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;
clearDurationDistanceMatrixDstTags()
publicShipmentModel.BuilderclearDurationDistanceMatrixDstTags() 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
or 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;
ShipmentModel.Builder
This builder for chaining.
clearDurationDistanceMatrixSrcTags()
publicShipmentModel.BuilderclearDurationDistanceMatrixSrcTags() 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
or 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;
ShipmentModel.Builder
This builder for chaining.
clearField(Descriptors.FieldDescriptor field)
publicShipmentModel.BuilderclearField(Descriptors.FieldDescriptorfield)clearGlobalDurationCostPerHour()
publicShipmentModel.BuilderclearGlobalDurationCostPerHour()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.
double global_duration_cost_per_hour = 7;
ShipmentModel.Builder
This builder for chaining.
clearGlobalEndTime()
publicShipmentModel.BuilderclearGlobalEndTime()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;
clearGlobalStartTime()
publicShipmentModel.BuilderclearGlobalStartTime() 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;
clearMaxActiveVehicles()
publicShipmentModel.BuilderclearMaxActiveVehicles()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;
ShipmentModel.Builder
This builder for chaining.
clearOneof(Descriptors.OneofDescriptor oneof)
publicShipmentModel.BuilderclearOneof(Descriptors.OneofDescriptoroneof)clearPrecedenceRules()
publicShipmentModel.BuilderclearPrecedenceRules()Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
clearShipmentTypeIncompatibilities()
publicShipmentModel.BuilderclearShipmentTypeIncompatibilities() Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
clearShipmentTypeRequirements()
publicShipmentModel.BuilderclearShipmentTypeRequirements() Sets of shipment_type requirements (see ShipmentTypeRequirement).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
clearShipments()
publicShipmentModel.BuilderclearShipments()Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
clearTransitionAttributes()
publicShipmentModel.BuilderclearTransitionAttributes()Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
clearVehicles()
publicShipmentModel.BuilderclearVehicles()Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
clone()
publicShipmentModel.Builderclone()getBreakRules(int index)
publicShipmentModel.BreakRulegetBreakRules(intindex) 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
field (which must be a singleton).
repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
getBreakRulesBuilder(int index)
publicShipmentModel.BreakRule.BuildergetBreakRulesBuilder(intindex) 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
field (which must be a singleton).
repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
getBreakRulesBuilderList()
publicList<ShipmentModel.BreakRule.Builder>getBreakRulesBuilderList() 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
field (which must be a singleton).
repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
getBreakRulesCount()
publicintgetBreakRulesCount() 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
field (which must be a singleton).
repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
getBreakRulesList()
publicList<ShipmentModel.BreakRule>getBreakRulesList() 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
field (which must be a singleton).
repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
getBreakRulesOrBuilder(int index)
publicShipmentModel.BreakRuleOrBuildergetBreakRulesOrBuilder(intindex) 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
field (which must be a singleton).
repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
getBreakRulesOrBuilderList()
publicList<?extendsShipmentModel.BreakRuleOrBuilder>getBreakRulesOrBuilderList() 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
field (which must be a singleton).
repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
List<? extends com.google.cloud.optimization.v1.ShipmentModel.BreakRuleOrBuilder>
getDefaultInstanceForType()
publicShipmentModelgetDefaultInstanceForType()getDescriptorForType()
publicDescriptors.DescriptorgetDescriptorForType()getDurationDistanceMatrices(int index)
publicShipmentModel.DurationDistanceMatrixgetDurationDistanceMatrices(intindex) 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;
getDurationDistanceMatricesBuilder(int index)
publicShipmentModel.DurationDistanceMatrix.BuildergetDurationDistanceMatricesBuilder(intindex) 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;
getDurationDistanceMatricesBuilderList()
publicList<ShipmentModel.DurationDistanceMatrix.Builder>getDurationDistanceMatricesBuilderList() 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()
publicintgetDurationDistanceMatricesCount() 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;
getDurationDistanceMatricesList()
publicList<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;
getDurationDistanceMatricesOrBuilder(int index)
publicShipmentModel.DurationDistanceMatrixOrBuildergetDurationDistanceMatricesOrBuilder(intindex) 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()
publicList<?extendsShipmentModel.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;
List<? extends com.google.cloud.optimization.v1.ShipmentModel.DurationDistanceMatrixOrBuilder>
getDurationDistanceMatrixDstTags(int index)
publicStringgetDurationDistanceMatrixDstTags(intindex) 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
or 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;
String
The durationDistanceMatrixDstTags at the given index.
getDurationDistanceMatrixDstTagsBytes(int index)
publicByteStringgetDurationDistanceMatrixDstTagsBytes(intindex) 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
or 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;
ByteString
The bytes of the durationDistanceMatrixDstTags at the given index.
getDurationDistanceMatrixDstTagsCount()
publicintgetDurationDistanceMatrixDstTagsCount() 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
or 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;
int
The count of durationDistanceMatrixDstTags.
getDurationDistanceMatrixDstTagsList()
publicProtocolStringListgetDurationDistanceMatrixDstTagsList() 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
or 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;
ProtocolStringList
A list containing the durationDistanceMatrixDstTags.
getDurationDistanceMatrixSrcTags(int index)
publicStringgetDurationDistanceMatrixSrcTags(intindex) 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
or 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;
String
The durationDistanceMatrixSrcTags at the given index.
getDurationDistanceMatrixSrcTagsBytes(int index)
publicByteStringgetDurationDistanceMatrixSrcTagsBytes(intindex) 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
or 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;
ByteString
The bytes of the durationDistanceMatrixSrcTags at the given index.
getDurationDistanceMatrixSrcTagsCount()
publicintgetDurationDistanceMatrixSrcTagsCount() 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
or 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;
int
The count of durationDistanceMatrixSrcTags.
getDurationDistanceMatrixSrcTagsList()
publicProtocolStringListgetDurationDistanceMatrixSrcTagsList() 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
or 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;
ProtocolStringList
A list containing the durationDistanceMatrixSrcTags.
getGlobalDurationCostPerHour()
publicdoublegetGlobalDurationCostPerHour()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.
double global_duration_cost_per_hour = 7;
double
The globalDurationCostPerHour.
getGlobalEndTime()
publicTimestampgetGlobalEndTime()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;
Timestamp
The globalEndTime.
getGlobalEndTimeBuilder()
publicTimestamp.BuildergetGlobalEndTimeBuilder()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;
getGlobalEndTimeOrBuilder()
publicTimestampOrBuildergetGlobalEndTimeOrBuilder()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;
getGlobalStartTime()
publicTimestampgetGlobalStartTime() 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;
Timestamp
The globalStartTime.
getGlobalStartTimeBuilder()
publicTimestamp.BuildergetGlobalStartTimeBuilder() 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;
getGlobalStartTimeOrBuilder()
publicTimestampOrBuildergetGlobalStartTimeOrBuilder() 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;
getMaxActiveVehicles()
publicintgetMaxActiveVehicles()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;
int
The maxActiveVehicles.
getPrecedenceRules(int index)
publicShipmentModel.PrecedenceRulegetPrecedenceRules(intindex)Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
getPrecedenceRulesBuilder(int index)
publicShipmentModel.PrecedenceRule.BuildergetPrecedenceRulesBuilder(intindex)Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
getPrecedenceRulesBuilderList()
publicList<ShipmentModel.PrecedenceRule.Builder>getPrecedenceRulesBuilderList()Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
getPrecedenceRulesCount()
publicintgetPrecedenceRulesCount()Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
getPrecedenceRulesList()
publicList<ShipmentModel.PrecedenceRule>getPrecedenceRulesList()Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
getPrecedenceRulesOrBuilder(int index)
publicShipmentModel.PrecedenceRuleOrBuildergetPrecedenceRulesOrBuilder(intindex)Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
getPrecedenceRulesOrBuilderList()
publicList<?extendsShipmentModel.PrecedenceRuleOrBuilder>getPrecedenceRulesOrBuilderList()Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
List<? extends com.google.cloud.optimization.v1.ShipmentModel.PrecedenceRuleOrBuilder>
getShipmentTypeIncompatibilities(int index)
publicShipmentTypeIncompatibilitygetShipmentTypeIncompatibilities(intindex) Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
getShipmentTypeIncompatibilitiesBuilder(int index)
publicShipmentTypeIncompatibility.BuildergetShipmentTypeIncompatibilitiesBuilder(intindex) Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
getShipmentTypeIncompatibilitiesBuilderList()
publicList<ShipmentTypeIncompatibility.Builder>getShipmentTypeIncompatibilitiesBuilderList() Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
getShipmentTypeIncompatibilitiesCount()
publicintgetShipmentTypeIncompatibilitiesCount() Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
getShipmentTypeIncompatibilitiesList()
publicList<ShipmentTypeIncompatibility>getShipmentTypeIncompatibilitiesList() Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
getShipmentTypeIncompatibilitiesOrBuilder(int index)
publicShipmentTypeIncompatibilityOrBuildergetShipmentTypeIncompatibilitiesOrBuilder(intindex) Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
getShipmentTypeIncompatibilitiesOrBuilderList()
publicList<?extendsShipmentTypeIncompatibilityOrBuilder>getShipmentTypeIncompatibilitiesOrBuilderList() Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
List<? extends com.google.cloud.optimization.v1.ShipmentTypeIncompatibilityOrBuilder>
getShipmentTypeRequirements(int index)
publicShipmentTypeRequirementgetShipmentTypeRequirements(intindex) Sets of shipment_type requirements (see ShipmentTypeRequirement).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
getShipmentTypeRequirementsBuilder(int index)
publicShipmentTypeRequirement.BuildergetShipmentTypeRequirementsBuilder(intindex) Sets of shipment_type requirements (see ShipmentTypeRequirement).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
getShipmentTypeRequirementsBuilderList()
publicList<ShipmentTypeRequirement.Builder>getShipmentTypeRequirementsBuilderList() Sets of shipment_type requirements (see ShipmentTypeRequirement).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
getShipmentTypeRequirementsCount()
publicintgetShipmentTypeRequirementsCount() Sets of shipment_type requirements (see ShipmentTypeRequirement).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
getShipmentTypeRequirementsList()
publicList<ShipmentTypeRequirement>getShipmentTypeRequirementsList() Sets of shipment_type requirements (see ShipmentTypeRequirement).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
getShipmentTypeRequirementsOrBuilder(int index)
publicShipmentTypeRequirementOrBuildergetShipmentTypeRequirementsOrBuilder(intindex) Sets of shipment_type requirements (see ShipmentTypeRequirement).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
getShipmentTypeRequirementsOrBuilderList()
publicList<?extendsShipmentTypeRequirementOrBuilder>getShipmentTypeRequirementsOrBuilderList() Sets of shipment_type requirements (see ShipmentTypeRequirement).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
List<? extends com.google.cloud.optimization.v1.ShipmentTypeRequirementOrBuilder>
getShipments(int index)
publicShipmentgetShipments(intindex)Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
getShipmentsBuilder(int index)
publicShipment.BuildergetShipmentsBuilder(intindex)Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
getShipmentsBuilderList()
publicList<Shipment.Builder>getShipmentsBuilderList()Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
getShipmentsCount()
publicintgetShipmentsCount()Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
getShipmentsList()
publicList<Shipment>getShipmentsList()Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
getShipmentsOrBuilder(int index)
publicShipmentOrBuildergetShipmentsOrBuilder(intindex)Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
getShipmentsOrBuilderList()
publicList<?extendsShipmentOrBuilder>getShipmentsOrBuilderList()Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
List<? extends com.google.cloud.optimization.v1.ShipmentOrBuilder>
getTransitionAttributes(int index)
publicTransitionAttributesgetTransitionAttributes(intindex)Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
getTransitionAttributesBuilder(int index)
publicTransitionAttributes.BuildergetTransitionAttributesBuilder(intindex)Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
getTransitionAttributesBuilderList()
publicList<TransitionAttributes.Builder>getTransitionAttributesBuilderList()Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
getTransitionAttributesCount()
publicintgetTransitionAttributesCount()Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
getTransitionAttributesList()
publicList<TransitionAttributes>getTransitionAttributesList()Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
getTransitionAttributesOrBuilder(int index)
publicTransitionAttributesOrBuildergetTransitionAttributesOrBuilder(intindex)Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
getTransitionAttributesOrBuilderList()
publicList<?extendsTransitionAttributesOrBuilder>getTransitionAttributesOrBuilderList()Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
List<? extends com.google.cloud.optimization.v1.TransitionAttributesOrBuilder>
getVehicles(int index)
publicVehiclegetVehicles(intindex)Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
getVehiclesBuilder(int index)
publicVehicle.BuildergetVehiclesBuilder(intindex)Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
getVehiclesBuilderList()
publicList<Vehicle.Builder>getVehiclesBuilderList()Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
getVehiclesCount()
publicintgetVehiclesCount()Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
getVehiclesList()
publicList<Vehicle>getVehiclesList()Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
getVehiclesOrBuilder(int index)
publicVehicleOrBuildergetVehiclesOrBuilder(intindex)Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
getVehiclesOrBuilderList()
publicList<?extendsVehicleOrBuilder>getVehiclesOrBuilderList()Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
List<? extends com.google.cloud.optimization.v1.VehicleOrBuilder>
hasGlobalEndTime()
publicbooleanhasGlobalEndTime()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;
boolean
Whether the globalEndTime field is set.
hasGlobalStartTime()
publicbooleanhasGlobalStartTime() 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;
boolean
Whether the globalStartTime field is set.
hasMaxActiveVehicles()
publicbooleanhasMaxActiveVehicles()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;
boolean
Whether the maxActiveVehicles field is set.
internalGetFieldAccessorTable()
protectedGeneratedMessageV3.FieldAccessorTableinternalGetFieldAccessorTable()isInitialized()
publicfinalbooleanisInitialized()mergeFrom(ShipmentModel other)
publicShipmentModel.BuildermergeFrom(ShipmentModelother)mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
publicShipmentModel.BuildermergeFrom(CodedInputStreaminput,ExtensionRegistryLiteextensionRegistry)mergeFrom(Message other)
publicShipmentModel.BuildermergeFrom(Messageother)mergeGlobalEndTime(Timestamp value)
publicShipmentModel.BuildermergeGlobalEndTime(Timestampvalue)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;
mergeGlobalStartTime(Timestamp value)
publicShipmentModel.BuildermergeGlobalStartTime(Timestampvalue) 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;
mergeUnknownFields(UnknownFieldSet unknownFields)
publicfinalShipmentModel.BuildermergeUnknownFields(UnknownFieldSetunknownFields)removeBreakRules(int index)
publicShipmentModel.BuilderremoveBreakRules(intindex) 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
field (which must be a singleton).
repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
removeDurationDistanceMatrices(int index)
publicShipmentModel.BuilderremoveDurationDistanceMatrices(intindex) 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;
removePrecedenceRules(int index)
publicShipmentModel.BuilderremovePrecedenceRules(intindex)Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
removeShipmentTypeIncompatibilities(int index)
publicShipmentModel.BuilderremoveShipmentTypeIncompatibilities(intindex) Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
removeShipmentTypeRequirements(int index)
publicShipmentModel.BuilderremoveShipmentTypeRequirements(intindex) Sets of shipment_type requirements (see ShipmentTypeRequirement).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
removeShipments(int index)
publicShipmentModel.BuilderremoveShipments(intindex)Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
removeTransitionAttributes(int index)
publicShipmentModel.BuilderremoveTransitionAttributes(intindex)Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
removeVehicles(int index)
publicShipmentModel.BuilderremoveVehicles(intindex)Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
setBreakRules(int index, ShipmentModel.BreakRule value)
publicShipmentModel.BuildersetBreakRules(intindex,ShipmentModel.BreakRulevalue) 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
field (which must be a singleton).
repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
setBreakRules(int index, ShipmentModel.BreakRule.Builder builderForValue)
publicShipmentModel.BuildersetBreakRules(intindex,ShipmentModel.BreakRule.BuilderbuilderForValue) 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
field (which must be a singleton).
repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
setDurationDistanceMatrices(int index, ShipmentModel.DurationDistanceMatrix value)
publicShipmentModel.BuildersetDurationDistanceMatrices(intindex,ShipmentModel.DurationDistanceMatrixvalue) 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;
setDurationDistanceMatrices(int index, ShipmentModel.DurationDistanceMatrix.Builder builderForValue)
publicShipmentModel.BuildersetDurationDistanceMatrices(intindex,ShipmentModel.DurationDistanceMatrix.BuilderbuilderForValue) 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;
setDurationDistanceMatrixDstTags(int index, String value)
publicShipmentModel.BuildersetDurationDistanceMatrixDstTags(intindex,Stringvalue) 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
or 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;
ShipmentModel.Builder
This builder for chaining.
setDurationDistanceMatrixSrcTags(int index, String value)
publicShipmentModel.BuildersetDurationDistanceMatrixSrcTags(intindex,Stringvalue) 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
or 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;
ShipmentModel.Builder
This builder for chaining.
setField(Descriptors.FieldDescriptor field, Object value)
publicShipmentModel.BuildersetField(Descriptors.FieldDescriptorfield,Objectvalue)setGlobalDurationCostPerHour(double value)
publicShipmentModel.BuildersetGlobalDurationCostPerHour(doublevalue)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.
double global_duration_cost_per_hour = 7;
ShipmentModel.Builder
This builder for chaining.
setGlobalEndTime(Timestamp value)
publicShipmentModel.BuildersetGlobalEndTime(Timestampvalue)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;
setGlobalEndTime(Timestamp.Builder builderForValue)
publicShipmentModel.BuildersetGlobalEndTime(Timestamp.BuilderbuilderForValue)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;
setGlobalStartTime(Timestamp value)
publicShipmentModel.BuildersetGlobalStartTime(Timestampvalue) 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;
setGlobalStartTime(Timestamp.Builder builderForValue)
publicShipmentModel.BuildersetGlobalStartTime(Timestamp.BuilderbuilderForValue) 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;
setMaxActiveVehicles(int value)
publicShipmentModel.BuildersetMaxActiveVehicles(intvalue)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;
ShipmentModel.Builder
This builder for chaining.
setPrecedenceRules(int index, ShipmentModel.PrecedenceRule value)
publicShipmentModel.BuildersetPrecedenceRules(intindex,ShipmentModel.PrecedenceRulevalue)Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
setPrecedenceRules(int index, ShipmentModel.PrecedenceRule.Builder builderForValue)
publicShipmentModel.BuildersetPrecedenceRules(intindex,ShipmentModel.PrecedenceRule.BuilderbuilderForValue)Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)
publicShipmentModel.BuildersetRepeatedField(Descriptors.FieldDescriptorfield,intindex,Objectvalue)setShipmentTypeIncompatibilities(int index, ShipmentTypeIncompatibility value)
publicShipmentModel.BuildersetShipmentTypeIncompatibilities(intindex,ShipmentTypeIncompatibilityvalue) Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
setShipmentTypeIncompatibilities(int index, ShipmentTypeIncompatibility.Builder builderForValue)
publicShipmentModel.BuildersetShipmentTypeIncompatibilities(intindex,ShipmentTypeIncompatibility.BuilderbuilderForValue) Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
setShipmentTypeRequirements(int index, ShipmentTypeRequirement value)
publicShipmentModel.BuildersetShipmentTypeRequirements(intindex,ShipmentTypeRequirementvalue) Sets of shipment_type requirements (see ShipmentTypeRequirement).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
setShipmentTypeRequirements(int index, ShipmentTypeRequirement.Builder builderForValue)
publicShipmentModel.BuildersetShipmentTypeRequirements(intindex,ShipmentTypeRequirement.BuilderbuilderForValue) Sets of shipment_type requirements (see ShipmentTypeRequirement).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
setShipments(int index, Shipment value)
publicShipmentModel.BuildersetShipments(intindex,Shipmentvalue)Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
setShipments(int index, Shipment.Builder builderForValue)
publicShipmentModel.BuildersetShipments(intindex,Shipment.BuilderbuilderForValue)Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
setTransitionAttributes(int index, TransitionAttributes value)
publicShipmentModel.BuildersetTransitionAttributes(intindex,TransitionAttributesvalue)Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
setTransitionAttributes(int index, TransitionAttributes.Builder builderForValue)
publicShipmentModel.BuildersetTransitionAttributes(intindex,TransitionAttributes.BuilderbuilderForValue)Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
setUnknownFields(UnknownFieldSet unknownFields)
publicfinalShipmentModel.BuildersetUnknownFields(UnknownFieldSetunknownFields)setVehicles(int index, Vehicle value)
publicShipmentModel.BuildersetVehicles(intindex,Vehiclevalue)Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
setVehicles(int index, Vehicle.Builder builderForValue)
publicShipmentModel.BuildersetVehicles(intindex,Vehicle.BuilderbuilderForValue)Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;