Package com.google.ortools.sat
Enum SatParameters.SearchBranching
- java.lang.Object
-
- java.lang.Enum<SatParameters.SearchBranching>
-
- com.google.ortools.sat.SatParameters.SearchBranching
-
- All Implemented Interfaces:
com.google.protobuf.Internal.EnumLite,com.google.protobuf.ProtocolMessageEnum,java.io.Serializable,java.lang.Comparable<SatParameters.SearchBranching>
- Enclosing class:
- SatParameters
public static enum SatParameters.SearchBranching extends java.lang.Enum<SatParameters.SearchBranching> implements com.google.protobuf.ProtocolMessageEnum
The search branching will be used to decide how to branch on unfixed nodes.
Protobuf enumoperations_research.sat.SatParameters.SearchBranching
-
-
Enum Constant Summary
Enum Constants Enum Constant Description AUTOMATIC_SEARCHTry to fix all literals using the underlying SAT solver's heuristics, then generate and fix literals until integer variables are fixed.FIXED_SEARCHIf used then all decisions taken by the solver are made using a fixed order as specified in the API or in the CpModelProto search_strategy field.HINT_SEARCHMainly used internally.LP_SEARCHIf used, the solver will use heuristics from the LP relaxation.PARTIAL_FIXED_SEARCHSimilar to FIXED_SEARCH, but differ in how the variable not listed into the fixed search heuristics are branched on.PORTFOLIO_SEARCHSimple portfolio search used by LNS workers.PORTFOLIO_WITH_QUICK_RESTART_SEARCHMainly exposed here for testing.PSEUDO_COST_SEARCHIf used, the solver uses the pseudo costs for branching.RANDOMIZED_SEARCHRandomized search.
-
Field Summary
Fields Modifier and Type Field Description static intAUTOMATIC_SEARCH_VALUETry to fix all literals using the underlying SAT solver's heuristics, then generate and fix literals until integer variables are fixed.static intFIXED_SEARCH_VALUEIf used then all decisions taken by the solver are made using a fixed order as specified in the API or in the CpModelProto search_strategy field.static intHINT_SEARCH_VALUEMainly used internally.static intLP_SEARCH_VALUEIf used, the solver will use heuristics from the LP relaxation.static intPARTIAL_FIXED_SEARCH_VALUESimilar to FIXED_SEARCH, but differ in how the variable not listed into the fixed search heuristics are branched on.static intPORTFOLIO_SEARCH_VALUESimple portfolio search used by LNS workers.static intPORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUEMainly exposed here for testing.static intPSEUDO_COST_SEARCH_VALUEIf used, the solver uses the pseudo costs for branching.static intRANDOMIZED_SEARCH_VALUERandomized search.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static SatParameters.SearchBranchingforNumber(int value)static com.google.protobuf.Descriptors.EnumDescriptorgetDescriptor()com.google.protobuf.Descriptors.EnumDescriptorgetDescriptorForType()intgetNumber()com.google.protobuf.Descriptors.EnumValueDescriptorgetValueDescriptor()static com.google.protobuf.Internal.EnumLiteMap<SatParameters.SearchBranching>internalGetValueMap()static SatParameters.SearchBranchingvalueOf(int value)Deprecated.static SatParameters.SearchBranchingvalueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)Returns the enum constant of this type with the specified name.static SatParameters.SearchBranchingvalueOf(java.lang.String name)Returns the enum constant of this type with the specified name.static SatParameters.SearchBranching[]values()Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
AUTOMATIC_SEARCH
public static final SatParameters.SearchBranching AUTOMATIC_SEARCH
Try to fix all literals using the underlying SAT solver's heuristics, then generate and fix literals until integer variables are fixed. New literals on integer variables are generated using the fixed search specified by the user or our default one.
AUTOMATIC_SEARCH = 0;
-
FIXED_SEARCH
public static final SatParameters.SearchBranching FIXED_SEARCH
If used then all decisions taken by the solver are made using a fixed order as specified in the API or in the CpModelProto search_strategy field.
FIXED_SEARCH = 1;
-
PORTFOLIO_SEARCH
public static final SatParameters.SearchBranching PORTFOLIO_SEARCH
Simple portfolio search used by LNS workers.
PORTFOLIO_SEARCH = 2;
-
LP_SEARCH
public static final SatParameters.SearchBranching LP_SEARCH
If used, the solver will use heuristics from the LP relaxation. This exploit the reduced costs of the variables in the relaxation.
LP_SEARCH = 3;
-
PSEUDO_COST_SEARCH
public static final SatParameters.SearchBranching PSEUDO_COST_SEARCH
If used, the solver uses the pseudo costs for branching. Pseudo costs are computed using the historical change in objective bounds when some decision are taken. Note that this works whether we use an LP or not.
PSEUDO_COST_SEARCH = 4;
-
PORTFOLIO_WITH_QUICK_RESTART_SEARCH
public static final SatParameters.SearchBranching PORTFOLIO_WITH_QUICK_RESTART_SEARCH
Mainly exposed here for testing. This quickly tries a lot of randomized heuristics with a low conflict limit. It usually provides a good first solution.
PORTFOLIO_WITH_QUICK_RESTART_SEARCH = 5;
-
HINT_SEARCH
public static final SatParameters.SearchBranching HINT_SEARCH
Mainly used internally. This is like FIXED_SEARCH, except we follow the solution_hint field of the CpModelProto rather than using the information provided in the search_strategy.
HINT_SEARCH = 6;
-
PARTIAL_FIXED_SEARCH
public static final SatParameters.SearchBranching PARTIAL_FIXED_SEARCH
Similar to FIXED_SEARCH, but differ in how the variable not listed into the fixed search heuristics are branched on. This will always start the search tree according to the specified fixed search strategy, but will complete it using the default automatic search.
PARTIAL_FIXED_SEARCH = 7;
-
RANDOMIZED_SEARCH
public static final SatParameters.SearchBranching RANDOMIZED_SEARCH
Randomized search. Used to increase entropy in the search.
RANDOMIZED_SEARCH = 8;
-
-
Field Detail
-
AUTOMATIC_SEARCH_VALUE
public static final int AUTOMATIC_SEARCH_VALUE
Try to fix all literals using the underlying SAT solver's heuristics, then generate and fix literals until integer variables are fixed. New literals on integer variables are generated using the fixed search specified by the user or our default one.
AUTOMATIC_SEARCH = 0;- See Also:
- Constant Field Values
-
FIXED_SEARCH_VALUE
public static final int FIXED_SEARCH_VALUE
If used then all decisions taken by the solver are made using a fixed order as specified in the API or in the CpModelProto search_strategy field.
FIXED_SEARCH = 1;- See Also:
- Constant Field Values
-
PORTFOLIO_SEARCH_VALUE
public static final int PORTFOLIO_SEARCH_VALUE
Simple portfolio search used by LNS workers.
PORTFOLIO_SEARCH = 2;- See Also:
- Constant Field Values
-
LP_SEARCH_VALUE
public static final int LP_SEARCH_VALUE
If used, the solver will use heuristics from the LP relaxation. This exploit the reduced costs of the variables in the relaxation.
LP_SEARCH = 3;- See Also:
- Constant Field Values
-
PSEUDO_COST_SEARCH_VALUE
public static final int PSEUDO_COST_SEARCH_VALUE
If used, the solver uses the pseudo costs for branching. Pseudo costs are computed using the historical change in objective bounds when some decision are taken. Note that this works whether we use an LP or not.
PSEUDO_COST_SEARCH = 4;- See Also:
- Constant Field Values
-
PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE
public static final int PORTFOLIO_WITH_QUICK_RESTART_SEARCH_VALUE
Mainly exposed here for testing. This quickly tries a lot of randomized heuristics with a low conflict limit. It usually provides a good first solution.
PORTFOLIO_WITH_QUICK_RESTART_SEARCH = 5;- See Also:
- Constant Field Values
-
HINT_SEARCH_VALUE
public static final int HINT_SEARCH_VALUE
Mainly used internally. This is like FIXED_SEARCH, except we follow the solution_hint field of the CpModelProto rather than using the information provided in the search_strategy.
HINT_SEARCH = 6;- See Also:
- Constant Field Values
-
PARTIAL_FIXED_SEARCH_VALUE
public static final int PARTIAL_FIXED_SEARCH_VALUE
Similar to FIXED_SEARCH, but differ in how the variable not listed into the fixed search heuristics are branched on. This will always start the search tree according to the specified fixed search strategy, but will complete it using the default automatic search.
PARTIAL_FIXED_SEARCH = 7;- See Also:
- Constant Field Values
-
RANDOMIZED_SEARCH_VALUE
public static final int RANDOMIZED_SEARCH_VALUE
Randomized search. Used to increase entropy in the search.
RANDOMIZED_SEARCH = 8;- See Also:
- Constant Field Values
-
-
Method Detail
-
values
public static SatParameters.SearchBranching[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (SatParameters.SearchBranching c : SatParameters.SearchBranching.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static SatParameters.SearchBranching valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException- if this enum type has no constant with the specified namejava.lang.NullPointerException- if the argument is null
-
getNumber
public final int getNumber()
- Specified by:
getNumberin interfacecom.google.protobuf.Internal.EnumLite- Specified by:
getNumberin interfacecom.google.protobuf.ProtocolMessageEnum
-
valueOf
@Deprecated public static SatParameters.SearchBranching valueOf(int value)
Deprecated.Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
value- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException- if this enum type has no constant with the specified namejava.lang.NullPointerException- if the argument is null
-
forNumber
public static SatParameters.SearchBranching forNumber(int value)
- Parameters:
value- The numeric wire value of the corresponding enum entry.- Returns:
- The enum associated with the given numeric wire value.
-
internalGetValueMap
public static com.google.protobuf.Internal.EnumLiteMap<SatParameters.SearchBranching> internalGetValueMap()
-
getValueDescriptor
public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
- Specified by:
getValueDescriptorin interfacecom.google.protobuf.ProtocolMessageEnum
-
getDescriptorForType
public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.ProtocolMessageEnum
-
getDescriptor
public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
-
valueOf
public static SatParameters.SearchBranching valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
desc- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException- if this enum type has no constant with the specified namejava.lang.NullPointerException- if the argument is null
-
-