google-cloud-optimization-v1 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|