Class ReduceNumberOfUsedInverters

java.lang.Object
io.openems.edge.ess.core.power.optimizers.ReduceNumberOfUsedInverters

public class ReduceNumberOfUsedInverters extends Object
  • Constructor Details

    • ReduceNumberOfUsedInverters

      public ReduceNumberOfUsedInverters()
  • Method Details

    • apply

      public List<Inverter> apply(List<Inverter> allInverters, TargetDirection targetDirection, ThrowingFunction<List<Inverter>,org.apache.commons.math3.optim.PointValuePair,Exception> validateFunction)
      Finds the Inverters that are minimally required to fulfill all Constraints.

      This method removes inverters till it finds a minimum setup. It uses an algorithm similarly to binary tree search to find the minimum required number of inverters.

      Parameters:
      allInverters - a list of all inverters
      targetDirection - the target direction
      validateFunction - a function that can tell if a setup is solvable with a given list of disabled Inverters.
      Returns:
      a list of target inverters