public static final class InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder extends GeneratedMessageV3.Builder<InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder> implements InjectedSolutionConstraint.ConstraintRelaxation.RelaxationOrBuilder
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
AND
j + 1 >= relaxations(i).threshold_visit_count
Similarly, the vehicle start is relaxed to relaxations(i).level
if it
satisfies:
vehicle_start_time >= relaxations(i).threshold_time
AND
relaxations(i).threshold_visit_count == 0
and the vehicle end is relaxed to relaxations(i).level
if it satisfies:
vehicle_end_time >= relaxations(i).threshold_time
AND
route.visits_size() + 1 >= relaxations(i).threshold_visit_count
To apply a relaxation level if a visit meets the threshold_visit_count
OR the threshold_time
add two relaxations
with the same level
:
one with only threshold_visit_count
set and the other with only
threshold_time
set. If a visit satisfies the conditions of multiple
relaxations
, 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 any relaxations
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.
Protobuf type
google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.Relaxation
Static Methods
getDescriptor()
public static final Descriptors.Descriptor getDescriptor()
Returns
Methods
addRepeatedField(Descriptors.FieldDescriptor field, Object value)
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder addRepeatedField(Descriptors.FieldDescriptor field, Object value)
Parameters
Returns
Overrides
build()
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation build()
Returns
buildPartial()
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation buildPartial()
Returns
clear()
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder clear()
Returns
Overrides
clearField(Descriptors.FieldDescriptor field)
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder clearField(Descriptors.FieldDescriptor field)
Parameter
Returns
Overrides
clearLevel()
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder clearLevel()
The constraint relaxation level that applies when the conditions
at or after threshold_time
AND at least threshold_visit_count
are
satified.
.google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level level = 1;
Returns
clearOneof(Descriptors.OneofDescriptor oneof)
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder clearOneof(Descriptors.OneofDescriptor oneof)
Parameter
Returns
Overrides
clearThresholdTime()
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder clearThresholdTime()
The time at or after which the relaxation level
may be applied.
.google.protobuf.Timestamp threshold_time = 2;
Returns
clearThresholdVisitCount()
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder clearThresholdVisitCount()
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.
int32 threshold_visit_count = 3;
Returns
clone()
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder clone()
Returns
Overrides
getDefaultInstanceForType()
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation getDefaultInstanceForType()
Returns
getDescriptorForType()
public Descriptors.Descriptor getDescriptorForType()
Returns
Overrides
getLevel()
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level getLevel()
The constraint relaxation level that applies when the conditions
at or after threshold_time
AND at least threshold_visit_count
are
satified.
.google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level level = 1;
Returns
getLevelValue()
public int getLevelValue()
The constraint relaxation level that applies when the conditions
at or after threshold_time
AND at least threshold_visit_count
are
satified.
.google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level level = 1;
Returns
Type | Description |
int | The enum numeric value on the wire for level.
|
getThresholdTime()
public Timestamp getThresholdTime()
The time at or after which the relaxation level
may be applied.
.google.protobuf.Timestamp threshold_time = 2;
Returns
getThresholdTimeBuilder()
public Timestamp.Builder getThresholdTimeBuilder()
The time at or after which the relaxation level
may be applied.
.google.protobuf.Timestamp threshold_time = 2;
Returns
getThresholdTimeOrBuilder()
public TimestampOrBuilder getThresholdTimeOrBuilder()
The time at or after which the relaxation level
may be applied.
.google.protobuf.Timestamp threshold_time = 2;
Returns
getThresholdVisitCount()
public int 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.
int32 threshold_visit_count = 3;
Returns
Type | Description |
int | The thresholdVisitCount.
|
hasThresholdTime()
public boolean hasThresholdTime()
The time at or after which the relaxation level
may be applied.
.google.protobuf.Timestamp threshold_time = 2;
Returns
Type | Description |
boolean | Whether the thresholdTime field is set.
|
internalGetFieldAccessorTable()
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Returns
Overrides
isInitialized()
public final boolean isInitialized()
Returns
Overrides
mergeFrom(InjectedSolutionConstraint.ConstraintRelaxation.Relaxation other)
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder mergeFrom(InjectedSolutionConstraint.ConstraintRelaxation.Relaxation other)
Parameter
Returns
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Overrides
Exceptions
mergeFrom(Message other)
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder mergeFrom(Message other)
Parameter
Returns
Overrides
mergeThresholdTime(Timestamp value)
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder mergeThresholdTime(Timestamp value)
The time at or after which the relaxation level
may be applied.
.google.protobuf.Timestamp threshold_time = 2;
Parameter
Returns
mergeUnknownFields(UnknownFieldSet unknownFields)
public final InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder mergeUnknownFields(UnknownFieldSet unknownFields)
Parameter
Returns
Overrides
setField(Descriptors.FieldDescriptor field, Object value)
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder setField(Descriptors.FieldDescriptor field, Object value)
Parameters
Returns
Overrides
setLevel(InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level value)
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder setLevel(InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level value)
The constraint relaxation level that applies when the conditions
at or after threshold_time
AND at least threshold_visit_count
are
satified.
.google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level level = 1;
Parameter
Returns
setLevelValue(int value)
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder setLevelValue(int value)
The constraint relaxation level that applies when the conditions
at or after threshold_time
AND at least threshold_visit_count
are
satified.
.google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level level = 1;
Parameter
Name | Description |
value | int
The enum numeric value on the wire for level to set.
|
Returns
setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)
Parameters
Returns
Overrides
setThresholdTime(Timestamp value)
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder setThresholdTime(Timestamp value)
The time at or after which the relaxation level
may be applied.
.google.protobuf.Timestamp threshold_time = 2;
Parameter
Returns
setThresholdTime(Timestamp.Builder builderForValue)
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder setThresholdTime(Timestamp.Builder builderForValue)
The time at or after which the relaxation level
may be applied.
.google.protobuf.Timestamp threshold_time = 2;
Parameter
Name | Description |
builderForValue | Builder
|
Returns
setThresholdVisitCount(int value)
public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder setThresholdVisitCount(int value)
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.
int32 threshold_visit_count = 3;
Parameter
Name | Description |
value | int
The thresholdVisitCount to set.
|
Returns
setUnknownFields(UnknownFieldSet unknownFields)
public final InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder setUnknownFields(UnknownFieldSet unknownFields)
Parameter
Returns
Overrides