Actually, optimization software is fairly common and can be used for any number of scenarios where multiple choices at each stage result in multiple outcomes. While it's technically true that there are theoretically a gazillion possible combinations, it's not real-world true at all. For instance, if you have the constraint that each team has to play every other team in it's division twice a year, that one constraint alone cuts off a LOT of those theoretical possibilities. Add another constraint that each of those is a home-and-away set, a lot more go away. Add that each of the third-place teams will play the third-place team from that year's matched-up division from the other conference, and a lot more possibilities go away. Three constraints, and so far you've eliminated like 90% of those gazillion possible schedules. There are more constraints that also make up the schedule, and you can target certain aspects (miles traveled, consecutive away games, etc.) to be optimized. Then when you run it, it doesn't take a supercomputer a year, it takes a desktop PC a few minutes.
Of course it's possible to over-constrain the scenario, in which case there will be no answer that keeps all constraints intact (in math nerd-speak, the solution will not converge).
I used optimization software in grad school (in a class on power system economics) to optimize the starts, stops, run-times, and loads of a theoretical electric grid with a mix of generating station types, efficiencies, and fuel cost. It was actually pretty elucidating.