Class InjectedSolutionConstraint.ConstraintRelaxation.Relaxation (1.20.0)

public static final class InjectedSolutionConstraint.ConstraintRelaxation.Relaxation extends GeneratedMessageV3 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<MessageType,BuilderType> > AbstractMessage > GeneratedMessageV3 > InjectedSolutionConstraint.ConstraintRelaxation.Relaxation

Static Fields

LEVEL_FIELD_NUMBER

public static final int LEVEL_FIELD_NUMBER
Field Value
TypeDescription
int

THRESHOLD_TIME_FIELD_NUMBER

public static final int THRESHOLD_TIME_FIELD_NUMBER
Field Value
TypeDescription
int

THRESHOLD_VISIT_COUNT_FIELD_NUMBER

public static final int THRESHOLD_VISIT_COUNT_FIELD_NUMBER
Field Value
TypeDescription
int

Static Methods

getDefaultInstance()

public static InjectedSolutionConstraint.ConstraintRelaxation.Relaxation getDefaultInstance()
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation

getDescriptor()

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

newBuilder()

public static InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder newBuilder()
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder

newBuilder(InjectedSolutionConstraint.ConstraintRelaxation.Relaxation prototype)

public static InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder newBuilder(InjectedSolutionConstraint.ConstraintRelaxation.Relaxation prototype)
Parameter
NameDescription
prototypeInjectedSolutionConstraint.ConstraintRelaxation.Relaxation
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder

parseDelimitedFrom(InputStream input)

public static InjectedSolutionConstraint.ConstraintRelaxation.Relaxation parseDelimitedFrom(InputStream input)
Parameter
NameDescription
inputInputStream
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation
Exceptions
TypeDescription
IOException

parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)

public static InjectedSolutionConstraint.ConstraintRelaxation.Relaxation parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
NameDescription
inputInputStream
extensionRegistryExtensionRegistryLite
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation
Exceptions
TypeDescription
IOException

parseFrom(byte[] data)

public static InjectedSolutionConstraint.ConstraintRelaxation.Relaxation parseFrom(byte[] data)
Parameter
NameDescription
databyte[]
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation
Exceptions
TypeDescription
InvalidProtocolBufferException

parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)

public static InjectedSolutionConstraint.ConstraintRelaxation.Relaxation parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
Parameters
NameDescription
databyte[]
extensionRegistryExtensionRegistryLite
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation
Exceptions
TypeDescription
InvalidProtocolBufferException

parseFrom(ByteString data)

public static InjectedSolutionConstraint.ConstraintRelaxation.Relaxation parseFrom(ByteString data)
Parameter
NameDescription
dataByteString
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation
Exceptions
TypeDescription
InvalidProtocolBufferException

parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)

public static InjectedSolutionConstraint.ConstraintRelaxation.Relaxation parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
Parameters
NameDescription
dataByteString
extensionRegistryExtensionRegistryLite
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation
Exceptions
TypeDescription
InvalidProtocolBufferException

parseFrom(CodedInputStream input)

public static InjectedSolutionConstraint.ConstraintRelaxation.Relaxation parseFrom(CodedInputStream input)
Parameter
NameDescription
inputCodedInputStream
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation
Exceptions
TypeDescription
IOException

parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)

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

parseFrom(InputStream input)

public static InjectedSolutionConstraint.ConstraintRelaxation.Relaxation parseFrom(InputStream input)
Parameter
NameDescription
inputInputStream
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation
Exceptions
TypeDescription
IOException

parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)

public static InjectedSolutionConstraint.ConstraintRelaxation.Relaxation parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
NameDescription
inputInputStream
extensionRegistryExtensionRegistryLite
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation
Exceptions
TypeDescription
IOException

parseFrom(ByteBuffer data)

public static InjectedSolutionConstraint.ConstraintRelaxation.Relaxation parseFrom(ByteBuffer data)
Parameter
NameDescription
dataByteBuffer
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation
Exceptions
TypeDescription
InvalidProtocolBufferException

parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)

public static InjectedSolutionConstraint.ConstraintRelaxation.Relaxation parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
Parameters
NameDescription
dataByteBuffer
extensionRegistryExtensionRegistryLite
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation
Exceptions
TypeDescription
InvalidProtocolBufferException

parser()

public static Parser<InjectedSolutionConstraint.ConstraintRelaxation.Relaxation> parser()
Returns
TypeDescription
Parser<Relaxation>

Methods

equals(Object obj)

public boolean equals(Object obj)
Parameter
NameDescription
objObject
Returns
TypeDescription
boolean
Overrides

getDefaultInstanceForType()

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

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.

getParserForType()

public Parser<InjectedSolutionConstraint.ConstraintRelaxation.Relaxation> getParserForType()
Returns
TypeDescription
Parser<Relaxation>
Overrides

getSerializedSize()

public int getSerializedSize()
Returns
TypeDescription
int
Overrides

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.

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.

hashCode()

public int hashCode()
Returns
TypeDescription
int
Overrides

internalGetFieldAccessorTable()

protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Returns
TypeDescription
FieldAccessorTable
Overrides

isInitialized()

public final boolean isInitialized()
Returns
TypeDescription
boolean
Overrides

newBuilderForType()

public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder newBuilderForType()
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder

newBuilderForType(GeneratedMessageV3.BuilderParent parent)

protected InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
Parameter
NameDescription
parentBuilderParent
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder
Overrides

newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)

protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
Parameter
NameDescription
unusedUnusedPrivateParameter
Returns
TypeDescription
Object
Overrides

toBuilder()

public InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder toBuilder()
Returns
TypeDescription
InjectedSolutionConstraint.ConstraintRelaxation.Relaxation.Builder

writeTo(CodedOutputStream output)

public void writeTo(CodedOutputStream output)
Parameter
NameDescription
outputCodedOutputStream
Overrides
Exceptions
TypeDescription
IOException