org.eclipse.viatra.dse.api

## Class Strategies

- java.lang.Object
- - org.eclipse.viatra.dse.api.Strategies

-     public final class Strategies
      extends java.lang.Object

  Helper class for instantiating strategies. To implement a new strategy use the `IStrategy` interface.

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static BestFirstStrategy` | `createBestFirstStrategy()` See `BestFirstStrategy`.
    `static BestFirstStrategy` | `createBestFirstStrategy(int depthLimit)` See `BestFirstStrategy`.
    `static BreadthFirstStrategy` | `createBfsStrategy()` Creates a breadth-first search exploration strategy without a depth limit.
    `static BreadthFirstStrategy` | `createBfsStrategy(int depthLimit)` Creates a breadth-first search exploration strategy with a depth limit.
    `static DepthFirstStrategy` | `createDfsStrategy()` Creates a depth-first search exploration strategy without a depth limit.
    `static DepthFirstStrategy` | `createDfsStrategy(int depthLimit)` Creates a depth-first search exploration strategy with a depth limit.
    `static FixedPriorityStrategy` | `createFixedPriorityStrategy()` Creates a fixed priority exploration strategy without a depth limit.
    `static FixedPriorityStrategy` | `createFixedPriorityStrategy(int depthLimit)` Creates a fixed priority exploration strategy with a depth limit, where a zero or negative depth limit means no depth limit.
    `static HillClimbingStrategy` | `creatHillClimbingStrategy()` Creates a hill climbing exploration strategy.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### createDfsStrategy

          public static DepthFirstStrategy createDfsStrategy()

      Creates a depth-first search exploration strategy without a depth limit.
      Returns:
        The strategy.
      See Also:
        `DepthFirstStrategy`

    - #### createDfsStrategy

          public static DepthFirstStrategy createDfsStrategy(int depthLimit)

      Creates a depth-first search exploration strategy with a depth limit. A negative depth limit means no depth limit, zero means that it will check the initial state.
      Parameters:
        `depthLimit` -
      Returns:
        The strategy.
      See Also:
        `DepthFirstStrategy`

    - #### createFixedPriorityStrategy

          public static FixedPriorityStrategy createFixedPriorityStrategy()

      Creates a fixed priority exploration strategy without a depth limit. It is a depth-first search exploration strategy but from a current state it only explores the activations with the highest priority. Priorities can be defined on the strategy itself.
      Returns:
        The strategy.
      See Also:
        `FixedPriorityStrategy`

    - #### createFixedPriorityStrategy

          public static FixedPriorityStrategy createFixedPriorityStrategy(int depthLimit)

      Creates a fixed priority exploration strategy with a depth limit, where a zero or negative depth limit means no depth limit. It is a depth-first search exploration strategy but from a current state it only explores the activations with the highest priority. Priorities can be defined on the strategy itself.
      Parameters:
        `depthLimit` -
      Returns:
        The strategy.
      See Also:
        `FixedPriorityStrategy`

    - #### createBfsStrategy

          public static BreadthFirstStrategy createBfsStrategy()

      Creates a breadth-first search exploration strategy without a depth limit.
      Returns:
        The strategy.
      See Also:
        `BreadthFirstStrategy`

    - #### createBfsStrategy

          public static BreadthFirstStrategy createBfsStrategy(int depthLimit)

      Creates a breadth-first search exploration strategy with a depth limit. A zero or negative depth limit means no depth limit.
      Parameters:
        `depthLimit` -
      Returns:
        The strategy.
      See Also:
        `BreadthFirstStrategy`

    - #### creatHillClimbingStrategy

          public static HillClimbingStrategy creatHillClimbingStrategy()

      Creates a hill climbing exploration strategy. By default, it explores all neighborhood states and chooses the best one to continue with until all neighborhood states are dominated by the current state. Other options are available on the strategy.
      Returns:
        The strategy.
      See Also:
        `HillClimbingStrategy`

    - #### createBestFirstStrategy

          public static BestFirstStrategy createBestFirstStrategy()

      See `BestFirstStrategy`.

    - #### createBestFirstStrategy

          public static BestFirstStrategy createBestFirstStrategy(int depthLimit)

      See `BestFirstStrategy`.