Consider a group of n robots, and m tasks. Tasks can be different and robots are specialized, hence a given robot can only perform certain tasks. For each robot, you are given a list of tasks that the robot is capable of performing. Assume each task takes one day to perform from start to finish, and once a robot starts working on a task, it completes it before starting on another task. Also, the robots cannot multi-task. Finally, assume that there are no dependencies among tasks and any subset of tasks can be worked on concurrently by qualified robots.

Formulate a solution based on previous algorithms to maximize number of tasks that can be completed in a single day based on the constraints above.

Thank you for your help! I just need help figuring out which optimization algorithm would be best for this problem so I can move forward with writing code for the algorithm.