Enum 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 enum operations_research.sat.SatParameters.SearchBranching
    • 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 name
        java.lang.NullPointerException - if the argument is null
      • getNumber

        public final int getNumber()
        Specified by:
        getNumber in interface com.google.protobuf.Internal.EnumLite
        Specified by:
        getNumber in interface com.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 name
        java.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.
      • getValueDescriptor

        public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
        Specified by:
        getValueDescriptor in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptorForType

        public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.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 name
        java.lang.NullPointerException - if the argument is null