use a bipartite graph and/or its tabular or matrix form to represent an assignment/ allocation problem
determine the optimum assignment(s), by inspection for small-scale problems, or by use of the Hungarian algorithm for larger problems