Assignment problem with constrained on agents

76 Views Asked by At

I've spent a decent amount of time looking for the solution to the problem, which seems to be a variant of the assignment problem with constraints on the agents.

For a simple example, consider this:

A primary school has $m$ teachers who are to be assigned to teach $n$ courses. Each of these teachers is able to teach more than one but not all courses. For instance, Alice can teach Math and Chemistry, Bob can teach Chemistry and Physics, Cathy can teach Physics and Music, and so on. The goal is to design the assignment of teachers to the courses. Note that apparently a teacher not in the set of Music can't be assigned to the Music course. Assume there is no limit on how many courses each teacher can be assigned to, but each teacher should at least teach one course.

Mathematically, let us define $\textbf{X} \in \{0,1\}^{m \times n}$ as the assignment matrix where $x_{i,j}=1$ indicates that Teacher $i$ is assigned to Course $j$ and $x_{i,j}=0$ otherwise. For each course $j \in \{1,\cdots,n\}$, the set of available teachers is denoted by $\textbf{S}_j$.

Then, the constraints can be written as

$\sum\limits_{i \in \textbf{S}_j} x_{i,j} = \text{integer const}, \quad \forall j$

$\sum\limits_{j=1}^n x_{i,j} \geq 1, \quad \forall i $

The objective can be similarly formulated as the standard assignment problem.

Compared to the standard assignment problem, the main difference is that in the first constraint the sum is taken over a given set of agents instead of over all agents.

One possible approach that came to my mind is to write the constraints as the standard assignment problem, i.e., assuming $\textbf{S}_j = \{1,\cdots,m\}$ for any $j$, and impose a high cost for the non-existent edges between agents and tasks in the objective.

I appreciate it if anyone can shed any light on this problem. Thanks very much.