public final class ShipmentModel extends GeneratedMessageV3 implements ShipmentModelOrBuilder
A shipment model contains a set of shipments which must be performed by a
set of vehicles, while minimizing the overall cost, which is the sum of:
- the cost of routing the vehicles (sum of cost per total time, cost per
travel time, and fixed cost over all vehicles).
- the unperformed shipment penalties.
- the cost of the global duration of the shipments
Protobuf type google.cloud.optimization.v1.ShipmentModel
Static Fields
BREAK_RULES_FIELD_NUMBER
public static final int BREAK_RULES_FIELD_NUMBER
Field Value
DURATION_DISTANCE_MATRICES_FIELD_NUMBER
public static final int DURATION_DISTANCE_MATRICES_FIELD_NUMBER
Field Value
public static final int DURATION_DISTANCE_MATRIX_DST_TAGS_FIELD_NUMBER
Field Value
public static final int DURATION_DISTANCE_MATRIX_SRC_TAGS_FIELD_NUMBER
Field Value
GLOBAL_DURATION_COST_PER_HOUR_FIELD_NUMBER
public static final int GLOBAL_DURATION_COST_PER_HOUR_FIELD_NUMBER
Field Value
GLOBAL_END_TIME_FIELD_NUMBER
public static final int GLOBAL_END_TIME_FIELD_NUMBER
Field Value
GLOBAL_START_TIME_FIELD_NUMBER
public static final int GLOBAL_START_TIME_FIELD_NUMBER
Field Value
MAX_ACTIVE_VEHICLES_FIELD_NUMBER
public static final int MAX_ACTIVE_VEHICLES_FIELD_NUMBER
Field Value
PRECEDENCE_RULES_FIELD_NUMBER
public static final int PRECEDENCE_RULES_FIELD_NUMBER
Field Value
SHIPMENTS_FIELD_NUMBER
public static final int SHIPMENTS_FIELD_NUMBER
Field Value
SHIPMENT_TYPE_INCOMPATIBILITIES_FIELD_NUMBER
public static final int SHIPMENT_TYPE_INCOMPATIBILITIES_FIELD_NUMBER
Field Value
SHIPMENT_TYPE_REQUIREMENTS_FIELD_NUMBER
public static final int SHIPMENT_TYPE_REQUIREMENTS_FIELD_NUMBER
Field Value
TRANSITION_ATTRIBUTES_FIELD_NUMBER
public static final int TRANSITION_ATTRIBUTES_FIELD_NUMBER
Field Value
VEHICLES_FIELD_NUMBER
public static final int VEHICLES_FIELD_NUMBER
Field Value
Static Methods
getDefaultInstance()
public static ShipmentModel getDefaultInstance()
Returns
getDescriptor()
public static final Descriptors.Descriptor getDescriptor()
Returns
newBuilder()
public static ShipmentModel.Builder newBuilder()
Returns
newBuilder(ShipmentModel prototype)
public static ShipmentModel.Builder newBuilder(ShipmentModel prototype)
Parameter
Returns
public static ShipmentModel parseDelimitedFrom(InputStream input)
Parameter
Returns
Exceptions
public static ShipmentModel parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
parseFrom(byte[] data)
public static ShipmentModel parseFrom(byte[] data)
Parameter
Name | Description |
data | byte[]
|
Returns
Exceptions
parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
public static ShipmentModel parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
parseFrom(ByteString data)
public static ShipmentModel parseFrom(ByteString data)
Parameter
Returns
Exceptions
parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
public static ShipmentModel parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
public static ShipmentModel parseFrom(CodedInputStream input)
Parameter
Returns
Exceptions
public static ShipmentModel parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
public static ShipmentModel parseFrom(InputStream input)
Parameter
Returns
Exceptions
public static ShipmentModel parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
parseFrom(ByteBuffer data)
public static ShipmentModel parseFrom(ByteBuffer data)
Parameter
Returns
Exceptions
parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
public static ShipmentModel parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
parser()
public static Parser<ShipmentModel> parser()
Returns
Methods
equals(Object obj)
public boolean equals(Object obj)
Parameter
Returns
Overrides
getBreakRules(int index)
public ShipmentModel.BreakRule getBreakRules(int index)
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];
Parameter
Returns
getBreakRulesCount()
public int getBreakRulesCount()
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];
Returns
getBreakRulesList()
public List<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];
Returns
getBreakRulesOrBuilder(int index)
public ShipmentModel.BreakRuleOrBuilder getBreakRulesOrBuilder(int index)
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];
Parameter
Returns
getBreakRulesOrBuilderList()
public List<? extends ShipmentModel.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];
Returns
Type | Description |
List<? extends com.google.cloud.optimization.v1.ShipmentModel.BreakRuleOrBuilder> | |
getDefaultInstanceForType()
public ShipmentModel getDefaultInstanceForType()
Returns
getDurationDistanceMatrices(int index)
public ShipmentModel.DurationDistanceMatrix getDurationDistanceMatrices(int index)
Specifies duration and distance matrices used in the model. If this field
is empty, Google Maps or geodesic distances will be used instead, depending
on the value of the use_geodesic_distances
field. If it is not empty,
use_geodesic_distances
cannot be true and neither
duration_distance_matrix_src_tags
nor duration_distance_matrix_dst_tags
can be empty.
Usage examples:
- There are two locations: locA and locB.
- 1 vehicle starting its route at locA and ending it at locA.
- 1 pickup visit request at locB.
`
model {
vehicles { start_tags: "locA" end_tags: "locA" }
shipments { pickups { tags: "locB" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_dst_tags: "locA"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrices {
rows { # from: locA
durations { seconds: 0 } meters: 0 # to: locA
durations { seconds: 100 } meters: 1000 # to: locB
}
rows { # from: locB
durations { seconds: 102 } meters: 990 # to: locA
durations { seconds: 0 } meters: 0 # to: locB
}
}
}
- There are three locations: locA, locB and locC.
- 1 vehicle starting its route at locA and ending it at locB, using
matrix "fast".
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "slow".
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "fast".
- 1 pickup visit request at locC.
model {
vehicles { start_tags: "locA" end_tags: "locB" start_tags: "fast" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "slow" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "fast" }
shipments { pickups { tags: "locC" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_src_tags: "locC"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrix_dst_tags: "locC"
duration_distance_matrices {
vehicle_start_tag: "fast"
rows { # from: locA
durations { seconds: 1000 } meters: 2000 # to: locB
durations { seconds: 600 } meters: 1000 # to: locC
}
rows { # from: locB
durations { seconds: 0 } meters: 0 # to: locB
durations { seconds: 700 } meters: 1200 # to: locC
}
rows { # from: locC
durations { seconds: 702 } meters: 1190 # to: locB
durations { seconds: 0 } meters: 0 # to: locC
}
}
duration_distance_matrices {
vehicle_start_tag: "slow"
rows { # from: locA
durations { seconds: 1800 } meters: 2001 # to: locB
durations { seconds: 900 } meters: 1002 # to: locC
}
rows { # from: locB
durations { seconds: 0 } meters: 0 # to: locB
durations { seconds: 1000 } meters: 1202 # to: locC
}
rows { # from: locC
durations { seconds: 1001 } meters: 1195 # to: locB
durations { seconds: 0 } meters: 0 # to: locC
}
}
}
`
repeated .google.cloud.optimization.v1.ShipmentModel.DurationDistanceMatrix duration_distance_matrices = 8;
Parameter
Returns
getDurationDistanceMatricesCount()
public int getDurationDistanceMatricesCount()
Specifies duration and distance matrices used in the model. If this field
is empty, Google Maps or geodesic distances will be used instead, depending
on the value of the use_geodesic_distances
field. If it is not empty,
use_geodesic_distances
cannot be true and neither
duration_distance_matrix_src_tags
nor duration_distance_matrix_dst_tags
can be empty.
Usage examples:
- There are two locations: locA and locB.
- 1 vehicle starting its route at locA and ending it at locA.
- 1 pickup visit request at locB.
`
model {
vehicles { start_tags: "locA" end_tags: "locA" }
shipments { pickups { tags: "locB" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_dst_tags: "locA"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrices {
rows { # from: locA
durations { seconds: 0 } meters: 0 # to: locA
durations { seconds: 100 } meters: 1000 # to: locB
}
rows { # from: locB
durations { seconds: 102 } meters: 990 # to: locA
durations { seconds: 0 } meters: 0 # to: locB
}
}
}
- There are three locations: locA, locB and locC.
- 1 vehicle starting its route at locA and ending it at locB, using
matrix "fast".
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "slow".
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "fast".
- 1 pickup visit request at locC.
model {
vehicles { start_tags: "locA" end_tags: "locB" start_tags: "fast" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "slow" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "fast" }
shipments { pickups { tags: "locC" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_src_tags: "locC"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrix_dst_tags: "locC"
duration_distance_matrices {
vehicle_start_tag: "fast"
rows { # from: locA
durations { seconds: 1000 } meters: 2000 # to: locB
durations { seconds: 600 } meters: 1000 # to: locC
}
rows { # from: locB
durations { seconds: 0 } meters: 0 # to: locB
durations { seconds: 700 } meters: 1200 # to: locC
}
rows { # from: locC
durations { seconds: 702 } meters: 1190 # to: locB
durations { seconds: 0 } meters: 0 # to: locC
}
}
duration_distance_matrices {
vehicle_start_tag: "slow"
rows { # from: locA
durations { seconds: 1800 } meters: 2001 # to: locB
durations { seconds: 900 } meters: 1002 # to: locC
}
rows { # from: locB
durations { seconds: 0 } meters: 0 # to: locB
durations { seconds: 1000 } meters: 1202 # to: locC
}
rows { # from: locC
durations { seconds: 1001 } meters: 1195 # to: locB
durations { seconds: 0 } meters: 0 # to: locC
}
}
}
`
repeated .google.cloud.optimization.v1.ShipmentModel.DurationDistanceMatrix duration_distance_matrices = 8;
Returns
getDurationDistanceMatricesList()
public List<ShipmentModel.DurationDistanceMatrix> getDurationDistanceMatricesList()
Specifies duration and distance matrices used in the model. If this field
is empty, Google Maps or geodesic distances will be used instead, depending
on the value of the use_geodesic_distances
field. If it is not empty,
use_geodesic_distances
cannot be true and neither
duration_distance_matrix_src_tags
nor duration_distance_matrix_dst_tags
can be empty.
Usage examples:
- There are two locations: locA and locB.
- 1 vehicle starting its route at locA and ending it at locA.
- 1 pickup visit request at locB.
`
model {
vehicles { start_tags: "locA" end_tags: "locA" }
shipments { pickups { tags: "locB" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_dst_tags: "locA"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrices {
rows { # from: locA
durations { seconds: 0 } meters: 0 # to: locA
durations { seconds: 100 } meters: 1000 # to: locB
}
rows { # from: locB
durations { seconds: 102 } meters: 990 # to: locA
durations { seconds: 0 } meters: 0 # to: locB
}
}
}
- There are three locations: locA, locB and locC.
- 1 vehicle starting its route at locA and ending it at locB, using
matrix "fast".
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "slow".
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "fast".
- 1 pickup visit request at locC.
model {
vehicles { start_tags: "locA" end_tags: "locB" start_tags: "fast" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "slow" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "fast" }
shipments { pickups { tags: "locC" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_src_tags: "locC"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrix_dst_tags: "locC"
duration_distance_matrices {
vehicle_start_tag: "fast"
rows { # from: locA
durations { seconds: 1000 } meters: 2000 # to: locB
durations { seconds: 600 } meters: 1000 # to: locC
}
rows { # from: locB
durations { seconds: 0 } meters: 0 # to: locB
durations { seconds: 700 } meters: 1200 # to: locC
}
rows { # from: locC
durations { seconds: 702 } meters: 1190 # to: locB
durations { seconds: 0 } meters: 0 # to: locC
}
}
duration_distance_matrices {
vehicle_start_tag: "slow"
rows { # from: locA
durations { seconds: 1800 } meters: 2001 # to: locB
durations { seconds: 900 } meters: 1002 # to: locC
}
rows { # from: locB
durations { seconds: 0 } meters: 0 # to: locB
durations { seconds: 1000 } meters: 1202 # to: locC
}
rows { # from: locC
durations { seconds: 1001 } meters: 1195 # to: locB
durations { seconds: 0 } meters: 0 # to: locC
}
}
}
`
repeated .google.cloud.optimization.v1.ShipmentModel.DurationDistanceMatrix duration_distance_matrices = 8;
Returns
getDurationDistanceMatricesOrBuilder(int index)
public ShipmentModel.DurationDistanceMatrixOrBuilder getDurationDistanceMatricesOrBuilder(int index)
Specifies duration and distance matrices used in the model. If this field
is empty, Google Maps or geodesic distances will be used instead, depending
on the value of the use_geodesic_distances
field. If it is not empty,
use_geodesic_distances
cannot be true and neither
duration_distance_matrix_src_tags
nor duration_distance_matrix_dst_tags
can be empty.
Usage examples:
- There are two locations: locA and locB.
- 1 vehicle starting its route at locA and ending it at locA.
- 1 pickup visit request at locB.
`
model {
vehicles { start_tags: "locA" end_tags: "locA" }
shipments { pickups { tags: "locB" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_dst_tags: "locA"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrices {
rows { # from: locA
durations { seconds: 0 } meters: 0 # to: locA
durations { seconds: 100 } meters: 1000 # to: locB
}
rows { # from: locB
durations { seconds: 102 } meters: 990 # to: locA
durations { seconds: 0 } meters: 0 # to: locB
}
}
}
- There are three locations: locA, locB and locC.
- 1 vehicle starting its route at locA and ending it at locB, using
matrix "fast".
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "slow".
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "fast".
- 1 pickup visit request at locC.
model {
vehicles { start_tags: "locA" end_tags: "locB" start_tags: "fast" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "slow" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "fast" }
shipments { pickups { tags: "locC" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_src_tags: "locC"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrix_dst_tags: "locC"
duration_distance_matrices {
vehicle_start_tag: "fast"
rows { # from: locA
durations { seconds: 1000 } meters: 2000 # to: locB
durations { seconds: 600 } meters: 1000 # to: locC
}
rows { # from: locB
durations { seconds: 0 } meters: 0 # to: locB
durations { seconds: 700 } meters: 1200 # to: locC
}
rows { # from: locC
durations { seconds: 702 } meters: 1190 # to: locB
durations { seconds: 0 } meters: 0 # to: locC
}
}
duration_distance_matrices {
vehicle_start_tag: "slow"
rows { # from: locA
durations { seconds: 1800 } meters: 2001 # to: locB
durations { seconds: 900 } meters: 1002 # to: locC
}
rows { # from: locB
durations { seconds: 0 } meters: 0 # to: locB
durations { seconds: 1000 } meters: 1202 # to: locC
}
rows { # from: locC
durations { seconds: 1001 } meters: 1195 # to: locB
durations { seconds: 0 } meters: 0 # to: locC
}
}
}
`
repeated .google.cloud.optimization.v1.ShipmentModel.DurationDistanceMatrix duration_distance_matrices = 8;
Parameter
Returns
getDurationDistanceMatricesOrBuilderList()
public List<? extends ShipmentModel.DurationDistanceMatrixOrBuilder> getDurationDistanceMatricesOrBuilderList()
Specifies duration and distance matrices used in the model. If this field
is empty, Google Maps or geodesic distances will be used instead, depending
on the value of the use_geodesic_distances
field. If it is not empty,
use_geodesic_distances
cannot be true and neither
duration_distance_matrix_src_tags
nor duration_distance_matrix_dst_tags
can be empty.
Usage examples:
- There are two locations: locA and locB.
- 1 vehicle starting its route at locA and ending it at locA.
- 1 pickup visit request at locB.
`
model {
vehicles { start_tags: "locA" end_tags: "locA" }
shipments { pickups { tags: "locB" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_dst_tags: "locA"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrices {
rows { # from: locA
durations { seconds: 0 } meters: 0 # to: locA
durations { seconds: 100 } meters: 1000 # to: locB
}
rows { # from: locB
durations { seconds: 102 } meters: 990 # to: locA
durations { seconds: 0 } meters: 0 # to: locB
}
}
}
- There are three locations: locA, locB and locC.
- 1 vehicle starting its route at locA and ending it at locB, using
matrix "fast".
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "slow".
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "fast".
- 1 pickup visit request at locC.
model {
vehicles { start_tags: "locA" end_tags: "locB" start_tags: "fast" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "slow" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "fast" }
shipments { pickups { tags: "locC" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_src_tags: "locC"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrix_dst_tags: "locC"
duration_distance_matrices {
vehicle_start_tag: "fast"
rows { # from: locA
durations { seconds: 1000 } meters: 2000 # to: locB
durations { seconds: 600 } meters: 1000 # to: locC
}
rows { # from: locB
durations { seconds: 0 } meters: 0 # to: locB
durations { seconds: 700 } meters: 1200 # to: locC
}
rows { # from: locC
durations { seconds: 702 } meters: 1190 # to: locB
durations { seconds: 0 } meters: 0 # to: locC
}
}
duration_distance_matrices {
vehicle_start_tag: "slow"
rows { # from: locA
durations { seconds: 1800 } meters: 2001 # to: locB
durations { seconds: 900 } meters: 1002 # to: locC
}
rows { # from: locB
durations { seconds: 0 } meters: 0 # to: locB
durations { seconds: 1000 } meters: 1202 # to: locC
}
rows { # from: locC
durations { seconds: 1001 } meters: 1195 # to: locB
durations { seconds: 0 } meters: 0 # to: locC
}
}
}
`
repeated .google.cloud.optimization.v1.ShipmentModel.DurationDistanceMatrix duration_distance_matrices = 8;
Returns
Type | Description |
List<? extends com.google.cloud.optimization.v1.ShipmentModel.DurationDistanceMatrixOrBuilder> | |
public String getDurationDistanceMatrixDstTags(int index)
Tags defining the destinations of the duration and distance matrices;
duration_distance_matrices(i).rows(j).durations(k)
(resp.
duration_distance_matrices(i).rows(j).meters(k))
defines the duration
(resp. the distance) of the travel from visits with tag
duration_distance_matrix_src_tags(j)
to visits with tag
duration_distance_matrix_dst_tags(k)
in matrix i.
Tags correspond to
VisitRequest.tags
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;
Parameter
Name | Description |
index | int
The index of the element to return.
|
Returns
Type | Description |
String | The durationDistanceMatrixDstTags at the given index.
|
public ByteString getDurationDistanceMatrixDstTagsBytes(int index)
Tags defining the destinations of the duration and distance matrices;
duration_distance_matrices(i).rows(j).durations(k)
(resp.
duration_distance_matrices(i).rows(j).meters(k))
defines the duration
(resp. the distance) of the travel from visits with tag
duration_distance_matrix_src_tags(j)
to visits with tag
duration_distance_matrix_dst_tags(k)
in matrix i.
Tags correspond to
VisitRequest.tags
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;
Parameter
Name | Description |
index | int
The index of the value to return.
|
Returns
Type | Description |
ByteString | The bytes of the durationDistanceMatrixDstTags at the given index.
|
public int getDurationDistanceMatrixDstTagsCount()
Tags defining the destinations of the duration and distance matrices;
duration_distance_matrices(i).rows(j).durations(k)
(resp.
duration_distance_matrices(i).rows(j).meters(k))
defines the duration
(resp. the distance) of the travel from visits with tag
duration_distance_matrix_src_tags(j)
to visits with tag
duration_distance_matrix_dst_tags(k)
in matrix i.
Tags correspond to
VisitRequest.tags
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;
Returns
Type | Description |
int | The count of durationDistanceMatrixDstTags.
|
public ProtocolStringList getDurationDistanceMatrixDstTagsList()
Tags defining the destinations of the duration and distance matrices;
duration_distance_matrices(i).rows(j).durations(k)
(resp.
duration_distance_matrices(i).rows(j).meters(k))
defines the duration
(resp. the distance) of the travel from visits with tag
duration_distance_matrix_src_tags(j)
to visits with tag
duration_distance_matrix_dst_tags(k)
in matrix i.
Tags correspond to
VisitRequest.tags
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;
Returns
public String getDurationDistanceMatrixSrcTags(int index)
Tags defining the sources of the duration and distance matrices;
duration_distance_matrices(i).rows(j)
defines durations and distances
from visits with tag duration_distance_matrix_src_tags(j)
to other visits
in matrix i.
Tags correspond to
VisitRequest.tags
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;
Parameter
Name | Description |
index | int
The index of the element to return.
|
Returns
Type | Description |
String | The durationDistanceMatrixSrcTags at the given index.
|
public ByteString getDurationDistanceMatrixSrcTagsBytes(int index)
Tags defining the sources of the duration and distance matrices;
duration_distance_matrices(i).rows(j)
defines durations and distances
from visits with tag duration_distance_matrix_src_tags(j)
to other visits
in matrix i.
Tags correspond to
VisitRequest.tags
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;
Parameter
Name | Description |
index | int
The index of the value to return.
|
Returns
Type | Description |
ByteString | The bytes of the durationDistanceMatrixSrcTags at the given index.
|
public int getDurationDistanceMatrixSrcTagsCount()
Tags defining the sources of the duration and distance matrices;
duration_distance_matrices(i).rows(j)
defines durations and distances
from visits with tag duration_distance_matrix_src_tags(j)
to other visits
in matrix i.
Tags correspond to
VisitRequest.tags
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;
Returns
Type | Description |
int | The count of durationDistanceMatrixSrcTags.
|
public ProtocolStringList getDurationDistanceMatrixSrcTagsList()
Tags defining the sources of the duration and distance matrices;
duration_distance_matrices(i).rows(j)
defines durations and distances
from visits with tag duration_distance_matrix_src_tags(j)
to other visits
in matrix i.
Tags correspond to
VisitRequest.tags
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;
Returns
getGlobalDurationCostPerHour()
public double getGlobalDurationCostPerHour()
The "global duration" of the overall plan is the difference between the
earliest effective start time and the latest effective end time of
all vehicles. Users can assign a cost per hour to that quantity to try
and optimize for earliest job completion, for example. This cost must be in
the same unit as Shipment.penalty_cost.
double global_duration_cost_per_hour = 7;
Returns
Type | Description |
double | The globalDurationCostPerHour.
|
getGlobalEndTime()
public Timestamp getGlobalEndTime()
If unset, 00:00:00 UTC, January 1, 1971 (i.e. seconds: 31536000, nanos: 0)
is used as default.
.google.protobuf.Timestamp global_end_time = 6;
Returns
getGlobalEndTimeOrBuilder()
public TimestampOrBuilder getGlobalEndTimeOrBuilder()
If unset, 00:00:00 UTC, January 1, 1971 (i.e. seconds: 31536000, nanos: 0)
is used as default.
.google.protobuf.Timestamp global_end_time = 6;
Returns
getGlobalStartTime()
public Timestamp getGlobalStartTime()
Global start and end time of the model: no times outside of this range
can be considered valid.
The model's time span must be less than a year, i.e. the global_end_time
and the global_start_time
must be within 31536000 seconds of each other.
When using cost_per_*hour
fields, you might want to set this window to a
smaller interval to increase performance (eg. if you model a single day,
you should set the global time limits to that day).
If unset, 00:00:00 UTC, January 1, 1970 (i.e. seconds: 0, nanos: 0) is used
as default.
.google.protobuf.Timestamp global_start_time = 5;
Returns
getGlobalStartTimeOrBuilder()
public TimestampOrBuilder getGlobalStartTimeOrBuilder()
Global start and end time of the model: no times outside of this range
can be considered valid.
The model's time span must be less than a year, i.e. the global_end_time
and the global_start_time
must be within 31536000 seconds of each other.
When using cost_per_*hour
fields, you might want to set this window to a
smaller interval to increase performance (eg. if you model a single day,
you should set the global time limits to that day).
If unset, 00:00:00 UTC, January 1, 1970 (i.e. seconds: 0, nanos: 0) is used
as default.
.google.protobuf.Timestamp global_start_time = 5;
Returns
getMaxActiveVehicles()
public int getMaxActiveVehicles()
Constrains the maximum number of active vehicles. A vehicle is active if
its route performs at least one shipment. This can be used to limit the
number of routes in the case where there are fewer drivers than
vehicles and that the fleet of vehicles is heterogeneous. The optimization
will then select the best subset of vehicles to use.
Must be strictly positive.
optional int32 max_active_vehicles = 4;
Returns
Type | Description |
int | The maxActiveVehicles.
|
getParserForType()
public Parser<ShipmentModel> getParserForType()
Returns
Overrides
getPrecedenceRules(int index)
public ShipmentModel.PrecedenceRule getPrecedenceRules(int index)
Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
Parameter
Returns
getPrecedenceRulesCount()
public int getPrecedenceRulesCount()
Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
Returns
getPrecedenceRulesList()
public List<ShipmentModel.PrecedenceRule> getPrecedenceRulesList()
Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
Returns
getPrecedenceRulesOrBuilder(int index)
public ShipmentModel.PrecedenceRuleOrBuilder getPrecedenceRulesOrBuilder(int index)
Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
Parameter
Returns
getPrecedenceRulesOrBuilderList()
public List<? extends ShipmentModel.PrecedenceRuleOrBuilder> getPrecedenceRulesOrBuilderList()
Set of precedence rules which must be enforced in the model.
repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
Returns
Type | Description |
List<? extends com.google.cloud.optimization.v1.ShipmentModel.PrecedenceRuleOrBuilder> | |
getSerializedSize()
public int getSerializedSize()
Returns
Overrides
getShipmentTypeIncompatibilities(int index)
public ShipmentTypeIncompatibility getShipmentTypeIncompatibilities(int index)
Sets of incompatible shipment_types (see ShipmentTypeIncompatibility
).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
Parameter
Returns
getShipmentTypeIncompatibilitiesCount()
public int getShipmentTypeIncompatibilitiesCount()
Sets of incompatible shipment_types (see ShipmentTypeIncompatibility
).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
Returns
getShipmentTypeIncompatibilitiesList()
public List<ShipmentTypeIncompatibility> getShipmentTypeIncompatibilitiesList()
Sets of incompatible shipment_types (see ShipmentTypeIncompatibility
).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
Returns
getShipmentTypeIncompatibilitiesOrBuilder(int index)
public ShipmentTypeIncompatibilityOrBuilder getShipmentTypeIncompatibilitiesOrBuilder(int index)
Sets of incompatible shipment_types (see ShipmentTypeIncompatibility
).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
Parameter
Returns
getShipmentTypeIncompatibilitiesOrBuilderList()
public List<? extends ShipmentTypeIncompatibilityOrBuilder> getShipmentTypeIncompatibilitiesOrBuilderList()
Sets of incompatible shipment_types (see ShipmentTypeIncompatibility
).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
Returns
Type | Description |
List<? extends com.google.cloud.optimization.v1.ShipmentTypeIncompatibilityOrBuilder> | |
getShipmentTypeRequirements(int index)
public ShipmentTypeRequirement getShipmentTypeRequirements(int index)
Sets of shipment_type
requirements (see ShipmentTypeRequirement
).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
Parameter
Returns
getShipmentTypeRequirementsCount()
public int getShipmentTypeRequirementsCount()
Sets of shipment_type
requirements (see ShipmentTypeRequirement
).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
Returns
getShipmentTypeRequirementsList()
public List<ShipmentTypeRequirement> getShipmentTypeRequirementsList()
Sets of shipment_type
requirements (see ShipmentTypeRequirement
).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
Returns
getShipmentTypeRequirementsOrBuilder(int index)
public ShipmentTypeRequirementOrBuilder getShipmentTypeRequirementsOrBuilder(int index)
Sets of shipment_type
requirements (see ShipmentTypeRequirement
).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
Parameter
Returns
getShipmentTypeRequirementsOrBuilderList()
public List<? extends ShipmentTypeRequirementOrBuilder> getShipmentTypeRequirementsOrBuilderList()
Sets of shipment_type
requirements (see ShipmentTypeRequirement
).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
Returns
Type | Description |
List<? extends com.google.cloud.optimization.v1.ShipmentTypeRequirementOrBuilder> | |
getShipments(int index)
public Shipment getShipments(int index)
Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
Parameter
Returns
getShipmentsCount()
public int getShipmentsCount()
Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
Returns
getShipmentsList()
public List<Shipment> getShipmentsList()
Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
Returns
getShipmentsOrBuilder(int index)
public ShipmentOrBuilder getShipmentsOrBuilder(int index)
Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
Parameter
Returns
getShipmentsOrBuilderList()
public List<? extends ShipmentOrBuilder> getShipmentsOrBuilderList()
Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
Returns
Type | Description |
List<? extends com.google.cloud.optimization.v1.ShipmentOrBuilder> | |
getTransitionAttributes(int index)
public TransitionAttributes getTransitionAttributes(int index)
Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
Parameter
Returns
getTransitionAttributesCount()
public int getTransitionAttributesCount()
Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
Returns
getTransitionAttributesList()
public List<TransitionAttributes> getTransitionAttributesList()
Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
Returns
getTransitionAttributesOrBuilder(int index)
public TransitionAttributesOrBuilder getTransitionAttributesOrBuilder(int index)
Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
Parameter
Returns
getTransitionAttributesOrBuilderList()
public List<? extends TransitionAttributesOrBuilder> getTransitionAttributesOrBuilderList()
Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
Returns
Type | Description |
List<? extends com.google.cloud.optimization.v1.TransitionAttributesOrBuilder> | |
getUnknownFields()
public final UnknownFieldSet getUnknownFields()
Returns
Overrides
getVehicles(int index)
public Vehicle getVehicles(int index)
Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
Parameter
Returns
getVehiclesCount()
public int getVehiclesCount()
Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
Returns
getVehiclesList()
public List<Vehicle> getVehiclesList()
Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
Returns
getVehiclesOrBuilder(int index)
public VehicleOrBuilder getVehiclesOrBuilder(int index)
Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
Parameter
Returns
getVehiclesOrBuilderList()
public List<? extends VehicleOrBuilder> getVehiclesOrBuilderList()
Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
Returns
Type | Description |
List<? extends com.google.cloud.optimization.v1.VehicleOrBuilder> | |
hasGlobalEndTime()
public boolean hasGlobalEndTime()
If unset, 00:00:00 UTC, January 1, 1971 (i.e. seconds: 31536000, nanos: 0)
is used as default.
.google.protobuf.Timestamp global_end_time = 6;
Returns
Type | Description |
boolean | Whether the globalEndTime field is set.
|
hasGlobalStartTime()
public boolean hasGlobalStartTime()
Global start and end time of the model: no times outside of this range
can be considered valid.
The model's time span must be less than a year, i.e. the global_end_time
and the global_start_time
must be within 31536000 seconds of each other.
When using cost_per_*hour
fields, you might want to set this window to a
smaller interval to increase performance (eg. if you model a single day,
you should set the global time limits to that day).
If unset, 00:00:00 UTC, January 1, 1970 (i.e. seconds: 0, nanos: 0) is used
as default.
.google.protobuf.Timestamp global_start_time = 5;
Returns
Type | Description |
boolean | Whether the globalStartTime field is set.
|
hasMaxActiveVehicles()
public boolean hasMaxActiveVehicles()
Constrains the maximum number of active vehicles. A vehicle is active if
its route performs at least one shipment. This can be used to limit the
number of routes in the case where there are fewer drivers than
vehicles and that the fleet of vehicles is heterogeneous. The optimization
will then select the best subset of vehicles to use.
Must be strictly positive.
optional int32 max_active_vehicles = 4;
Returns
Type | Description |
boolean | Whether the maxActiveVehicles field is set.
|
hashCode()
Returns
Overrides
internalGetFieldAccessorTable()
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Returns
Overrides
isInitialized()
public final boolean isInitialized()
Returns
Overrides
newBuilderForType()
public ShipmentModel.Builder newBuilderForType()
Returns
newBuilderForType(GeneratedMessageV3.BuilderParent parent)
protected ShipmentModel.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
Parameter
Returns
Overrides
newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
Parameter
Returns
Overrides
toBuilder()
public ShipmentModel.Builder toBuilder()
Returns
writeTo(CodedOutputStream output)
public void writeTo(CodedOutputStream output)
Parameter
Overrides
Exceptions