denoted ${{\rm Cost}}(\sigma)$, is the number of suppressed cells. The goal is to find a solution having the minimum cost. Consider a solution $\sigma$. For a row $t$, we denote by ${{\rm Cost}}(t)$ the number of suppressed cells in $t$ and say that $t$ pays this cost. Thus, ${{\rm Cost}}(\sigma)$ is the sum of costs paid by all the rows.

There is an equivalent way to view a solution in terms of partitioning the given table. Consider a subset of rows $S$. We say that a column is [*good*]{} with respect to $S$, if all the rows in $S$ take identical values on the column. A column is said to be [*bad*]{}, if it is not good; meaning, some two rows in $S$ have different values on the given column. Denote by $a(S)$ the number of bad columns in $S$. Then, our goal is to a find a partition of rows $\Pi={S_1, S_2, \ldots, S_{\ell}}$ such that each set $S_i$ is of size $|S_i|\geq k$. Each row $t$ in $S_i$ pays a cost of $a(S_i)$. The total cost of the solution is the sum of costs paid by all rows. Equivalently, the cost of the solution is given by $\sum_{i=1}^{\ell} 