Reference documentation and code samples for the Google Maps Route Optimization V1 Client class Relaxation.
If relaxations is empty, the start time and sequence of all visits
on routes are fully constrained and no new visits may be inserted or
added to those routes. Also, a vehicle's start and end time in
routes is fully constrained, unless the vehicle is empty (i.e., has no
visits and has used_if_route_is_empty set to false in the model).
relaxations(i).level specifies the constraint relaxation level applied
to a visit #j that satisfies:
route.visits(j).start_time >= relaxations(i).threshold_timeANDj + 1 >= relaxations(i).threshold_visit_countSimilarly, the vehicle start is relaxed torelaxations(i).levelif it satisfies:vehicle_start_time >= relaxations(i).threshold_timeANDrelaxations(i).threshold_visit_count == 0and the vehicle end is relaxed torelaxations(i).levelif it satisfies:vehicle_end_time >= relaxations(i).threshold_timeANDroute.visits_size() + 1 >= relaxations(i).threshold_visit_countTo apply a relaxation level if a visit meets thethreshold_visit_countOR thethreshold_timeadd tworelaxationswith the samelevel: one with onlythreshold_visit_countset and the other with onlythreshold_timeset. If a visit satisfies the conditions of multiplerelaxations, the most relaxed level applies. As a result, from the vehicle start through the route visits in order to the vehicle end, the relaxation level becomes more relaxed: i.e., the relaxation level is non-decreasing as the route progresses. The timing and sequence of route visits that do not satisfy the threshold conditions of anyrelaxationsare fully constrained and no visits may be inserted into these sequences. Also, if a vehicle start or end does not satisfy the conditions of any relaxation the time is fixed, unless the vehicle is empty.
Generated from protobuf message google.maps.routeoptimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.Relaxation
Namespace
Google \ Maps \ RouteOptimization \ V1 \ InjectedSolutionConstraint \ ConstraintRelaxationMethods
__construct
Constructor.
| Parameters | |
|---|---|
| Name | Description |
data |
array
Optional. Data for populating the Message object. |
↳ level |
int
The constraint relaxation level that applies when the conditions at or after |
↳ threshold_time |
Google\Protobuf\Timestamp
The time at or after which the relaxation |
↳ threshold_visit_count |
int
The number of visits at or after which the relaxation |
getLevel
The constraint relaxation level that applies when the conditions
at or after threshold_time AND at least threshold_visit_count are
satisfied.
| Returns | |
|---|---|
| Type | Description |
int |
Enum of type Level. |
setLevel
The constraint relaxation level that applies when the conditions
at or after threshold_time AND at least threshold_visit_count are
satisfied.
| Parameter | |
|---|---|
| Name | Description |
var |
int
Enum of type Level. |
| Returns | |
|---|---|
| Type | Description |
$this |
|
getThresholdTime
The time at or after which the relaxation level may be applied.
| Returns | |
|---|---|
| Type | Description |
Google\Protobuf\Timestamp|null |
|
hasThresholdTime
clearThresholdTime
setThresholdTime
The time at or after which the relaxation level may be applied.
| Parameter | |
|---|---|
| Name | Description |
var |
Google\Protobuf\Timestamp
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getThresholdVisitCount
The number of visits at or after which the relaxation level may be
applied. If threshold_visit_count is 0 (or unset), the level may be
applied directly at the vehicle start.
If it is route.visits_size() + 1, the level may only be applied to
the vehicle end. If it is more than route.visits_size() + 1,
level is not applied at all for that route.
| Returns | |
|---|---|
| Type | Description |
int |
|
setThresholdVisitCount
The number of visits at or after which the relaxation level may be
applied. If threshold_visit_count is 0 (or unset), the level may be
applied directly at the vehicle start.
If it is route.visits_size() + 1, the level may only be applied to
the vehicle end. If it is more than route.visits_size() + 1,
level is not applied at all for that route.
| Parameter | |
|---|---|
| Name | Description |
var |
int
|
| Returns | |
|---|---|
| Type | Description |
$this |
|