I'm not sure if that is entirely the case.
The way I interpreted your solution was that 'at least one y-value per column will be >= 1'.
I don't see exactly which constraint makes sure that there will be exactly one y-value per column 1
(which, again, we don't need if all values in M are >= 0).
If M contains negative values, it could be that:
* an ideal solution would have multiple y-values per column bigger than zero, and
* These values will not necessarily be one, but can take even higher values (due to this GLPK gave an error message, and this is how I found out)
Sorry if I am missing something obvious.
The current solution seems to work like a charm so thanks again :)
Best,
Jan