Package org.apache.sysds.hops.fedplanner

## Class FederatedPlanCostEnumerator

- java.lang.Object
- - org.apache.sysds.hops.fedplanner.FederatedPlanCostEnumerator

    public class FederatedPlanCostEnumerator
    extends Object

Enumerates and evaluates all possible federated execution plans for a given Hop DAG. Works with FederatedMemoTable to store plan variants and FederatedPlanCostEstimator to compute their costs.

### Constructor Summary

Constructors
`FederatedPlanCostEnumerator()`

### Method Summary

All Methods Static Methods Concrete Methods
`static FederatedMemoTable.FedPlan` `enumerateFederatedPlanCost​(Hop rootHop, boolean printTree)` Entry point for federated plan enumeration.

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

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

### Constructor Detail

#### FederatedPlanCostEnumerator

    public FederatedPlanCostEnumerator()

### Method Detail

#### enumerateFederatedPlanCost

    public static FederatedMemoTable.FedPlan enumerateFederatedPlanCost​(Hop rootHop,
                                                                        boolean printTree)

Entry point for federated plan enumeration. This method creates a memo table and returns the minimum cost plan for the entire Directed Acyclic Graph (DAG). It also resolves conflicts where FedPlans have different FederatedOutput types.

Parameters:
  `rootHop` - The root Hop node from which to start the plan enumeration.
  `printTree` - A boolean flag indicating whether to print the federated plan tree.
Returns:
  The optimal FedPlan with the minimum cost for the entire DAG.