Class ReduceNumberOfUsedInverters
java.lang.Object
io.openems.edge.ess.core.power.optimizers.ReduceNumberOfUsedInverters
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionapply
(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.
-
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 inverterstargetDirection
- the target directionvalidateFunction
- a function that can tell if a setup is solvable with a given list of disabled Inverters.- Returns:
- a list of target inverters
-