Class ReservoirConstraintProto.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<ReservoirConstraintProto.Builder>
com.google.protobuf.GeneratedMessage.Builder<ReservoirConstraintProto.Builder>
com.google.ortools.sat.ReservoirConstraintProto.Builder
All Implemented Interfaces:
ReservoirConstraintProtoOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
ReservoirConstraintProto

public static final class ReservoirConstraintProto.Builder extends com.google.protobuf.GeneratedMessage.Builder<ReservoirConstraintProto.Builder> implements ReservoirConstraintProtoOrBuilder
Maintain a reservoir level within bounds. The water level starts at 0, and at
any time, it must be within [min_level, max_level].

If the variable active_literals[i] is true, and if the expression
time_exprs[i] is assigned a value t, then the current level changes by
level_changes[i] at the time t. Therefore, at any time t:

sum(level_changes[i] * active_literals[i] if time_exprs[i] <= t)
in [min_level, max_level]

Note that min level must be <= 0, and the max level must be >= 0. Please use
fixed level_changes to simulate initial state.

The array of boolean variables 'actives', if defined, indicates which actions
are actually performed. If this array is not defined, then it is assumed that
all actions will be performed.
Protobuf type operations_research.sat.ReservoirConstraintProto