bdi4jade.extension.planselection.utilitybased

## Class UtilityBasedPlanSelectionStrategy

- java.lang.Object
- - bdi4jade.reasoning.AbstractReasoningStrategy
  - - bdi4jade.extension.planselection.utilitybased.UtilityBasedPlanSelectionStrategy

- All Implemented Interfaces:
    PlanSelectionStrategy, ReasoningStrategy

      public class UtilityBasedPlanSelectionStrategy
      extends AbstractReasoningStrategy
      implements PlanSelectionStrategy

  A utility-based implementation of the `PlanSelectionStrategy`. It selects the plan that has the best expected value based on the plan contributions and the agent current preferences.
  Author:
    Ingrid Nunes

- - ### Field Summary

    - ### Fields inherited from class bdi4jade.reasoning.AbstractReasoningStrategy

      `capability`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `UtilityBasedPlanSelectionStrategy()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Plan` | `selectPlan(Goal goal, java.util.Set<Plan> plans)` Selects a plan to be executed to achieve the given goal, given a set of candidate plans.

    - ### Methods inherited from class bdi4jade.reasoning.AbstractReasoningStrategy

      `setCapability`

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

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

    - ### Methods inherited from interface bdi4jade.reasoning.ReasoningStrategy

      `setCapability`

- - ### Constructor Detail

    - #### UtilityBasedPlanSelectionStrategy

          public UtilityBasedPlanSelectionStrategy()

  - ### Method Detail

    - #### selectPlan

          public Plan selectPlan(Goal goal,
                                 java.util.Set<Plan> plans)

      Description copied from interface: `PlanSelectionStrategy`
      Selects a plan to be executed to achieve the given goal, given a set of candidate plans.
      Specified by:
        `selectPlan` in interface `PlanSelectionStrategy`
      Parameters:
        `goal` - the goal that must be achieved.
        `plans` - the plans that can achieve the goal.
      Returns:
        the selected plan.
      See Also:
        `PlanSelectionStrategy.selectPlan(bdi4jade.goal.Goal, java.util.Set)`