Reference documentation and code samples for the Google Cloud 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_time
ANDj + 1 >= relaxations(i).threshold_visit_count
Similarly, the vehicle start is relaxed torelaxations(i).level
if it satisfies:vehicle_start_time >= relaxations(i).threshold_time
ANDrelaxations(i).threshold_visit_count == 0
and the vehicle end is relaxed torelaxations(i).level
if it satisfies:vehicle_end_time >= relaxations(i).threshold_time
ANDroute.visits_size() + 1 >= relaxations(i).threshold_visit_count
To apply a relaxation level if a visit meets thethreshold_visit_count
OR thethreshold_time
add tworelaxations
with the samelevel
: one with onlythreshold_visit_count
set and the other with onlythreshold_time
set. 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 anyrelaxations
are 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.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.Relaxation
Methods
__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 |
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
|
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 |