Class CpObjectiveProto

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
com.google.ortools.sat.CpObjectiveProto
All Implemented Interfaces:
CpObjectiveProtoOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

@Generated public final class CpObjectiveProto extends com.google.protobuf.GeneratedMessage implements CpObjectiveProtoOrBuilder
Optimization objective.
Protobuf type operations_research.sat.CpObjectiveProto
See Also:
  • Field Details

    • VARS_FIELD_NUMBER

      public static final int VARS_FIELD_NUMBER
      See Also:
    • COEFFS_FIELD_NUMBER

      public static final int COEFFS_FIELD_NUMBER
      See Also:
    • OFFSET_FIELD_NUMBER

      public static final int OFFSET_FIELD_NUMBER
      See Also:
    • SCALING_FACTOR_FIELD_NUMBER

      public static final int SCALING_FACTOR_FIELD_NUMBER
      See Also:
    • DOMAIN_FIELD_NUMBER

      public static final int DOMAIN_FIELD_NUMBER
      See Also:
    • SCALING_WAS_EXACT_FIELD_NUMBER

      public static final int SCALING_WAS_EXACT_FIELD_NUMBER
      See Also:
    • INTEGER_BEFORE_OFFSET_FIELD_NUMBER

      public static final int INTEGER_BEFORE_OFFSET_FIELD_NUMBER
      See Also:
    • INTEGER_AFTER_OFFSET_FIELD_NUMBER

      public static final int INTEGER_AFTER_OFFSET_FIELD_NUMBER
      See Also:
    • INTEGER_SCALING_FACTOR_FIELD_NUMBER

      public static final int INTEGER_SCALING_FACTOR_FIELD_NUMBER
      See Also:
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • getVarsList

      public List<Integer> getVarsList()
      The linear terms of the objective to minimize.
      For a maximization problem, one can negate all coefficients in the
      objective and set scaling_factor to -1.
      
      repeated int32 vars = 1;
      Specified by:
      getVarsList in interface CpObjectiveProtoOrBuilder
      Returns:
      A list containing the vars.
    • getVarsCount

      public int getVarsCount()
      The linear terms of the objective to minimize.
      For a maximization problem, one can negate all coefficients in the
      objective and set scaling_factor to -1.
      
      repeated int32 vars = 1;
      Specified by:
      getVarsCount in interface CpObjectiveProtoOrBuilder
      Returns:
      The count of vars.
    • getVars

      public int getVars(int index)
      The linear terms of the objective to minimize.
      For a maximization problem, one can negate all coefficients in the
      objective and set scaling_factor to -1.
      
      repeated int32 vars = 1;
      Specified by:
      getVars in interface CpObjectiveProtoOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The vars at the given index.
    • getCoeffsList

      public List<Long> getCoeffsList()
      repeated int64 coeffs = 4;
      Specified by:
      getCoeffsList in interface CpObjectiveProtoOrBuilder
      Returns:
      A list containing the coeffs.
    • getCoeffsCount

      public int getCoeffsCount()
      repeated int64 coeffs = 4;
      Specified by:
      getCoeffsCount in interface CpObjectiveProtoOrBuilder
      Returns:
      The count of coeffs.
    • getCoeffs

      public long getCoeffs(int index)
      repeated int64 coeffs = 4;
      Specified by:
      getCoeffs in interface CpObjectiveProtoOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The coeffs at the given index.
    • getOffset

      public double getOffset()
      The displayed objective is always:
      scaling_factor * (sum(coefficients[i] * objective_vars[i]) + offset).
      This is needed to have a consistent objective after presolve or when
      scaling a double problem to express it with integers.
      
      Note that if scaling_factor is zero, then it is assumed to be 1, so that by
      default these fields have no effect.
      
      double offset = 2;
      Specified by:
      getOffset in interface CpObjectiveProtoOrBuilder
      Returns:
      The offset.
    • getScalingFactor

      public double getScalingFactor()
      double scaling_factor = 3;
      Specified by:
      getScalingFactor in interface CpObjectiveProtoOrBuilder
      Returns:
      The scalingFactor.
    • getDomainList

      public List<Long> getDomainList()
      If non-empty, only look for an objective value in the given domain.
      Note that this does not depend on the offset or scaling factor, it is a
      domain on the sum of the objective terms only.
      
      repeated int64 domain = 5;
      Specified by:
      getDomainList in interface CpObjectiveProtoOrBuilder
      Returns:
      A list containing the domain.
    • getDomainCount

      public int getDomainCount()
      If non-empty, only look for an objective value in the given domain.
      Note that this does not depend on the offset or scaling factor, it is a
      domain on the sum of the objective terms only.
      
      repeated int64 domain = 5;
      Specified by:
      getDomainCount in interface CpObjectiveProtoOrBuilder
      Returns:
      The count of domain.
    • getDomain

      public long getDomain(int index)
      If non-empty, only look for an objective value in the given domain.
      Note that this does not depend on the offset or scaling factor, it is a
      domain on the sum of the objective terms only.
      
      repeated int64 domain = 5;
      Specified by:
      getDomain in interface CpObjectiveProtoOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The domain at the given index.
    • getScalingWasExact

      public boolean getScalingWasExact()
      Internal field. Do not set. When we scale a FloatObjectiveProto to a
      integer version, we set this to true if the scaling was exact (i.e. all
      original coeff were integer for instance).
      
      TODO(user): Put the error bounds we computed instead?
      
      bool scaling_was_exact = 6;
      Specified by:
      getScalingWasExact in interface CpObjectiveProtoOrBuilder
      Returns:
      The scalingWasExact.
    • getIntegerBeforeOffset

      public long getIntegerBeforeOffset()
      Internal fields to recover a bound on the original integer objective from
      the presolved one. Basically, initially the integer objective fit on an
      int64 and is in [Initial_lb, Initial_ub]. During presolve, we might change
      the linear expression to have a new domain [Presolved_lb, Presolved_ub]
      that will also always fit on an int64.
      
      The two domain will always be linked with an affine transformation between
      the two of the form:
      old = (new + before_offset) * integer_scaling_factor + after_offset.
      Note that we use both offsets to always be able to do the computation while
      staying in the int64 domain. In particular, the after_offset will always
      be in (-integer_scaling_factor, integer_scaling_factor).
      
      int64 integer_before_offset = 7;
      Specified by:
      getIntegerBeforeOffset in interface CpObjectiveProtoOrBuilder
      Returns:
      The integerBeforeOffset.
    • getIntegerAfterOffset

      public long getIntegerAfterOffset()
      int64 integer_after_offset = 9;
      Specified by:
      getIntegerAfterOffset in interface CpObjectiveProtoOrBuilder
      Returns:
      The integerAfterOffset.
    • getIntegerScalingFactor

      public long getIntegerScalingFactor()
      int64 integer_scaling_factor = 8;
      Specified by:
      getIntegerScalingFactor in interface CpObjectiveProtoOrBuilder
      Returns:
      The integerScalingFactor.
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static CpObjectiveProto parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static CpObjectiveProto parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static CpObjectiveProto parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static CpObjectiveProto parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static CpObjectiveProto parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static CpObjectiveProto parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static CpObjectiveProto parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static CpObjectiveProto parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static CpObjectiveProto parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static CpObjectiveProto parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static CpObjectiveProto parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static CpObjectiveProto parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public CpObjectiveProto.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static CpObjectiveProto.Builder newBuilder()
    • newBuilder

      public static CpObjectiveProto.Builder newBuilder(CpObjectiveProto prototype)
    • toBuilder

      public CpObjectiveProto.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected CpObjectiveProto.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static CpObjectiveProto getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<CpObjectiveProto> parser()
    • getParserForType

      public com.google.protobuf.Parser<CpObjectiveProto> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

      public CpObjectiveProto getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder