google-cloud-optimization-v1 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/AUTHENTICATION.md +1 -1
- data/README.md +1 -1
- data/lib/google/cloud/optimization/v1/fleet_routing/client.rb +48 -27
- data/lib/google/cloud/optimization/v1/fleet_routing.rb +1 -1
- data/lib/google/cloud/optimization/v1/version.rb +1 -1
- data/lib/google/cloud/optimization/v1.rb +2 -2
- data/proto_docs/google/api/client.rb +318 -0
- data/proto_docs/google/api/launch_stage.rb +71 -0
- data/proto_docs/google/cloud/optimization/v1/fleet_routing.rb +254 -132
- data/proto_docs/google/protobuf/empty.rb +0 -2
- data/proto_docs/google/rpc/status.rb +4 -2
- metadata +7 -5
@@ -46,7 +46,7 @@ module Google
|
|
46
46
|
# By default, the solving mode is `DEFAULT_SOLVE` (0).
|
47
47
|
# @!attribute [rw] max_validation_errors
|
48
48
|
# @return [::Integer]
|
49
|
-
# Truncates the number of validation errors returned.
|
49
|
+
# Truncates the number of validation errors returned. These errors are
|
50
50
|
# typically attached to an INVALID_ARGUMENT error payload as a BadRequest
|
51
51
|
# error detail (https://cloud.google.com/apis/design/errors#error_details),
|
52
52
|
# unless solving_mode=VALIDATE_ONLY: see the
|
@@ -79,8 +79,9 @@ module Google
|
|
79
79
|
# <= visits[0].start_time <= visits[1].start_time ...
|
80
80
|
# <= vehicle_end_time`).
|
81
81
|
# * a shipment may only be performed on a vehicle that is allowed. A
|
82
|
-
# vehicle is allowed if
|
83
|
-
#
|
82
|
+
# vehicle is allowed if
|
83
|
+
# {::Google::Cloud::Optimization::V1::Shipment#allowed_vehicle_indices Shipment.allowed_vehicle_indices}
|
84
|
+
# is empty or its `vehicle_index` is included in
|
84
85
|
# {::Google::Cloud::Optimization::V1::Shipment#allowed_vehicle_indices Shipment.allowed_vehicle_indices}.
|
85
86
|
#
|
86
87
|
# If the injected solution is not feasible, a validation error is not
|
@@ -118,16 +119,27 @@ module Google
|
|
118
119
|
# @return [::Boolean]
|
119
120
|
# If true:
|
120
121
|
#
|
121
|
-
# * uses
|
122
|
+
# * uses
|
123
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute#vehicle_label ShipmentRoute.vehicle_label}
|
124
|
+
# instead of `vehicle_index` to
|
122
125
|
# match routes in an injected solution with vehicles in the request;
|
123
|
-
# reuses the mapping of original
|
124
|
-
# {::Google::Cloud::Optimization::V1::ShipmentRoute#vehicle_index ShipmentRoute.vehicle_index}
|
126
|
+
# reuses the mapping of original
|
127
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute#vehicle_index ShipmentRoute.vehicle_index}
|
128
|
+
# to new
|
129
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute#vehicle_index ShipmentRoute.vehicle_index}
|
130
|
+
# to update
|
125
131
|
# {::Google::Cloud::Optimization::V1::InjectedSolutionConstraint::ConstraintRelaxation#vehicle_indices ConstraintRelaxation.vehicle_indices}
|
126
132
|
# if non-empty, but the mapping must be unambiguous (i.e., multiple
|
127
133
|
# `ShipmentRoute`s must not share the same original `vehicle_index`).
|
128
|
-
# * uses
|
134
|
+
# * uses
|
135
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute::Visit#shipment_label ShipmentRoute.Visit.shipment_label}
|
136
|
+
# instead of `shipment_index`
|
129
137
|
# to match visits in an injected solution with shipments in the request;
|
130
|
-
# * uses
|
138
|
+
# * uses
|
139
|
+
# {::Google::Cloud::Optimization::V1::SkippedShipment#label SkippedShipment.label}
|
140
|
+
# instead of
|
141
|
+
# {::Google::Cloud::Optimization::V1::SkippedShipment#index SkippedShipment.index}
|
142
|
+
# to
|
131
143
|
# match skipped shipments in the injected solution with request
|
132
144
|
# shipments.
|
133
145
|
#
|
@@ -140,8 +152,10 @@ module Google
|
|
140
152
|
# If true, labels in the following categories must appear at most once in
|
141
153
|
# their category:
|
142
154
|
#
|
143
|
-
# * {::Google::Cloud::Optimization::V1::Vehicle#label Vehicle.label} in the
|
144
|
-
#
|
155
|
+
# * {::Google::Cloud::Optimization::V1::Vehicle#label Vehicle.label} in the
|
156
|
+
# request;
|
157
|
+
# * {::Google::Cloud::Optimization::V1::Shipment#label Shipment.label} in the
|
158
|
+
# request;
|
145
159
|
# * {::Google::Cloud::Optimization::V1::ShipmentRoute#vehicle_label ShipmentRoute.vehicle_label} in the injected solution;
|
146
160
|
# * {::Google::Cloud::Optimization::V1::SkippedShipment#label SkippedShipment.label} and {::Google::Cloud::Optimization::V1::ShipmentRoute::Visit#shipment_label ShipmentRoute.Visit.shipment_label} in
|
147
161
|
# the injected solution (except pickup/delivery visit pairs, whose
|
@@ -151,28 +165,33 @@ module Google
|
|
151
165
|
# request vehicle, the corresponding route is removed from the solution
|
152
166
|
# along with its visits. If a `shipment_label` in the injected solution does
|
153
167
|
# not correspond to a request shipment, the corresponding visit is removed
|
154
|
-
# from the solution. If a
|
155
|
-
#
|
156
|
-
#
|
168
|
+
# from the solution. If a
|
169
|
+
# {::Google::Cloud::Optimization::V1::SkippedShipment#label SkippedShipment.label}
|
170
|
+
# in the injected solution does not correspond to a request shipment, the
|
171
|
+
# `SkippedShipment` is removed from the solution.
|
157
172
|
#
|
158
173
|
# Removing route visits or entire routes from an injected solution may
|
159
174
|
# have an effect on the implied constraints, which may lead to change in
|
160
175
|
# solution, validation errors, or infeasibility.
|
161
176
|
#
|
162
|
-
# NOTE: The caller must ensure that each
|
163
|
-
#
|
164
|
-
#
|
165
|
-
#
|
166
|
-
#
|
167
|
-
#
|
177
|
+
# NOTE: The caller must ensure that each
|
178
|
+
# {::Google::Cloud::Optimization::V1::Vehicle#label Vehicle.label} (resp.
|
179
|
+
# {::Google::Cloud::Optimization::V1::Shipment#label Shipment.label}) uniquely
|
180
|
+
# identifies a vehicle (resp. shipment) entity used across the two relevant
|
181
|
+
# requests: the past request that produced the `OptimizeToursResponse` used
|
182
|
+
# in the injected solution and the current request that includes the injected
|
183
|
+
# solution. The uniqueness checks described above are not enough to guarantee
|
184
|
+
# this requirement.
|
168
185
|
# @!attribute [rw] consider_road_traffic
|
169
186
|
# @return [::Boolean]
|
170
187
|
# Consider traffic estimation in calculating `ShipmentRoute` fields
|
171
188
|
# {::Google::Cloud::Optimization::V1::ShipmentRoute::Transition#travel_duration Transition.travel_duration},
|
172
189
|
# {::Google::Cloud::Optimization::V1::ShipmentRoute::Visit#start_time Visit.start_time},
|
173
190
|
# and `vehicle_end_time`; in setting the
|
174
|
-
# {::Google::Cloud::Optimization::V1::ShipmentRoute#has_traffic_infeasibilities ShipmentRoute.has_traffic_infeasibilities}
|
175
|
-
#
|
191
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute#has_traffic_infeasibilities ShipmentRoute.has_traffic_infeasibilities}
|
192
|
+
# field, and in calculating the
|
193
|
+
# {::Google::Cloud::Optimization::V1::OptimizeToursResponse#total_cost OptimizeToursResponse.total_cost}
|
194
|
+
# field.
|
176
195
|
# @!attribute [rw] populate_polylines
|
177
196
|
# @return [::Boolean]
|
178
197
|
# If true, polylines will be populated in response `ShipmentRoute`s.
|
@@ -205,18 +224,21 @@ module Google
|
|
205
224
|
# {::Google::Cloud::Optimization::V1::OptimizeToursResponse#request_label OptimizeToursResponse.request_label}.
|
206
225
|
# @!attribute [rw] populate_travel_step_polylines
|
207
226
|
# @return [::Boolean]
|
208
|
-
# Deprecated: Use
|
209
|
-
#
|
210
|
-
#
|
211
|
-
#
|
227
|
+
# Deprecated: Use
|
228
|
+
# {::Google::Cloud::Optimization::V1::OptimizeToursRequest#populate_transition_polylines OptimizeToursRequest.populate_transition_polylines}
|
229
|
+
# instead. If true, polylines will be populated in response
|
230
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute#transitions ShipmentRoute.transitions}.
|
231
|
+
# Note that in this case, the polylines will also be populated in the
|
232
|
+
# deprecated `travel_steps`.
|
212
233
|
class OptimizeToursRequest
|
213
234
|
include ::Google::Protobuf::MessageExts
|
214
235
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
215
236
|
|
216
237
|
# Defines how the solver should handle the request. In all modes but
|
217
238
|
# `VALIDATE_ONLY`, if the request is invalid, you will receive an
|
218
|
-
# `INVALID_REQUEST` error. See
|
219
|
-
#
|
239
|
+
# `INVALID_REQUEST` error. See
|
240
|
+
# {::Google::Cloud::Optimization::V1::OptimizeToursRequest#max_validation_errors max_validation_errors}
|
241
|
+
# to cap the number of errors returned.
|
220
242
|
module SolvingMode
|
221
243
|
# Solve the model.
|
222
244
|
DEFAULT_SOLVE = 0
|
@@ -259,8 +281,9 @@ module Google
|
|
259
281
|
# vehicle in the model.
|
260
282
|
# @!attribute [rw] request_label
|
261
283
|
# @return [::String]
|
262
|
-
# Copy of the
|
263
|
-
#
|
284
|
+
# Copy of the
|
285
|
+
# {::Google::Cloud::Optimization::V1::OptimizeToursRequest#label OptimizeToursRequest.label},
|
286
|
+
# if a label was specified in the request.
|
264
287
|
# @!attribute [rw] skipped_shipments
|
265
288
|
# @return [::Array<::Google::Cloud::Optimization::V1::SkippedShipment>]
|
266
289
|
# The list of all shipments skipped.
|
@@ -268,16 +291,18 @@ module Google
|
|
268
291
|
# @return [::Array<::Google::Cloud::Optimization::V1::OptimizeToursValidationError>]
|
269
292
|
# List of all the validation errors that we were able to detect
|
270
293
|
# independently. See the "MULTIPLE ERRORS" explanation for the
|
271
|
-
# {::Google::Cloud::Optimization::V1::OptimizeToursValidationError OptimizeToursValidationError}
|
294
|
+
# {::Google::Cloud::Optimization::V1::OptimizeToursValidationError OptimizeToursValidationError}
|
295
|
+
# message.
|
272
296
|
# @!attribute [rw] metrics
|
273
297
|
# @return [::Google::Cloud::Optimization::V1::OptimizeToursResponse::Metrics]
|
274
298
|
# Duration, distance and usage metrics for this solution.
|
275
299
|
# @!attribute [rw] total_cost
|
276
300
|
# @return [::Float]
|
277
|
-
# Deprecated: Use
|
278
|
-
#
|
279
|
-
#
|
280
|
-
# costs,
|
301
|
+
# Deprecated: Use
|
302
|
+
# {::Google::Cloud::Optimization::V1::OptimizeToursResponse::Metrics#total_cost Metrics.total_cost}
|
303
|
+
# instead. Total cost of the solution. This takes into account all costs:
|
304
|
+
# costs per per hour and travel hour, fixed vehicle costs, unperformed
|
305
|
+
# shipment penalty costs, global duration cost, etc.
|
281
306
|
class OptimizeToursResponse
|
282
307
|
include ::Google::Protobuf::MessageExts
|
283
308
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -286,23 +311,27 @@ module Google
|
|
286
311
|
# @!attribute [rw] aggregated_route_metrics
|
287
312
|
# @return [::Google::Cloud::Optimization::V1::AggregatedMetrics]
|
288
313
|
# Aggregated over the routes. Each metric is the sum (or max, for loads)
|
289
|
-
# over all
|
314
|
+
# over all
|
315
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute#metrics ShipmentRoute.metrics}
|
316
|
+
# fields of the same name.
|
290
317
|
# @!attribute [rw] skipped_mandatory_shipment_count
|
291
318
|
# @return [::Integer]
|
292
319
|
# Number of mandatory shipments skipped.
|
293
320
|
# @!attribute [rw] used_vehicle_count
|
294
321
|
# @return [::Integer]
|
295
322
|
# Number of vehicles used. Note: if a vehicle route is empty and
|
296
|
-
# {::Google::Cloud::Optimization::V1::Vehicle#used_if_route_is_empty Vehicle.used_if_route_is_empty}
|
297
|
-
# used.
|
323
|
+
# {::Google::Cloud::Optimization::V1::Vehicle#used_if_route_is_empty Vehicle.used_if_route_is_empty}
|
324
|
+
# is true, the vehicle is considered used.
|
298
325
|
# @!attribute [rw] earliest_vehicle_start_time
|
299
326
|
# @return [::Google::Protobuf::Timestamp]
|
300
327
|
# The earliest start time for a used vehicle, computed as the minimum over
|
301
|
-
# all used vehicles of
|
328
|
+
# all used vehicles of
|
329
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute#vehicle_start_time ShipmentRoute.vehicle_start_time}.
|
302
330
|
# @!attribute [rw] latest_vehicle_end_time
|
303
331
|
# @return [::Google::Protobuf::Timestamp]
|
304
332
|
# The latest end time for a used vehicle, computed as the maximum over all
|
305
|
-
# used vehicles of
|
333
|
+
# used vehicles of
|
334
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute#vehicle_end_time ShipmentRoute.vehicle_end_time}.
|
306
335
|
# @!attribute [rw] costs
|
307
336
|
# @return [::Google::Protobuf::Map{::String => ::Float}]
|
308
337
|
# Cost of the solution, broken down by cost-related request fields.
|
@@ -346,8 +375,8 @@ module Google
|
|
346
375
|
# If no location is specified, a region will be chosen automatically.
|
347
376
|
# @!attribute [rw] model_configs
|
348
377
|
# @return [::Array<::Google::Cloud::Optimization::V1::BatchOptimizeToursRequest::AsyncModelConfig>]
|
349
|
-
# Required. Input/Output information each purchase model, such as file paths
|
350
|
-
# formats.
|
378
|
+
# Required. Input/Output information each purchase model, such as file paths
|
379
|
+
# and data formats.
|
351
380
|
class BatchOptimizeToursRequest
|
352
381
|
include ::Google::Protobuf::MessageExts
|
353
382
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -430,7 +459,8 @@ module Google
|
|
430
459
|
# earliest effective start time and the latest effective end time of
|
431
460
|
# all vehicles. Users can assign a cost per hour to that quantity to try
|
432
461
|
# and optimize for earliest job completion, for example. This cost must be in
|
433
|
-
# the same unit as
|
462
|
+
# the same unit as
|
463
|
+
# {::Google::Cloud::Optimization::V1::Shipment#penalty_cost Shipment.penalty_cost}.
|
434
464
|
# @!attribute [rw] duration_distance_matrices
|
435
465
|
# @return [::Array<::Google::Cloud::Optimization::V1::ShipmentModel::DurationDistanceMatrix>]
|
436
466
|
# Specifies duration and distance matrices used in the model. If this field
|
@@ -569,7 +599,8 @@ module Google
|
|
569
599
|
# Deprecated: No longer used.
|
570
600
|
# Set of break rules used in the model.
|
571
601
|
# Each vehicle specifies the `BreakRule` that applies to it via the
|
572
|
-
# {::Google::Cloud::Optimization::V1::Vehicle#break_rule_indices Vehicle.break_rule_indices}
|
602
|
+
# {::Google::Cloud::Optimization::V1::Vehicle#break_rule_indices Vehicle.break_rule_indices}
|
603
|
+
# field (which must be a singleton).
|
573
604
|
class ShipmentModel
|
574
605
|
include ::Google::Protobuf::MessageExts
|
575
606
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -579,7 +610,8 @@ module Google
|
|
579
610
|
# @!attribute [rw] rows
|
580
611
|
# @return [::Array<::Google::Cloud::Optimization::V1::ShipmentModel::DurationDistanceMatrix::Row>]
|
581
612
|
# Specifies the rows of the duration and distance matrix. It must have as
|
582
|
-
# many elements as
|
613
|
+
# many elements as
|
614
|
+
# {::Google::Cloud::Optimization::V1::ShipmentModel#duration_distance_matrix_src_tags ShipmentModel.duration_distance_matrix_src_tags}.
|
583
615
|
# @!attribute [rw] vehicle_start_tag
|
584
616
|
# @return [::String]
|
585
617
|
# Tag defining to which vehicles this duration and distance matrix applies.
|
@@ -641,7 +673,8 @@ module Google
|
|
641
673
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
642
674
|
end
|
643
675
|
|
644
|
-
# Deprecated: Use top level
|
676
|
+
# Deprecated: Use top level
|
677
|
+
# {::Google::Cloud::Optimization::V1::ShipmentModel::BreakRule BreakRule} instead.
|
645
678
|
# Rules to generate time breaks for a vehicle (e.g. lunch
|
646
679
|
# breaks). A break is a contiguous period of time during which the vehicle
|
647
680
|
# remains idle at its current position and cannot perform any visit. A break
|
@@ -649,10 +682,10 @@ module Google
|
|
649
682
|
#
|
650
683
|
# * during the travel between two visits (which includes the time right
|
651
684
|
# before or right after a visit, but not in the middle of a visit), in
|
652
|
-
# which case it extends the corresponding transit time between the visits
|
653
|
-
# *
|
685
|
+
# which case it extends the corresponding transit time between the visits
|
686
|
+
# * before the vehicle start (the vehicle may not start in the middle of
|
654
687
|
# a break), in which case it does not affect the vehicle start time.
|
655
|
-
# *
|
688
|
+
# * after the vehicle end (ditto, with the vehicle end time).
|
656
689
|
# @!attribute [rw] break_requests
|
657
690
|
# @return [::Array<::Google::Cloud::Optimization::V1::ShipmentModel::BreakRule::BreakRequest>]
|
658
691
|
# Sequence of breaks. See the `BreakRequest` message.
|
@@ -722,8 +755,8 @@ module Google
|
|
722
755
|
# See description of `FrequencyConstraint`.
|
723
756
|
# @!attribute [rw] max_inter_break_duration
|
724
757
|
# @return [::Google::Protobuf::Duration]
|
725
|
-
# Required. Maximum allowed span of any interval of time in the route
|
726
|
-
# include at least partially a break of `duration >=
|
758
|
+
# Required. Maximum allowed span of any interval of time in the route
|
759
|
+
# that does not include at least partially a break of `duration >=
|
727
760
|
# min_break_duration`. Must be positive.
|
728
761
|
class FrequencyConstraint
|
729
762
|
include ::Google::Protobuf::MessageExts
|
@@ -846,7 +879,8 @@ module Google
|
|
846
879
|
# @!attribute [rw] label
|
847
880
|
# @return [::String]
|
848
881
|
# Specifies a label for this shipment. This label is reported in the response
|
849
|
-
# in the `shipment_label` of the corresponding
|
882
|
+
# in the `shipment_label` of the corresponding
|
883
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute::Visit ShipmentRoute.Visit}.
|
850
884
|
# @!attribute [rw] ignore
|
851
885
|
# @return [::Boolean]
|
852
886
|
# If true, skip this shipment, but don't apply a `penalty_cost`.
|
@@ -860,7 +894,9 @@ module Google
|
|
860
894
|
# `precedence_rules` that reference ignored shipments will also be ignored.
|
861
895
|
# @!attribute [rw] demands
|
862
896
|
# @return [::Array<::Google::Cloud::Optimization::V1::CapacityQuantity>]
|
863
|
-
# Deprecated: Use
|
897
|
+
# Deprecated: Use
|
898
|
+
# {::Google::Cloud::Optimization::V1::Shipment#load_demands Shipment.load_demands}
|
899
|
+
# instead.
|
864
900
|
class Shipment
|
865
901
|
include ::Google::Protobuf::MessageExts
|
866
902
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -925,8 +961,10 @@ module Google
|
|
925
961
|
# @!attribute [rw] load_demands
|
926
962
|
# @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Optimization::V1::Shipment::Load}]
|
927
963
|
# Load demands of this visit request. This is just like
|
928
|
-
# {::Google::Cloud::Optimization::V1::Shipment#load_demands Shipment.load_demands}
|
929
|
-
#
|
964
|
+
# {::Google::Cloud::Optimization::V1::Shipment#load_demands Shipment.load_demands}
|
965
|
+
# field, except that it only applies to this
|
966
|
+
# {::Google::Cloud::Optimization::V1::Shipment::VisitRequest VisitRequest}
|
967
|
+
# instead of the whole {::Google::Cloud::Optimization::V1::Shipment Shipment}.
|
930
968
|
# The demands listed here are added to the demands listed in
|
931
969
|
# {::Google::Cloud::Optimization::V1::Shipment#load_demands Shipment.load_demands}.
|
932
970
|
# @!attribute [rw] visit_types
|
@@ -939,10 +977,13 @@ module Google
|
|
939
977
|
# @!attribute [rw] label
|
940
978
|
# @return [::String]
|
941
979
|
# Specifies a label for this `VisitRequest`. This label is reported in the
|
942
|
-
# response as `visit_label` in the corresponding
|
980
|
+
# response as `visit_label` in the corresponding
|
981
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute::Visit ShipmentRoute.Visit}.
|
943
982
|
# @!attribute [rw] demands
|
944
983
|
# @return [::Array<::Google::Cloud::Optimization::V1::CapacityQuantity>]
|
945
|
-
# Deprecated: Use
|
984
|
+
# Deprecated: Use
|
985
|
+
# {::Google::Cloud::Optimization::V1::Shipment::VisitRequest#load_demands VisitRequest.load_demands}
|
986
|
+
# instead.
|
946
987
|
class VisitRequest
|
947
988
|
include ::Google::Protobuf::MessageExts
|
948
989
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -959,7 +1000,8 @@ module Google
|
|
959
1000
|
|
960
1001
|
# When performing a visit, a predefined amount may be added to the vehicle
|
961
1002
|
# load if it's a pickup, or subtracted if it's a delivery. This message
|
962
|
-
# defines such amount. See
|
1003
|
+
# defines such amount. See
|
1004
|
+
# {::Google::Cloud::Optimization::V1::Shipment#load_demands load_demands}.
|
963
1005
|
# @!attribute [rw] amount
|
964
1006
|
# @return [::Integer]
|
965
1007
|
# The amount by which the load of the vehicle performing the corresponding
|
@@ -1176,13 +1218,15 @@ module Google
|
|
1176
1218
|
# @return [::Float]
|
1177
1219
|
# Cost per traveled hour of the vehicle route. This cost is applied only to
|
1178
1220
|
# travel time taken by the route (i.e., that reported in
|
1179
|
-
# {::Google::Cloud::Optimization::V1::ShipmentRoute#transitions ShipmentRoute.transitions}),
|
1221
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute#transitions ShipmentRoute.transitions}),
|
1222
|
+
# and excludes waiting time and visit time.
|
1180
1223
|
# @!attribute [rw] cost_per_kilometer
|
1181
1224
|
# @return [::Float]
|
1182
1225
|
# Cost per kilometer of the vehicle route. This cost is applied to the
|
1183
|
-
# distance reported in the
|
1184
|
-
#
|
1185
|
-
#
|
1226
|
+
# distance reported in the
|
1227
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute#transitions ShipmentRoute.transitions}
|
1228
|
+
# and does not apply to any distance implicitly traveled from the
|
1229
|
+
# `arrival_location` to the `departure_location` of a single `VisitRequest`.
|
1186
1230
|
# @!attribute [rw] fixed_cost
|
1187
1231
|
# @return [::Float]
|
1188
1232
|
# Fixed cost applied if this vehicle is used to handle a shipment.
|
@@ -1233,7 +1277,8 @@ module Google
|
|
1233
1277
|
# @!attribute [rw] label
|
1234
1278
|
# @return [::String]
|
1235
1279
|
# Specifies a label for this vehicle. This label is reported in the response
|
1236
|
-
# as the `vehicle_label` of the corresponding
|
1280
|
+
# as the `vehicle_label` of the corresponding
|
1281
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute ShipmentRoute}.
|
1237
1282
|
# @!attribute [rw] ignore
|
1238
1283
|
# @return [::Boolean]
|
1239
1284
|
# If true, `used_if_route_is_empty` must be false, and this vehicle will
|
@@ -1253,37 +1298,49 @@ module Google
|
|
1253
1298
|
# @return [::Array<::Integer>]
|
1254
1299
|
# Deprecated: No longer used.
|
1255
1300
|
# Indices in the `break_rule` field in the source
|
1256
|
-
#
|
1257
|
-
#
|
1301
|
+
# {::Google::Cloud::Optimization::V1::ShipmentModel ShipmentModel}. They
|
1302
|
+
# correspond to break rules enforced on the vehicle.
|
1258
1303
|
#
|
1259
1304
|
# As of 2018/03, at most one rule index per vehicle can be specified.
|
1260
1305
|
# @!attribute [rw] capacities
|
1261
1306
|
# @return [::Array<::Google::Cloud::Optimization::V1::CapacityQuantity>]
|
1262
|
-
# Deprecated: Use
|
1307
|
+
# Deprecated: Use
|
1308
|
+
# {::Google::Cloud::Optimization::V1::Vehicle#load_limits Vehicle.load_limits}
|
1309
|
+
# instead.
|
1263
1310
|
# @!attribute [rw] start_load_intervals
|
1264
1311
|
# @return [::Array<::Google::Cloud::Optimization::V1::CapacityQuantityInterval>]
|
1265
|
-
# Deprecated: Use
|
1312
|
+
# Deprecated: Use
|
1313
|
+
# {::Google::Cloud::Optimization::V1::Vehicle::LoadLimit#start_load_interval Vehicle.LoadLimit.start_load_interval}
|
1314
|
+
# instead.
|
1266
1315
|
# @!attribute [rw] end_load_intervals
|
1267
1316
|
# @return [::Array<::Google::Cloud::Optimization::V1::CapacityQuantityInterval>]
|
1268
|
-
# Deprecated: Use
|
1317
|
+
# Deprecated: Use
|
1318
|
+
# {::Google::Cloud::Optimization::V1::Vehicle::LoadLimit#end_load_interval Vehicle.LoadLimit.end_load_interval}
|
1319
|
+
# instead.
|
1269
1320
|
class Vehicle
|
1270
1321
|
include ::Google::Protobuf::MessageExts
|
1271
1322
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
1272
1323
|
|
1273
1324
|
# Defines a load limit applying to a vehicle, e.g. "this truck may only
|
1274
|
-
# carry up to 3500 kg". See
|
1325
|
+
# carry up to 3500 kg". See
|
1326
|
+
# {::Google::Cloud::Optimization::V1::Vehicle#load_limits load_limits}.
|
1275
1327
|
# @!attribute [rw] max_load
|
1276
1328
|
# @return [::Integer]
|
1277
1329
|
# The maximum acceptable amount of load.
|
1278
1330
|
# @!attribute [rw] soft_max_load
|
1279
1331
|
# @return [::Integer]
|
1280
|
-
# A soft limit of the load. See
|
1332
|
+
# A soft limit of the load. See
|
1333
|
+
# {::Google::Cloud::Optimization::V1::Vehicle::LoadLimit#cost_per_unit_above_soft_max cost_per_unit_above_soft_max}.
|
1281
1334
|
# @!attribute [rw] cost_per_unit_above_soft_max
|
1282
1335
|
# @return [::Float]
|
1283
|
-
# If the load ever exceeds
|
1284
|
-
#
|
1285
|
-
#
|
1286
|
-
#
|
1336
|
+
# If the load ever exceeds
|
1337
|
+
# {::Google::Cloud::Optimization::V1::Vehicle::LoadLimit#soft_max_load soft_max_load}
|
1338
|
+
# along this vehicle's route, the following cost penalty applies (only once
|
1339
|
+
# per vehicle): (load -
|
1340
|
+
# {::Google::Cloud::Optimization::V1::Vehicle::LoadLimit#soft_max_load soft_max_load})
|
1341
|
+
# * {::Google::Cloud::Optimization::V1::Vehicle::LoadLimit#cost_per_unit_above_soft_max cost_per_unit_above_soft_max}. All costs
|
1342
|
+
# add up and must be in the same unit as
|
1343
|
+
# {::Google::Cloud::Optimization::V1::Shipment#penalty_cost Shipment.penalty_cost}.
|
1287
1344
|
# @!attribute [rw] start_load_interval
|
1288
1345
|
# @return [::Google::Cloud::Optimization::V1::Vehicle::LoadLimit::Interval]
|
1289
1346
|
# The acceptable load interval of the vehicle at the start of the route.
|
@@ -1298,12 +1355,18 @@ module Google
|
|
1298
1355
|
# @!attribute [rw] min
|
1299
1356
|
# @return [::Integer]
|
1300
1357
|
# A minimum acceptable load. Must be ≥ 0.
|
1301
|
-
# If they're both specified,
|
1358
|
+
# If they're both specified,
|
1359
|
+
# {::Google::Cloud::Optimization::V1::Vehicle::LoadLimit::Interval#min min} must
|
1360
|
+
# be ≤
|
1361
|
+
# {::Google::Cloud::Optimization::V1::Vehicle::LoadLimit::Interval#max max}.
|
1302
1362
|
# @!attribute [rw] max
|
1303
1363
|
# @return [::Integer]
|
1304
1364
|
# A maximum acceptable load. Must be ≥ 0. If unspecified, the maximum
|
1305
1365
|
# load is unrestricted by this message.
|
1306
|
-
# If they're both specified,
|
1366
|
+
# If they're both specified,
|
1367
|
+
# {::Google::Cloud::Optimization::V1::Vehicle::LoadLimit::Interval#min min} must
|
1368
|
+
# be ≤
|
1369
|
+
# {::Google::Cloud::Optimization::V1::Vehicle::LoadLimit::Interval#max max}.
|
1307
1370
|
class Interval
|
1308
1371
|
include ::Google::Protobuf::MessageExts
|
1309
1372
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -1427,8 +1490,11 @@ module Google
|
|
1427
1490
|
# event to happen at or before `soft_end_time` by incurring a cost proportional
|
1428
1491
|
# to how long after `soft_end_time` the event occurs. `start_time`, `end_time`,
|
1429
1492
|
# `soft_start_time` and `soft_end_time` should be within the global time limits
|
1430
|
-
# (see
|
1431
|
-
# {::Google::Cloud::Optimization::V1::ShipmentModel#
|
1493
|
+
# (see
|
1494
|
+
# {::Google::Cloud::Optimization::V1::ShipmentModel#global_start_time ShipmentModel.global_start_time}
|
1495
|
+
# and
|
1496
|
+
# {::Google::Cloud::Optimization::V1::ShipmentModel#global_end_time ShipmentModel.global_end_time})
|
1497
|
+
# and should respect:
|
1432
1498
|
# ```
|
1433
1499
|
# 0 <= `start_time` <= `soft_start_time` <= `end_time` and
|
1434
1500
|
# 0 <= `start_time` <= `soft_end_time` <= `end_time`.
|
@@ -1478,7 +1544,9 @@ module Google
|
|
1478
1544
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
1479
1545
|
end
|
1480
1546
|
|
1481
|
-
# Deprecated: Use
|
1547
|
+
# Deprecated: Use
|
1548
|
+
# {::Google::Cloud::Optimization::V1::Vehicle::LoadLimit::Interval Vehicle.LoadLimit.Interval}
|
1549
|
+
# instead.
|
1482
1550
|
# @!attribute [rw] type
|
1483
1551
|
# @return [::String]
|
1484
1552
|
# @!attribute [rw] value
|
@@ -1488,7 +1556,9 @@ module Google
|
|
1488
1556
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
1489
1557
|
end
|
1490
1558
|
|
1491
|
-
# Deprecated: Use
|
1559
|
+
# Deprecated: Use
|
1560
|
+
# {::Google::Cloud::Optimization::V1::Vehicle::LoadLimit::Interval Vehicle.LoadLimit.Interval}
|
1561
|
+
# instead.
|
1492
1562
|
# @!attribute [rw] type
|
1493
1563
|
# @return [::String]
|
1494
1564
|
# @!attribute [rw] min_value
|
@@ -1519,8 +1589,8 @@ module Google
|
|
1519
1589
|
# nonnegative.
|
1520
1590
|
# @!attribute [rw] cost_per_kilometer_above_soft_max
|
1521
1591
|
# @return [::Float]
|
1522
|
-
# Cost per kilometer incurred if `soft_max_meters` limit
|
1523
|
-
# additional cost is 0 if the distance is under the limit, otherwise the
|
1592
|
+
# Cost per kilometer incurred if distance is above `soft_max_meters` limit.
|
1593
|
+
# The additional cost is 0 if the distance is under the limit, otherwise the
|
1524
1594
|
# formula used to compute the cost is the following:
|
1525
1595
|
# ```
|
1526
1596
|
# (distance_meters - soft_max_meters) / 1000.0 *
|
@@ -1553,8 +1623,9 @@ module Google
|
|
1553
1623
|
# @return [::String]
|
1554
1624
|
# A destination visit or vehicle end matches iff its
|
1555
1625
|
# {::Google::Cloud::Optimization::V1::Shipment::VisitRequest#tags VisitRequest.tags}
|
1556
|
-
# or {::Google::Cloud::Optimization::V1::Vehicle#end_tags Vehicle.end_tags} either
|
1557
|
-
# `
|
1626
|
+
# or {::Google::Cloud::Optimization::V1::Vehicle#end_tags Vehicle.end_tags} either
|
1627
|
+
# contains `dst_tag` or does not contain `excluded_dst_tag` (depending on
|
1628
|
+
# which of these two fields is non-empty).
|
1558
1629
|
# @!attribute [rw] excluded_dst_tag
|
1559
1630
|
# @return [::String]
|
1560
1631
|
# See `dst_tag`. Exactly one of `dst_tag` and `excluded_dst_tag` must be
|
@@ -1568,7 +1639,8 @@ module Google
|
|
1568
1639
|
# @return [::Float]
|
1569
1640
|
# Specifies a cost per kilometer applied to the distance traveled while
|
1570
1641
|
# performing this transition. It adds up to any
|
1571
|
-
# {::Google::Cloud::Optimization::V1::Vehicle#cost_per_kilometer Vehicle.cost_per_kilometer}
|
1642
|
+
# {::Google::Cloud::Optimization::V1::Vehicle#cost_per_kilometer Vehicle.cost_per_kilometer}
|
1643
|
+
# specified on vehicles.
|
1572
1644
|
# @!attribute [rw] distance_limit
|
1573
1645
|
# @return [::Google::Cloud::Optimization::V1::DistanceLimit]
|
1574
1646
|
# Specifies a limit on the distance traveled while performing this
|
@@ -1702,8 +1774,8 @@ module Google
|
|
1702
1774
|
# See description of `FrequencyConstraint`.
|
1703
1775
|
# @!attribute [rw] max_inter_break_duration
|
1704
1776
|
# @return [::Google::Protobuf::Duration]
|
1705
|
-
# Required. Maximum allowed span of any interval of time in the route that
|
1706
|
-
# include at least partially a break of `duration >=
|
1777
|
+
# Required. Maximum allowed span of any interval of time in the route that
|
1778
|
+
# does not include at least partially a break of `duration >=
|
1707
1779
|
# min_break_duration`. Must be positive.
|
1708
1780
|
class FrequencyConstraint
|
1709
1781
|
include ::Google::Protobuf::MessageExts
|
@@ -1827,8 +1899,10 @@ module Google
|
|
1827
1899
|
# between visits, before the first visit, or after the last visit, while
|
1828
1900
|
# still satisfying the visit and vehicle time windows. For example,
|
1829
1901
|
#
|
1830
|
-
#
|
1831
|
-
#
|
1902
|
+
# ```
|
1903
|
+
# start_time(previous_visit) + duration(previous_visit) +
|
1904
|
+
# travel_duration(previous_visit, next_visit) > start_time(next_visit)
|
1905
|
+
# ```
|
1832
1906
|
#
|
1833
1907
|
# Arrival at next_visit will likely happen later than its current
|
1834
1908
|
# time window due the increased estimate of travel time
|
@@ -1849,8 +1923,12 @@ module Google
|
|
1849
1923
|
# @!attribute [rw] metrics
|
1850
1924
|
# @return [::Google::Cloud::Optimization::V1::AggregatedMetrics]
|
1851
1925
|
# Duration, distance and load metrics for this route. The fields of
|
1852
|
-
# {::Google::Cloud::Optimization::V1::AggregatedMetrics AggregatedMetrics} are
|
1853
|
-
#
|
1926
|
+
# {::Google::Cloud::Optimization::V1::AggregatedMetrics AggregatedMetrics} are
|
1927
|
+
# summed over all
|
1928
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute#transitions ShipmentRoute.transitions}
|
1929
|
+
# or
|
1930
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute#visits ShipmentRoute.visits},
|
1931
|
+
# depending on the context.
|
1854
1932
|
# @!attribute [rw] route_costs
|
1855
1933
|
# @return [::Google::Protobuf::Map{::String => ::Float}]
|
1856
1934
|
# Cost of the route, broken down by cost-related request fields.
|
@@ -1866,36 +1944,42 @@ module Google
|
|
1866
1944
|
# Total cost of the route. The sum of all costs in the cost map.
|
1867
1945
|
# @!attribute [rw] end_loads
|
1868
1946
|
# @return [::Array<::Google::Cloud::Optimization::V1::CapacityQuantity>]
|
1869
|
-
# Deprecated: Use
|
1870
|
-
#
|
1871
|
-
#
|
1947
|
+
# Deprecated: Use
|
1948
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute::Transition#vehicle_loads Transition.vehicle_loads}
|
1949
|
+
# instead. Vehicle loads upon arrival at its end location, for each type
|
1950
|
+
# specified in
|
1951
|
+
# {::Google::Cloud::Optimization::V1::Vehicle#capacities Vehicle.capacities},
|
1872
1952
|
# `start_load_intervals`, `end_load_intervals` or demands. Exception: we omit
|
1873
1953
|
# loads for quantity types unconstrained by intervals and that don't have any
|
1874
1954
|
# non-zero demand on the route.
|
1875
1955
|
# @!attribute [rw] travel_steps
|
1876
1956
|
# @return [::Array<::Google::Cloud::Optimization::V1::ShipmentRoute::TravelStep>]
|
1877
|
-
# Deprecated: Use
|
1878
|
-
#
|
1957
|
+
# Deprecated: Use
|
1958
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute#transitions ShipmentRoute.transitions}
|
1959
|
+
# instead. Ordered list of travel steps for the route.
|
1879
1960
|
# @!attribute [rw] vehicle_detour
|
1880
1961
|
# @return [::Google::Protobuf::Duration]
|
1881
1962
|
# Deprecated: No longer used.
|
1882
1963
|
# This field will only be populated at the
|
1883
|
-
# {::Google::Cloud::Optimization::V1::ShipmentRoute::Visit ShipmentRoute.Visit}
|
1884
|
-
#
|
1964
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute::Visit ShipmentRoute.Visit}
|
1965
|
+
# level.
|
1966
|
+
#
|
1967
|
+
# This field is the extra detour time due to the shipments visited on the
|
1968
|
+
# route.
|
1885
1969
|
#
|
1886
1970
|
# It is equal to `vehicle_end_time` - `vehicle_start_time` - travel duration
|
1887
1971
|
# from the vehicle's start_location to its `end_location`.
|
1888
1972
|
# @!attribute [rw] delay_before_vehicle_end
|
1889
1973
|
# @return [::Google::Cloud::Optimization::V1::ShipmentRoute::Delay]
|
1890
|
-
# Deprecated:
|
1891
|
-
# Delay occurring before the vehicle end. See
|
1974
|
+
# Deprecated: Delay occurring before the vehicle end. See
|
1892
1975
|
# {::Google::Cloud::Optimization::V1::TransitionAttributes#delay TransitionAttributes.delay}.
|
1893
1976
|
class ShipmentRoute
|
1894
1977
|
include ::Google::Protobuf::MessageExts
|
1895
1978
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
1896
1979
|
|
1897
|
-
# Deprecated: Use
|
1898
|
-
#
|
1980
|
+
# Deprecated: Use
|
1981
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute::Transition#delay_duration ShipmentRoute.Transition.delay_duration}
|
1982
|
+
# instead. Time interval spent on the route resulting from a
|
1899
1983
|
# {::Google::Cloud::Optimization::V1::TransitionAttributes#delay TransitionAttributes.delay}.
|
1900
1984
|
# @!attribute [rw] start_time
|
1901
1985
|
# @return [::Google::Protobuf::Timestamp]
|
@@ -1912,7 +1996,8 @@ module Google
|
|
1912
1996
|
# delivery of a `Shipment`.
|
1913
1997
|
# @!attribute [rw] shipment_index
|
1914
1998
|
# @return [::Integer]
|
1915
|
-
# Index of the `shipments` field in the source
|
1999
|
+
# Index of the `shipments` field in the source
|
2000
|
+
# {::Google::Cloud::Optimization::V1::ShipmentModel ShipmentModel}.
|
1916
2001
|
# @!attribute [rw] is_pickup
|
1917
2002
|
# @return [::Boolean]
|
1918
2003
|
# If true the visit corresponds to a pickup of a `Shipment`. Otherwise, it
|
@@ -1961,19 +2046,25 @@ module Google
|
|
1961
2046
|
# if specified in the `VisitRequest`.
|
1962
2047
|
# @!attribute [rw] arrival_loads
|
1963
2048
|
# @return [::Array<::Google::Cloud::Optimization::V1::CapacityQuantity>]
|
1964
|
-
# Deprecated: Use
|
1965
|
-
#
|
1966
|
-
#
|
1967
|
-
#
|
2049
|
+
# Deprecated: Use
|
2050
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute::Transition#vehicle_loads Transition.vehicle_loads}
|
2051
|
+
# instead. Vehicle loads upon arrival at the visit location, for each type
|
2052
|
+
# specified in
|
2053
|
+
# {::Google::Cloud::Optimization::V1::Vehicle#capacities Vehicle.capacities},
|
2054
|
+
# `start_load_intervals`, `end_load_intervals` or `demands`.
|
1968
2055
|
#
|
1969
2056
|
# Exception: we omit loads for quantity types unconstrained by intervals
|
1970
2057
|
# and that don't have any non-zero demand on the route.
|
1971
2058
|
# @!attribute [rw] delay_before_start
|
1972
2059
|
# @return [::Google::Cloud::Optimization::V1::ShipmentRoute::Delay]
|
1973
|
-
# Deprecated: Use
|
2060
|
+
# Deprecated: Use
|
2061
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute::Transition#delay_duration ShipmentRoute.Transition.delay_duration}
|
2062
|
+
# instead. Delay occurring before the visit starts.
|
1974
2063
|
# @!attribute [rw] demands
|
1975
2064
|
# @return [::Array<::Google::Cloud::Optimization::V1::CapacityQuantity>]
|
1976
|
-
# Deprecated: Use
|
2065
|
+
# Deprecated: Use
|
2066
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute::Visit#load_demands Visit.load_demands}
|
2067
|
+
# instead.
|
1977
2068
|
class Visit
|
1978
2069
|
include ::Google::Protobuf::MessageExts
|
1979
2070
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -2046,8 +2137,11 @@ module Google
|
|
2046
2137
|
# @!attribute [rw] vehicle_loads
|
2047
2138
|
# @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Optimization::V1::ShipmentRoute::VehicleLoad}]
|
2048
2139
|
# Vehicle loads during this transition, for each type that either appears
|
2049
|
-
# in this vehicle's
|
2050
|
-
# {::Google::Cloud::Optimization::V1::
|
2140
|
+
# in this vehicle's
|
2141
|
+
# {::Google::Cloud::Optimization::V1::Vehicle#load_limits Vehicle.load_limits},
|
2142
|
+
# or that have non-zero
|
2143
|
+
# {::Google::Cloud::Optimization::V1::Shipment#load_demands Shipment.load_demands}
|
2144
|
+
# on some shipment performed on this route.
|
2051
2145
|
#
|
2052
2146
|
# The loads during the first transition are the starting loads of the
|
2053
2147
|
# vehicle route. Then, after each visit, the visit's `load_demands` are
|
@@ -2055,7 +2149,9 @@ module Google
|
|
2055
2149
|
# on whether the visit was a pickup or a delivery.
|
2056
2150
|
# @!attribute [rw] loads
|
2057
2151
|
# @return [::Array<::Google::Cloud::Optimization::V1::CapacityQuantity>]
|
2058
|
-
# Deprecated: Use
|
2152
|
+
# Deprecated: Use
|
2153
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute::Transition#vehicle_loads Transition.vehicle_loads}
|
2154
|
+
# instead.
|
2059
2155
|
class Transition
|
2060
2156
|
include ::Google::Protobuf::MessageExts
|
2061
2157
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -2071,11 +2167,13 @@ module Google
|
|
2071
2167
|
end
|
2072
2168
|
|
2073
2169
|
# Reports the actual load of the vehicle at some point along the route,
|
2074
|
-
# for a given type (see
|
2170
|
+
# for a given type (see
|
2171
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute::Transition#vehicle_loads Transition.vehicle_loads}).
|
2075
2172
|
# @!attribute [rw] amount
|
2076
2173
|
# @return [::Integer]
|
2077
2174
|
# The amount of load on the vehicle, for the given type. The unit of load
|
2078
|
-
# is usually indicated by the type. See
|
2175
|
+
# is usually indicated by the type. See
|
2176
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute::Transition#vehicle_loads Transition.vehicle_loads}.
|
2079
2177
|
class VehicleLoad
|
2080
2178
|
include ::Google::Protobuf::MessageExts
|
2081
2179
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -2105,10 +2203,11 @@ module Google
|
|
2105
2203
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
2106
2204
|
end
|
2107
2205
|
|
2108
|
-
# Deprecated: Use
|
2109
|
-
#
|
2110
|
-
#
|
2111
|
-
#
|
2206
|
+
# Deprecated: Use
|
2207
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute::Transition ShipmentRoute.Transition}
|
2208
|
+
# instead. Travel between each visit along the route: from the vehicle's
|
2209
|
+
# `start_location` to the first visit's `arrival_location`, then from the
|
2210
|
+
# first visit's `departure_location` to the second visit's
|
2112
2211
|
# `arrival_location`, and so on until the vehicle's `end_location`. This
|
2113
2212
|
# accounts only for the actual travel between visits, not counting the
|
2114
2213
|
# waiting time, the time spent performing a visit, nor the distance covered
|
@@ -2163,8 +2262,9 @@ module Google
|
|
2163
2262
|
# `ShipmentModel`.
|
2164
2263
|
# @!attribute [rw] label
|
2165
2264
|
# @return [::String]
|
2166
|
-
# Copy of the corresponding
|
2167
|
-
#
|
2265
|
+
# Copy of the corresponding
|
2266
|
+
# {::Google::Cloud::Optimization::V1::Shipment#label Shipment.label}, if specified
|
2267
|
+
# in the `Shipment`.
|
2168
2268
|
# @!attribute [rw] reasons
|
2169
2269
|
# @return [::Array<::Google::Cloud::Optimization::V1::SkippedShipment::Reason>]
|
2170
2270
|
# A list of reasons that explain why the shipment was skipped. See comment
|
@@ -2262,7 +2362,9 @@ module Google
|
|
2262
2362
|
end
|
2263
2363
|
end
|
2264
2364
|
|
2265
|
-
# Aggregated metrics for
|
2365
|
+
# Aggregated metrics for
|
2366
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute ShipmentRoute} (resp. for
|
2367
|
+
# {::Google::Cloud::Optimization::V1::OptimizeToursResponse OptimizeToursResponse}
|
2266
2368
|
# over all {::Google::Cloud::Optimization::V1::ShipmentRoute::Transition Transition}
|
2267
2369
|
# and/or {::Google::Cloud::Optimization::V1::ShipmentRoute::Visit Visit} (resp. over
|
2268
2370
|
# all {::Google::Cloud::Optimization::V1::ShipmentRoute ShipmentRoute}) elements.
|
@@ -2288,7 +2390,9 @@ module Google
|
|
2288
2390
|
# @!attribute [rw] total_duration
|
2289
2391
|
# @return [::Google::Protobuf::Duration]
|
2290
2392
|
# The total duration should be equal to the sum of all durations above.
|
2291
|
-
# For routes, it also corresponds to
|
2393
|
+
# For routes, it also corresponds to
|
2394
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute#vehicle_end_time ShipmentRoute.vehicle_end_time}
|
2395
|
+
# -
|
2292
2396
|
# {::Google::Cloud::Optimization::V1::ShipmentRoute#vehicle_start_time ShipmentRoute.vehicle_start_time}.
|
2293
2397
|
# @!attribute [rw] travel_distance_meters
|
2294
2398
|
# @return [::Float]
|
@@ -2303,10 +2407,18 @@ module Google
|
|
2303
2407
|
# {::Google::Cloud::Optimization::V1::AggregatedMetrics#max_loads ShipmentRoute.metrics.max_loads}.
|
2304
2408
|
# @!attribute [rw] costs
|
2305
2409
|
# @return [::Google::Protobuf::Map{::String => ::Float}]
|
2306
|
-
# Deprecated: Use
|
2410
|
+
# Deprecated: Use
|
2411
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute#route_costs ShipmentRoute.route_costs}
|
2412
|
+
# and
|
2413
|
+
# {::Google::Cloud::Optimization::V1::OptimizeToursResponse::Metrics#costs OptimizeToursResponse.Metrics.costs}
|
2414
|
+
# instead.
|
2307
2415
|
# @!attribute [rw] total_cost
|
2308
2416
|
# @return [::Float]
|
2309
|
-
# Deprecated: Use
|
2417
|
+
# Deprecated: Use
|
2418
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute#route_total_cost ShipmentRoute.route_total_cost}
|
2419
|
+
# and
|
2420
|
+
# {::Google::Cloud::Optimization::V1::OptimizeToursResponse::Metrics#total_cost OptimizeToursResponse.Metrics.total_cost}
|
2421
|
+
# instead.
|
2310
2422
|
class AggregatedMetrics
|
2311
2423
|
include ::Google::Protobuf::MessageExts
|
2312
2424
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -2368,8 +2480,9 @@ module Google
|
|
2368
2480
|
# `vehicle_indices`. A vehicle index can only be listed once, even within
|
2369
2481
|
# several `constraint_relaxations`.
|
2370
2482
|
#
|
2371
|
-
# A vehicle index is mapped the same as
|
2372
|
-
#
|
2483
|
+
# A vehicle index is mapped the same as
|
2484
|
+
# {::Google::Cloud::Optimization::V1::ShipmentRoute#vehicle_index ShipmentRoute.vehicle_index},
|
2485
|
+
# if `interpret_injected_solutions_using_labels` is true (see `fields`
|
2373
2486
|
# comment).
|
2374
2487
|
class ConstraintRelaxation
|
2375
2488
|
include ::Google::Protobuf::MessageExts
|
@@ -2414,7 +2527,7 @@ module Google
|
|
2414
2527
|
# @return [::Google::Cloud::Optimization::V1::InjectedSolutionConstraint::ConstraintRelaxation::Relaxation::Level]
|
2415
2528
|
# The constraint relaxation level that applies when the conditions
|
2416
2529
|
# at or after `threshold_time` AND at least `threshold_visit_count` are
|
2417
|
-
#
|
2530
|
+
# satisfied.
|
2418
2531
|
# @!attribute [rw] threshold_time
|
2419
2532
|
# @return [::Google::Protobuf::Timestamp]
|
2420
2533
|
# The time at or after which the relaxation `level` may be applied.
|
@@ -2432,7 +2545,7 @@ module Google
|
|
2432
2545
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
2433
2546
|
|
2434
2547
|
# Expresses the different constraint relaxation levels, which are
|
2435
|
-
# applied for a visit and those that follow when it
|
2548
|
+
# applied for a visit and those that follow when it satisfies the
|
2436
2549
|
# threshold conditions.
|
2437
2550
|
#
|
2438
2551
|
# The enumeration below is in order of increasing relaxation.
|
@@ -2440,7 +2553,7 @@ module Google
|
|
2440
2553
|
# Implicit default relaxation level: no constraints are relaxed,
|
2441
2554
|
# i.e., all visits are fully constrained.
|
2442
2555
|
#
|
2443
|
-
# This value must not be
|
2556
|
+
# This value must not be explicitly used in `level`.
|
2444
2557
|
LEVEL_UNSPECIFIED = 0
|
2445
2558
|
|
2446
2559
|
# Visit start times and vehicle start/end times will be relaxed, but
|
@@ -2510,6 +2623,11 @@ module Google
|
|
2510
2623
|
# * INJECTED_SOLUTION_MISSING_LABEL = 2000;
|
2511
2624
|
# * INJECTED_SOLUTION_DUPLICATE_LABEL = 2001;
|
2512
2625
|
# * INJECTED_SOLUTION_AMBIGUOUS_INDEX = 2002;
|
2626
|
+
# * INJECTED_SOLUTION_INFEASIBLE_AFTER_GETTING_TRAVEL_TIMES = 2003;
|
2627
|
+
# * INJECTED_SOLUTION_TRANSITION_INCONSISTENT_WITH_ACTUAL_TRAVEL = 2004;
|
2628
|
+
# * INJECTED_SOLUTION_CONCURRENT_SOLUTION_TYPES = 2005;
|
2629
|
+
# * INJECTED_SOLUTION_MORE_THAN_ONE_PER_TYPE = 2006;
|
2630
|
+
# * INJECTED_SOLUTION_REFRESH_WITHOUT_POPULATE = 2008;
|
2513
2631
|
# * SHIPMENT_MODEL_ERROR = 22;
|
2514
2632
|
# * SHIPMENT_MODEL_TOO_LARGE = 2200;
|
2515
2633
|
# * SHIPMENT_MODEL_TOO_MANY_CAPACITY_TYPES = 2201;
|
@@ -2517,6 +2635,8 @@ module Google
|
|
2517
2635
|
# * SHIPMENT_MODEL_GLOBAL_END_TIME_TOO_LARGE_OR_NAN = 2203;
|
2518
2636
|
# * SHIPMENT_MODEL_GLOBAL_START_TIME_AFTER_GLOBAL_END_TIME = 2204;
|
2519
2637
|
# * SHIPMENT_MODEL_GLOBAL_DURATION_TOO_LONG = 2205;
|
2638
|
+
# * SHIPMENT_MODEL_MAX_ACTIVE_VEHICLES_NOT_POSITIVE = 2206;
|
2639
|
+
# * SHIPMENT_MODEL_DURATION_MATRIX_TOO_LARGE = 2207;
|
2520
2640
|
# * INDEX_ERROR = 24;
|
2521
2641
|
# * TAG_ERROR = 26;
|
2522
2642
|
# * TIME_WINDOW_ERROR = 28;
|
@@ -2598,9 +2718,12 @@ module Google
|
|
2598
2718
|
# * DURATION_LIMIT_QUADRATIC_SOFT_MAX_DURATION_EXCEEDS_GLOBAL_DURATION
|
2599
2719
|
# = 3815;
|
2600
2720
|
# * SHIPMENT_ERROR = 40;
|
2721
|
+
# * SHIPMENT_PD_LIMIT_WITHOUT_PICKUP_AND_DELIVERY = 4014;
|
2601
2722
|
# * SHIPMENT_PD_ABSOLUTE_DETOUR_LIMIT_DURATION_NEGATIVE_OR_NAN = 4000;
|
2602
2723
|
# * SHIPMENT_PD_ABSOLUTE_DETOUR_LIMIT_DURATION_EXCEEDS_GLOBAL_DURATION
|
2603
2724
|
# = 4001;
|
2725
|
+
# * SHIPMENT_PD_RELATIVE_DETOUR_LIMIT_INVALID = 4015;
|
2726
|
+
# * SHIPMENT_PD_DETOUR_LIMIT_AND_EXTRA_VISIT_DURATION = 4016;
|
2604
2727
|
# * SHIPMENT_PD_TIME_LIMIT_DURATION_NEGATIVE_OR_NAN = 4002;
|
2605
2728
|
# * SHIPMENT_PD_TIME_LIMIT_DURATION_EXCEEDS_GLOBAL_DURATION = 4003;
|
2606
2729
|
# * SHIPMENT_EMPTY_SHIPMENT_TYPE = 4004;
|
@@ -2613,7 +2736,6 @@ module Google
|
|
2613
2736
|
# * SHIPMENT_INVALID_COST_FOR_VEHICLE = 4011;
|
2614
2737
|
# * SHIPMENT_COST_FOR_VEHICLE_INDEX_OUT_OF_BOUNDS = 4012;
|
2615
2738
|
# * SHIPMENT_DUPLICATE_COST_FOR_VEHICLE_INDEX = 4013;
|
2616
|
-
# * SHIPMENT_DETOUR_WITHOUT_PICKUP_AND_DELIVERY = 4014;
|
2617
2739
|
# * VEHICLE_ERROR = 42;
|
2618
2740
|
# * VEHICLE_EMPTY_REQUIRED_OPERATOR_TYPE = 4200;
|
2619
2741
|
# * VEHICLE_DUPLICATE_REQUIRED_OPERATOR_TYPE = 4201;
|
@@ -2637,6 +2759,9 @@ module Google
|
|
2637
2759
|
# * VEHICLE_INVALID_COST_PER_TRAVELED_HOUR = 4219;
|
2638
2760
|
# * VEHICLE_INVALID_FIXED_COST = 4220;
|
2639
2761
|
# * VEHICLE_INVALID_TRAVEL_DURATION_MULTIPLE = 4221;
|
2762
|
+
# * VEHICLE_TRAVEL_DURATION_MULTIPLE_WITH_SHIPMENT_PD_DETOUR_LIMITS
|
2763
|
+
# = 4223;
|
2764
|
+
# * VEHICLE_MATRIX_INDEX_WITH_SHIPMENT_PD_DETOUR_LIMITS = 4224;
|
2640
2765
|
# * VEHICLE_MINIMUM_DURATION_LONGER_THAN_DURATION_LIMIT = 4222;
|
2641
2766
|
# * VISIT_REQUEST_ERROR = 44;
|
2642
2767
|
# * VISIT_REQUEST_EMPTY_TAG = 4400;
|
@@ -2689,9 +2814,6 @@ module Google
|
|
2689
2814
|
# * DURATION_SECONDS_MATRIX_ERROR = 56;
|
2690
2815
|
# * DURATION_SECONDS_MATRIX_DURATION_NEGATIVE_OR_NAN = 5600;
|
2691
2816
|
# * DURATION_SECONDS_MATRIX_DURATION_EXCEEDS_GLOBAL_DURATION = 5601;
|
2692
|
-
# * GRAPH_ARC_ERROR = 58;
|
2693
|
-
# * GRAPH_ARC_DURATION_NEGATIVE_OR_NAN = 5800;
|
2694
|
-
# * GRAPH_ARC_DURATION_EXCEEDS_GLOBAL_DURATION = 5801;
|
2695
2817
|
# @!attribute [rw] display_name
|
2696
2818
|
# @return [::String]
|
2697
2819
|
# The error display name.
|