What this method is
Groff is a fast ULS heuristic in the Marginal-cost family. It constructs a feasible replenishment plan without claiming an optimality proof. Use it only when the documented applicability conditions match the instance.
Core idea
The method scans the planning horizon and constructs replenishment cycles according to its published decision rule. The library then reconstructs production, inventory, setups and cost components through the common heuristic solution builder.
Implementation in ULSAlgorithmsMarginal setup/holding criterion
Minimal C# example
using ULSAlgorithms.Abstractions;
using ULSAlgorithms.Models;
using ULSAlgorithms.Heuristics;
var problem = new UlsProblem(
demands: [20.0, 30.0, 25.0, 40.0],
setupCosts: [200.0, 200.0, 200.0, 200.0],
unitProductionCosts: [0.0, 0.0, 0.0, 0.0],
holdingCosts: [4.0, 4.0, 4.0, 0.0]);
IUlsSolver solver = new GroffSolver();
var result = solver.Solve(problem);
Console.WriteLine(result.Status);
Console.WriteLine(result.ObjectiveValue);
The input example intentionally uses stationary, positive-demand data so it is compatible with restricted methods too. Always check the applicability box for your own instance.
Reference & provenance
Groff (1979), A Lot Sizing Rule for Time-Phased Component Demand, Production and Inventory Management 20(4), 66-74