Class InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder (1.20.0)

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

Inheritance

Object > AbstractMessageLite.Builder<MessageType,BuilderType> > AbstractMessage.Builder<BuilderType> > GeneratedMessageV3.Builder > InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder

Static Methods

getDescriptor()

public static final Descriptors.Descriptor getDescriptor()
Returns
TypeDescription
Descriptor

Methods

addRepeatedField(Descriptors.FieldDescriptor field, Object value)

public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder addRepeatedField(Descriptors.FieldDescriptor field, Object value)
Parameters
NameDescription
fieldFieldDescriptor
valueObject
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder
Overrides

build()

public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation build()
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation

buildPartial()

public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation buildPartial()
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation

clear()

public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder clear()
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder
Overrides

clearField(Descriptors.FieldDescriptor field)

public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder clearField(Descriptors.FieldDescriptor field)
Parameter
NameDescription
fieldFieldDescriptor
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder
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 satisfied.

.google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level level = 1;

Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder

This builder for chaining.

clearOneof(Descriptors.OneofDescriptor oneof)

public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder clearOneof(Descriptors.OneofDescriptor oneof)
Parameter
NameDescription
oneofOneofDescriptor
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder
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
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder

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
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder

This builder for chaining.

clone()

public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder clone()
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder
Overrides

getDefaultInstanceForType()

public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation getDefaultInstanceForType()
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation

getDescriptorForType()

public Descriptors.Descriptor getDescriptorForType()
Returns
TypeDescription
Descriptor
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 satisfied.

.google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level level = 1;

Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level

The level.

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 satisfied.

.google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level level = 1;

Returns
TypeDescription
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
TypeDescription
Timestamp

The thresholdTime.

getThresholdTimeBuilder()

public Timestamp.Builder getThresholdTimeBuilder()

The time at or after which the relaxation level may be applied.

.google.protobuf.Timestamp threshold_time = 2;

Returns
TypeDescription
Builder

getThresholdTimeOrBuilder()

public TimestampOrBuilder getThresholdTimeOrBuilder()

The time at or after which the relaxation level may be applied.

.google.protobuf.Timestamp threshold_time = 2;

Returns
TypeDescription
TimestampOrBuilder

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
TypeDescription
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
TypeDescription
boolean

Whether the thresholdTime field is set.

internalGetFieldAccessorTable()

protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Returns
TypeDescription
FieldAccessorTable
Overrides

isInitialized()

public final boolean isInitialized()
Returns
TypeDescription
boolean
Overrides

mergeFrom(InjectedSolutionConstraint.ConstraintRelaxation.Relaxation other)

public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder mergeFrom(InjectedSolutionConstraint.ConstraintRelaxation.Relaxation other)
Parameter
NameDescription
otherInjectedSolutionConstraint.ConstraintRelaxation.Relaxation
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder

mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)

public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
NameDescription
inputCodedInputStream
extensionRegistryExtensionRegistryLite
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder
Overrides
Exceptions
TypeDescription
IOException

mergeFrom(Message other)

public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder mergeFrom(Message other)
Parameter
NameDescription
otherMessage
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder
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
NameDescription
valueTimestamp
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder

mergeUnknownFields(UnknownFieldSet unknownFields)

public final InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder mergeUnknownFields(UnknownFieldSet unknownFields)
Parameter
NameDescription
unknownFieldsUnknownFieldSet
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder
Overrides

setField(Descriptors.FieldDescriptor field, Object value)

public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder setField(Descriptors.FieldDescriptor field, Object value)
Parameters
NameDescription
fieldFieldDescriptor
valueObject
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder
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 satisfied.

.google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level level = 1;

Parameter
NameDescription
valueInjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level

The level to set.

Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder

This builder for chaining.

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 satisfied.

.google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Level level = 1;

Parameter
NameDescription
valueint

The enum numeric value on the wire for level to set.

Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder

This builder for chaining.

setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)

public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)
Parameters
NameDescription
fieldFieldDescriptor
indexint
valueObject
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder
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
NameDescription
valueTimestamp
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder

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
NameDescription
builderForValueBuilder
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder

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
NameDescription
valueint

The thresholdVisitCount to set.

Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder

This builder for chaining.

setUnknownFields(UnknownFieldSet unknownFields)

public final InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder setUnknownFields(UnknownFieldSet unknownFields)
Parameter
NameDescription
unknownFieldsUnknownFieldSet
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder
Overrides