Package com.google.ortools.linearsolver
Class MPSosConstraint
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
com.google.ortools.linearsolver.MPSosConstraint
- All Implemented Interfaces:
MPSosConstraintOrBuilder,com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,java.io.Serializable
public final class MPSosConstraint extends com.google.protobuf.GeneratedMessageV3 implements MPSosConstraintOrBuilder
Special Ordered Set (SOS) constraints of type 1 or 2. See https://en.wikipedia.org/wiki/Special_ordered_set As of 2019/04, only SCIP and Gurobi support this constraint type.Protobuf type
operations_research.MPSosConstraint- See Also:
- Serialized Form
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMPSosConstraint.BuilderSpecial Ordered Set (SOS) constraints of type 1 or 2.static classMPSosConstraint.TypeProtobuf enumoperations_research.MPSosConstraint.TypeNested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameterNested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessageLite.InternalOneOfEnum -
Field Summary
Fields Modifier and Type Field Description static com.google.protobuf.Parser<MPSosConstraint>PARSERDeprecated.static intTYPE_FIELD_NUMBERstatic intVAR_INDEX_FIELD_NUMBERstatic intWEIGHT_FIELD_NUMBERFields inherited from class com.google.protobuf.GeneratedMessageV3
alwaysUseFieldBuilders, unknownFieldsFields inherited from class com.google.protobuf.AbstractMessage
memoizedSizeFields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode -
Method Summary
Modifier and Type Method Description booleanequals(java.lang.Object obj)static MPSosConstraintgetDefaultInstance()MPSosConstraintgetDefaultInstanceForType()static com.google.protobuf.Descriptors.DescriptorgetDescriptor()com.google.protobuf.Parser<MPSosConstraint>getParserForType()intgetSerializedSize()MPSosConstraint.TypegetType()optional .operations_research.MPSosConstraint.Type type = 1 [default = SOS1_DEFAULT];com.google.protobuf.UnknownFieldSetgetUnknownFields()intgetVarIndex(int index)Variable index (w.r.t.intgetVarIndexCount()Variable index (w.r.t.java.util.List<java.lang.Integer>getVarIndexList()Variable index (w.r.t.doublegetWeight(int index)Optional: SOS weights.intgetWeightCount()Optional: SOS weights.java.util.List<java.lang.Double>getWeightList()Optional: SOS weights.inthashCode()booleanhasType()optional .operations_research.MPSosConstraint.Type type = 1 [default = SOS1_DEFAULT];protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTableinternalGetFieldAccessorTable()booleanisInitialized()static MPSosConstraint.BuildernewBuilder()static MPSosConstraint.BuildernewBuilder(MPSosConstraint prototype)MPSosConstraint.BuildernewBuilderForType()protected MPSosConstraint.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)protected java.lang.ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)static MPSosConstraintparseDelimitedFrom(java.io.InputStream input)static MPSosConstraintparseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static MPSosConstraintparseFrom(byte[] data)static MPSosConstraintparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static MPSosConstraintparseFrom(com.google.protobuf.ByteString data)static MPSosConstraintparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static MPSosConstraintparseFrom(com.google.protobuf.CodedInputStream input)static MPSosConstraintparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static MPSosConstraintparseFrom(java.io.InputStream input)static MPSosConstraintparseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static MPSosConstraintparseFrom(java.nio.ByteBuffer data)static MPSosConstraintparseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static com.google.protobuf.Parser<MPSosConstraint>parser()MPSosConstraint.BuildertoBuilder()voidwriteTo(com.google.protobuf.CodedOutputStream output)Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, makeExtensionsImmutable, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagMethods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof
-
Field Details
-
TYPE_FIELD_NUMBER
public static final int TYPE_FIELD_NUMBER- See Also:
- Constant Field Values
-
VAR_INDEX_FIELD_NUMBER
public static final int VAR_INDEX_FIELD_NUMBER- See Also:
- Constant Field Values
-
WEIGHT_FIELD_NUMBER
public static final int WEIGHT_FIELD_NUMBER- See Also:
- Constant Field Values
-
PARSER
Deprecated.
-
-
Method Details
-
newInstance
protected java.lang.Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
getUnknownFields
public final com.google.protobuf.UnknownFieldSet getUnknownFields()- Specified by:
getUnknownFieldsin interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3
-
hasType
public boolean hasType()optional .operations_research.MPSosConstraint.Type type = 1 [default = SOS1_DEFAULT];- Specified by:
hasTypein interfaceMPSosConstraintOrBuilder- Returns:
- Whether the type field is set.
-
getType
optional .operations_research.MPSosConstraint.Type type = 1 [default = SOS1_DEFAULT];- Specified by:
getTypein interfaceMPSosConstraintOrBuilder- Returns:
- The type.
-
getVarIndexList
public java.util.List<java.lang.Integer> getVarIndexList()Variable index (w.r.t. the "variable" field of MPModelProto) of the variables in the SOS.
repeated int32 var_index = 2;- Specified by:
getVarIndexListin interfaceMPSosConstraintOrBuilder- Returns:
- A list containing the varIndex.
-
getVarIndexCount
public int getVarIndexCount()Variable index (w.r.t. the "variable" field of MPModelProto) of the variables in the SOS.
repeated int32 var_index = 2;- Specified by:
getVarIndexCountin interfaceMPSosConstraintOrBuilder- Returns:
- The count of varIndex.
-
getVarIndex
public int getVarIndex(int index)Variable index (w.r.t. the "variable" field of MPModelProto) of the variables in the SOS.
repeated int32 var_index = 2;- Specified by:
getVarIndexin interfaceMPSosConstraintOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The varIndex at the given index.
-
getWeightList
public java.util.List<java.lang.Double> getWeightList()Optional: SOS weights. If non-empty, must be of the same size as "var_index", and strictly increasing. If empty and required by the underlying solver, the 1..n sequence will be given as weights. SUBTLE: The weights can help the solver make branch-and-bound decisions that fit the underlying optimization model: after each LP relaxation, it will compute the "average weight" of the SOS variables, weighted by value (this is confusing: here we're using the values as weights), and the binary branch decision will be: is the non-zero variable above or below that? (weights are strictly monotonous, so the "cutoff" average weight corresponds to a "cutoff" index in the var_index sequence).
repeated double weight = 3;- Specified by:
getWeightListin interfaceMPSosConstraintOrBuilder- Returns:
- A list containing the weight.
-
getWeightCount
public int getWeightCount()Optional: SOS weights. If non-empty, must be of the same size as "var_index", and strictly increasing. If empty and required by the underlying solver, the 1..n sequence will be given as weights. SUBTLE: The weights can help the solver make branch-and-bound decisions that fit the underlying optimization model: after each LP relaxation, it will compute the "average weight" of the SOS variables, weighted by value (this is confusing: here we're using the values as weights), and the binary branch decision will be: is the non-zero variable above or below that? (weights are strictly monotonous, so the "cutoff" average weight corresponds to a "cutoff" index in the var_index sequence).
repeated double weight = 3;- Specified by:
getWeightCountin interfaceMPSosConstraintOrBuilder- Returns:
- The count of weight.
-
getWeight
public double getWeight(int index)Optional: SOS weights. If non-empty, must be of the same size as "var_index", and strictly increasing. If empty and required by the underlying solver, the 1..n sequence will be given as weights. SUBTLE: The weights can help the solver make branch-and-bound decisions that fit the underlying optimization model: after each LP relaxation, it will compute the "average weight" of the SOS variables, weighted by value (this is confusing: here we're using the values as weights), and the binary branch decision will be: is the non-zero variable above or below that? (weights are strictly monotonous, so the "cutoff" average weight corresponds to a "cutoff" index in the var_index sequence).
repeated double weight = 3;- Specified by:
getWeightin interfaceMPSosConstraintOrBuilder- Parameters:
index- The index of the element to return.- Returns:
- The weight at the given index.
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3
-
writeTo
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessageV3- Throws:
java.io.IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessageV3
-
equals
public boolean equals(java.lang.Object obj)- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static MPSosConstraint parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static MPSosConstraint parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static MPSosConstraint parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static MPSosConstraint parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static MPSosConstraint parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static MPSosConstraint parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
java.io.IOException
-
parseFrom
public static MPSosConstraint parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException- Throws:
java.io.IOException
-
parseDelimitedFrom
public static MPSosConstraint parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException- Throws:
java.io.IOException
-
parseDelimitedFrom
public static MPSosConstraint parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException- Throws:
java.io.IOException
-
parseFrom
public static MPSosConstraint parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException- Throws:
java.io.IOException
-
parseFrom
public static MPSosConstraint parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException- Throws:
java.io.IOException
-
newBuilderForType
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
toBuilder
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected MPSosConstraint.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)- Specified by:
newBuilderForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-