I have N persons that I want to assign to M tasks. For each person I have a list of possible tasks that I consider suited for him/her. A person may only be assigned to the tasks on his/her list.
Each person also has some background characteristics, for instance gender (male or female), educational level (low, medium, high), and age class (< 25, 25-50, > 50).
I want to assign a fixed number of males (respectively females) to each of the tasks, a fixed number of persons with a low educational level (respectively medium and high) to each of the tasks, and a fixed number of persons below 25 (respectively between 25-50, and > 50) to each of the tasks. In other words, I want to assign N_males(i) males to task i (i=1,…,M), N_females(i) females to task i (i=1,…,M), N_low(i) persons with a low educational level to task i (i=1,…,M), and so on
My problem is: how can I easily determine whether an instance of this problem with given lists of people who can be assigned to the tasks, and fixed numbers (N_males(i), N_females(i), N_low(i) and so on) for each of the categories of the background variables has a solution?
There may, of course, be more (or less) than three background variables, and these variables may have more (or less) categories than I mention in my example.