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 |
---|
Type | Description |
int | |
DURATION_DISTANCE_MATRICES_FIELD_NUMBER
public static final int DURATION_DISTANCE_MATRICES_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
public static final int DURATION_DISTANCE_MATRIX_DST_TAGS_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
public static final int DURATION_DISTANCE_MATRIX_SRC_TAGS_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
GLOBAL_DURATION_COST_PER_HOUR_FIELD_NUMBER
public static final int GLOBAL_DURATION_COST_PER_HOUR_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
GLOBAL_END_TIME_FIELD_NUMBER
public static final int GLOBAL_END_TIME_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
GLOBAL_START_TIME_FIELD_NUMBER
public static final int GLOBAL_START_TIME_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
MAX_ACTIVE_VEHICLES_FIELD_NUMBER
public static final int MAX_ACTIVE_VEHICLES_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
PRECEDENCE_RULES_FIELD_NUMBER
public static final int PRECEDENCE_RULES_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
SHIPMENTS_FIELD_NUMBER
public static final int SHIPMENTS_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
SHIPMENT_TYPE_INCOMPATIBILITIES_FIELD_NUMBER
public static final int SHIPMENT_TYPE_INCOMPATIBILITIES_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
SHIPMENT_TYPE_REQUIREMENTS_FIELD_NUMBER
public static final int SHIPMENT_TYPE_REQUIREMENTS_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
TRANSITION_ATTRIBUTES_FIELD_NUMBER
public static final int TRANSITION_ATTRIBUTES_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
VEHICLES_FIELD_NUMBER
public static final int VEHICLES_FIELD_NUMBER
Field Value |
---|
Type | Description |
int | |
Static Methods
getDefaultInstance()
public static ShipmentModel getDefaultInstance()
getDescriptor()
public static final Descriptors.Descriptor getDescriptor()
newBuilder()
public static ShipmentModel.Builder newBuilder()
newBuilder(ShipmentModel prototype)
public static ShipmentModel.Builder newBuilder(ShipmentModel prototype)
public static ShipmentModel parseDelimitedFrom(InputStream input)
public static ShipmentModel parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
parseFrom(byte[] data)
public static ShipmentModel parseFrom(byte[] data)
Parameter |
---|
Name | Description |
data | byte[]
|
parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
public static ShipmentModel parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
parseFrom(ByteString data)
public static ShipmentModel parseFrom(ByteString data)
parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
public static ShipmentModel parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
public static ShipmentModel parseFrom(CodedInputStream input)
public static ShipmentModel parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
public static ShipmentModel parseFrom(InputStream input)
public static ShipmentModel parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
parseFrom(ByteBuffer data)
public static ShipmentModel parseFrom(ByteBuffer data)
parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
public static ShipmentModel parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
parser()
public static Parser<ShipmentModel> parser()
Methods
equals(Object obj)
public boolean equals(Object obj)
Parameter |
---|
Name | Description |
obj | Object
|
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 |
---|
Name | Description |
index | int
|
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 |
---|
Type | Description |
int | |
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];
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 |
---|
Name | Description |
index | int
|
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()
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 |
---|
Name | Description |
index | int
|
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 |
---|
Type | Description |
int | |
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;
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 |
---|
Name | Description |
index | int
|
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 |
---|
Type | Description |
ProtocolStringList | A list containing the durationDistanceMatrixDstTags.
|
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 |
---|
Type | Description |
ProtocolStringList | A list containing the durationDistanceMatrixSrcTags.
|
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 |
---|
Type | Description |
Timestamp | The globalEndTime.
|
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;
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 |
---|
Type | Description |
Timestamp | The globalStartTime.
|
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;
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()
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 |
---|
Name | Description |
index | int
|
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 |
---|
Type | Description |
int | |
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;
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 |
---|
Name | Description |
index | int
|
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 |
---|
Type | Description |
int | |
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 |
---|
Name | Description |
index | int
|
getShipmentTypeIncompatibilitiesCount()
public int getShipmentTypeIncompatibilitiesCount()
Sets of incompatible shipment_types (see ShipmentTypeIncompatibility
).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
Returns |
---|
Type | Description |
int | |
getShipmentTypeIncompatibilitiesList()
public List<ShipmentTypeIncompatibility> getShipmentTypeIncompatibilitiesList()
Sets of incompatible shipment_types (see ShipmentTypeIncompatibility
).
repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
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 |
---|
Name | Description |
index | int
|
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 |
---|
Name | Description |
index | int
|
getShipmentTypeRequirementsCount()
public int getShipmentTypeRequirementsCount()
Sets of shipment_type
requirements (see ShipmentTypeRequirement
).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
Returns |
---|
Type | Description |
int | |
getShipmentTypeRequirementsList()
public List<ShipmentTypeRequirement> getShipmentTypeRequirementsList()
Sets of shipment_type
requirements (see ShipmentTypeRequirement
).
repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
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 |
---|
Name | Description |
index | int
|
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 |
---|
Name | Description |
index | int
|
getShipmentsCount()
public int getShipmentsCount()
Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
Returns |
---|
Type | Description |
int | |
getShipmentsList()
public List<Shipment> getShipmentsList()
Set of shipments which must be performed in the model.
repeated .google.cloud.optimization.v1.Shipment shipments = 1;
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 |
---|
Name | Description |
index | int
|
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 |
---|
Name | Description |
index | int
|
getTransitionAttributesCount()
public int getTransitionAttributesCount()
Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
Returns |
---|
Type | Description |
int | |
getTransitionAttributesList()
public List<TransitionAttributes> getTransitionAttributesList()
Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
getTransitionAttributesOrBuilder(int index)
public TransitionAttributesOrBuilder getTransitionAttributesOrBuilder(int index)
Transition attributes added to the model.
repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
Parameter |
---|
Name | Description |
index | int
|
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()
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 |
---|
Name | Description |
index | int
|
getVehiclesCount()
public int getVehiclesCount()
Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
Returns |
---|
Type | Description |
int | |
getVehiclesList()
public List<Vehicle> getVehiclesList()
Set of vehicles which can be used to perform visits.
repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
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 |
---|
Name | Description |
index | int
|
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 |
---|
Type | Description |
int | |
Overrides
internalGetFieldAccessorTable()
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Overrides
isInitialized()
public final boolean isInitialized()
Overrides
newBuilderForType()
public ShipmentModel.Builder newBuilderForType()
newBuilderForType(GeneratedMessageV3.BuilderParent parent)
protected ShipmentModel.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
Overrides
newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
Overrides
toBuilder()
public ShipmentModel.Builder toBuilder()
writeTo(CodedOutputStream output)
public void writeTo(CodedOutputStream output)
Overrides