Lemoine-OR Algorithms
Description

What this method is

Karni Maximum Part-Period Gain is a fast ULS heuristic in the Global part-period merge family. It constructs a feasible replenishment plan without claiming an optimality proof. Use it only when the documented applicability conditions match the instance.

How it works

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 ULSAlgorithmsPriority-queue acceleration of the published non-forward global smallest-part-period merge rule
Use it

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 KarniMaximumPartPeriodGainSolver();
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.

Scientific source

Reference & provenance

Karni (1981), Maximum Part-Period Gain lot-sizing rule; Baciarello et al. (2013), Lot Sizing Heuristics Performance · DOI 10.5772/56004