in reply to Student Class Section Lottery

The "iterative graph" link may state this or you may have already considered this, but I seem to remember from an Operations Research class some 20 years ago something called the Law of Large Numbers: When you have to come up with a very good solution to a problem with a huge solution space, but not necessarily the optimal solution, generating roughly 30 solutions has something like a 90% chance of one of the solutions being among the top 5 or 10% of all possible solutions.

Thus, with your lottery approach and a consistent way of scoring the solution (weighted criteria), the highest scoring solution among 30 that you can generate will just (most likely) BE one of the very best solutions you could possibly generate. Not the optimal solution but an extremely good one. (Even if there are 436,357,219,651 possible solutions. A statistician could provide details. :-)

In Section
Cool Uses for Perl