org.eclipse.viatra.dse.api

## Class Objectives

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

-     public class Objectives
      extends java.lang.Object

  Helper class for creating built-in objectives.

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static AlwaysSatisfiedDummyHardObjective` | `createAlwaysSatisfiedDummyHardObjective()` This hard objective is fulfilled in any circumstances.
    `static CompositeObjective` | `createCompositeObjective(java.lang.String name)` This objective can combine the calculated fitness value of other objectives.
    `static ConstraintsObjective` | `createConstraintsObjective(java.lang.String name)` This objective uses VIATRA Queries to calculate fitness and/or goal constraints.
    `static DepthHardObjective` | `createDepthHardObjective()` This hard objective is fulfilled if the length of the trajectory is in the specified interval (inclusive).
    `static DepthHardObjective` | `createDepthHardObjective(java.lang.String name)` This hard objective is fulfilled if the length of the trajectory is in the specified interval (inclusive).
    `static AlwaysSatisfiedDummyHardObjective` | `createDummyHardObjective(java.lang.String name)` This hard objective is fulfilled in any circumstances.
    `static NeverSatisfiedDummyHardObjective` | `createNeverSatisfiedDummyHardObjective()` This hard objective is never fulfilled.
    `static NeverSatisfiedDummyHardObjective` | `createNeverSatisfiedDummyHardObjective(java.lang.String name)` This hard objective is never fulfilled.
    `static NoRuleActivationsHardObjective` | `createNoRuleActivationsHardConstraint()` This objective adds a goal constraint that a solution state should not have any activations.
    `static NoRuleActivationsHardObjective` | `createNoRuleActivationsHardConstraint(java.lang.String name)` This objective adds a goal constraint that a solution state should not have any activations.
    `static TrajectoryCostSoftObjective` | `createTrajcetoryCostObjective(java.lang.String name)` This objective calculates fitness on the trajectory by adding either fix costs to the rules, or by calculating custom fitness on activation of rules.

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

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

- - ### Method Detail

    - #### createConstraintsObjective

          public static ConstraintsObjective createConstraintsObjective(java.lang.String name)

      This objective uses VIATRA Queries to calculate fitness and/or goal constraints. Use methods on the returned objective to configure it.
      Parameters:
        `name` -
      Returns:
        The objective.
      See Also:
        `ConstraintsObjective`

    - #### createTrajcetoryCostObjective

          public static TrajectoryCostSoftObjective createTrajcetoryCostObjective(java.lang.String name)

      This objective calculates fitness on the trajectory by adding either fix costs to the rules, or by calculating custom fitness on activation of rules.
      Parameters:
        `name` -
      Returns:
        The objective.
      See Also:
        `TrajectoryCostSoftObjective`

    - #### createNoRuleActivationsHardConstraint

          public static NoRuleActivationsHardObjective createNoRuleActivationsHardConstraint()

      This objective adds a goal constraint that a solution state should not have any activations.
      Returns:
        The objective.
      See Also:
        `NoRuleActivationsHardObjective`

    - #### createNoRuleActivationsHardConstraint

          public static NoRuleActivationsHardObjective createNoRuleActivationsHardConstraint(java.lang.String name)

      This objective adds a goal constraint that a solution state should not have any activations.
      Parameters:
        `name` -
      Returns:
        The objective.
      See Also:
        `NoRuleActivationsHardObjective`

    - #### createCompositeObjective

          public static CompositeObjective createCompositeObjective(java.lang.String name)

      This objective can combine the calculated fitness value of other objectives. Weights are supported.
      Parameters:
        `name` -
      Returns:
        The objective.
      See Also:
        `NoRuleActivationsHardObjective`

    - #### createAlwaysSatisfiedDummyHardObjective

          public static AlwaysSatisfiedDummyHardObjective createAlwaysSatisfiedDummyHardObjective()

      This hard objective is fulfilled in any circumstances. Use it if all states should be regarded as a valid solution.
      Returns:
        The objective.
      See Also:
        `AlwaysSatisfiedDummyHardObjective`

    - #### createDummyHardObjective

          public static AlwaysSatisfiedDummyHardObjective createDummyHardObjective(java.lang.String name)

      This hard objective is fulfilled in any circumstances. Use it if all states should be regarded as a valid solution.
      Parameters:
        `name` -
      Returns:
        The objective.
      See Also:
        `AlwaysSatisfiedDummyHardObjective`

    - #### createNeverSatisfiedDummyHardObjective

          public static NeverSatisfiedDummyHardObjective createNeverSatisfiedDummyHardObjective()

      This hard objective is never fulfilled. Use it if all states should be regarded as an invalid solution.
      Returns:
        The objective.
      See Also:
        `AlwaysSatisfiedDummyHardObjective`

    - #### createNeverSatisfiedDummyHardObjective

          public static NeverSatisfiedDummyHardObjective createNeverSatisfiedDummyHardObjective(java.lang.String name)

      This hard objective is never fulfilled. Use it if all states should be regarded as an invalid solution.
      Returns:
        The objective.
      See Also:
        `AlwaysSatisfiedDummyHardObjective`

    - #### createDepthHardObjective

          public static DepthHardObjective createDepthHardObjective()

      This hard objective is fulfilled if the length of the trajectory is in the specified interval (inclusive). Use `DepthHardObjective.withMinDepth(int)` and `DepthHardObjective.withMaxDepth(int)` to configure.
      Returns:
        The objective.
      See Also:
        `DepthHardObjective`

    - #### createDepthHardObjective

          public static DepthHardObjective createDepthHardObjective(java.lang.String name)

      This hard objective is fulfilled if the length of the trajectory is in the specified interval (inclusive). Use `DepthHardObjective.withMinDepth(int)` and `DepthHardObjective.withMaxDepth(int)` to configure.
      Parameters:
        `name` -
      Returns:
        The objective.
      See Also:
        `DepthHardObjective`