algorithms – Assignment Problem – Computer Science Stack Exchange

This is something like assignment problem, we have 2 group of people, first contains $n$ person and second contains $m$ person. we have a matrix $C$ which is an $n times m$ matrix and our goal is to find an assignment matrix $A$ which is again an $n times m$ binary matrix (contains ones and zeros) and if $A_{ij}$ is $1$ it shows $i$-th person from first group has assigned to $j$-th person of second group, and maximize $displaystylesum_{i}sum_{j} C_{ij}X_{ij}$, subject to following constraints:

$$
1);; forall i: ;; displaystylesum_{j} X_{ij} = 1 \
2);; forall j: ;; displaystylesum_{i} X_{ij} le 2
$$

how should I solve this problem?

how should we solve if we have another matrix $D$ and we also want $displaystylesum_{i} D_{ij}X_{ij} le constant$ ?