组合优化 - 矩阵中最少的列

Combinatorial Optimization - Fewest Columns in Matrix

我正在尝试解决以下问题,获得算法:

有一个有 n 列的矩阵,每列的长度相同,最小列数是多少,这样我才能得到矩阵的所有值。

示例:具有 4 列和 3 行且值从 1 到 9 的矩阵

A  B  C  D

1  4  4  5
2  5  7  6
3  6  8  9

查看矩阵,最佳列数为 A、C 和 D。

提前致谢

这个问题似乎等同于set cover problem