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
255 Downloads
Updated 5 May 2020

View License

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://ch.mathworks.com/matlabcentral/fileexchange/75355-minimum-set-cover-problem-using-greedy-algorithm), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2018b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Version Published Release Notes
1.0.1

Improved descriptions

1.0.0