I have an assignment problem as follows
$\begin{equation} \begin{array}{*{35}{l}} \underset{d_{u,c}}{\max}\hspace{1mm}\hspace{1mm}\sum_{u=1}^{U}\sum_{c=1}^{C}d_{u,c}\omega_{u,c}\\ \text{}\text{subject to }\text{ C1:} \hspace{2mm}1\le \sum_{c=1}^Cd_{u,c}\le 10,\forall u, u=1,\cdots, U, \\ \text{}\hspace{16.5mm}\text{ C2:} \hspace{2mm}\sum_{u=1}^U d_{u,c}\le 50,\forall c, c=1,\cdots, C, \\ \end{array} \end{equation}$
The objective is to maximise the quality/quality.
Is there a way I can solve this problem heuristically but optimally? For example, some iterative approach?
What I tried:
For each $u$, I find the $C_{\max}$ largest values for $\omega_{u,c}$ and assign them to corresponding $c$'s.
Then Find the number of assignment we get for each $c$
If for some $c$, we have higher than $U_{\max}$ assignments, find the $X_c$ number of lowest ($X_c$ is the number of extra assignments for $c$) values of assigned $\omega_{u,c}$ and unassociated them.
However, I find that this is not giving me optimal assignments.
Any Help?