The teams provided a ranked list of the 8 projects and the assignment was done with the Hungarian algorithm, so the matching is optimal. The result is surprisingly good: 11 teams received their first choice, 3 teams their second choice, 1 team their third choice, 1 team their fourth choice. None of my test runs achieved such a good rating.
The details of the program output are: Cost is 8 Team 0 is assigned to project 4 [rank 1] Team 1 is assigned to project 7 [rank 1] Team 2 is assigned to project 8 [rank 0] Team 3 is assigned to project 3 [rank 0] Team 4 is assigned to project 1 [rank 0] Team 5 is assigned to project 5 [rank 3] Team 6 is assigned to project 2 [rank 0] Team 7 is assigned to project 3 [rank 0] Team 8 is assigned to project 2 [rank 0] Team 9 is assigned to project 4 [rank 0] Team 10 is assigned to project 5 [rank 2] Team 11 is assigned to project 6 [rank 1] Team 12 is assigned to project 1 [rank 0] Team 13 is assigned to project 7 [rank 0] Team 14 is assigned to project 6 [rank 0] Team 15 is assigned to project 8 [rank 0] [rank 0 = first preference, rank 1 = second preference,...]
Team 0: Mustafa Ciftei Team 1: Daniel Calder, Gopalakrishnan Easwaran Team 2: James Esslinger, Victor Romero Team 3: Ning Zhu Team 4: Michael Maedo, Kanupriya Gulati Team 5: Peter Rega, Jacob Smith Team 6: Vijay Sundar Rajaram, Vijay Idimadikala Team 7: Josh Rossmeisl, Sylvia N'guessan Team 8: John Maffei, Akhil Patel Team 9: John Price, Jason Lee Team 10: Leo Sakhvoruk, Sameh Sharkawi Team 11: Navendu Misra, Andrew Webb Team 12: Jaehan Koh, Jaenho Lee Team 13: Yao-Chung Yee, Vijay Subramanian Team 14: Subhajit Dasgupta, Saurin Shah Team 15: Aravind Srinivasa Raghavan, Vijay Balasubramanian Team 16: David Brown Please excuse typos in the names - I did not check against the roster. Have fun!