Computing optimal assignments using little memory
Your problem is closely related to the assignment problem, and can be solved efficiently using techniques derived from that literature.  I'll show how to solve it, by building up a solution step by step.

Maximizing the lowest rating

Here is how you could efficiently find the assignment that maximizes the lowest rating.  First, focus on the associated decision problem:

Input: movie ratings; an integer $t$
Goal: find an assignment where each person is assigned to a movie they rate at least $t$ or higher

This decision problem is an instance of bipartite matching, and can be solved using standard algorithms for it.  Namely, look for any assignment that assigns each person a movie that they related at least $t$.

Now, to find the assignment that maximizes the lowest rating, use binary search over $t$.

This doesn't solve your problem yet, because it doesn't take into account that you want to resolve ties by maximizing the average rating.

Resolving ties by maximizing the average rating

First, find the largest value $t$ such that there exists an assignment where everyone is assigned a movie they rate $\ge t$.  (See above for how to do it.)  Now if there are multiple such assignments, we want to find one of them where the average rating is maximized.

How do we do that?  Answer: use a standard algorithm for the Hungarian algorithm.

In more detail, we do several steps:


Delete any (person,movie) rating where the person has rated the movie something less than $t$.  It's not OK to assign that person that movie.
Now, you have an instance of the assignment problem, where each person has rated some of the movies with scores that are $t$ or larger.  You want to find a matching assignment) that maximizes the average of the scores of assigned movies.  Since every solution must assign 1 movie to each of the 100 people, the size of every assignment is the same, so maximizing the average is equivalent to maximizing the sum.  Maximizing the sum of the ratings is exactly the assignment problem.  Therefore, you can use any standard algorithm for solving the assignment problem (e.g., the Hungarian algorithm).


This will find an optimal solution: i.e., an assignment that maximizes the lowest rating, and that resolves ties by maximizing the average rating.

If you want to find the top-5 solutions, you can use an algorithm for enumerating solutions to the assignment problem in a streaming/output-sensitive fashion.  See, e.g., Algorithm for a list of best solutions to the Assignment problem and Does Ford-Fulkerson always produce the left-most min-cut.