Minimum Set Cover Problem using Greedy Algorithm

This is code is used to find the minimum set (rows) covering all the elements in a given array

You are now following this Submission

The well-known problem of set covering is coded in this Matlab file using the greedy algorithm. The input to this program is an array appended with zeros at the end like the below example.
The output is selected rows indicated with 1. (1 denotes the row is selected and 0 denotes the rows are not selected).

Sample Input
(r1 to r8 label is just for reference and doesn't belong to the part of the array)

r1: 7 8 12 0 0 0
r2: 1 2 3 0 0 0
r3: 3 5 6 0 0 0
r4: 6 7 8 9 0 0
r5: 10 11 0 0 0 0
r6: 4 5 6 7 0 0
r7: 8 9 10 0 0 0
r8: 1 2 3 4 5 6

Output
{1 0 0 1 1 0 0 1}

Cite As

Arunkumar Gopu (2026). Minimum Set Cover Problem using Greedy Algorithm (https://uk.mathworks.com/matlabcentral/fileexchange/75355-minimum-set-cover-problem-using-greedy-algorithm), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.1

Improved descriptions

1.0.0