Package org.iam.core

Class ILPSolver

java.lang.Object
org.iam.core.ILPSolver

public class ILPSolver extends Object
ILPSolver provides a method to solve the Minimum Set Cover problem using Integer Linear Programming (ILP).

Uses Google OR-Tools to formulate and solve the set cover as a mixed integer program.

Since:
2025-02-28
Author:
  • Constructor Details

    • ILPSolver

      public ILPSolver()
  • Method Details

    • solve

      public static Map<Object,Set<Integer>> solve(Map<Object,Set<Integer>> subsets, Set<Integer> universe)
      Solves the Minimum Set Cover problem using ILP.
      Parameters:
      subsets - a map where each key is associated with a set of integers (the subset)
      universe - the set of elements that must be covered
      Returns:
      a map of the selected subsets that together cover the universe