Of course, it's possible with SoSci Survey :)
The question is: when do you consider programming skills as "advanced"?
Actually, your question comprises two questions. Let's start with the second one:
in the end I need to make sure that each generation must be assigned each set approximately the same number of times.
Please take a look into this manual: Randomization per Block. It will explain how to do that - more accurately - how to get a random drawing between 1 and 6 (representing the 6 sets) with equal distribution per group/generation.
The othe question is how to display the sets. That depends on what one of your sets looks like? If they are very similar in their structure, you may work with placeholders (replacing single words) or IF filters to show the appropritate question in every position (see Randomization: Questions). If the sets are structurally different, you may prefer working with arrays and loopPage() which is slightly more advanced, but still easy to solve with a little help in the online support.